diff --git a/CookieMonster.js b/CookieMonster.js index a96e731..a940499 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}),t.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),l("ascendTooltip").innerHTML+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:""}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}),t.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),l("ascendTooltip").innerHTML+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:""}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index a96e731..a940499 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}),t.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),l("ascendTooltip").innerHTML+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:""}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}),t.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),l("ascendTooltip").innerHTML+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:""}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 0b822bd..cf8ec41 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","slot","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","GetCPSBuffMult","mult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","won","BuildingGetPrice","increase","CreateSimpleTooltip","placeholder","minWidth","Tooltip","desc","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","ObjectsById","tileTooltip","toolTooltip","area","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","wrinkler","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CM","Options","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","popups","Popup","Notify","Win","CookieMonster_CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IACA,IACA,KAIKC,EAAa,CAAC,GACnB,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIKC,EAAwB,CAAC,GAC9B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMD,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CAACH,EAAWN,EAAWC,EAAYC,EAAaC,EAAaC,EAAUC,EAAaE,EAAWC,GASxGE,EAAc,CACnB,CAAC,6BAA8B,oCAAqC,SACpE,CAAC,2CAA4C,6EAA8E,SAC3H,CAAC,6BAA8B,qPAAsP,SACrR,CAAC,8BAA+B,kEAAmE,SACnG,CAAC,kCAAmC,2PAA4P,SAChS,CAAC,0BAA2B,gLAAiL,SAC7M,CAAC,2BAA4B,uOAAwO,SACrQ,CAAC,4BAA6B,2CAA4C,UAO3E,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAa,CAClBC,OAAQpB,EAAaqB,iBAAkBf,EAAYgB,eAAgBvB,EAAYwB,KAAMrB,EAAUsB,eAAgB1B,EAAW2B,aAAcpB,GAMzI,IAOIqB,EACAC,EACAC,EACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GA0BZ,SAASC,GAA4BC,EAAKC,EAAQC,GACjD,MAAMC,EAAWpE,EAAUqE,cAAgB,EAC3C,GAAIJ,IAAQK,IACX,MAAO,WACN,QAAmB,IAARL,EACZ,MAAO,IACN,GAAwB,IAApBjE,EAAUuE,MACf,OAAO/C,EAAgBgD,SAASP,EAAKC,GACpC,GAAIO,OAAOC,SAAST,GAAM,CAC3B,IAAIU,EAAS,GACb,GAAY,IAARV,EACH,OAAOA,EAAIjhB,WACV,GAAIihB,EAAM,MAASA,EAAMjE,EAAU4E,YAGpC,OAF8BD,EAA1B3E,EAAU6E,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EACN,GAAwB,IAApB3E,EAAUuE,QAAgBJ,GAAqB,IAAXA,EACzCQ,EAASV,EAAIc,cAAcX,GAAUphB,WAAW7B,QAAQ,IAAK,SACvD,CACN,MAAM6jB,EAAcf,EAAIc,gBAAgB/hB,WAClCiiB,EAAwBniB,KAAKkE,MAAMge,EAAY1G,MAAM0G,EAAYvnB,QAAQ,KAAO,GAAK,GAC3FknB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QAAQd,GAE1C,IAApBpE,EAAUuE,QAAgBJ,GAAqB,IAAXA,EACnCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhBxE,EAAOzlB,QAC3CmqB,GAAU,IAAI1E,EAAOgF,KACfN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBjE,EAAUuE,QAAgBJ,GAAqB,IAAXA,EAC1CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApBvE,EAAW1lB,QAC/CmqB,GAAU,IAAIzE,EAAW+E,KACnBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBjE,EAAUuE,QAAgBJ,GAAqB,IAAXA,EAC1CF,GAAO,KAAQA,EAAMQ,OAAO,KAAoC,EAA/BtE,EAAsB3lB,QAC1DmqB,GAAU,IAAIxE,EAAsB8E,KAC9BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBjE,EAAUuE,QAAgBJ,GAAqB,IAAXA,KAC9CQ,GAAU,IAA4B,EAAxBM,GAQhB,MALe,KAAXN,IACHvpB,QAAQ+pB,IAAI,oDAAoDlB,KAChEU,EAASnD,EAAgBgD,SAASP,EAAKC,IAEpClE,EAAU6E,iBAAgBF,EAASA,EAAOxjB,QAAQ,IAAK,MACpDwjB,EAGR,OADAvpB,QAAQ+pB,IAAI,oDAAoDlB,KACzDzC,EAAgBgD,SAASP,EAAKC,GAStC,SAASkB,GAAWC,EAAMC,GACzB,GAAID,IAASf,IAAU,OAAOe,EAC9BA,EAAOviB,KAAKoL,KAAKmX,GACjB,MAAM3gB,EAAI5B,KAAKkE,MAAMqe,EAAO,UACtB1F,EAAI7c,KAAKkE,MAAMqe,EAAO,SAAW,OACjCze,EAAI9D,KAAKkE,MAAMqe,EAAO,MAAQ,MAC9B3qB,EAAIoI,KAAKkE,MAAMqe,EAAO,KAAO,IAC7Bve,EAAIhE,KAAKkE,MAAMqe,EAAO,IAC5B,IAAI1pB,EAAM,GACV,GAAIqkB,EAAUuF,WAAY,CACzB,GAAIF,EAAO,SAAY,MAAO,iBAC9B1pB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWgkB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPhkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACvB,CACN,GAAIue,EAAO,OAAW,OAAOC,EAAa,kBAAoB,SAC9D3pB,GAAQ+I,EAAI,EAAOA,GAAK4gB,EAAoB,IAAN5gB,EAAU,QAAU,SAAY,KAAtD,KAAiE,GACjF/I,GAAQgkB,EAAI,EAAOA,GAAK2F,EAAoB,IAAN3F,EAAU,OAAS,QAAW,KAApD,KAA+D,IAC3EhkB,EAAInB,OAAS,GAAKoM,EAAI,KAAGjL,GAAUiL,GAAK0e,EAAoB,IAAN1e,EAAU,QAAU,SAAY,KAAtD,OAChCjL,EAAInB,OAAS,GAAKE,EAAI,KAAGiB,GAAUjB,GAAK4qB,EAAoB,IAAN5qB,EAAU,UAAY,WAAc,KAA1D,MACpCiB,GAAOmL,GAAKwe,EAAoB,IAANxe,EAAU,UAAY,WAAc,KAE/D,OAAOnL,EAQR,SAAS6pB,GAAaH,GACrB,IAAIld,EACAsd,EAWJ,OAVIJ,GAAQ,GACeI,EAAtBzF,EAAUuF,WAAmB,iBACrB,QACZpd,EAAQyZ,IAER6D,EAAOL,GAAWC,GACFld,EAAZkd,EAAO,IAAatD,EACfsD,EAAO,GAAYvD,EACfD,GAEP,CAAE4D,OAAMtd,SAMhB,IA2EIud,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GASAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAGAC,GACAC,GAzHAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAG5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAErBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAE5BC,GAAa,EACbC,GAAa,EACbC,GAAa,EACbC,GAAkB,GAElBC,GAA0B,GAE1BC,GAAqB,EAgCrBC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAWlBC,GAAiBC,KAAKC,UACtBC,GAAcF,KAAKC,UAUvB,SAASE,GAAYC,GACpB,IAAIpuB,EAAI,EAGR,OAFIguB,KAAKK,YAAYzE,IAAetoB,OAAS8sB,GAAQJ,KAAKK,YAAYxE,IAAgBvoB,OAAS8sB,IAAMpuB,EAAI,GAC5D,oBAAzCguB,KAAKK,YAAYzE,IAAetoB,MAAwE,oBAA1C0sB,KAAKK,YAAYxE,IAAgBvoB,OAA4BtB,GAAK,IAC7HA,EAWR,SAASsuB,KACR,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EASR,SAASC,GAAOltB,EAAMmtB,GACrB,YAA6B,IAAlB1E,GAAQzoB,QACK,IAARmtB,EAAsB,EAAIA,EACjC1E,GAAQzoB,GASlB,SAASotB,GAAON,GACf,MAAMO,EAAKd,GAAYO,GACvB,OAA2B,IAAvBJ,KAAKY,eAAoC,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OACtDH,EAAKA,EAAGI,OAD0E,EAY3F,SAASC,GAAUZ,GAClB,GAAIJ,KAAKiB,OAAQ,MACmB9xB,IAA/BywB,GAAWsB,OAAOC,WACrBvB,GAAWsB,OAAOC,SAAWnB,KAAKoB,QAAQF,OAAOC,UAElD,MAAME,EAAMzB,GAAWsB,OAAOC,SAASG,KAAKlB,GAC5C,IAAK,IAAIrxB,EAAI,EAAGA,EAAI,EAAGA,IACtB,GAAI6wB,GAAWsB,OAAOC,SAASI,KAAKxyB,KAAOsyB,EAAIG,GAC9C,OAAOzyB,EAAI,EAId,OAAO,EAgBR,SAAS0yB,GAAuBC,EAAUC,GAazC,GAZIjB,GAAO,oBAAmBiB,GAAS,KACnCjB,GAAO,sBAAsBiB,GAAS,KACtCjB,GAAO,iBAAgBiB,GAAS,KAChCjB,GAAO,qBAAoBiB,GAAS,KACpCjB,GAAO,kBAAiBiB,GAAS,KAErCA,GAAS,EAAoC,IAAhCxB,GAAY,kBACrBH,KAAK4B,QAAQ,wBAAuBD,GAAS,KAC7C3B,KAAK4B,QAAQ,mBAAkBD,GAAS,KACxC3B,KAAK4B,QAAQ,mBAAkBD,GAAS,MACxCD,EAASG,SAAWnB,GAAOgB,EAASG,QAAQvuB,QAAOquB,GAAS,KAChEA,GAASnB,GAAO,gBACZZ,GAAWsB,OAAOY,eAAgB,CACrC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAS,IACP,IAAXI,EAAcJ,GAAS,IACZ,IAAXI,IAAcJ,GAAS,KAEjC,OAAOA,EAkBR,SAASK,GAAaC,EAAOC,EAAW3jB,EAAO4jB,EAAMC,EAAQC,GAG5DA,OAAyB,IAAVA,EAAwB,EAAIA,EAC3C,IAAIC,EAAO,GACK,IAAZF,IAAeA,EAAS7jB,GACvB6jB,IAAQA,EAASpC,KAAKuC,SAC3B,IAAK,IAAIxzB,EAAI,EAAGA,EAAIqzB,EAAQrzB,IAAK,CAChC,IAAI4yB,EAAQO,EAAYlC,KAAKwC,eAAiBlrB,KAAK6D,IAAI,EAAGoD,EAAQ4jB,GAClER,EAAQU,EAAQrC,KAAKyC,oBAAoBR,EAAON,GAASF,GAAuBQ,EAAON,GACvFA,EAAQrqB,KAAKoL,KAAKif,GAClB,MAAMpB,EAAW8B,EAAQJ,EAAMS,oBAAsBpC,KACrDqB,EAAQrqB,KAAKkE,MAAMmmB,EAAQpB,GACvBhiB,EAAQ,IACX+jB,GAAQX,EACRpjB,KAGF,OAAO+jB,EAmBR,SAASK,KACR,IAAIvuB,EAAS4rB,KAAKuC,QAUlB,GATqB,IAAjBvC,KAAK4C,QACRxL,EAAsBhjB,EAEtBA,EAASgjB,EAEK,IAAXhjB,EAAcA,EAASopB,GACP,KAAXppB,EAAeA,EAASqpB,GACb,MAAXrpB,IAAgBA,EAASspB,IAEb,IAAjBsC,KAAK4C,QACR,GAA6B,IAAzBpO,EAAUqO,WACb,IAAK,MAAM9zB,KAAKwD,OAAO6C,KAAKhB,GAC3B+L,EAAE,eAAe6f,KAAKoB,QAAQryB,GAAGyyB,MAAMxqB,MAAM2F,MAAQ6X,EAAUoC,OAAOxiB,EAAOrF,GAAG4N,YAGjF,IAAK,MAAM5N,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAChCjhB,EAAE,eAAe6f,KAAKoB,QAAQryB,GAAGyyB,MAAMxqB,MAAM8rB,eAAe,cAGxD,IAAsB,IAAlB9C,KAAK4C,QACf,IAAK,MAAM7zB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC3C,MAAMlJ,EAAI0L,KAAKoB,QAAQryB,GACvBoR,EAAE,eAAemU,EAAEkN,MAAMxqB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAemU,EAAEkN,MAAMjV,UAAYiM,GAA4BwJ,GAAa1N,EAAGA,EAAE4N,UAAW5N,EAAE8N,OAAQ9N,EAAE6N,KAAMnC,KAAKuC,QAAS,IAOhI,GAAqB,IAAjBvC,KAAK4C,SAAiBpO,EAAUuO,cAAe,CAClD,MAAMC,EAAMzwB,OAAO6C,KAAKhB,GAAQlB,KAAK+vB,IACpC,MAAM3O,EAAIlgB,EAAO6uB,GAGjB,OAFA3O,EAAEhhB,KAAO2vB,EACT3O,EAAEkN,GAAKxB,KAAKoB,QAAQ6B,GAAGzB,GAChBlN,KAGR0O,EAAIE,MAAK,SAAUtrB,EAAGP,GAAK,OAAQuf,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,OAAS,EAAKia,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,QAAe/E,EAAEyI,GAAKhJ,EAAEgJ,IAAd,EAAyB,KAE1K,IAAK,IAAIpH,EAAI,EAAGA,EAAI+pB,EAAIh0B,OAAQiK,IAC/B+mB,KAAKoB,QAAQ4B,EAAI/pB,GAAG3F,MAAM6M,EAAEnJ,MAAMmsB,QAAU,GAAGlqB,EAAI,KAAKA,EAAI,QAEvD,CACN,MAAM+pB,EAAMzwB,OAAO6C,KAAKooB,IAAetqB,KAAK+vB,IAC3C,MAAM3O,EAAIkJ,GAAcyF,GAGxB,OAFA3O,EAAEhhB,KAAO2vB,EACT3O,EAAEkN,GAAKxB,KAAKoB,QAAQ6B,GAAGzB,GAChBlN,KAER0O,EAAIE,MAAK,CAACtrB,EAAGP,IAAMO,EAAE4pB,GAAKnqB,EAAEmqB,KAC5B,IAAK,IAAIvoB,EAAI,EAAGA,EAAI+pB,EAAIh0B,OAAQiK,IAC/B+mB,KAAKoB,QAAQ4B,EAAI/pB,GAAG3F,MAAM6M,EAAEnJ,MAAMmsB,QAAU,GAAGlqB,EAAI,KAAKA,EAAI,KAgB/D,SAASmqB,KAER,GAAI5O,EAAU6O,WAAa,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX,IAAK,MAAM70B,KAAKwD,OAAO6C,KAAK4qB,KAAK6D,iBAAkB,CAClD,MAAMC,EAAK9D,KAAK6D,gBAAgB90B,GAChC,IAAIg1B,GAAa,EACjB,IAAK,IAAIC,EAAI,EAAGA,EAAI7jB,EAAE,UAAUpR,KAAKk1B,WAAWj1B,OAAQg1B,IACvD,IAAwE,IAApE7jB,EAAE,UAAUpR,KAAKk1B,WAAWD,GAAGx0B,UAAUyC,QAAQikB,GAAsB,CAC1E/V,EAAE,UAAUpR,KAAKk1B,WAAWD,GAAGx0B,UAAY0mB,EAAe8H,GAAc8F,EAAGxwB,MAAMqJ,MACjFonB,GAAa,EACb,MAGF,IAAKA,EAAY,CAChB,MAAMG,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMkG,MAAQ,OAClBgnB,EAAIltB,MAAMmG,OAAS,OACnB+mB,EAAI10B,UAAY0mB,EAAe8H,GAAc8F,EAAGxwB,MAAMqJ,MACtDwD,EAAE,UAAUpR,KAAK4b,YAAYuZ,GAE1BlG,GAAc8F,EAAGxwB,MAAMqJ,QAAUwZ,EAAWmN,IACvCtF,GAAc8F,EAAGxwB,MAAMqJ,QAAUyZ,EAAYmN,IAC7CvF,GAAc8F,EAAGxwB,MAAMqJ,QAAU0Z,EAAamN,IAC9CxF,GAAc8F,EAAGxwB,MAAMqJ,QAAU2Z,EAAamN,IAC9CzF,GAAc8F,EAAGxwB,MAAMqJ,QAAU4Z,EAAUmN,IAC3C1F,GAAc8F,EAAGxwB,MAAMqJ,QAAU6Z,EAAamN,IAC9C3F,GAAc8F,EAAGxwB,MAAMqJ,QAAU8Z,GAAWmN,IAGtDzjB,EAAE,oBAAoB/N,YAAckxB,EACpCnjB,EAAE,qBAAqB/N,YAAcmxB,EACrCpjB,EAAE,sBAAsB/N,YAAcoxB,EACtCrjB,EAAE,sBAAsB/N,YAAcqxB,EACtCtjB,EAAE,mBAAmB/N,YAAcsxB,EACnCvjB,EAAE,sBAAsB/N,YAAcuxB,EACtCxjB,EAAE,oBAAoB/N,YAAcwxB,EAGrC,MAAMZ,EAAM,GAGZ,IAAK,IAAI/pB,EAAI,EAAGA,EAAI+mB,KAAK6D,gBAAgB70B,OAAQiK,IAAK,CACrD,MAAMqb,EAAI,GACVA,EAAEhhB,KAAO0sB,KAAK6D,gBAAgB5qB,GAAG3F,KACjCghB,EAAEqN,MAAQ3B,KAAK6D,gBAAgB5qB,GAAGipB,UAClC5N,EAAEjU,GAAK2d,GAAc1J,EAAEhhB,MAAM+M,GAC7B2iB,EAAInyB,KAAKyjB,GAGNE,EAAU2P,aACbnB,EAAIE,MAAK,SAAUtrB,EAAGP,GAAK,OAAQuf,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,OAAS,EAAKia,EAAO3kB,QAAQ2F,EAAE+E,OAASia,EAAO3kB,QAAQoF,EAAEsF,QAAe/E,EAAEyI,GAAKhJ,EAAEgJ,IAAd,EAAyB,KAE1K2iB,EAAIE,MAAK,CAACtrB,EAAGP,IAAMO,EAAE+pB,MAAQtqB,EAAEsqB,QAGhC,MAAMyC,EAAc,SAAUC,EAAMC,GACnC,OAAOD,EAAKE,WAAWr0B,GAAMA,EAAEoD,OAASgxB,EAAQhxB,QAEjD,IAAK,IAAI2F,EAAI,EAAGA,EAAI+mB,KAAK6D,gBAAgB70B,OAAQiK,IAChDkH,EAAE,UAAUlH,KAAKjC,MAAMwtB,MAAQJ,EAAYpB,EAAKhD,KAAK6D,gBAAgB5qB,IAAM,EAY7E,SAASwrB,KACR,OAAIjQ,EAAUkQ,QAzZG,EA2Za,IAAxBlQ,EAAUmQ,UACP3E,KAAK4E,WAAa,EAAI5E,KAAK6E,WACN,IAAxBrQ,EAAUmQ,UACR3E,KAAK4E,WAAa9G,IAA4B,EAA8B,IAAzBC,KAC7B,IAAxBvJ,EAAUmQ,WAAqE,IAAlD3E,KAAK8E,UAAUjH,GAAsB,IAAIzuB,KACpE4wB,KAAK4E,WAAyC,EAA3B9G,GAA+BC,IAA2B,EAA8B,IAAzBA,KAEnFiC,KAAK4E,WAAc9G,GAA2BC,IAA2B,EAA8B,IAAzBA,KAYtF,SAASgH,KACR,OAA4B,IAAxBvQ,EAAUmQ,UACNhH,GACsB,IAAxBnJ,EAAUmQ,UACR9G,GAAsB,GAEvB,EAcR,SAASmH,GAAYxD,EAAIluB,EAAM2xB,GAC9B,MAAMC,EAAW73B,SAAS4D,cAAc,OACxCi0B,EAAS1D,GAAKA,EACd0D,EAASluB,MAAMmG,OAAS,OACxB+nB,EAASluB,MAAMmuB,OAAS,WACxBD,EAASluB,MAAMgI,SAAW,WAE1B,MAAMklB,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMkG,MAAQ,OAClBgnB,EAAIltB,MAAMmG,OAAS,OACnB+mB,EAAIltB,MAAMmuB,OAAS,OACnBjB,EAAIltB,MAAMgI,SAAW,WACrBklB,EAAIltB,MAAMqC,KAAO,MACjB6qB,EAAIltB,MAAMsC,IAAM,MAChB4qB,EAAIltB,MAAMkI,MAAQ,MAClBglB,EAAIltB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAMouB,SAAW,OACtBh2B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAMquB,YAAc,MACzBj2B,EAAK4H,MAAMsuB,cAAgB,WAC3Bl2B,EAAKgD,YAAckB,EACnB4wB,EAAIvZ,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIk2B,EAAKj2B,OAAQD,IAAK,CACrC,MAAMw2B,EAAWl4B,SAAS4D,cAAc,QACxCs0B,EAAS/D,GAAKyD,EAAKl2B,GAAGyyB,GACtB+D,EAASvuB,MAAMqV,QAAU,eACzBkZ,EAASvuB,MAAMmG,OAAS,OACxBooB,EAASvuB,MAAMsuB,cAAgB,WAC/BC,EAASvuB,MAAMuW,UAAY,SACvB0X,EAAKj2B,OAAS,IAAMD,IACvBw2B,EAASvuB,MAAMwuB,qBAAuB,OACtCD,EAASvuB,MAAMyuB,wBAA0B,aAEb,IAAlBR,EAAKl2B,GAAG4N,QAClB4oB,EAAS/1B,UAAY0mB,EAAe+O,EAAKl2B,GAAG4N,OAE7CunB,EAAIvZ,YAAY4a,GAGjB,MAAMG,EAAQr4B,SAAS4D,cAAc,QAQrC,OAPAy0B,EAAMlE,GAAK,GAAGA,QACdkE,EAAM1uB,MAAM2uB,WAAa,MACzBD,EAAM1uB,MAAMsuB,cAAgB,WAC5BpB,EAAIvZ,YAAY+a,GAEhBR,EAASva,YAAYuZ,GAEdgB,EAOR,SAASU,GAA2BC,GACnC,GAAsB,OAAlB1lB,EAAE,YAAsB,CAC3B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACtD6B,EAAQ3lB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACvD5jB,EAAKF,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GACpDpK,EAAO1Z,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAEtDl1B,EAAI82B,EACJE,EAAS32B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvD80B,EAAOpb,YAAYtd,SAASqgB,eAAe,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEi3B,UAAU,EAAGj3B,EAAEkD,QAAQ,MAAQlD,QAE1Fg3B,EAAOpb,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAYymB,aAEjB8P,EAAOpb,YAAYtd,SAASqgB,eAAe,MAC3CoY,EAAMnb,YAAYtd,SAAS4D,cAAc,OACzCoP,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtC4oB,EAAKlP,YAAYtd,SAAS4D,cAAc,QAiE1C,SAASg1B,KACR,GAAyB,IAArBzR,EAAU0R,QAAgB1I,IAAkC,IAAjBwC,KAAK4C,QAAe,CAClE,IAAIuD,EAAQ,EACZ,IAAK,MAAMp3B,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC3C,IAAIppB,EAAS4rB,KAAKuC,QACG,IAAjBvC,KAAK4C,QACRzL,EAAmB/iB,EAEnBA,EAAS+iB,EAEK,IAAX/iB,IAAcA,EAASopB,IACZ,KAAXppB,IAAeA,EAASqpB,IACb,MAAXrpB,IAAgBA,EAASspB,IAC7ByI,IACAhmB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAOlC,WAAW,GAAG7xB,YAAc4tB,KAAKoB,QAAQryB,GAAGqzB,OAChHjiB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO/zB,YAAcomB,GAA4BpkB,EAAOrF,GAAG+2B,MAAO,GAC/H3lB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO32B,UAAYymB,EAAe7hB,EAAOrF,GAAG4N,MACzGwD,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO/zB,YAAcomB,GAA4BpkB,EAAOrF,GAAGsR,GAAI,GAC5H,MAAM+lB,EAAYpM,IAAcgG,KAAKoB,QAAQryB,GAAGs3B,WAAarG,KAAKsG,QAAUvB,OAAyBN,MACrGtkB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO32B,UAAYymB,EAAemQ,EAAUzpB,MAClF,UAAnBypB,EAAUnM,MAAoB+F,KAAKsG,QAAUtG,KAAKoB,QAAQryB,GAAGs3B,UAChElmB,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO/zB,YAAc,GAAGg0B,EAAUnM,oBACzF9Z,EAAE,YAAYvO,WAAWA,WAAWqyB,WAAW,GAAGA,WAAWkC,GAAO/zB,YAAcg0B,EAAUnM,OAWtG,SAASsM,KACRvG,KAAKwG,WAAWzpB,OAAOG,MAAQ8iB,KAAKwG,WAAWzpB,OAAOmR,WAAWxU,YACjEsmB,KAAKwG,WAAWzpB,OAAOI,OAAS6iB,KAAKwG,WAAWzpB,OAAOmR,WAAWvU,aAClEqmB,KAAKyG,eAAe1pB,OAAOG,MAAQ8iB,KAAKyG,eAAe1pB,OAAOmR,WAAWxU,YACzEsmB,KAAKyG,eAAe1pB,OAAOI,OAAS6iB,KAAKyG,eAAe1pB,OAAOmR,WAAWvU,aAY3E,SAAS+sB,KACiB,IAArBlS,EAAU0R,QAAuC,IAAvB1R,EAAUmS,UAA4C,IAA1BnS,EAAUoS,aACnEzmB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GAAG+L,OAAO9Y,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QACtD,IAArB6e,EAAU0R,QACpB/lB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACQ,IAAvBsH,EAAUmS,UAA4C,IAA1BnS,EAAUoS,YAChDzmB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAE/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGC,IAAvBsH,EAAUmS,UAA4C,IAA1BnS,EAAUoS,YACzCzmB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG9BitB,KAMD,SAASM,KACmB,IAAvBrS,EAAUmS,SAAgBxmB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrCqa,KA4JD,SAASI,KACR,IAAIC,EAAO,EACX,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,YACK,IAA1BhH,KAAKgH,MAAMj4B,GAAGk4B,UAAyBF,GAAQ/G,KAAKgH,MAAMj4B,GAAGk4B,SAEzE,OAAOF,EAWR,SAASG,KACgC,OAApC/mB,EAAE,gCACyB,IAA1BqU,EAAU2S,aACbhnB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMmuB,OAAS,WAC/ChlB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMmuB,OAAS,MAC/ChlB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAanD,SAAS4lB,GAA4BC,EAAcC,EAAUC,GAC5D,IAAIpB,EAAQ,EACZ,KAAOkB,EAAeE,GACrBF,GAAmF,KAAnE/vB,KAAK6D,IAAI,MAAQksB,EAAe/vB,KAAK6D,IAAImsB,EAAU,OAAS,IAC5EnB,IAED,OAAOA,EAAQnG,KAAKwH,IAqDrB,SAASC,GAAoBxN,GAC5B,MAAMiK,EAAM72B,SAAS4D,cAAc,OAKnC,OAJAizB,EAAIltB,MAAM0wB,WAAa,OACvBxD,EAAI1C,GAAK,GAAGvH,SACZiK,EAAI10B,UAAYymB,aAChBiO,EAAI9xB,YAAc6nB,EACXiK,EA6DR,SAASyD,GAAgCC,GACxCA,EAAQjd,YAAY8c,GAAoB,iBACxC,MAAMI,EAASx6B,SAAS4D,cAAc,OACtC42B,EAAO7wB,MAAM8wB,aAAe,MAC5BD,EAAO7wB,MAAM2F,MAAQ,QACrBkrB,EAAOrG,GAAK,kBACZoG,EAAQjd,YAAYkd,GAEpBD,EAAQjd,YAAY8c,GAAoB,4BACxCG,EAAQG,UAAU/wB,MAAMqV,QAAU,OAClC,MAAM2b,EAAQ36B,SAAS4D,cAAc,OACrC+2B,EAAMhxB,MAAM8wB,aAAe,MAC3BE,EAAMhxB,MAAM2F,MAAQ,QACpBqrB,EAAMhxB,MAAMqV,QAAU,OACtB2b,EAAMxG,GAAK,0BACXoG,EAAQjd,YAAYqd,GAEpBJ,EAAQjd,YAAY8c,GAAoB,mBACxC,MAAMpnB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM8wB,aAAe,MACxBznB,EAAGmhB,GAAK,cACRoG,EAAQjd,YAAYtK,GAEpBunB,EAAQjd,YAAY8c,GAAoB,cACxC,MAAM5N,EAAOxsB,SAAS4D,cAAc,OAIpC,GAHA4oB,EAAK2H,GAAK,gBACVoG,EAAQjd,YAAYkP,GAEA,MAAhB5B,EAAqB,CACxB2P,EAAQjd,YAAY8c,GAAoB,0CACxCG,EAAQG,UAAUvG,GAAK,4BACvB,MAAMyG,EAAa56B,SAAS4D,cAAc,OAC1Cg3B,EAAWzG,GAAK,sBAChBoG,EAAQjd,YAAYsd,IAiWtB,SAASC,KACRhM,GAAkB8D,KAAKmI,WACvBhM,GAAmB6D,KAAKoI,YASzB,SAASC,GAAgBC,GACxB,MAAMxE,EAAK9D,KAAKuI,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIl1B,KAAOwwB,EAAGxwB,KACPk1B,EAUR,SAASC,GAAoB3E,GAC5B,IAAIiD,EAAO,EACX,IAAK,MAAMh4B,KAAK+0B,EAAG4E,gBACb1I,KAAK2I,MAAM7E,EAAG4E,eAAe35B,GAAG+xB,MAAM8H,SAAWlI,GAAOoD,EAAG4E,eAAe35B,GAAGuE,QAAOyzB,GAAQ,GAElG,IAAK,MAAMh4B,KAAK+0B,EAAG+E,UAClB,GAAInI,GAAOoD,EAAG+E,UAAU95B,GAAGuE,MAAO,CACjC,MAAMw1B,EAAMhF,EAAG+E,UAAU95B,GACrB+5B,EAAIC,aAAaz1B,OAASwwB,EAAGxwB,KAAMyzB,GAAS,EAAI,IAAO+B,EAAIE,aAAa5G,OACnE0G,EAAIE,aAAa11B,OAASwwB,EAAGxwB,OAAMyzB,GAAS,EAAI,KAAQ+B,EAAIC,aAAa3G,QAKpF,GAFI0B,EAAGjC,SAAWnB,GAAOoD,EAAGjC,QAAQvuB,QAAOyzB,GAAQ,MAC/CjD,EAAGmF,SAAWvI,GAAOoD,EAAGmF,QAAQ31B,QAAOyzB,GAAS,EAAgC,IAA5BnH,GAAWsJ,QAAQ9G,QAAiB,GAAK0B,EAAGtC,GAAK,KAC7D,iBAAjCsC,EAAG4E,eAAeS,YACT,IAAfrF,EAAGsF,SAAiB1I,GAAOoD,EAAG4E,eAAeS,WAAW71B,MAC3D,OAAQ0sB,KAAKqJ,YACb,QAAStC,GAAQ,EAAG,MACpB,KAAK,EAAGA,GAAQ,KAAM,MACtB,KAAK,EAAGA,GAAQ,KAAM,MACtB,KAAK,EAAGA,GAAQ,KAIlB,OAAOA,EAiBR,SAASuC,GAAoBzD,GAC5B,MAAM/B,EAAK9D,KAAKoB,QAAQyE,GAClB2C,EAAM,GA8EZ,MA7EgB,WAAZ1E,EAAGxwB,KACNk1B,EAAIe,IAAM,SAAU5I,GACnB,IAAIzqB,EAAM,EACNwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,qBAAoBxqB,GAAO,GAClCwqB,GAAO,qBAAoBxqB,GAAO,IAClCwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,uBAAsBxqB,GAAO,IACpCwqB,GAAO,uBAAsBxqB,GAAO,IACxC,IAAI6wB,EAAO,EACPtO,EAAM,EACV,IAAK,MAAM1pB,KAAK6wB,GAAyC,WAAvBA,GAAW7wB,GAAGuE,OAAmBmlB,GAAOmH,GAAW7wB,GAAGqzB,QAKxF,OAJAlsB,GAAOuiB,EACPsO,GAAQ0B,GAAoB9H,GAC5BoG,GAAQ/G,KAAKwJ,SAAS,UACtBzC,GAAQvG,GAAO,aACRR,KAAKyJ,WAAW,GAAK/I,GAAO,2BAA6BA,GAAO,kCAAoCA,GAAO,gBAAiBxqB,GAAO6wB,GAErH,YAAZjD,EAAGxwB,KACbk1B,EAAIe,IAAM,SAAU5I,GACnB,IAAIoG,EAAO,EACX,IAAK,MAAMh4B,KAAKixB,KAAK0J,iBAChBhJ,GAAOV,KAAK0J,iBAAiB36B,MAAKg4B,GAAQ,GAU/C,GARIrG,GAAO,oCAAmCqG,GAAQ,GAClDrG,GAAO,yBAAwBqG,GAAQ,GACvCrG,GAAO,kBAAiBqG,GAAQ,GAEhCrG,GAAO,wBAAuBqG,GAAQ,MAE1CA,GAAQvG,GAAO,cAEXE,GAAO,cACV,IAAK,IAAI3xB,EAAI,EAAGA,EAAIixB,KAAK2J,eAAeC,OAAO56B,OAAQD,IAClD2xB,GAAOV,KAAK2J,eAAeC,OAAO76B,GAAGuE,QAAOyzB,GAAQ,MAI1DA,GAAQ0B,GAAoB9H,GAE5B,IAAIzqB,EAAM,EACNwqB,GAAO,cAAaxqB,GAAmC,IAA5B0pB,GAAWsJ,QAAQ9G,QAC9C1B,GAAO,yBAAwBxqB,GAAmC,IAA5B0pB,GAAWsJ,QAAQ9G,QACzD1B,GAAO,gBAAexqB,GAAkC,IAA3B0pB,GAAWiK,OAAOzH,QAEnD,IAAI3J,EAAM,EACV,IAAK,MAAM1pB,KAAK6wB,GAAyC,YAAvBA,GAAW7wB,GAAGuE,OAAoBmlB,GAAOmH,GAAW7wB,GAAGqzB,QAMzF,OAJA2E,GAAQ,EAAqC,IAAjC5G,GAAY,mBAA4B1H,EAEpDsO,GAAQ/G,KAAKwJ,SAAS1F,EAAGxwB,OAEjBwwB,EAAGgG,QAAU5zB,GAAO6wB,GAG7ByB,EAAIe,IAAM,SAAU5I,GACnB,IAAIoG,EAAO,EAGX,OAFAA,GAAQ0B,GAAoB9H,GAC5BoG,GAAQ/G,KAAKwJ,SAAS7I,EAAGrtB,MAClBqtB,EAAGoJ,QAAUhD,GAKtByB,EAAIsB,QAAUhG,EAAGgG,QACjBtB,EAAIl1B,KAAOwwB,EAAGxwB,KACdk1B,EAAIE,eAAiB5E,EAAG4E,eACxBF,EAAIK,UAAY/E,EAAG+E,UACnBL,EAAI3G,QAAUiC,EAAGjC,QACjB2G,EAAIS,QAAUnF,EAAGmF,QACjBT,EAAIuB,QAAUjG,EAAGgG,QACjBtB,EAAIhH,GAAKsC,EAAGtC,GACZgH,EAAIY,QAAUtF,EAAGsF,QACVZ,EAaR,SAASwB,GAAYC,GACpB,MAAMnG,EAAK9D,KAAKkK,SAASD,GACnBzB,EAAM,GA2BZ,OAzBAA,EAAI2B,MAAQrG,EAAGqG,MACW,mBAAdrG,EAAQ,QACH,0BAAZA,EAAGxwB,OACNwwB,EAAGqG,MAAQ,WACV,IAAIn4B,EAAI,EACR,IAAK,MAAMjD,KAAK6wB,GACXA,GAAW7wB,GAAGq7B,OAAS,KAAIp4B,GAAK,GAErC,OAAOA,IAGT8xB,EAAGqG,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI3J,GAAO,cAAa2J,EAAM,GAC1BrK,KAAKiB,OAAQ,CAChB,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAcsI,GAAO,IACL,IAAXtI,EAAcsI,GAAO,IACV,IAAXtI,IAAcsI,GAAO,KAE/B,OAAOA,IAGT7B,EAAI3H,KAAOiD,EAAGjD,KACd2H,EAAIl1B,KAAOwwB,EAAGxwB,KACPk1B,EAiBR,SAAS8B,KAER/O,GAAmByE,KAAKuK,cACxB/O,GAAawE,KAAKwK,QAClB/O,GAAuBuE,KAAKyK,kBAC5B/O,GAAmBsE,KAAK0K,cACxB/O,GAAcqE,KAAK2K,SAGnB,IAAK,MAAM57B,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAAU,CAC1C,MAAM0C,EAAK9D,KAAKoB,QAAQryB,GACxB,IAAIy5B,EAAM5I,GAAW7wB,QACTI,IAARq5B,IACH5I,GAAW7wB,GAAKu6B,GAAoBv6B,GACpCy5B,EAAM5I,GAAW7wB,GACjB62B,GAA2B72B,IAE5By5B,EAAIpG,OAAS0B,EAAG1B,OAChBoG,EAAI4B,MAAQtG,EAAGsG,MACf5B,EAAIoC,aAAe9G,EAAG8G,aACtBpC,EAAItG,UAAY4B,EAAG5B,UACnBsG,EAAIrG,KAAO2B,EAAG3B,KACV2B,EAAGhC,iBACN0G,EAAI1G,eAAiBgC,EAAGhC,eACxB0G,EAAIrH,SAAW2C,EAAG3C,UAEnBvB,GAAW7wB,GAAKy5B,EAIjB,IAAK,MAAMz5B,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAAW,CAC3C,MAAMpG,EAAK9D,KAAKkK,SAASn7B,GACzB,IAAIy5B,EAAM3I,GAAY9wB,QACVI,IAARq5B,IACH3I,GAAY9wB,GAAKi7B,GAAYj7B,GAC7By5B,EAAM3I,GAAY9wB,IAEnBy5B,EAAIzH,OAAS+C,EAAG/C,OAChBlB,GAAY9wB,GAAKy5B,EAIlB,IAAK,MAAMz5B,KAAKwD,OAAO6C,KAAK4qB,KAAKuI,cAAe,CAC/C,MAAMzE,EAAK9D,KAAKuI,aAAax5B,GAC7B,IAAIy5B,EAAM1I,GAAgB/wB,QACdI,IAARq5B,IACH1I,GAAgB/wB,GAAKs5B,GAAgBt5B,GACrCy5B,EAAM1I,GAAgB/wB,IAEvBy5B,EAAIqC,IAAM/G,EAAG+G,IACb/K,GAAgB/wB,GAAKy5B,EAItBN,KACAtM,GAAgBM,GAChBL,GAAiBM,GAelB,SAAS2O,GAAiB7I,EAAOC,EAAW3jB,EAAO4jB,EAAM4I,GACxD,IAAIzI,EAAO,EACX,IAAK,IAAIvzB,EAAI,EAAGA,EAAIg8B,EAAUh8B,IAAK,CAClC,IAAI4yB,EAAQO,EAAYlC,KAAKwC,eAAiBlrB,KAAK6D,IAAI,EAAGoD,EAAQ4jB,GAClER,EAAQ3B,KAAKyC,oBAAoBR,EAAON,GACxCA,EAAQrqB,KAAKoL,KAAKif,GAClBW,GAAQX,EACRpjB,IAED,OAAO+jB,EAsBR,SAAS0I,GAAoBC,EAAahR,EAAMiR,GAC/C,MAAMC,EAAU99B,SAAS4D,cAAc,OACvCk6B,EAAQ3J,GAAKyJ,EACb,MAAMG,EAAO/9B,SAAS4D,cAAc,OACpCm6B,EAAKp0B,MAAMk0B,SAAWA,EACtBE,EAAKp0B,MAAM8wB,aAAe,MAC1B,MAAM5D,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMuW,UAAY,OACtB2W,EAAI9xB,YAAc6nB,EAClBmR,EAAKzgB,YAAYuZ,GACjBiH,EAAQxgB,YAAYygB,GAMrB,SAASC,KAER,GADAf,KACyC,SAArCnqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACtEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAM+e,EA5xBR,WACCnrB,EAAE,WAAWvO,WAAWoF,MAAMu0B,cAAgB,MAC9C,MAAMD,EAAaj+B,SAAS4D,cAAc,OAM1C,OALAq6B,EAAWt0B,MAAM0U,OAAS,YAC1B4f,EAAWt0B,MAAMwK,QAAU,MAC3B8pB,EAAWt0B,MAAMmuB,OAAS,WAC1BmG,EAAW9J,GAAK,kBAChB8J,EAAW97B,UAAYymB,aAChBqV,EAoxBaE,GACnBrrB,EAAE,iBAAiBwK,YAAY2gB,GAEX,MAAhBrT,EAppBN,WACC,GAAsC,IAAlCzD,EAAUiX,qBAA8C,IAAjBzL,KAAK4C,QAAe,CAI9D,IAAIxuB,EAaJ,GAfAuzB,GADmBxnB,EAAE,oBAIA,IAAjB6f,KAAK4C,QACRvL,EAA4BjjB,EAE5BA,EAASijB,EAEW,IAAjB2I,KAAKuC,QAAenuB,EAASopB,GACP,KAAjBwC,KAAKuC,QAAgBnuB,EAASqpB,GACb,MAAjBuC,KAAKuC,UAAiBnuB,EAASspB,IAExC3F,EAAeiI,KAAKoB,QAAQlJ,IAAamO,UACzCrO,EAAqB5jB,EAAO8jB,IAAa4N,MAEH,IAAlCtR,EAAUiX,qBAA8C,IAAjBzL,KAAK4C,QAAe,CAC9DziB,EAAE,mBAAmB/N,YAAcomB,GAA4BR,EAAoB,GACnF,MAAM+S,EAAWzzB,KAAKC,MAAMygB,EAAqBgI,KAAK4E,UAAY,KAC9D3L,OAAOC,SAAS6R,IAA0B,IAAbA,IAChC5qB,EAAE,mBAAmB/N,aAAe,KAAK24B,EAAW,mBAErD5qB,EAAE,mBAAmB3Q,UAAYymB,EAAe7hB,EAAO8jB,IAAavb,MACpEwD,EAAE,eAAe/N,YAAcomB,GAA4BpkB,EAAO8jB,IAAa7X,GAAI,GACnFF,EAAE,eAAe3Q,UAAYymB,EAAe7hB,EAAO8jB,IAAavb,MAChE,MAAMypB,EAAYpM,IAAcjC,GAAgBiI,KAAKsG,QAAUvB,OAAyBN,MACxFtkB,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KACpB,UAAnBmM,EAAUnM,MAAoB+F,KAAKsG,QAAUlyB,EAAO8jB,IAAayJ,MACpExhB,EAAE,iBAAiB/N,YAAc,GAAGg0B,EAAUnM,oBACxC9Z,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAClD9Z,EAAE,iBAAiB3Q,UAAYymB,EAAemQ,EAAUzpB,MAIzDwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM8wB,aAAe,MACxC,IAAK,MAAM/4B,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,QAAQlJ,IAAawT,mBACrD,IAAK1L,KAAK2L,UAAU3L,KAAKoB,QAAQlJ,IAAawT,kBAAkB38B,GAAG68B,OAAOt4B,MAAO,CAChF,MAAMu4B,EAAuB7L,KAAKoB,QAAQlJ,IAAawT,kBAAkB38B,GACzEoR,EAAE,iBAAiBnJ,MAAM8wB,aAAe,MACxC3nB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkB0oB,KACvD/X,EAAE,uBAAuB/N,YAAcomB,GAA4BqT,EAAqBxB,IAAMzK,GAAW1H,IAAa0S,aAAc,IACpIzqB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGIwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAomBxCyf,GAC0B,MAAhB7T,EA/lBb,WAQC,GANA0P,GADmBxnB,EAAE,oBAGrB6X,EAAqBgG,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMwyB,MAC3E/N,EAAeiI,KAAKkK,SAASlK,KAAK6D,gBAAgB3L,IAAa5kB,MAAMy4B,WACrE5T,GAAoB6F,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAM04B,WAEpC,IAAlCxX,EAAUiX,oBAA2B,CACxCtrB,EAAE,mBAAmB/N,YAAcomB,GAA4BR,EAAoB,GACnF,MAAM+S,EAAWzzB,KAAKC,MAAMygB,EAAqBgI,KAAK4E,UAAY,KAEzB,MAArCzkB,EAAE,mBAAmB/N,aAAwC,MAAhB6lB,GAAuC,MAAhBA,GAMnEgB,OAAOC,SAAS6R,IAA0B,IAAbA,IAChC5qB,EAAE,mBAAmB/N,aAAe,KAAK24B,EAAW,mBAErD5qB,EAAE,mBAAmB3Q,UAAYymB,EAAe+H,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMqJ,MAElGwb,KACHhY,EAAE,2BAA2B/N,YAAcomB,GAA4BL,IACvEhY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2B8rB,gBAAgBj1B,MAAMqV,QAAU,SAGnC,IAAvB2L,GAA4BG,IAC/BhY,EAAE,eAAe/N,YAAc,GAAGomB,GAA4BT,EAAeI,aAC7EhY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE/BwD,EAAE,eAAe/N,YAAcomB,GAA4BwF,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAM+M,GAAI,GACrHF,EAAE,eAAe3Q,UAAYymB,EAAe+H,GAAcgC,KAAK6D,gBAAgB3L,IAAa5kB,MAAMqJ,SArBnGwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAqBlC,MAAM+Z,EAAYpM,IAAcjC,GAAgBiI,KAAKsG,QAAUvB,OAAyBN,MAQxF,GAPAtkB,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KACpB,UAAnBmM,EAAUnM,MAAoB+F,KAAKsG,QAAUtG,KAAK6D,gBAAgB3L,IAAa6T,WAClF5rB,EAAE,iBAAiB/N,YAAc,GAAGg0B,EAAUnM,oBACxC9Z,EAAE,iBAAiB/N,YAAcg0B,EAAUnM,KAClD9Z,EAAE,iBAAiB3Q,UAAYymB,EAAemQ,EAAUzpB,MAGT,kBAA3CqjB,KAAK6D,gBAAgB3L,IAAa5kB,KAA0B,CAC/D6M,EAAE,mBAAmB4nB,UAAU/wB,MAAM8wB,aAAe,MACpD3nB,EAAE,mBAAmBwK,YAAY8c,GAAoB,yCACrD,MAAMyE,EAAY7+B,SAAS4D,cAAc,OACzCi7B,EAAUl1B,MAAM2F,MAAQ,QACxBuvB,EAAU95B,YAAc,GAAGomB,GAA2C,IAAfwH,KAAKsG,cAAqB9N,GAA4B+E,MAC7Gpd,EAAE,mBAAmBwK,YAAYuhB,SAE5B/rB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA2iBxC8f,GAC0B,MAAhBlU,EAriBb,WACC,GAA8B,IAA1BzD,EAAU4X,YAAmB,CAChC,MAAMd,EAAanrB,EAAE,mBAErBmrB,EAAW3gB,YAAY8c,GAAoB,uBAE3C,MAAM4E,EAAWh/B,SAAS4D,cAAc,OACxCo7B,EAAS7K,GAAK,gBACd8J,EAAW3gB,YAAY0hB,GACvB,MAAMC,EA/RM,KADQl9B,EAgSW4wB,KAAKuM,iBA9R7B,CAAEtS,KAAM,SAAUtd,MAAO8Z,GAClB,IAATrnB,EACE,CAAE6qB,KAAM,aAActd,MAAOyZ,GACtB,IAAThnB,EACE,CAAE6qB,KAAM,SAAUtd,MAAO0Z,GAClB,IAATjnB,EACE,CAAE6qB,KAAM,QAAStd,MAAO2Z,GACjB,IAATlnB,EACE,CAAE6qB,KAAM,cAAetd,MAAO6Z,GAE/B,CAAEyD,KAAM,qBAAsBtd,MAAO4Z,GAqR3C8V,EAASj6B,YAAck6B,EAAUrS,KACjCoS,EAAS78B,UAAYymB,EAAeqW,EAAU3vB,WACxCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAnS3C,IAAsBjd,EA6zBnBo9B,GAC0B,MAAhBvU,EAphBb,WACC,MAAMkJ,EAAWnB,KAAKoB,QAAQ,gBAAgBD,SACxCsL,EAAYtL,EAASuL,aAAavL,EAASwL,WAAWzU,KAE5D,GAA8B,IAA1B1D,EAAUoY,aAAqBH,GAAatL,EAAS0L,OAAQ,CAChE,MAAMvB,EAAanrB,EAAE,mBAGrBmrB,EAAW3gB,YAAY8c,GAAoB,cAC3C,MAAM5N,EAAOxsB,SAAS4D,cAAc,OACpC4oB,EAAK2H,GAAK,gBACV8J,EAAW3gB,YAAYkP,GACvB,MAAMuM,EAAYpM,GAAaoN,GAA4BjG,EAAS2L,MAAO3L,EAAS0L,OAAQJ,IAK5F,GAJA5S,EAAKznB,YAAcg0B,EAAUnM,KAC7BJ,EAAKrqB,UAAYymB,EAAemQ,EAAUzpB,MAGtC8vB,GAAatL,EAAS2L,MAAO,CAChCxB,EAAW3gB,YAAY8c,GAAoB,iBAC3C,MAAMsF,EAAU1/B,SAAS4D,cAAc,OACvC87B,EAAQvL,GAAK,mBACb8J,EAAW3gB,YAAYoiB,GACvB,MAAMC,EAAehT,GAAaoN,GAA4B9vB,KAAK6D,IAAI,EAAGgmB,EAAS2L,MAAQL,GAAYtL,EAAS0L,OAAQ1L,EAAS2L,QACjIC,EAAQ36B,YAAc46B,EAAa/S,KACnC8S,EAAQv9B,UAAYymB,EAAe+W,EAAarwB,MAIjD,GAAoB,MAAhBub,GAAqB,CACxBoT,EAAW3gB,YAAY8c,GAAoB,8BAC3C,MAAMwF,EAAU5/B,SAAS4D,cAAc,OACvCg8B,EAAQzL,GAAK,IACb8J,EAAW3gB,YAAYsiB,GACvB,MAAMC,EAAS7/B,SAAS4D,cAAc,QACtCi8B,EAAOl2B,MAAM2F,MAAQ,UACrBuwB,EAAO96B,YAAcomB,GAA4BlhB,KAAK2D,IAA4C,KAAvC+kB,KAAKsG,QAAUvB,MAA2D,GAA7B/H,GAAkC,IAAK,GAC/IiQ,EAAQtiB,YAAYuiB,GACpB,MAAMC,EAAY9/B,SAAS4D,cAAc,QACzCk8B,EAAU/6B,YAAc,MACxB66B,EAAQtiB,YAAYwiB,GACpB,MAAMC,EAAO//B,SAAS4D,cAAc,QACpCm8B,EAAKp2B,MAAM2F,MAAQ,MACnBywB,EAAKh7B,YAAcomB,GAA0D,GAA7BwE,GAAkC,GAAK,GACvFiQ,EAAQtiB,YAAYyiB,GAGrBjtB,EAAE,iBAAiBwK,YAAY2gB,QACzBnrB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsexCghB,GAC0B,MAAhBpV,EAheb,WACC,MAAMkJ,EAAWnB,KAAKoB,QAAQkM,KAAKnM,SACnC,GAAI3M,EAAU+Y,cAAqE,IAArDpM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAU,CACrF,MAAMuV,EAAStM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAKiJ,EAASuM,WAAWvM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAK,GAAGyV,WACtIC,EAAYzM,EAASuM,WAAWvM,EAASqM,KAAKtV,GAAY,IAAIA,GAAY,IAAI,GAAK,GAAG5kB,KAC5F6M,EAAE,mBAAmBwK,YAAY8c,GAAoB,+BACrD,MAAMyF,EAAS7/B,SAAS4D,cAAc,OACtCi8B,EAAO1L,GAAK,uBACZrhB,EAAE,mBAAmBwK,YAAYuiB,GACf,cAAdU,EACHztB,EAAE,wBAAwB/N,YAAc,GAAGq7B,EAASjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,KAAO,SAASpM,GAA6C,GAAjBwH,KAAK4E,UAAiB,MAC9K,cAAdgJ,GAA2C,oBAAdA,EACvCztB,EAAE,wBAAwB/N,YAAc,GAAGq7B,EAASjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,IAAM,SAASpM,GAA6C,GAAjBwH,KAAK4E,UAAiB,KAC7K,cAAdgJ,EACVztB,EAAE,wBAAwB/N,YAAc,GAAGq7B,EAASjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,KAAO,SAASpM,GAA6C,GAAjBwH,KAAK4E,UAAiB,MAC9K,cAAdgJ,EACVztB,EAAE,wBAAwB/N,YAAc,GAAGq7B,EAASjV,GAA4BlhB,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,MAAQ,SAASpM,GAA6C,GAAjBwH,KAAK4E,UAAiB,OACjMzkB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACpClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+cxCwhB,GAC0B,OAAhB5V,GAxcb,WACC,MAAMkJ,EAAWnB,KAAKoB,QAAQkM,KAAKnM,SACnC,GAAI3M,EAAU4X,YAAa,CAC1BjsB,EAAE,mBAAmBwK,YAAY8c,GAAoB,oCACrD,IAAIqG,EAAY,EACZC,EAAS,EACT/N,KAAK5qB,KAAK,KAAO4qB,KAAK5qB,KAAK,MAAK24B,EAAS,GAC7C,IAAK,IAAI70B,EAAI,EAAGA,EAAI,EAAGA,IACtB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACtB,GAAIkoB,EAASqM,KAAKt0B,GAAGD,GAAG,IAAM,EAAG,CAChC,MAAM+0B,EAAO7M,EAASqM,KAAKt0B,GAAGD,GACxB6qB,EAAK3C,EAASuM,WAAWM,EAAK,GAAK,GACnCJ,EAAY9J,EAAGxwB,KAErB,IAAI6yB,GAAQ,EACR4H,GAAUjK,EAAGmK,WAAU9H,GAAQ,GAC/B6H,EAAK,GAAKlK,EAAG6J,aAAYxH,GAAQ,GACjCA,GAAuB,cAAdyH,EACZE,GAAax2B,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,IACvDuB,GAAuB,cAAdyH,GAA2C,oBAAdA,EAChDE,GAAax2B,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,GACvDuB,GAAuB,cAAdyH,EACnBE,GAAax2B,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,IACvDuB,GAAuB,cAAdyH,IACnBE,GAAax2B,KAAK2D,IAAmB,IAAf+kB,KAAKsG,QAAiC,GAAjBtG,KAAK4E,UAAiB,MAKrEzkB,EAAE,mBAAmBwK,YAAYtd,SAASqgB,eAAe8K,GAA4BsV,UAC/E3tB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA2axC6hB,GApaH,WACC,GAAoB,MAAhBjW,GAAuC,MAAhBA,EAAqB,CACe,OAA1D5qB,SAAS8gC,eAAe,gCAC3BhuB,EAAE,iBAAiBwK,YA3WtB,WACC,MAAMyjB,EAAc/gC,SAAS4D,cAAc,OAC3Cm9B,EAAYp3B,MAAMgI,SAAW,WAC7BovB,EAAYp3B,MAAMqV,QAAU,QAC5B+hB,EAAYp3B,MAAMqC,KAAO,OACzB+0B,EAAYp3B,MAAMkW,OAAS,OAC3BkhB,EAAY5M,GAAK,6BAEjB,MAAM6M,EAAS,SAAUC,EAAO3xB,EAAO4xB,EAAgBC,EAAeC,GACrE,MAAM3lB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI0Y,GAAK8M,EACTxlB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAM03B,WAAa,wBACvB5lB,EAAItZ,UA1qCiB,WA0qCYmN,EACjCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMs2B,EAAWthC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAYgkB,GAChB,MAAMC,EAAYvhC,SAAS4D,cAAc,QACzC29B,EAAUp/B,UAAYymB,EAAetZ,EACrCiyB,EAAU53B,MAAM0wB,WAAa,OAC7BkH,EAAUx8B,YAAcm8B,EACxBI,EAAShkB,YAAYikB,GACrBD,EAAShkB,YAAYtd,SAASqgB,eAAe8gB,IAC7C,MAAMK,EAAaxhC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAYkkB,GAChB,MAAMC,EAAczhC,SAAS4D,cAAc,QAI3C,OAHA69B,EAAYtN,GAAKiN,EACjBI,EAAWlkB,YAAYtd,SAASqgB,eAAe,cAC/CmhB,EAAWlkB,YAAYmkB,GAChBhmB,GAeR,OAZAslB,EAAYzjB,YAAY0jB,EAAO,yBAA0B9X,EAAU,YAAa,uFAAwF,+BACxK6X,EAAYx8B,WAAWoF,MAAM8wB,aAAe,MAC5CsG,EAAYzjB,YAAY0jB,EAAO,+BAAgChY,EAAa,YAAa,gGAAiG,qCAC1L+X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YAAY0jB,EAAO,2BAA4B7X,EAAa,YAAa,oGAAqG,iCAC1L4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YAAY0jB,EAAO,iCAAkC7X,EAAa,YAAa,6GAA8G,uCACzM4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YAAY0jB,EAAO,2BAA4B7X,EAAa,YAAa,qJAAsJ,iCAC3O4X,EAAYrG,UAAU/wB,MAAM8wB,aAAe,MAC3CsG,EAAYzjB,YAAY0jB,EAAO,wBAAyB9X,EAAU,YAAa,2EAA2E/B,EAAUua,8BAA+B,8BAE5LX,EA8T0BY,IAC/B9H,MAG6B,IAA1B1S,EAAU2S,YAAmBhnB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAC1EiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAAG6G,EAAE,WAAWxG,iBAEjEwG,EAAE,8BAA8BnJ,MAAMkG,MAAWiD,EAAE,WAAWzG,YAAc,EAA9B,KAE9C,MAAM0oB,EAAUpC,KAAKsG,QAAUvB,KAAwBhN,EACjDkX,EAAkBza,EAAU0a,YAAclX,EAAqB,EACrE,IAAImX,EAAa7S,GACjB,GAA8B,IAA1B9H,EAAU0a,YAAmB,CAChC,IAAIE,EAAcpX,EAClBoX,GAAetI,KACfqI,GAA8B,GAAdC,EAAmB,GAAM,IAU1C,GAPgC,IAA5B5a,EAAU6a,eACTjN,EAAS+M,IAA+B,MAAhBlX,GAAwC,IAAjB+H,KAAK4C,UACvDziB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAGomB,GAA4B2W,EAAa/M,OAAYxI,IAAYuV,EAAa/M,IAAWqC,KAAWwK,QAEhJ9uB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCmI,EAAU8a,oBAA2B,CACxC,MAAMC,EAAgC,EAAbJ,EACrB/M,EAASmN,IAAqC,MAAhBtX,GAAwC,IAAjB+H,KAAK4C,UAC7DziB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAGomB,GAA4B+W,EAAmBnN,OAAYxI,IAAY2V,EAAmBnN,IAAWqC,KAAWwK,QACjK9uB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACnDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BmI,EAAUgb,gBAAuB,CACpC,MAAMC,EAA4B,EAAbN,EAChB/M,EAASqN,IAAkC,MAAhBxX,GAAwC,IAAjB+H,KAAK4C,UAC3DziB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAGomB,GAA4BiX,EAAerN,OAAYxI,IAAY6V,EAAerN,IAAWqC,KAAWwK,QACrJ9uB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAC/ClM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCmI,EAAUkb,sBAA6B,CAC1C,MAAMC,EAAkC,EAAbR,EAAiB,EACvC/M,EAASuN,IAAwC,MAAhB1X,GAAwC,IAAjB+H,KAAK4C,UACjEziB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAGomB,GAA4BmX,EAAqBvN,OAAYxI,IAAY+V,EAAqBvN,IAAWqC,KAAWwK,QACvK9uB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACrDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAEzB,IAA9BmI,EAAUob,iBAAyB5P,KAAKoB,QAAQ,gBAAgBU,gBAC/DhF,IAAgBsF,EAAStF,KAAiC,MAAhB7E,GAAwC,IAAjB+H,KAAK4C,UACzEziB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAGomB,GAA4BsE,GAAesF,OAAYxI,IAAYkD,GAAesF,IAAWqC,KAAWwK,QAEtJ9uB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDmI,EAAUua,aAAe,GACxB3M,EAAS5N,EAAUua,aAAetK,OAA6B,MAAhBxM,GAAwC,IAAjB+H,KAAK4C,UAC9EziB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EAAE,yBAAyB0vB,SAAS,GAAGz9B,YAAc,2EAA2EoiB,EAAUua,8BAC1I5uB,EAAE,6BAA6B/N,YAAc,GAAGomB,GAA4BhE,EAAUua,aAAetK,KAAWrC,OAAYxI,IAAYpF,EAAUua,aAAetK,KAAWrC,IAAWqC,KAAWwK,QAE7L9uB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACJ,OAApClM,EAAE,+BACZA,EAAE,8BAA8B9J,SAkWhCy5B,QACiC,OAAvB3vB,EAAE,kBAC4B,OAApCA,EAAE,+BACLA,EAAE,8BAA8B9J,SAYnC,SAAS05B,GAAc3gC,EAAMkE,GAC5B,GAAa,MAATlE,EAAc,CAGjB,GAFA+Q,EAAE,WAAWoM,UAAYyT,KAAKoB,QAAQ9tB,GAAMs0B,UAEd,IAA1BpT,EAAUwb,YAAmB,CAChC,MAAMC,EAAanF,GAAiB9K,KAAKoB,QAAQ9tB,GAAO0sB,KAAKoB,QAAQ9tB,GAAM4uB,UAAW,EAAGlC,KAAKoB,QAAQ9tB,GAAM6uB,KAAMnC,KAAKoB,QAAQ9tB,GAAM8uB,QAC/H8N,EAAiBD,EAAajQ,KAAKoB,QAAQ9tB,GAAMs3B,aACnDsF,EAAiB,IACpB/vB,EAAE,WAAWoM,UAAYpM,EAAE,WAAWoM,UACpC3W,MAAM,gBACN6C,KAAK,wBAAwB+f,GAA4B0X,UAAsD,IAA/B54B,KAAKkE,MAAM00B,GAAwB,SAAW,+BAA+BlW,IAAciW,EAAajQ,KAAKoB,QAAQ9tB,GAAMs3B,eAAiB5K,KAAKoB,QAAQ9tB,GAAM68B,eAAiBnQ,KAAKoQ,gBAAgBnW,iBAGnQ,IAAlB+F,KAAK4C,UASRziB,EAAE,WAAWoM,UAAYpM,EAAE,WAAWoM,UAAU3W,MAAM4iB,GAA4BwH,KAAKoB,QAAQ9tB,GAAM+yB,YAAY5tB,KAAK+f,IAA6BwH,KAAKoB,QAAQ9tB,GAAO0sB,KAAKoB,QAAQ9tB,GAAM4uB,UAAWlC,KAAKoB,QAAQ9tB,GAAM8uB,OAAQpC,KAAKoB,QAAQ9tB,GAAM6uB,KAAMnC,KAAKuC,QAAS,WAElQ,GAAa,MAATnzB,EAAc,CACxB,IAAK4wB,KAAK6D,gBAAgBvwB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYyT,KAAKqQ,aAAarQ,KAAK6D,gBAAgBvwB,GAAO,aACpD,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYyT,KAAKsQ,cACrC,MAATlhC,EAAc+Q,EAAE,WAAWoM,UAAYyT,KAAKoB,QAAQ,gBAAgBD,SAASoP,aAAaj9B,EAAnD0sB,GAC9B,MAAT5wB,EAAc+Q,EAAE,WAAWoM,UAAYyT,KAAKwQ,YAAY,GAAGrP,SAASsP,YAAYn9B,EAAK,GAAIA,EAAK,GAAvD0sB,GAC9B,OAAT5wB,IAAe+Q,EAAE,WAAWoM,UAAYyT,KAAKwQ,YAAY,GAAGrP,SAASuP,YAAY,EAAzC1Q,IAGjD,GAAc,MAAT5wB,GAAiC,IAAjB4wB,KAAK4C,SAA2B,MAATxzB,GAAyB,MAATA,GAAyB,MAATA,GAA0B,MAATA,IAAiB4wB,KAAK5qB,KAAK,KAAiB,OAAThG,EAAe,CAC9I,MAAMuhC,EAAOtjC,SAAS4D,cAAc,OACpC0/B,EAAKnP,GAAK,gBACVrhB,EAAE,WAAWwK,YAAYgmB,GAS1B,OALA1Y,EAAc7oB,EACd8oB,GAAc5kB,EAEd+3B,KAEOlrB,EAAE,WAAWoM,UAmFrB,SAASqkB,KAER,GACE5Q,KAAK6Q,MAAMC,UAAY9Q,KAAK+Q,MAAQ,IAAO,GACxB,UAAhB/Q,KAAKgR,QAAsBxc,EAAUyc,MACxC,CACD,MAAMvL,EAAQr4B,SAAS8gC,eAAe,wBAClCzI,IACHA,EAAMwL,UAAYlR,KAAKmR,QAAmB,GAAXnR,KAAKwH,IAAYxH,KAAKoR,GAAgB,GAAXpR,KAAKwH,KAAY,IAK7E7E,KACAS,KAznCD,WACC,GAA2B,IAAvB5O,EAAUmS,SAAgB,CAE7B,MAAM0K,EAAiBlxB,EAAE,cAAczG,YAAc,IAE/C43B,EAAiBnxB,EAAE,cAAczG,YAAc,IACrD,IAAI63B,EAAiB,EAGoB,IAArCvR,KAAKwR,aAAaC,OAAOC,SAAkB1R,KAAK2R,IAAI,uBAiBjDxxB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QAhBxClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAAMD,KAAK6D,IAAI,EAAG6kB,KAAKwR,aAAaC,OAAOG,QAAU5R,KAAKwR,aAAaC,OAAO5X,MAAQwX,EAAiBrR,KAAKwR,aAAaC,OAAOI,aAC1Krd,EAAUsd,iBAAmB,EAAG3xB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MAAMsd,KAAKwR,aAAaC,OAAOG,QAAU5R,KAAKwR,aAAaC,OAAO5X,MAAQmG,KAAKwH,KACzJrnB,EAAE,sBAAsB/N,YAAc,GACvC4tB,KAAKwR,aAAaC,OAAOG,UAAY5R,KAAKwR,aAAaC,OAAOI,SACjE1xB,EAAE,sBAAsBnJ,MAAMwuB,qBAAuB,OACrDrlB,EAAE,sBAAsBnJ,MAAMyuB,wBAA0B,SAExDtlB,EAAE,sBAAsBnJ,MAAMwuB,qBAAuB,GACrDrlB,EAAE,sBAAsBnJ,MAAMyuB,wBAA0B,IAEzDtlB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAAMD,KAAK2D,IAAI+kB,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAOG,QAAS5R,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAAQwX,EAAiBrR,KAAKwR,aAAaC,OAAOI,aACzOrd,EAAUsd,iBAAmB,EAAG3xB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KAAKpL,KAAK2D,IAAI+kB,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAOG,QAAS5R,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAAQmG,KAAKwH,KACnOrnB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MAAMsd,KAAKwR,aAAaC,OAAOI,QAAU7R,KAAKwR,aAAaC,OAAO5X,MAAQmG,KAAKwH,KACxH+J,KAImB,cAAhBvR,KAAK+R,QAAiE,IAAvC/R,KAAKwR,aAAaQ,SAASN,SAC7DvxB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAAMD,KAAK6D,IAAI,EAAG6kB,KAAKwR,aAAaQ,SAASJ,QAAU5R,KAAKwR,aAAaQ,SAASnY,MAAQwX,EAAiBrR,KAAKwR,aAAaQ,SAASH,aACjLrd,EAAUsd,iBAAmB,EAAG3xB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MAAMsd,KAAKwR,aAAaQ,SAASJ,QAAU5R,KAAKwR,aAAaQ,SAASnY,MAAQmG,KAAKwH,KAC9JrnB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAAMD,KAAK2D,IAAI+kB,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASJ,QAAS5R,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASnY,MAAQwX,EAAiBrR,KAAKwR,aAAaQ,SAASH,aACpPrd,EAAUsd,iBAAmB,EAAG3xB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KAAKpL,KAAK2D,IAAI+kB,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASJ,QAAS5R,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASnY,MAAQmG,KAAKwH,KAC5OrnB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MAAMsd,KAAKwR,aAAaQ,SAASH,QAAU7R,KAAKwR,aAAaQ,SAASnY,MAAQmG,KAAKwH,KAC7H+J,KAEApxB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIpC,MAAM4lB,EAAgB,GACtB9xB,EAAE,wBAAwBoM,UAAY,GACtC,IAAK,MAAMxd,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,OAChC,GAAIhH,KAAKgH,MAAMj4B,GAAI,CAClB,MAAM22B,EAAQV,GAAYhF,KAAKgH,MAAMj4B,GAAGuE,KAAM0sB,KAAKgH,MAAMj4B,GAAGuE,KAAM,CAAC,CAAEkuB,GAAI,GAAGxB,KAAKgH,MAAMj4B,GAAGuE,aAC1FoyB,EAAM1uB,MAAMqV,QAAU,GACtB,IAAI6lB,EAAa,GAGhBA,OAD6C,IAAnC1a,EAAWwI,KAAKgH,MAAMj4B,GAAGuE,MACtBkkB,EAAWwI,KAAKgH,MAAMj4B,GAAGuE,MACnBkjB,EACpBkP,EAAMqC,UAAU8H,SAAS,GAAGrgC,UAAY0mB,EAAegc,EACvDxM,EAAMqC,UAAU8H,SAAS,GAAG74B,MAAM2F,MAAQ,QACR,IAA9B6X,EAAUsd,gBAAuBpM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAc,GAAGkF,KAAKC,MAAayoB,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKgH,MAAMj4B,GAAG8iC,QAA1C,QACxFnM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAc,GAC/CszB,EAAMqC,UAAU8H,SAAS,GAAG74B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAAMyoB,KAAKgH,MAAMj4B,GAAG8qB,MAAQyX,EAA8E,EAA7Dh6B,KAAKoL,KAAKsd,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKwH,KAAKhwB,WAAWxI,QAAcgxB,KAAKgH,MAAMj4B,GAAG8iC,aAC/KnM,EAAMqC,UAAU8H,SAAS,GAAGz9B,YAAckF,KAAKoL,KAAKsd,KAAKgH,MAAMj4B,GAAG8qB,KAAOmG,KAAKwH,KAC9E+J,IACAU,EAAcjS,KAAKgH,MAAMj4B,GAAGuE,MAAQoyB,EAGtC,IAAK,MAAM32B,KAAKwD,OAAO6C,KAAK68B,GAC3B9xB,EAAE,wBAAwBwK,YAAYsnB,EAAcljC,IAG9B,IAAnBwiC,IACHpxB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBo0B,EAAsB,EAAzB,MAE5BlZ,KAAuBkZ,IAC1BlZ,GAAqBkZ,EACrB7K,OAkjCFyL,GAGAlM,KAGAoF,KA5FD,WACC,GAA+B,IAA3B7W,EAAU4d,cAA8C,IAAxBpb,EAA2B,CAC9D,IAAIqb,GAAiB,EACrB,IAAK,MAAMtjC,KAAKwD,OAAO6C,KAAK4qB,KAAK8E,WAAY,CAC5C,MAAMhB,EAAK9D,KAAK8E,UAAU/1B,GAC1B,GAAI+0B,EAAGwO,MAAQ,GAAKxO,EAAGyO,SAAU,CAEhC,GADAF,GAAiB,EACoB,IAAjCnb,EAA0BnoB,SAA6CI,IAAjC+nB,EAA0BnoB,GAa7D,MAb+E,CACrF,MAAMk8B,EAAc59B,SAAS4D,cAAc,OACrCuhC,EAAWnlC,SAAS4D,cAAc,OACxCuhC,EAASx7B,MAAMk0B,SAAW,QAC1BsH,EAASx7B,MAAM8wB,aAAe,MAC9B,MAAM5D,EAAM72B,SAAS4D,cAAc,OACnCizB,EAAIltB,MAAMuW,UAAY,SACtB2W,EAAI1C,GAAK,oBACTgR,EAAS7nB,YAAYuZ,GACrB+G,EAAYtgB,YAAY6nB,GACxBxS,KAAK4H,QAAQrhB,KAAK9Y,KAAMglC,OAAOxH,EAAY1e,YAC3C0K,EAAkBloB,EAClBmoB,EAA0BnoB,GAAK,QAGhCmoB,EAA0BnoB,GAAK,EAG5BsjC,GACJrS,KAAK4H,QAAQ7hB,QAqEf2sB,GA3DD,WACC,GAA+B,IAA3Ble,EAAU4d,cAAiD,OAA3BjyB,EAAE,qBAA+B,CACpE,IAAIwyB,EAAS3S,KAAK8E,UAAU7N,GAAiB0b,OACzCC,EAAS,IAKb,GAJI5S,KAAK2R,IAAI,6BAA4BiB,GAAU,MACN,IAAzC5S,KAAK8E,UAAU7N,GAAiB7nB,OAAYwjC,GAAU,GAC1DD,GAAUC,EACN5S,KAAK2R,IAAI,mBAAkBgB,GAAU,MACrC/S,GAAWsB,OAAOY,eAAgB,CACrC,MAAMC,EAAS/B,KAAKiB,OAAO,SACZ,IAAXc,EAAc4Q,GAAU,KACR,IAAX5Q,EAAc4Q,GAAU,IACb,IAAX5Q,IAAc4Q,GAAU,MAElCxyB,EAAE,qBAAqB/N,YAAcomB,GAA4Bma,IA8ClEE,GA/iCIre,EAAUse,SAA2B,UAAhB9S,KAAKgR,SAAuBhR,KAAK+Q,MAAQ,IAAiB,EAAX/Q,KAAKwH,MAAa,IAAMxH,KAAK+Q,MAAQ,GAAK/Q,KAAKwH,KAAQ,GAAGxH,KAAK+S,aAqjCvI5yB,EAAE,WAAWoM,UAAYpM,EAAE,WAAWoM,UAAU5W,QAAQ,cAAe6iB,GAA4BwH,KAAKsG,UAgBzG,MAAM0M,GACLC,YAAYC,GACXzlC,KAAKylC,UAAYA,EACjBzlC,KAAK0lC,MAAQ,GAGdF,UAAUG,GACL3lC,KAAK0lC,MAAMtiC,KAAKuiC,GAAY3lC,KAAKylC,WACpCzlC,KAAK0lC,MAAMzf,QASbuf,YAAYI,GACPA,EAAa5lC,KAAKylC,YAAWG,EAAa5lC,KAAKylC,WAC/CG,EAAa5lC,KAAK0lC,MAAMnkC,SAAQqkC,EAAa5lC,KAAK0lC,MAAMnkC,QAC5D,IAAI0M,EAAM,EACV,IAAK,IAAI3M,EAAItB,KAAK0lC,MAAMnkC,OAAS,EAAGD,GAAK,GAAKA,EAAItB,KAAK0lC,MAAMnkC,OAAS,EAAIqkC,EAAYtkC,IACrF2M,GAAOjO,KAAK0lC,MAAMpkC,GAEnB,OAAY,IAAR2M,EACI,EAEDA,EAAM23B,GA+Bf,SAASC,KACR,MAAMC,EAAWj8B,KAAKkE,MAAMg4B,KAAKC,MAAQ,KAEzC,GAAKzT,KAAKoR,EAAIpR,KAAKwH,IAAO,GAAM,EAAG,CAClC,IAAIkM,EAAc1T,KAAKsG,QAAU3G,GAC7BK,KAAK6E,UAAY,IAAG6O,GAAe/V,IACvCsB,GAAyB3nB,KAAK6D,IAAI6kB,KAAK2T,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW/Y,GACtBqZ,EAAcv8B,KAAK6D,IAAI,EAAI6kB,KAAKsG,QAAU7L,IAAqBmZ,EAC/DE,EAAex8B,KAAK6D,IAAI,EAAIwiB,GAAsBjD,IAA0BkZ,EAC5EG,EAAsBz8B,KAAK6D,IAAI,EAAI0iB,GAAsB,GAAKlD,IAAiCiZ,EAC/FI,EAAgB18B,KAAK6D,IAAI,EAAIu4B,EAAcnW,IAAoBqW,EAC/DK,GAAiBjU,KAAKkU,aAAetZ,IAAmBgZ,EAC9D,IAAK,IAAI7kC,EAAI,EAAGA,EAAI6kC,EAAU7kC,IAC7BmrB,GAAYia,UAAUN,GACtB1Z,GAAUga,UAAUL,GACpB1Z,GAAiB+Z,UAAUJ,GAC3B1Z,GAAW8Z,UAAUH,GACrB1Z,GAAW6Z,UAAUF,GAItBzZ,GAAoB+Y,EACpB9Y,GAAmBuF,KAAKsG,QACxB5L,GAAwBiD,GACxBhD,GAA+BkD,GAAsB,GACrDN,GAAkBmW,EAClB9Y,GAAkBoF,KAAKkU,aAGvB,MAAME,EAAY9c,EAAY9C,EAAU6f,YACxCxZ,GAAuBX,GAAYoa,YAAYF,GAC/CtZ,GAAwBX,GAAUma,YAAYF,GAC9CrZ,GAA+BX,GAAiBka,YAAYF,GAC5DpZ,GAAyBX,GAAWia,YAAYF,GAChDnZ,GAAkBJ,GACU,IAAxBrG,EAAUmQ,YAAiB1J,IAAmBH,IACtB,IAAxBtG,EAAUmQ,YAAiB1J,IAAmBF,IAElD,MAAMwZ,EAAUvU,KAAKwU,YAAY,mBAAqBxU,KAAK2R,IAAI,iBAG9DzS,GADGqV,GAAkC,IAAxB/f,EAAUmQ,UACC9J,GAAuBC,IAAyByZ,EAASvZ,GAAyB,GAC5EC,GAE/BgD,GAAqB3D,GAAWga,YAAY/c,EAAW/C,EAAUigB,iBAiBnE,SAASC,GAAW5Q,EAAInC,GACvB,IAAIhlB,EAAQ,GAkBZ,OAhBsCA,EAAlCmnB,EAAGzjB,IAAM,GAAKyjB,EAAGzjB,KAAOyY,IAAkBrC,EACrCqN,EAAGzjB,GAAKif,GAAoBnJ,EAC5B2N,EAAGzjB,KAAOif,GAAoBlJ,EAC9B0N,EAAGzjB,KAAOmf,GAAoBjJ,EAC9BuN,EAAGzjB,GAAKmf,GAAoBhJ,EAC5BsN,EAAGzjB,GAAKkf,GAAoBjJ,EACxBD,EAGiC,IAA1C4C,OAAOzE,EAAUmgB,sBAChBhT,EAAQ8C,KAAWxL,OAAOzE,EAAUmgB,uBAAsBh4B,EAAQwZ,GAGnE3B,EAAUogB,uBACTjT,EAAQ3B,KAAKsG,QAAU,IAAG3pB,EAAQ4Z,GAEhC5Z,EAgBR,SAASk4B,GAAqBzgC,GAC7B,IAAK,MAAMrF,KAAKwD,OAAO6C,KAAKhB,GACvB4rB,KAAK4E,UACRxwB,EAAOrF,GAAGsR,GAAM/I,KAAK6D,IAAI/G,EAAOrF,GAAG4yB,OAAS3B,KAAKsG,QAAUvB,MAAuB,GAAK/E,KAAK4E,UAAcxwB,EAAOrF,GAAG4yB,MAAQvtB,EAAOrF,GAAG+2B,MAChI1xB,EAAOrF,GAAGsR,GAAMjM,EAAOrF,GAAG4yB,MAAQvtB,EAAOrF,GAAG+2B,MAEnD1xB,EAAOrF,GAAG4N,MAAQ+3B,GAAWtgC,EAAOrF,GAAIqF,EAAOrF,GAAG4yB,OAgHpD,SAASmT,MAxGT,WAOC,GANAxV,GAAaxG,IACb0G,GAAa,EACbC,GAAkB,QACoB,IAA3BjL,EAAUugB,eAA8BvgB,EAAUugB,aAAe,GAG1C,IAA9BvgB,EAAUwgB,iBAAyBhV,KAAK4C,QAAU,EAAG,CACxD,IAAK,MAAM7zB,KAAKwD,OAAO6C,KAAKooB,IACvBwC,KAAK4E,UACRpH,GAAczuB,GAAGsR,GAAM/I,KAAK6D,IAAI6kB,KAAKoB,QAAQryB,GAAGg9B,YAAc/L,KAAKsG,QAAUvB,MAAuB,GAAK/E,KAAK4E,UAAc5E,KAAKoB,QAAQryB,GAAGg9B,WAAavO,GAAczuB,GAAG+2B,MACpKtI,GAAczuB,GAAGsR,GAAM2f,KAAKoB,QAAQryB,GAAGg9B,WAAavO,GAAczuB,GAAG+2B,MAC5ErG,GAAgB5uB,KAAK,CAAC2sB,GAAczuB,GAAGsR,GAAI2f,KAAKoB,QAAQryB,GAAGg9B,aAI5D,GADAtM,GAAgByD,MAAK,CAACtrB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACpCmd,EAAUogB,sBACb,KAAOnV,GAAgB,GAAG,GAAKO,KAAKsG,SACJ,IAA3B7G,GAAgBzwB,QAGpBywB,GAAgB/L,QAGlB4L,GAAaG,GAAgBjL,EAAUugB,cAAc,GACrDvV,GAAaC,GAAgBA,GAAgBzwB,OAAS,GAAG,GACzDuwB,IAAeC,GAAaF,IAAc,EAAKA,GAC/C,IAAK,MAAMvwB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC3CA,GAAczuB,GAAG4N,MAAQ+3B,GAAWlX,GAAczuB,GAAIixB,KAAKoB,QAAQryB,GAAGg9B,YAEtE,IAAK,IAAI/H,EAAI,EAAGA,EAAIxP,EAAUugB,aAAc/Q,IACvCxG,GAAczuB,GAAGsR,KAAOof,GAAgBuE,GAAG,KAAIxG,GAAczuB,GAAG4N,MAAQ8Z,GAI9Eoe,GAAqBpX,IACrBoX,GAAqBnX,SACf,GAAIsC,KAAK4C,QAAU,EAAG,CAE5B,IAAIxuB,EACiB,IAAjB4rB,KAAKuC,QAAenuB,EAASopB,GACP,KAAjBwC,KAAKuC,QAAgBnuB,EAASqpB,GACb,MAAjBuC,KAAKuC,UAAiBnuB,EAASspB,IACxC,IAAK,MAAM3uB,KAAKwD,OAAO6C,KAAKhB,GACvB4rB,KAAK4E,UACRxwB,EAAOrF,GAAGsR,GAAM/I,KAAK6D,IAAI6kB,KAAKoB,QAAQryB,GAAGs3B,WAAarG,KAAKsG,QAAUvB,MAAuB,GAAK/E,KAAK4E,UAAc5E,KAAKoB,QAAQryB,GAAGs3B,UAAYjyB,EAAOrF,GAAG+2B,MACpJ1xB,EAAOrF,GAAGsR,GAAM2f,KAAKoB,QAAQryB,GAAGs3B,UAAYjyB,EAAOrF,GAAG+2B,MAC7DrG,GAAgB5uB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAI2f,KAAKoB,QAAQryB,GAAGs3B,YAIrD,GADA5G,GAAgByD,MAAK,CAACtrB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACpCmd,EAAUogB,sBACb,KAAOnV,GAAgB,GAAG,GAAKO,KAAKsG,SACJ,IAA3B7G,GAAgBzwB,QAGpBywB,GAAgB/L,QAGlB4L,GAAaG,GAAgBjL,EAAUugB,cAAc,GACrDvV,GAAaC,GAAgBA,GAAgBzwB,OAAS,GAAG,GACzDuwB,IAAeC,GAAaF,IAAc,EAAKA,GAE/C,IAAK,MAAMvwB,KAAKwD,OAAO6C,KAAKooB,IAAgB,CAC3CppB,EAAOrF,GAAG4N,MAAQ+3B,GAAWtgC,EAAOrF,GAAIixB,KAAKoB,QAAQryB,GAAGs3B,WAExD,IAAK,IAAIrC,EAAI,EAAGA,EAAIxP,EAAUugB,aAAc/Q,IACvC5vB,EAAOrF,GAAGsR,KAAOof,GAAgBuE,GAAG,KAAI5vB,EAAOrF,GAAG4N,MAAQ8Z,KAsCjEwe,GAvBD,WACC,IAAK,MAAMlmC,KAAKwD,OAAO6C,KAAK4oB,IACvBgC,KAAK4E,UACR5G,GAAcjvB,GAAGsR,GAAM/I,KAAK6D,IAAI6kB,KAAKkK,SAASn7B,GAAGg9B,YAAc/L,KAAKsG,QAAUvB,MAAuB,GAAK/E,KAAK4E,UAAc5E,KAAKkK,SAASn7B,GAAGg9B,WAAa/N,GAAcjvB,GAAG+2B,MACtK9H,GAAcjvB,GAAGsR,GAAM2f,KAAKkK,SAASn7B,GAAGg9B,WAAa/N,GAAcjvB,GAAG+2B,MACzE7M,OAAO5I,MAAM2N,GAAcjvB,GAAGsR,MAAK2d,GAAcjvB,GAAGsR,GAAKyY,KAE7DkF,GAAcjvB,GAAG4N,MAAQ+3B,GAAW1W,GAAcjvB,GAAIixB,KAAKkK,SAASn7B,GAAGg9B,YAiBxEmJ,GA0CD,SAASC,GAAO/U,GACXN,GAAgBM,IACe,IAA9BN,GAAgBM,GAAMyK,MACzB/K,GAAgBM,GAAMyK,IAAM,EACS,WAAjC7K,KAAKuI,aAAanI,GAAMS,MAAmBpF,MAuBlD,SAAS2Z,KACRpZ,GAAe,EACf,IAAI+K,EAAO,EAEX,MAAMsO,EAAO,GACb,IAAK,MAAMtmC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAChC,GAAIpB,KAAKoB,QAAQryB,GAAG+yB,gBAAkB9B,KAAKoB,QAAQryB,GAAGoyB,SAASkU,KAAM,CACpE,MAAMC,EAAStV,KAAKoB,QAAQryB,GAAGoyB,SAASkU,KACxC,IAAK,MAAME,KAAMD,EACZD,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,GAI1BxZ,GAAUsZ,EAEiB,IAAvBrV,KAAKY,gBAAqBmG,GAAkC,IAA1B1qB,WAAWsf,IAAsBD,GA1ExE,WACC,IAAI8Z,EAAe,EAWnB,GAVI9U,GAAO,0BAAyB8U,GAAgB,KAChD9U,GAAO,2BAA0B8U,GAAgB,IACjD9U,GAAO,qBAAoB8U,GAAgB,KAC3C9U,GAAO,4BAA2B8U,GAAgB,KAClD9U,GAAO,kBAAiB8U,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5BrV,GAAY,cAC5BO,GAAO,iBAAgB8U,GAAgB,MACvC9U,GAAO,kBAAiB8U,GAAgB,MACxC9U,GAAO,kBAAiB8U,GAAgB,MACxCxV,KAAKiB,OAAQ,CAChB,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAcyT,GAAgB,GACd,IAAXzT,EAAcyT,GAAgB,GACnB,IAAXzT,IAAcyT,GAAgB,IAExC,OAAOA,EAwDmFC,IAE1F1O,GAAQvG,GAAO,OAEXE,GAAO,YAAqC,IAAvBV,KAAKY,gBAAqBmG,GAAQ,EAAI,IAAO/G,KAAK0V,SAE3E,IAAK,MAAM3mC,KAAKwD,OAAO6C,KAAK4qB,KAAK2V,gBAAiB,CACjD,MAAM7R,EAAK9D,KAAK2V,eAAe5mC,GAC3B2xB,GAAOoD,EAAGxwB,QAIa,mBAAdwwB,EAAQ,MACnBiD,GAAQ,EAAwD,IAAnDlH,GAAYiE,EAAGxwB,MAAM62B,MAAMtK,GAAYiE,EAAGxwB,OACjDyzB,GAAQ,EAAgB,IAAXjD,EAAGqG,OAIrBzJ,GAAO,iCAAgCqG,GAAQ,MAC/CrG,GAAO,0BAAyBqG,GAAQ,MACxCrG,GAAO,sBAAqBqG,GAAQ,MACpCrG,GAAO,iBAAgBqG,GAAQ,MAC/BrG,GAAO,kBAAiBqG,GAAQ,MAEhCrG,GAAO,yBAAwBqG,GAAQ,MACvCrG,GAAO,wBAAuBqG,GAAQ,MACtCrG,GAAO,oBAAmBqG,GAAQ,MAClCrG,GAAO,sBAAqBqG,GAAQ,MACpCrG,GAAO,sBAAsBqG,GAAQ,KAErCrG,GAAO,kBAAiBqG,GAAQ,MAChCrG,GAAO,kBAAiBqG,GAAQ,MAEhCrG,GAAO,kBAAiBqG,GAAQ,MAGpC,IAAI6O,EAAY,EAChB,GAAI5U,GAAW,CACd,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAcgF,GAAQ,KACN,IAAXhF,EAAcgF,GAAQ,IACX,IAAXhF,IAAcgF,GAAQ,MAE/BhF,EAASf,GAAU,QACJ,IAAXe,EAAcgF,GAAQ,EAAI,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAiB5oB,KAAKiU,GAAK,GAC3E,IAAXwW,EAAcgF,GAAQ,EAAI,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAkB5oB,KAAKiU,GAAK,GACjF,IAAXwW,IAAcgF,GAAQ,EAAI,IAAOzvB,KAAKu+B,IAAK3V,GAAc,IAAO,MAAkB5oB,KAAKiU,GAAK,IAErGwW,EAASf,GAAU,aACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,IAChB,IAAX7T,IAAc6T,GAAa,KAEpC7T,EAASf,GAAU,YACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,KAChB,IAAX7T,IAAc6T,GAAa,MAEpC7T,EAASf,GAAU,SACJ,IAAXe,EAAc6T,GAAa,IACX,IAAX7T,EAAc6T,GAAa,IAChB,IAAX7T,IAAc6T,GAAa,KAGjClV,GAAO,oBAAoBqG,GAAQ,EAA4B,KAAvB/G,KAAK8V,WAAa,IAE9D,MAAMC,EAAeta,GAAuB,GAC5C,IAAIua,EAAW,EAIf,GAHItV,GAAO,8BAA8BsV,GAAY,MAErDA,GAAY,EAAoC,IAAhC7V,GAAY,kBACxBa,GAAW,CACd,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAciU,GAAY,IACV,IAAXjU,EAAciU,GAAY,KACf,IAAXjU,IAAciU,GAAY,MAEpCA,GAAYxV,GAAO,QAEnB,IAAIyV,EAAU,EAEVvV,GAAO,oBAAmBuV,GAAY,EAAmB,GAAfF,EAAqBC,GAC/DtV,GAAO,oBAAmBuV,GAAY,EAAmB,KAAfF,EAAuBC,GACjEtV,GAAO,sBAAqBuV,GAAY,EAAmB,IAAfF,EAAsBC,GAClEtV,GAAO,sBAAqBuV,GAAY,EAAmB,KAAfF,EAAuBC,GACnEtV,GAAO,qBAAoBuV,GAAY,EAAmB,GAAfF,EAAqBC,GAChEtV,GAAO,wBAAuBuV,GAAY,EAAmB,GAAfF,EAAqBC,GACnEtV,GAAO,wBAAuBuV,GAAY,EAAmB,GAAfF,EAAqBC,GACnEtV,GAAO,oBAAmBuV,GAAY,EAAmB,GAAfF,EAAqBC,GAC/DtV,GAAO,wBAAuBuV,GAAY,EAAmB,GAAfF,EAAqBC,GACnEtV,GAAO,+CAA8CuV,GAAY,EAAmB,KAAfF,EAAuBC,GAC5FtV,GAAO,uBAAsBuV,GAAY,EAAmB,IAAfF,EAAsBC,GACnEtV,GAAO,qBAAoBuV,GAAY,EAAmB,KAAfF,EAAuBC,GAClEtV,GAAO,uBAAsBuV,GAAY,EAAmB,KAAfF,EAAuBC,GACpEtV,GAAO,mBAAkBuV,GAAY,EAAmB,GAAfF,EAAqBC,GAC9DtV,GAAO,kBAAiBuV,GAAY,EAAmB,IAAfF,EAAsBC,GAElE,IAAK,MAAMjnC,KAAKwD,OAAO6C,KAAKwqB,IAAa,CACxC,MAAMkE,EAAKlE,GAAW7wB,GACtB,IAAImnC,EAAYpS,EAAGyF,IAAIzF,GACI,IAAvB9D,KAAKY,gBAAqBsV,IAAc,EAAe,IAAXpS,EAAGsG,OAAgBwL,GACnD,YAAZ9R,EAAGxwB,MAAsBotB,GAAO,sDAAqDwV,GAAa,EAAI,IAAOH,EAAeC,GAChIha,IAAgB8H,EAAG1B,OAAS8T,EAGzBxV,GAAO,WAAU1E,IAAgB,GAErC+K,GAAQkP,EAER,IAAIE,EAAU,EAad,GAZIzV,GAAO,iBAAgByV,GAAW,MAClCzV,GAAO,cAAayV,GAAW,MAC/BzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,iBAAgByV,GAAW,MAClCzV,GAAO,mBAAkByV,GAAW,MACpCzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,gBAAeyV,GAAW,MACjCzV,GAAO,eAAcyV,GAAW,MAChCzV,GAAO,eAAgB,CAE1B,IAAI0V,EAAkE,GAA5D9+B,KAAKkE,OAAOukB,GAAiBC,KAAKC,WAAa,IAAO,IAAW,GAAK,GAAK,GACrFmW,EAAM9+B,KAAK2D,IAAIm7B,EAAK,KAEpB/Y,GAAe,EAAiC,IAA5B,GAAK,EAAI+Y,EAAM,MAAQ,GAC3CD,GAAW9Y,GAEZ0J,GAAQoP,EAEJzV,GAAO,kBAAiBqG,GAAS,EAAgC,IAA5BzvB,KAAK2D,IAAI,IAAK+kB,KAAKqW,QAG5DtP,GAAQ,EAAI5G,GAAY,oBAExB,MAAMmW,EAAeta,GAAe+K,EACpC,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKuW,iBAC5BD,GAAgBtW,KAAKuW,gBAAgBxnC,GAAGynC,WAAWrB,GAAOnV,KAAKuW,gBAAgBxnC,GAAGuE,MAGvF2oB,GAAkBqa,EAElB,MAAMtkC,EAAIguB,KAAKwR,aAAaC,OAAOz/B,EAC7BykC,EAAWtW,GAAY,oBAC7B,IAAK,IAAIpxB,EAAI,EAAGA,EAAIiD,EAAGjD,IACtBg4B,GAAQ,EAAe,KAAX0P,EAGb,MAAMnjC,EAAO0sB,KAAK0W,WAAWrnC,cAM7B,GALa,WAATiE,EAAmByzB,GAAQ,IACb,WAATzzB,IAAmByzB,GAAQ,KAEhCrG,GAAO,oBAAmBqG,GAAQ,KAElCrG,GAAO,uBAAwB,CAClC,IAAIiW,EAAmB,IACvB,GAAIjW,GAAO,iBAAkB,CAC5B,MAAMkW,EAAW5W,KAAK6W,qBACtB,IAAK,MAAM9nC,KAAKwD,OAAO6C,KAAKwhC,GACvBlW,GAAOkW,EAAS7nC,MAAK4nC,GAAoB,IAG/C5P,GAAQ4P,EAET,GAAIjW,GAAO,yBAA0B,CACpC,IAAIoW,EAAW,GACXpW,GAAO,yBAAwBoW,GAAY,IAC/C/P,GAAQ,EAAI+P,EAGTpW,GAAO,uBAAsBqG,GAAQ,KACrCrG,GAAO,wBAAuBqG,GAAQ,GAE1C/K,GAAegE,KAAK+W,kBAAkB,MAAO/a,IAE7C+K,GAAQD,KAER9K,IAAgB+K,EASjB,MAAMiQ,GAAW,CAChB,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIKC,GAAe,CACpB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIKC,GAAgB,CAAC,0BACtB,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIKC,GAAa,CAAC,sBACnB,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIKC,GAAa,CAAC,qBACnB,oBACA,oBACA,yBACA,cACA,WACA,eAkCD,SAASC,GAAajX,GACrB,OAAQN,GAAgBM,GAAQN,GAAgBM,GAAMyK,IAAM,EAe7D,SAASyM,KACR,IAAIC,EAAW,EACf,IAAK,MAAMxoC,KAAKwD,OAAO6C,KAAK4qB,KAAK0J,kBAC5BhJ,GAAOV,KAAK0J,iBAAiB36B,KAAKwoC,KAElCF,GAAa,UAAYE,GAAY,GAAGpC,GAAO,UAC/CkC,GAAa,YAAcE,GAAY,IAAIpC,GAAO,WAEvD,IAAIqC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB,IAAK,MAAM5oC,KAAKwD,OAAO6C,KAAKwqB,IAC3B4X,GAAkB5X,GAAW7wB,GAAGqzB,OAChCuV,EAAYrgC,KAAK2D,IAAI2kB,GAAW7wB,GAAGqzB,OAAQuV,GACtCN,GAAa,kBACbzX,GAAW7wB,GAAGqzB,OAAS9qB,KAAK2D,IAAI,IAAK,IAAO+kB,KAAKwQ,YAAYxhC,OAASgxB,KAAKoB,QAAQryB,GAAGyyB,GAAM,MAAKiW,EAAgB,GAEjHJ,GAAa,YACbzX,GAAW7wB,GAAGqzB,OAA0D,IAAhDpC,KAAKwQ,YAAYxhC,OAASgxB,KAAKoB,QAAQryB,GAAGyyB,MAAUkW,EAAS,GAGvFC,GAAa,GAAGxC,GAAO,uBACL,IAAlBsC,GAAqBtC,GAAO,iBACjB,IAAXuC,GAAcvC,GAAO,WACrBwC,GAAa,KAAKxC,GAAO,cACzBwC,GAAa,KAAKxC,GAAO,yBACzBwC,GAAa,KAAKxC,GAAO,gBACzBwC,GAAa,KAAKxC,GAAO,2BACzBwC,GAAa,KAAKxC,GAAO,iBACzBwC,GAAa,KAAKxC,GAAO,4BACzBwC,GAAa,KAAKxC,GAAO,oBACzBwC,GAAa,KAAKxC,GAAO,+BACzBwC,GAAa,KAAKxC,GAAO,kBACzBwC,GAAa,KAAKxC,GAAO,6BACzBwC,GAAa,KAAKxC,GAAO,iBAEzBqC,GAAkB,KAAKrC,GAAO,WAC9BqC,GAAkB,KAAKrC,GAAO,aAC9BqC,GAAkB,KAAMrC,GAAO,YAC/BqC,GAAkB,KAAMrC,GAAO,sBAC/BqC,GAAkB,KAAMrC,GAAO,gBAC/BqC,GAAkB,KAAMrC,GAAO,gBAE/B5Z,IAAoB,IAAI4Z,GAAO,YAC/B5Z,IAAoB,IAAI4Z,GAAO,aAC/B5Z,IAAoB,KAAK4Z,GAAO,YAChC5Z,IAAoB,KAAK4Z,GAAO,oBAChC5Z,IAAoB,KAAK4Z,GAAO,oBAChC5Z,IAAoB,KAAK4Z,GAAO,oCAEhCqC,GAAkB,KAAQjc,IAAoB,KAAK4Z,GAAO,YAC1DqC,GAAkB,KAAQjc,IAAoB,KAAK4Z,GAAO,qBAE1DvV,GAAWgY,OAAOxV,OAASxC,GAAWsJ,QAAQ9G,QAAU,KAAK+S,GAAO,qBAExE,IAAI0C,GAAkB,EACtB,IAAK,MAAM9oC,KAAKwD,OAAO6C,KAAK6hC,IACtBvW,GAAOuW,GAAaloC,MAAK8oC,GAAkB,GAE7CA,GAAiB1C,GAAO,kBAE5B,IAAI2C,GAAmB,EACvB,IAAK,MAAM/oC,KAAKwD,OAAO6C,KAAK8hC,IACtBxW,GAAOwW,GAAcnoC,MAAK+oC,GAAmB,GAInD,GAFIA,GAAkB3C,GAAO,eAEzBzU,GAAO,mBAAoB,CAC9B,MAAMqX,EAAO/X,KAAK2I,MAAM9G,QAAQ+U,SAChC,IAAIoB,EAAW,EACf,IAAK,MAAMjpC,KAAKwD,OAAO6C,KAAK2iC,GACvBrX,GAAOqX,EAAKhpC,GAAGuE,OAAO0kC,IAEvBA,GAAYD,EAAK/oC,QAAQmmC,GAAO,cAkBtC,SAAS8C,GAAwBvW,EAAUU,GAC1CkI,KACA1K,GAAW8B,GAAUU,QAAUA,EAC/B,MAAM0B,EAAKlE,GAAW8B,GAEtB,GAAiB,WAAbA,EACCoC,EAAG1B,QAAU,GAAG+S,GAAO,SACvBrR,EAAG1B,QAAU,GAAG+S,GAAO,gBACvBrR,EAAG1B,QAAU,IAAI+S,GAAO,eACxBrR,EAAG1B,QAAU,KAAK+S,GAAO,mBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,eACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,uBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,SACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,kCACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,iCACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,wBACzBrR,EAAG1B,QAAU,KAAK+S,GAAO,6BAE7B,IAAK,MAAMnR,KAAKhE,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cACjCpU,EAAG1B,QAAUpC,KAAK2I,MAAM3I,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cAAclU,GAAGlD,MAAMqX,cACxEhD,GAAOnV,KAAKoB,QAAQ0C,EAAGxwB,MAAM4kC,cAAclU,GAAG1wB,MAKjD,MAAM8kC,EAAwB3c,GAU9B,OARA2Z,KAEAkC,KAEIc,IAA0B3c,IAC7B2Z,KAGMpZ,GAAegE,KAAK4E,UAiG5B,SAASyT,GAAuB/T,GAC/B,GAAoC,WAAhCtE,KAAKkK,SAAS5F,GAASzD,MAAwD,IAAlCb,KAAKkK,SAAS5F,GAASvD,QAAgBf,KAAKkK,SAAS5F,GAASgU,UAA4C,aAAhCtY,KAAKkK,SAAS5F,GAASzD,KAAsB,CACvKyJ,KACkC,yBAA9BzK,GAAYyE,GAAShxB,KACxBusB,GAAY,yBAAyBkB,OAAS,EACN,uBAA9BlB,GAAYyE,GAAShxB,KAC/BusB,GAAY,uBAAuBkB,OAAS,EAE5ClB,GAAYyE,GAASvD,QAAUlB,GAAYyE,GAASvD,OAAS,GAAK,EAExDlB,GAAYyE,GACnBtE,KAAKuY,qBAAqBvY,KAAKkK,SAAS5F,GAASzD,OAAOtF,KAE5C,iBAAZ+I,GACH9I,KACIA,GAAa,GAAG2Z,GAAO,aACvB3Z,IAAc,GAAG2Z,GAAO,kBACN,mBAAZ7Q,EACV6Q,GAAO,cACe,yBAAZ7Q,EACV6Q,GAAO,kBACe,iBAAZ7Q,GACV6Q,GAAO,aAGR,MAAMiD,EAAwB3c,GAE9B2Z,KAEAkC,KAEIc,IAA0B3c,IAC7B2Z,KAGD,MAAMoD,EAhHR,WACC,IAAItiC,EAAM,EACNwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,qBAAoBxqB,GAAO,GAClCwqB,GAAO,qBAAoBxqB,GAAO,IAClCwqB,GAAO,sBAAqBxqB,GAAO,IACnCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,yBAAwBxqB,GAAO,IACtCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,wBAAuBxqB,GAAO,IACrCwqB,GAAO,uBAAsBxqB,GAAO,IACpCwqB,GAAO,uBAAsBxqB,GAAO,IACxC,IAAIuiB,EAAM,EACV,IAAK,MAAM1pB,KAAKwD,OAAO6C,KAAKwqB,IAAenH,GAAOmH,GAAW7wB,GAAGqzB,OAChE3J,GAAOmH,GAAWgY,OAAOxV,OACzBlsB,GAAOuiB,EAGHiI,GAAO,mBAAkBxqB,GAAsB,IAAf8lB,IAChC0E,GAAO,gBAAexqB,GAAsB,IAAf8lB,IAC7B0E,GAAO,oBAAmBxqB,GAAsB,IAAf8lB,IACjC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,uBAAsBxqB,GAAsB,IAAf8lB,IACpC0E,GAAO,mBAAkBxqB,GAAsB,IAAf8lB,IAChC0E,GAAO,qBAAoBxqB,GAAsB,IAAf8lB,IAClC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,qBAAoBxqB,GAAsB,IAAf8lB,IAClC0E,GAAO,yBAAwBxqB,GAAsB,IAAf8lB,IACtC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IACnC0E,GAAO,sBAAqBxqB,GAAsB,IAAf8lB,IAEnC0E,GAAO,kBAAiBxqB,GAAsB,IAAf8lB,IAEnC,IAAI+K,EAAO,EAWX,GAVIrG,GAAO,qBAAqBqG,GAAQ,KACpCrG,GAAO,gBAAeqG,GAAQ,KAC9BrG,GAAO,iBAAgBqG,GAAQ,KAC/BrG,GAAO,iBAAgBqG,GAAQ,MAE/BrG,GAAO,iBACVqG,GAAQ,EAAI,IAAOzvB,KAAK2D,IAAI+kB,KAAKoB,QAAQwW,OAAOxN,MAAO1J,GAAO,mBAAqB,GAAK,KAGzFqG,GAAQvG,GAAO,SACXZ,GAAWsB,OAAOY,gBACjBd,GAAW,CACd,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAcgF,GAAQ,KACN,IAAXhF,EAAcgF,GAAQ,IACX,IAAXhF,IAAcgF,GAAQ,MAIjC,IAAK,MAAMh4B,KAAKwD,OAAO6C,KAAK4qB,KAAKgH,YACO,IAA5BhH,KAAKgH,MAAMj4B,GAAG0pC,YAA2B1R,GAAQ/G,KAAKgH,MAAMj4B,GAAG0pC,WAI3E1R,GAAQ,EAAmC,IAA/B5G,GAAY,iBAGxB,IAAIuY,EAAM3R,EAAO/G,KAAKyJ,WAAW,EAAG/I,GAAO,2BAA6BA,GAAO,kCAAoCA,GAAO,gBAAiBxqB,GAM3I,OAJAwiC,EAAM1Y,KAAK+W,kBAAkB,kBAAmB2B,GAE5C1Y,KAAK4B,QAAQ,mBAAkB8W,EAAM1Y,KAAKgH,MAAM,iBAAiBmD,OAE9DuO,EA4CeC,GAAa3Y,KAAK4Y,iBACvC,OAAIJ,EACI,CAACxc,GAAegE,KAAK4E,UAAW4T,GAEjC,CAACxc,GAAegE,KAAK4E,WAE7B,MAAO,GAkBR,SAASiU,GAAoBzW,EAAQhuB,GACpC,MAAM0kC,EAAS,GACf,IAAK,MAAM/pC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAChC0X,EAAO/pC,GAAK,GACZ+pC,EAAO/pC,GAAG+2B,MAAQmS,GAAwBlpC,EAAGqzB,GAC9B,IAAXA,IACHhH,GAA2B,GAG7B,OAAO0d,EAoBR,SAASC,KACR,IAAK,MAAMhqC,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAChC5D,GAAczuB,GAAG4yB,MAAQmJ,GAAiB9K,KAAKoB,QAAQryB,GAAIixB,KAAKoB,QAAQryB,GAAGmzB,UAAWlC,KAAKoB,QAAQryB,GAAGqzB,OAAQpC,KAAKoB,QAAQryB,GAAGozB,KAAM,GACpI1E,GAAe1uB,GAAG4yB,MAAQmJ,GAAiB9K,KAAKoB,QAAQryB,GAAIixB,KAAKoB,QAAQryB,GAAGmzB,UAAWlC,KAAKoB,QAAQryB,GAAGqzB,OAAQpC,KAAKoB,QAAQryB,GAAGozB,KAAM,IACrIzE,GAAgB3uB,GAAG4yB,MAAQmJ,GAAiB9K,KAAKoB,QAAQryB,GAAIixB,KAAKoB,QAAQryB,GAAGmzB,UAAWlC,KAAKoB,QAAQryB,GAAGqzB,OAAQpC,KAAKoB,QAAQryB,GAAGozB,KAAM,KAQxI,SAAS6W,KAERxb,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KA7BvC,WACC7a,GAAgB,GAChB,IAAK,MAAMjvB,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAAW,CAC3C,MAAM+O,EAAcZ,GAAuBtpC,GAC3CivB,GAAcjvB,GAAK,GACfkqC,EAAY,KAAIjb,GAAcjvB,GAAG+2B,MAAQmT,EAAY,IACrDA,EAAY,KAAIjb,GAAcjvB,GAAGi9B,WAAaiN,EAAY,KA0B/DC,GAgBD,SAASC,GAAqBC,EAAOC,EAAWtS,GAC/C,IAAIuS,EAAiB,EACjBhX,EAAO,EACPiX,EAAW,EACXC,EAAe,EACfC,EAAQ,EAAIniC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAKqiB,IAAIqG,KAAKsG,SAAWhvB,KAAKoiC,MAAQ,IAC5E,KAAOH,EAAWF,GACjB/W,EAAOhrB,KAAK6D,IAAIi+B,EAAO9hC,KAAK2D,IAAI3D,KAAKkE,MAAM,EAAI,EAAI,IAAMi+B,EAAQL,EAAQrS,GAAOsS,EAAYtS,IAC5FwS,EAAWjiC,KAAK6D,IAAIi+B,EAAO9hC,KAAK2D,IAAI3D,KAAKkE,MAAM,EAAI,EAAI,KAAOi+B,EAAQ,GAAKL,EAAQrS,GAAOsS,EAAYtS,IACtGyS,EAAeliC,KAAKkE,MAAM,EAAI,EAAI,KAAOi+B,EAAQ,GAAKL,EAAQrS,GAC9DuS,GAAkBhX,EAClBmX,IAED,MAAO,CAACH,EAAgBhX,EAAMkX,GAmB/B,SAASG,KACR,IAAIN,EAAyC,GAA7Brc,GAAkC,GAAK,EAAIC,GAE3D,MAAM2c,EAAc9S,KAChB8S,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjB9a,GAAsB4a,GAAqB,EAAGE,EAAWnc,IACzDmB,GAA8C,EAAzBE,GAAoB,GAASrB,GAClDoB,GAAyBC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEhEyB,GAA2Bya,GAAqB,EAAGE,EAAWlc,IAC9DqB,GAAwD,EAA9BE,GAAyB,GAASvB,GAC5DsB,GAA8BC,GAAyB,GAAK,GAAK,GAAK,EAAIzB,GAE1E4B,GAA4Bsa,GAAqB,EAAe,EAAZE,EAAenc,IACnEyB,GAA0D,EAA/BE,GAA0B,GAAS3B,GAC9D0B,GAA+BC,GAA0B,GAAK,GAAK,GAAK,EAAI5B,GAE5E+B,GAAiCma,GAAqB,EAAe,EAAZE,EAAelc,IACxE2B,GAAoE,EAApCE,GAA+B,GAAS7B,GACxE4B,GAAoCC,GAA+B,GAAK,GAAK,GAAK,EAAI/B,GAYvF,SAAS4c,KACR,MAAMtG,EAAWj8B,KAAKkE,MAAMg4B,KAAKC,MAAQ,KAEzC,GAAKzT,KAAKoR,EAAIpR,KAAKwH,IAAO,GAAM,EAAG,CAClC,MAAMsS,EAAa9Z,KAAK+Z,gBAAgB/Z,KAAKga,cAEvCC,EADiB3iC,KAAKkE,MAAMwkB,KAAK+Z,gBAAgB/Z,KAAKga,aAAeha,KAAK2T,gBACxCr8B,KAAKkE,MAAMs+B,GAG7ClG,EAAWL,EAAWrY,GACtBgf,EAAuB5iC,KAAK6D,IAAI,EAAI8+B,EAAiB9e,IAA2ByY,EACtF,IAAK,IAAI7kC,EAAI,EAAGA,EAAI6kC,EAAU7kC,IAC7BwrB,GAAkB4Z,UAAU+F,GAI7Bhf,GAAyBqY,EACzBpY,GAAyB8e,EAGzB7c,GAAmB7C,GAAkB+Z,YAAY,IAoEnD,SAAS6F,GAAarW,GACrB,IAAIsW,EAAU,wBACE,aAAZtW,EAAGjD,OAAqBuZ,GAAW,aAEvC,IAAIC,EAAU,EACTra,KAAK6Q,MAAMyJ,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,EAAOzW,EAAGyW,KACVzW,EAAG0W,eAAcD,EAAOzW,EAAG0W,gBAC/B,MAAM5S,EAAU,0DAA0D9D,EAAGtC,kBAC7E,MAAO,eAAe4Y,SACpBpa,KAAKya,kBAAkB7S,EAAS,OAAO,kBAC1B2S,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBAAoC,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAgBnH,SAASG,KACRxc,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAM4Z,EAAO,GAEb,IAAK,MAAMhpC,KAAKwD,OAAO6C,KAAK4qB,KAAKkK,UAChC6N,EAAKlnC,KAAKmvB,KAAKkK,SAASn7B,IAOzBgpC,EAAK7U,MALW,SAAUtrB,EAAGP,GAC5B,OAAIO,EAAE4sB,MAAQntB,EAAEmtB,MAAc,EAC1B5sB,EAAE4sB,MAAQntB,EAAEmtB,OAAe,EACxB,KAIR,IAAK,MAAMz1B,KAAKwD,OAAO6C,KAAK2iC,GAAO,CAClC,MAAMjU,EAAKiU,EAAKhpC,GAEhB,GAAkB,IAAd+0B,EAAG/C,OAAc,CACpB,IAAI5wB,EAAM,GAEVA,GAAOgqC,GAAarW,GACJ,aAAZA,EAAGjD,KAAqB1C,IAAgChuB,EACvC,WAAZ2zB,EAAGjD,KAAmBzC,IAA+BjuB,EACzC,WAAZ2zB,EAAGjD,MAAiC,WAAZiD,EAAGjD,MAAiC,UAAZiD,EAAGjD,OAAkB3C,IAAwB/tB,KAczG,SAASwqC,KACR,GAAoB,cAAhB3a,KAAK+R,OAAwB,CAChC,IAAIxgC,EAAuB,GAAjByuB,KAAK4E,UACX5E,KAAK4B,QAAQ,kBAAiBrwB,GAAO,IACrCyuB,KAAK4B,QAAQ,YAAWrwB,GAAO,KACnC+rB,GAAehmB,KAAK6D,IAAI,GAAI5J,GACxByuB,KAAK2R,IAAI,gCAA+BrU,IAAgB,IAe9D,SAASsd,KACRte,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAM2c,EAAc9S,KAChB8S,EAAc,EAAGtd,IAAcsd,EAC9Btd,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GAAyBQ,IAA6C,IAAnBT,IAA2B,GAC9EE,GAA8BQ,IAA4C,IAAnBV,IAA2B,GAClFG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAI3hB,EAAM,EACNnJ,EAAI,EACR,IAAK,MAAMjD,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,SAC5BpB,KAAKoB,QAAQryB,GAAGqzB,OAASjnB,IAAKA,EAAM6kB,KAAKoB,QAAQryB,GAAGqzB,QACpDpC,KAAKoB,QAAQryB,GAAGqzB,OAAS,GAAGpwB,IAEjC,IAAK,MAAMjD,KAAKwD,OAAO6C,KAAK4qB,KAAKoB,UAC3BpB,KAAKoB,QAAQryB,GAAGqzB,OAASjnB,GAAa,IAANnJ,IACjCguB,KAAKoB,QAAQryB,GAAGqzB,OAAS,KACD,EAAxBpC,KAAKoB,QAAQryB,GAAG4yB,MAAY7E,KAC/BA,GAAuC,EAAxBkD,KAAKoB,QAAQryB,GAAG4yB,MAC/B5E,GAAuBhuB,GAQ1B,SAAS8rC,KACR,IAAIC,EAAa,EACbC,EAAY,EACZhU,EAAO,EAGPrG,GAAO,4BAA2BqG,GAAQ,MAC1CrG,GAAO,iBAAgBqG,GAAQ,MAEnC+T,GAAc,EAA+C,GAA3C9a,KAAKyW,SAAS,2BAChCqE,GAAc9a,KAAKgb,IAAI,oBACvBD,GAAa,EAAuC,GAAnC/a,KAAKyW,SAAS,mBAC/BsE,GAAa/a,KAAKgb,IAAI,mBAGtB9d,GAAyB6J,EAAO+T,EAChC3d,GAAwB4J,EAAOgU,EAM/B9d,GAAoC,EACD,IAA/B+C,KAAKwR,aAAaC,OAAOz/B,IAC5BirB,IAAqC,EAAyC,KAArC+C,KAAKyW,SAAS,qBAkBzD,SAASwE,KACR,IAAK,IAAIlsC,EAAI,EAAGA,EAAIixB,KAAK8E,UAAU91B,OAAQD,IAAK,CAC/C,IAAI4jC,EAAS3S,KAAK8E,UAAU/1B,GAAG4jC,OAC3BC,EAAS,IAKb,GAJI5S,KAAK2R,IAAI,6BAA4BiB,GAAU,MACpB,IAA3B5S,KAAK8E,UAAU/1B,GAAGK,OAAYwjC,GAAU,GAC5CD,GAAUC,EACN5S,KAAK2R,IAAI,mBAAkBgB,GAAU,MACrC/S,GAAWsB,OAAOY,eAAgB,CACrC,MAAMC,EAAS/B,KAAKiB,OAAO,SACZ,IAAXc,EAAc4Q,GAAU,KACR,IAAX5Q,EAAc4Q,GAAU,IACb,IAAX5Q,IAAc4Q,GAAU,MAElChV,IAAuBgV,EACQ,IAA3B3S,KAAK8E,UAAU/1B,GAAGK,OACrBwuB,IAAwB+U,EACpBA,EAAS9U,GAAsB,KAAIA,GAAwB,CAAC8U,EAAQ5jC,MAuB3E,SAASmsC,KACRhT,KACA+S,KACAL,KACAC,KACAlB,KACAe,KACAC,KA7zCAzgB,GAAc,IAAI8Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC9DmrB,GAAY,IAAI6Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC5DorB,GAAmB,IAAI4Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IACnEqrB,GAAa,IAAI2Y,GAAW1b,EAAYA,EAAYtoB,OAAS,IAC7DsrB,GAAa,IAAI0Y,GAAWzb,EAAWA,EAAWvoB,OAAS,IA2zC3DurB,GAAoB,IAAIyY,GAAW,GACnC6G,KACAvG,KACA0F,KACAD,KACAjE,KAKD,MA+FmCqG,GA/Fb,CACrBjV,OAAQ,EACRS,SAAU,EACVC,YAAa,EACbkL,gBAAiB,EACjBjP,WAAY,EACZuY,eAAgB,EAChB/X,WAAY,EACZgY,mBAAoB,EACpB1W,UAAW,EACXD,QAAS,EACT2P,WAAY,EACZI,cAAe,EACfO,gBAAiB,EACjBD,aAAc,EACdJ,oBAAqB,EACrBC,sBAAuB,EACvB1F,YAAa,EACb3W,MAAO,EACP+iB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,aAAc,EACdC,cAAe,IACfC,gBAAiB,gEACjBC,gBAAiB,EACjBC,SAAU,EACVC,SAAU,EACVC,UAAW,IACXC,YAAa,oEACbC,UAAW,EACXC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,WAAY,EACZC,YAAa,IACbC,cAAe,gEACfC,qBAAsB,EACtBC,cAAe,EACfC,cAAe,EACfC,eAAgB,IAChBC,iBAAkB,6DAClBC,wBAAyB,EACzBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBAAqB,8DACrB/R,oBAAqB,EACrBuE,YAAa,EACbX,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACd5H,YAAa,EACbyF,YAAa,EACbwF,aAAc,EACdhG,YAAa,EACbmB,aAAc,EACdkQ,eAAgB,EAChBC,oBAAqB,EACrBzM,MAAO,EACP0M,gBAAiB,EACjB7K,QAAS,EACT/Y,WAAY,EACZ6jB,aAAc,EACdC,YAAa,EACbC,oBAAqB,EACrBC,aAAc,EACdhlB,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbxC,OAAQ,CACPonB,KAAM,UAAWC,MAAO,UAAWC,OAAQ,UAAWC,OAAQ,UAAWC,IAAK,UAAWC,OAAQ,UAAWC,KAAM,UAAWC,KAAM,UAAWC,MAAO,WAEtJzb,cAAe,EACfoB,aAAc,EACdsa,QAAS,EACTC,QAAS,EACTC,gBAAiB,EACjBC,aAAc,EACdC,OAAQ,CACPC,WAAY,EAAGC,YAAa,EAAGC,aAAc,EAAGC,oBAAqB,EAAGC,eAAgB,EAAGC,eAAgB,EAAGC,gBAAiB,EAAGC,iBAAkB,EAAGC,iBAAkB,EAAGC,kBAAmB,EAAGC,qBAAsB,EAAGrU,QAAS,EAAGsU,WAAY,EAAGC,SAAU,EAAGC,cAAe,EAAGC,MAAO,EAAGC,MAAO,EAAGC,OAAQ,EAAGC,OAAQ,EAAGC,SAAU,EAAGC,MAAO,EAAGC,IAAK,EAAGC,KAAM,EAAGC,QAAS,IAoC/UC,GAvBnC,SAAsCC,GACrC,GAAoB,IAAhBA,EAAmB,CAEtB,MAAMC,EAA2B,WAChC,IACCvB,aAAawB,oBAAoBC,OAChC,MAAOvwC,GACR,OAAO,EAER,OAAO,GAIF,iBAAkB1C,OAEb+yC,IACVvB,aAAawB,oBAAoBC,OAEjCzB,aAAawB,oBAJb5wC,QAAQ+pB,IAAI,kDAoBf,SAAS+mB,KACiB,IAArBlsB,EAAU0R,QACb/lB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9B4Z,MAEA9lB,EAAE,YAAYnJ,MAAMqV,QAAU,OAE/Bqa,KAwGD,SAASia,KACRC,cACA5gB,KAAK6gB,eACL7gB,KAAK8gB,kBAEL7a,KACAtD,KACAS,KAYD,SAAS2d,KACR,IAAI5wC,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IAClCoB,GAAO,UAAmBymB,EAAO7nB,eAAeylB,EAAUoC,OAAOA,EAAO7nB,WAEzE,IAAK,IAAIA,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IAClCoB,GAAO,UAAmBymB,EAAO7nB,0BAA0BylB,EAAUoC,OAAOA,EAAO7nB,WAEpF,IAAK,IAAIA,EAAI,EAAGA,EAAI6nB,EAAO5nB,OAAQD,IAClCoB,GAAO,YAAqBymB,EAAO7nB,0BAA0BylB,EAAUoC,OAAOA,EAAO7nB,WAEtFoR,EAAE,SAAS/N,YAAcjC,EACzBwyB,KAuBD,SAASqe,KACkB,IAAtBxsB,EAAUkqB,SAAiBnpB,EAAwB,EAClD4J,GAA0B8hB,MAAO9gC,EAAE,aAAa+gC,KAAO,mEACtD/gC,EAAE,aAAa+gC,KAAO,oEACrB/gC,EAAE,aAAa+gC,KAAO,uDAQ9B,MAAMC,GACLlO,YAAY7jC,EAAMgyC,GACjB3zC,KAAK2B,KAAOA,EACZ3B,KAAK2zC,MAAQA,GAKf,MAAMC,WAAwBF,GAC7BlO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,EAAMmW,EAAQztC,EAAO,MACpD0tC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ39B,KAAK8zC,OAASA,EACVztC,IACHrG,KAAKqG,KAAOA,IAcf,MAAM2tC,WAAsBN,GAC3BlO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,GAC/BoW,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ,IAAK,IAAIr8B,EAAI,EAAGA,EAAI,IAAKA,IACxBtB,KAAK6zC,MAAMvyC,GAAK,GAAGA,MAMtB,MAAM2yC,WAA2BP,GAChClO,YAAY7jC,EAAMgyC,EAAOE,EAAOlW,EAAMnwB,EAAKE,GAC1CqmC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK6zC,MAAQA,EACb7zC,KAAK29B,KAAOA,EACZ39B,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBb,MAyoBmCwmC,GAzoBpB,CAEdzb,OAAQ,IAAImb,GACX,OACA,aACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WAAcX,QAEf/Z,SAAU,IAAI0a,GACb,OACA,aACA,CAAC,gBAAiB,gBAClB,qFACA,GACA,WAAcxa,QAEfD,YAAa,IAAIya,GAChB,OACA,aACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WAz9F6B,IAA1B7sB,EAAUoS,aACbzmB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQyhC,aAAazhC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE5BumB,QAk9FAoL,gBAAiB,IAAIuP,GACpB,OACA,aACA,CAAC,wBAAyB,iCAAkC,0BAC5D,+DACA,GAEDte,cAAe,IAAIse,GAClB,OACA,aACA,CAAC,0BAA2B,sBAC5B,kEACA,GACA,WAAc1e,QAEfwB,aAAc,IAAIkd,GACjB,OACA,aACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WAAcje,QAEfP,WAAY,IAAIwe,GACf,OACA,aACA,CAAC,sBAAuB,sBACxB,wBACA,GACA,WAAc1e,QAEfyY,eAAgB,IAAIiG,GACnB,OACA,aACA,CAAC,+CAAgD,gDACjD,4FACA,GACA,WAAc1e,QAEfU,WAAY,IAAIge,GACf,OACA,aACA,CAAC,yBAA0B,6BAA8B,iCACzD,wDACA,GACA,WAtQ4B,IAAzB7sB,EAAU6O,YACbljB,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClC+W,MACmC,IAAzB5O,EAAU6O,YACpBljB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClC+W,OAEAjjB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClC2T,KAAK8gB,sBAgQNlqB,OAAQ,IA5HT,cAA6BuqB,GAC5BlO,YAAY7jC,EAAMgyC,EAAOhW,EAAMt3B,GAC9B0tC,MAAMpyC,EAAMgyC,GACZ3zC,KAAK29B,KAAOA,EACZ39B,KAAKqG,KAAOA,IAyHZ,QACA,aACA,CACCkqC,KAAM,uGACNC,MAAO,4FACPC,OAAQ,yHACRC,OAAQ,iIACRC,IAAK,mFACLC,OAAQ,wGACRC,KAAM,2FACNC,KAAM,yCACNC,MAAO,8CAER,WAAcuC,QAEf1F,mBAAoB,IAAIgG,GACvB,OACA,aACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA1QoC,IAAjC7sB,EAAU6mB,oBACbl7B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA0QpC2lB,UAAW,IAAI0c,GACd,OACA,cACA,CAAC,+BAAgC,8BAA+B,6CAChE,qGACA,GAED3c,QAAS,IAAI2c,GACZ,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEDhN,WAAY,IAAIgN,GACf,OACA,cACA,CAAC,2BAA4B,2BAA4B,2BAA4B,0BAA2B,0BAA2B,2BAA4B,2BAA4B,4BACnM,4DACA,GAED5M,cAAe,IAAI4M,GAClB,OACA,cACA,CAAC,oCAAqC,oCAAqC,qCAAsC,qCAAsC,sCACvJ,uDACA,GAEDrM,gBAAiB,IAAIqM,GACpB,OACA,cACA,CAAC,mCAAoC,kCACrC,2FACA,GACA,WAAcvM,QAEfC,aAAc,IAAIsM,GACjB,OACA,cACA,CAAC,mBAAoB,kBAAmB,0BAA2B,gCACnE,qGACA,GAED1M,oBAAqB,IAAI+M,GACxB,WACA,cACA,oCACA,wMACA,EACA5oB,KAED8b,sBAAuB,IAAIyM,GAC1B,OACA,cACA,CAAC,2BAA4B,sBAC7B,yKACA,GAEDnS,YAAa,IAAImS,GAChB,OACA,cACA,CAAC,+CAAgD,+CACjD,2EACA,GAID9oB,MAAO,IAAI8oB,GACV,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAED/F,aAAc,IAAI+F,GACjB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAED9F,eAAgB,IAAI8F,GACnB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WAAchB,GAAoC7rB,EAAU+mB,mBAE7DC,QAAS,IAAI6F,GACZ,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAED5F,QAAS,IAAI4F,GACZ,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAED3F,SAAU,IAAI+F,GACb,MACA,iBACA,GACA,UAED9F,WAAY,IAAI0F,GACf,MACA,iBACA,aACA,6DAEDzF,oBAAqB,IAAIyF,GACxB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WAAchB,GAAoC7rB,EAAUonB,wBAE7DC,aAAc,IAAIwF,GACjB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEDvF,aAAc,IAAIuF,GACjB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEDtF,cAAe,IAAI0F,GAClB,MACA,iBACA,GACA,UAGDzF,gBAAiB,IAAIqF,GACpB,MACA,iBACA,aACA,sEAEDpF,gBAAiB,IAAIoF,GACpB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WAAchB,GAAoC7rB,EAAUynB,oBAE7DC,SAAU,IAAImF,GACb,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEDlF,SAAU,IAAIkF,GACb,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEDjF,UAAW,IAAIqF,GACd,MACA,kBACA,GACA,UAEDpF,YAAa,IAAIgF,GAChB,MACA,kBACA,aACA,8DAED/E,UAAW,IAAI+E,GACd,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAED9E,UAAW,IAAI8E,GACd,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAED7E,WAAY,IAAIiF,GACf,MACA,mBACA,GACA,UAEDhF,aAAc,IAAI4E,GACjB,MACA,m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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","slot","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","GetCPSBuffMult","mult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","won","BuildingGetPrice","increase","CreateSimpleTooltip","placeholder","minWidth","Tooltip","desc","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","ObjectsById","tileTooltip","toolTooltip","area","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","wrinkler","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CM","Options","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","popups","Popup","Notify","Win","CookieMonster_CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IACA,IACA,KAIKC,EAAa,CAAC,GACnB,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIKC,EAAwB,CAAC,GAC9B,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMD,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CAACH,EAAWN,EAAWC,EAAYC,EAAaC,EAAaC,EAAUC,EAAaE,EAAWC,GASxGE,EAAc,CACnB,CAAC,6BAA8B,oCAAqC,SACpE,CAAC,2CAA4C,6EAA8E,SAC3H,CAAC,6BAA8B,qPAAsP,SACrR,CAAC,8BAA+B,kEAAmE,SACnG,CAAC,kCAAmC,2PAA4P,SAChS,CAAC,0BAA2B,gLAAiL,SAC7M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CAAC,+CAAgD,+CACjD,2EACA,GAID9oB,MAAO,IAAI8oB,GACV,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAED/F,aAAc,IAAI+F,GACjB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAED9F,eAAgB,IAAI8F,GACnB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WAAchB,GAAoC7rB,EAAU+mB,mBAE7DC,QAAS,IAAI6F,GACZ,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAED5F,QAAS,IAAI4F,GACZ,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAED3F,SAAU,IAAI+F,GACb,MACA,iBACA,GACA,UAED9F,WAAY,IAAI0F,GACf,MACA,iBACA,aACA,6DAEDzF,oBAAqB,IAAIyF,GACxB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WAAchB,GAAoC7rB,EAAUonB,wBAE7DC,aAAc,IAAIwF,GACjB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEDvF,aAAc,IAAIuF,GACjB,OACA,iBACA,CAAC,YAAa,YACd,kCACA,GAEDtF,cAAe,IAAI0F,GAClB,MACA,iBACA,GACA,UAGDzF,gBAAiB,IAAIqF,GACpB,MACA,iBACA,aACA,sEAEDpF,gBAAiB,IAAIoF,GACpB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WAAchB,GAAoC7rB,EAAUynB,oBAE7DC,SAAU,IAAImF,GACb,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEDlF,SAAU,IAAIkF,GACb,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEDjF,UAAW,IAAIqF,GACd,MACA,kBACA,GACA,UAEDpF,YAAa,IAAIgF,GAChB,MACA,kBACA,aACA,8DAED/E,UAAW,IAAI+E,GACd,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAED9E,UAAW,IAAI8E,GACd,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAED7E,WAAY,IAAIiF,GACf,MACA,mBACA,GACA,UAEDhF,aAAc,IAAI4E,GACjB,MACA,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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Cache/VariablesAndData.js b/src/Cache/VariablesAndData.js index c747a6a..4bbf179 100644 --- a/src/Cache/VariablesAndData.js +++ b/src/Cache/VariablesAndData.js @@ -33,7 +33,6 @@ export let CacheWrinklersTotal = 0; export let CacheWrinklersNormal = 0; export let CacheWrinklersFattest = [0, null]; -export let CacheAvgCps = 0; export let CacheCurrWrinklerCPSMult = 0; export let CacheCurrWrinklerCount = 0; diff --git a/src/Disp/HelperFunctions/GetCPS.js b/src/Disp/HelperFunctions/GetCPS.js index 0b13c61..2a495ae 100644 --- a/src/Disp/HelperFunctions/GetCPS.js +++ b/src/Disp/HelperFunctions/GetCPS.js @@ -1,5 +1,5 @@ import { - CacheAvgCps, CacheCurrWrinklerCount, CacheCurrWrinklerCPSMult, CacheWrinklersFattest, + CacheAverageCPS, CacheCurrWrinklerCount, CacheCurrWrinklerCPSMult, CacheWrinklersFattest, } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; @@ -9,7 +9,7 @@ import { CMOptions } from '../../Config/VariablesAndData'; */ export default function GetCPS() { if (CMOptions.CPSMode) { - return CacheAvgCps; + return CacheAverageCPS; } if (CMOptions.CalcWrink === 0) { return (Game.cookiesPs * (1 - Game.cpsSucked)); } if (CMOptions.CalcWrink === 1) {