diff --git a/CookieMonster.js b/CookieMonster.js index 4edba845..b8a7943e 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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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,g,f,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",E="Blue",P="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,E,P,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"]],R={};let H,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":P,Clot:F,"Click frenzy":E,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(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";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=P):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Ee,Pe,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Et=0,Pt=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Rt={},Ht={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[],Kt=Game.startDate,Jt=Game.startDate;function Zt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function oo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(Re===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Qt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{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{let o=Game.buyBulk;1===Game.buyMode?_=o:o=_,1===o&&(o=mt),10===o&&(o=ht),100===o&&(o=gt),e+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[e].childNodes[1].textContent=Game.Objects[t].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[e].textContent=le(o[t].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[e].className=S+o[t].color,l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[e].textContent=le(Math.round(o[t].pp),2);const n=ce((Game.Objects[t].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[e].className=S+n.color,"Done!"===n.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 vo(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=ko(e),o=Qt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=yo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),Co(),Ae=Ve,je=_e}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,go())}}(),mo(),Bo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){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)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.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=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/so()0&&(n=F),n}function Fo(t,o){Object.keys(t).forEach((n=>{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const n=Game.Objects[o].getSumPrice(t);Game.cookiesPs?e[o].pp=Math.max(n-(Game.cookies+co()),0)/Game.cookiesPs+n/e[o].bonus:e[o].pp=n/e[o].bonus,zt.push([e[o].pp,t])}))}function Lo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(mt,1),Wo(ht,10),Wo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],Fo(mt,1),Fo(ht,10),Fo(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Oo(Gt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Jt/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Jt/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Jt/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),oo('"egg"')&&(Ie+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Kt-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=Mo(),Ie*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Yt[e]?Yt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),zo("Mathematician")||Qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ne>=20&&jo("Enhancer"),Ne>=50&&jo("Augmenter"),Ne>=100&&jo("Upgrader"),Ne>=200&&jo("Lord of Progress"),Ne>=300&&jo("The full picture"),Ne>=400&&jo("When there's nothing left to add"),t>=4e3&&Ne>=300&&jo("Polymath"),t>=8e3&&Ne>=400&&jo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{oo(Ro[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{oo(Ho[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e,t){const o=[];return Object.keys(Game.Objects).forEach((t=>{o[t]={},o[t].bonus=function(e,t){vo(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Uo(),Vo(),n!==Fe&&Uo(),Ie-Game.cookiesPs}(t,e),1!==e&&(Be=1)})),o}function Xo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){mt=_o(1),ht=_o(10),gt=_o(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&jo("Elder nap"),Oe>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Fe;Uo(),Vo(),t!==Fe&&Uo();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ie),oo("Iron mouse")&&(e+=.01*Ie),oo("Titanium mouse")&&(e+=.01*Ie),oo("Adamantium mouse")&&(e+=.01*Ie),oo("Unobtainium mouse")&&(e+=.01*Ie),oo("Eludium mouse")&&(e+=.01*Ie),oo("Wishalloy mouse")&&(e+=.01*Ie),oo("Fantasteel mouse")&&(e+=.01*Ie),oo("Nevercrack mouse")&&(e+=.01*Ie),oo("Armythril mouse")&&(e+=.01*Ie),oo("Technobsidian mouse")&&(e+=.01*Ie),oo("Plasmarble mouse")&&(e+=.01*Ie),oo("Miraculite mouse")&&(e+=.01*Ie),oo("Fortune #104")&&(e+=.01*Ie);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Qt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[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,Bt=qo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=qo(6,e,st),Et=2*Nt[1]/st,Pt=Nt[2]/60/60/6/rt,Wt=qo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=qo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}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-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function en(){qe=900*at/.15,qe*=rt;const e=Mo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),Ko(),No(),Qo(),Xo(),Lo()}const an={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,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,TooltipPantheon: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}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){let t="";for(let o=0;o0?Rt.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 pn{constructor(e,t){this.type=e,this.group=t}}class un extends pn{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 mn extends pn{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 hn extends pn{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 un("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){ln()})),TimerBar:new un("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new un("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"))),go()})),TimerBarOverlay:new un("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 un("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new un("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),BuildColor:new un("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){ro()})),UpBarColor:new un("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="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends pn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades 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 buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, 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(){cn()})),UpgradeBarFixedPos:new un("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 un("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,(function(){He=!0})),CPSMode:new un("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 un("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 un("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),PPExcludeTop:new un("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 hn("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 un("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 un("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 un("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 un("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 un("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new un("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new un("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new un("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new un("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new un("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new un("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new un("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new un("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new un("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new un("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new un("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new un("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new un("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new un("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new un("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new un("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new un("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new un("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new un("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new un("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new un("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new un("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new un("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new un("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new un("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new un("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new un("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new un("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new un("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 un("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 un("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 un("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 un("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 hn("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 un("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new un("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new un("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new un("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new un("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new un("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new un("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 un("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new un("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new un("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 un("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new un("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new un("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=$:Game.sayTime=M.sayTime})),GrimoireBar:new un("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 hn("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 un("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 un("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){sn()})),ScaleDecimals:new un("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){sn()})),ScaleSeparator:new un("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("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 un("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new un("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){dn()})),WrinklerButtons:new un("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 un("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 fn(){return JSON.stringify({settings:e,version:"2.031.5"})}function Cn(){if(Xe!==Game.dragonLevel||He){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].amount{Qt[e]=ko(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=Go(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=yo(e)})),vo()}let kn=!1;function Gn(t,o){1===e[o]&&3===t&&!1===kn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){Gn(2,o)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){Gn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function vn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(bn(),nn(),a=Object.keys(Game.mods).length),He&&(Qo(),Game.Has("Golden switch [off]")?(vo(),qt["Golden switch [off]"].bought=0,Uo(),at=Ie):at=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Pe-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),He=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(Xo(),Be=0),function(){on(),Lo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=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);$t=se(e/so())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),dn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(Gn(3,"FortuneFlash"),vn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ht=Game.shimmers[e])})),Gn(3,"SeaFlash"),vn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),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",!1):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Tn(){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:${fn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Mn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(an).forEach((t=>{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])})):Object.keys(an.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=an[t][n])}))})),o&&Tn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Mn(an)}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Bo(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{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 Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}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(R[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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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+co()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Uo(),t=Ie,vo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Uo(),Vo(),o!==Fe&&Uo();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(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(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}let n=!1;const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),n=!0)}));const a=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(a.push(Ho[e]),n=!0)}));const r=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(r.push($o[e]),n=!0)}));const s=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0)}));const c=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0)}));const d=[];Object.keys(Io).forEach((e=>{Game.HasUnlocked(Io[e])||(d.push(Io[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(le(pt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(dt-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(le(so(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[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(le(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&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.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=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.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=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.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=Tt,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]+=1,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]],Tn()}(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");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);const l=document.createElement("a");return l.className="option",l.onclick=function(){vn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),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,Tn(),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,Tn(),sn()},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=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),He=1,Jt=Date.now(),Kt=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(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{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 Bn("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=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Pe-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Uo(),Vo(),o!==Fe&&Uo(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(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 ${le(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${Qe}`,"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),Object.keys(Hn).forEach((t=>{const n=In(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(gn).forEach((e=>{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(){Mn(an)},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,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.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)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ht.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===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;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ht.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),en(),nn(),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",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(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=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=po("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(E,"Better than best PP building")),e.appendChild(o(P,"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",E)),e.appendChild(o("CMUpgradeBarGreen",P)),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)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(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(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{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 Bn("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 Bn("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 Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),H=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",Eo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Mn(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:fn};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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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,g,f,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"]],H={};let R,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(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";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,He,Re,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Pt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Ht={},Rt={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[],Kt=Game.startDate,Jt=Game.startDate;function Zt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function oo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(He===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Qt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{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{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 vo(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=ko(e),o=Qt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],He=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=yo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),Co(),Ae=Ve,je=_e}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,go())}}(),mo(),Bo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){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)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.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=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/so()0&&(n=F),n}function Fo(t,o){Object.keys(t).forEach((n=>{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const n=Game.Objects[o].getSumPrice(t);Game.cookiesPs?e[o].pp=Math.max(n-(Game.cookies+co()),0)/Game.cookiesPs+n/e[o].bonus:e[o].pp=n/e[o].bonus,zt.push([e[o].pp,t])}))}function Lo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(mt,1),Wo(ht,10),Wo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],Fo(mt,1),Fo(ht,10),Fo(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Oo(Gt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Jt/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Jt/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Jt/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),oo('"egg"')&&(Ie+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Kt-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=Mo(),Ie*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Yt[e]?Yt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),zo("Mathematician")||Qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ne>=20&&jo("Enhancer"),Ne>=50&&jo("Augmenter"),Ne>=100&&jo("Upgrader"),Ne>=200&&jo("Lord of Progress"),Ne>=300&&jo("The full picture"),Ne>=400&&jo("When there's nothing left to add"),t>=4e3&&Ne>=300&&jo("Polymath"),t>=8e3&&Ne>=400&&jo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{oo(Ho[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e,t){const o=[];return Object.keys(Game.Objects).forEach((t=>{o[t]={},o[t].bonus=function(e,t){vo(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Uo(),Vo(),n!==Fe&&Uo(),Ie-Game.cookiesPs}(t,e),1!==e&&(Be=1)})),o}function Xo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){mt=_o(1),ht=_o(10),gt=_o(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&jo("Elder nap"),Oe>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Fe;Uo(),Vo(),t!==Fe&&Uo();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ie),oo("Iron mouse")&&(e+=.01*Ie),oo("Titanium mouse")&&(e+=.01*Ie),oo("Adamantium mouse")&&(e+=.01*Ie),oo("Unobtainium mouse")&&(e+=.01*Ie),oo("Eludium mouse")&&(e+=.01*Ie),oo("Wishalloy mouse")&&(e+=.01*Ie),oo("Fantasteel mouse")&&(e+=.01*Ie),oo("Nevercrack mouse")&&(e+=.01*Ie),oo("Armythril mouse")&&(e+=.01*Ie),oo("Technobsidian mouse")&&(e+=.01*Ie),oo("Plasmarble mouse")&&(e+=.01*Ie),oo("Miraculite mouse")&&(e+=.01*Ie),oo("Fortune #104")&&(e+=.01*Ie);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Qt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[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,Bt=qo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=qo(6,e,st),Pt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=qo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=qo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}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-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function en(){qe=900*at/.15,qe*=rt;const e=Mo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),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(Y[Y.length-1]),ge=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,PPDisplayTime:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,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,TooltipPantheon: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,HideSectionsButtons:0,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}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){let t="";for(let o=0;o0?Ht.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 pn{constructor(e,t){this.type=e,this.group=t}}class un extends pn{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 mn extends pn{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 hn extends pn{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 un("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){ln()})),TimerBar:new un("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new un("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"))),go()})),TimerBarOverlay:new un("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 un("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new un("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),BuildColor:new un("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){ro()})),PPDisplayTime:new un("bool","BarsColors",["PP As Value (Standard)","PP As Time Unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),UpBarColor:new un("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="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends pn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades 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 buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, 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(){cn()})),UpgradeBarFixedPos:new un("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 un("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,(function(){Re=!0})),CPSMode:new un("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 un("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 un("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),PPExcludeTop:new un("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 hn("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 un("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 un("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 un("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 un("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 un("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new un("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new un("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new un("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new un("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new un("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new un("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new un("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new un("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new un("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new un("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new un("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new un("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new un("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new un("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new un("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new un("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new un("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new un("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new un("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new un("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new un("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new un("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new un("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new un("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new un("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new un("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new un("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new un("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new un("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 un("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 un("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 un("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 un("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 hn("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 un("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new un("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new un("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new un("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new un("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new un("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new un("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 un("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new un("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new un("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 un("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new un("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new un("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=$:Game.sayTime=M.sayTime})),GrimoireBar:new un("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 hn("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 un("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 un("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){sn()})),ScaleDecimals:new un("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){sn()})),ScaleSeparator:new un("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("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 un("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new un("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){dn()})),WrinklerButtons:new un("bool","Miscellaneous",["Extra Wrinkler Buttons OFF","Extra Wrinkler 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")})),HideSectionsButtons:new un("bool","Miscellaneous",["Hide Upgrades/Buildings Button OFF","Hide Upgrades/Buildings Button ON"],"Show buttons for hiding and showing the upgrades and buildings section in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),BulkBuyBlock:new un("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 fn(){return JSON.stringify({settings:e,version:"2.031.5"})}function Cn(){if(Xe!==Game.dragonLevel||Re){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].amount{Qt[e]=ko(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=Go(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=yo(e)})),vo()}let kn=!1;function Gn(t,o){1===e[o]&&3===t&&!1===kn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){Gn(2,o)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){Gn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function vn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(bn(),nn(),a=Object.keys(Game.mods).length),Re&&(Qo(),Game.Has("Golden switch [off]")?(vo(),qt["Golden switch [off]"].bought=0,Uo(),at=Ie):at=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Pe&&t?(Pe=!0,Be=1):Pe&&!t&&(Pe=!1,Be=1),Be&&(Xo(),Be=0),function(){on(),Lo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=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);$t=se(e/so())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ht=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),dn(),y=k,0===k&&(Ht=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(Gn(3,"FortuneFlash"),vn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Rt=Game.shimmers[e])})),Gn(3,"SeaFlash"),vn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),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",!1):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Tn(){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:${fn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Mn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(an).forEach((t=>{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])})):Object.keys(an.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=an[t][n])}))})),o&&Tn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Mn(an)}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Bo(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{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 Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}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(H[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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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 Hn(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+co()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Uo(),t=Ie,vo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Uo(),Vo(),o!==Fe&&Uo();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(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(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}let n=!1;const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),n=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),n=!0)}));const r=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(r.push($o[e]),n=!0)}));const s=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0)}));const c=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0)}));const d=[];Object.keys(Io).forEach((e=>{Game.HasUnlocked(Io[e])||(d.push(Io[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(le(pt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(dt-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(le(so(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[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(le(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&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.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=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.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=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.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=Tt,e.appendChild(i)}}}))}const Rn={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]+=1,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]],Tn()}(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");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);const l=document.createElement("a");return l.className="option",l.onclick=function(){vn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),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,Tn(),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,Tn(),sn()},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=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1,Jt=Date.now(),Kt=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(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{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 Bn("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=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Uo(),Vo(),o!==Fe&&Uo(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(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 ${le(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${Qe}`,"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),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(gn).forEach((e=>{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(){Mn(an)},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",Hn(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,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ht?Ht.wrath?`[W${Math.ceil(Ht.life/Game.fps)}]`:`[G${Math.ceil(Ht.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)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===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;Ht&&(t=!0,Ht.wrath?e+=`[W${Math.ceil(Ht.life/Game.fps)}]`:e+=`[G${Math.ceil(Ht.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),en(),nn(),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),Object.keys(Game.Objects).forEach((e=>{uo(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=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=po("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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),H[e]=n}(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(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{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 Bn("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 Bn("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 Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),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",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Mn(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:fn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 4edba845..b8a7943e 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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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,g,f,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",E="Blue",P="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,E,P,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"]],R={};let H,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":P,Clot:F,"Click frenzy":E,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(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";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=P):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Ee,Pe,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Et=0,Pt=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Rt={},Ht={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[],Kt=Game.startDate,Jt=Game.startDate;function Zt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function oo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(Re===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Qt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{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{let o=Game.buyBulk;1===Game.buyMode?_=o:o=_,1===o&&(o=mt),10===o&&(o=ht),100===o&&(o=gt),e+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[e].childNodes[1].textContent=Game.Objects[t].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[e].textContent=le(o[t].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[e].className=S+o[t].color,l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[e].textContent=le(Math.round(o[t].pp),2);const n=ce((Game.Objects[t].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[e].className=S+n.color,"Done!"===n.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 vo(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=ko(e),o=Qt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],Re=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=yo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),Co(),Ae=Ve,je=_e}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,go())}}(),mo(),Bo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){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)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.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=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Po{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/so()0&&(n=F),n}function Fo(t,o){Object.keys(t).forEach((n=>{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const n=Game.Objects[o].getSumPrice(t);Game.cookiesPs?e[o].pp=Math.max(n-(Game.cookies+co()),0)/Game.cookiesPs+n/e[o].bonus:e[o].pp=n/e[o].bonus,zt.push([e[o].pp,t])}))}function Lo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(mt,1),Wo(ht,10),Wo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],Fo(mt,1),Fo(ht,10),Fo(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Oo(Gt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Jt/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Jt/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Jt/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),oo('"egg"')&&(Ie+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Kt-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=Mo(),Ie*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ho=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Yt[e]?Yt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),zo("Mathematician")||Qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ne>=20&&jo("Enhancer"),Ne>=50&&jo("Augmenter"),Ne>=100&&jo("Upgrader"),Ne>=200&&jo("Lord of Progress"),Ne>=300&&jo("The full picture"),Ne>=400&&jo("When there's nothing left to add"),t>=4e3&&Ne>=300&&jo("Polymath"),t>=8e3&&Ne>=400&&jo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{oo(Ro[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ho).forEach((e=>{oo(Ho[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e,t){const o=[];return Object.keys(Game.Objects).forEach((t=>{o[t]={},o[t].bonus=function(e,t){vo(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Uo(),Vo(),n!==Fe&&Uo(),Ie-Game.cookiesPs}(t,e),1!==e&&(Be=1)})),o}function Xo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){mt=_o(1),ht=_o(10),gt=_o(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&jo("Elder nap"),Oe>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Fe;Uo(),Vo(),t!==Fe&&Uo();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ie),oo("Iron mouse")&&(e+=.01*Ie),oo("Titanium mouse")&&(e+=.01*Ie),oo("Adamantium mouse")&&(e+=.01*Ie),oo("Unobtainium mouse")&&(e+=.01*Ie),oo("Eludium mouse")&&(e+=.01*Ie),oo("Wishalloy mouse")&&(e+=.01*Ie),oo("Fantasteel mouse")&&(e+=.01*Ie),oo("Nevercrack mouse")&&(e+=.01*Ie),oo("Armythril mouse")&&(e+=.01*Ie),oo("Technobsidian mouse")&&(e+=.01*Ie),oo("Plasmarble mouse")&&(e+=.01*Ie),oo("Miraculite mouse")&&(e+=.01*Ie),oo("Fortune #104")&&(e+=.01*Ie);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Qt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[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,Bt=qo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=qo(6,e,st),Et=2*Nt[1]/st,Pt=Nt[2]/60/60/6/rt,Wt=qo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=qo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}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-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function en(){qe=900*at/.15,qe*=rt;const e=Mo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),de=new Po(q[q.length-1]),pe=new Po(q[q.length-1]),ue=new Po(q[q.length-1]),me=new Po(q[q.length-1]),he=new Po(Y[Y.length-1]),ge=new Po(5),Ko(),No(),Qo(),Xo(),Lo()}const an={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,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,TooltipPantheon: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}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){let t="";for(let o=0;o0?Rt.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 pn{constructor(e,t){this.type=e,this.group=t}}class un extends pn{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 mn extends pn{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 hn extends pn{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 un("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){ln()})),TimerBar:new un("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new un("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"))),go()})),TimerBarOverlay:new un("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 un("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new un("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),BuildColor:new un("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){ro()})),UpBarColor:new un("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="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends pn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades 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 buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, 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(){cn()})),UpgradeBarFixedPos:new un("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 un("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,(function(){He=!0})),CPSMode:new un("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 un("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 un("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),PPExcludeTop:new un("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 hn("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 un("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 un("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 un("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 un("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 un("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new un("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new un("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new un("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new un("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new un("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new un("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new un("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new un("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new un("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new un("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new un("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new un("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new un("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new un("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new un("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new un("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new un("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new un("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new un("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new un("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new un("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new un("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new un("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new un("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new un("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new un("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new un("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new un("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new un("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 un("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 un("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 un("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 un("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 hn("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 un("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new un("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new un("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new un("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new un("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new un("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new un("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 un("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new un("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new un("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 un("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new un("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new un("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=$:Game.sayTime=M.sayTime})),GrimoireBar:new un("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 hn("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 un("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 un("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){sn()})),ScaleDecimals:new un("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){sn()})),ScaleSeparator:new un("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("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 un("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new un("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){dn()})),WrinklerButtons:new un("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 un("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 fn(){return JSON.stringify({settings:e,version:"2.031.5"})}function Cn(){if(Xe!==Game.dragonLevel||He){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].amount{Qt[e]=ko(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=Go(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=yo(e)})),vo()}let kn=!1;function Gn(t,o){1===e[o]&&3===t&&!1===kn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){Gn(2,o)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){Gn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function vn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(bn(),nn(),a=Object.keys(Game.mods).length),He&&(Qo(),Game.Has("Golden switch [off]")?(vo(),qt["Golden switch [off]"].bought=0,Uo(),at=Ie):at=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Pe-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),He=0);const t=Game.auraMult("Fierce Hoarder")>0;!Ee&&t?(Ee=!0,Be=1):Ee&&!t&&(Ee=!1,Be=1),Be&&(Xo(),Be=0),function(){on(),Lo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=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);$t=se(e/so())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Rt=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),dn(),y=k,0===k&&(Rt=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(Gn(3,"FortuneFlash"),vn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Ht=Game.shimmers[e])})),Gn(3,"SeaFlash"),vn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),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",!1):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Tn(){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:${fn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Mn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(an).forEach((t=>{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])})):Object.keys(an.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=an[t][n])}))})),o&&Tn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Mn(an)}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Bo(),l("tooltip").innerHTML}function En(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{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 Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Pn(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}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(R[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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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+co()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Uo(),t=Ie,vo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Uo(),Vo(),o!==Fe&&Uo();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(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(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}let n=!1;const i=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(i.push(Ro[e]),n=!0)}));const a=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(a.push(Ho[e]),n=!0)}));const r=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(r.push($o[e]),n=!0)}));const s=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0)}));const c=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0)}));const d=[];Object.keys(Io).forEach((e=>{Game.HasUnlocked(Io[e])||(d.push(Io[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(le(pt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(dt-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(le(so(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[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(le(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&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.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=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.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=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.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=Tt,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]+=1,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]],Tn()}(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");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);const l=document.createElement("a");return l.className="option",l.onclick=function(){vn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),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,Tn(),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,Tn(),sn()},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=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),He=1,Jt=Date.now(),Kt=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(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{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 Bn("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=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Pe-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Uo(),Vo(),o!==Fe&&Uo(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(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 ${le(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${Qe}`,"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),Object.keys(Hn).forEach((t=>{const n=In(t,Hn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(gn).forEach((e=>{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(){Mn(an)},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,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Rt?Rt.wrath?`[W${Math.ceil(Rt.life/Game.fps)}]`:`[G${Math.ceil(Rt.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)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Ht.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===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;Rt&&(t=!0,Rt.wrath?e+=`[W${Math.ceil(Rt.life/Game.fps)}]`:e+=`[G${Math.ceil(Rt.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Ht.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),en(),nn(),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",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{uo(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=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=po("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(E,"Better than best PP building")),e.appendChild(o(P,"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",E)),e.appendChild(o("CMUpgradeBarGreen",P)),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)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}(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(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{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 Bn("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 Bn("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 Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),En(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),H=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",Eo),Game.registerHook("logic",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Mn(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:fn};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],g=o.fixed?"fixed":"absolute",f=(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 g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.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){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.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,g,f,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"]],H={};let R,$,I=0,z=-1,V=[],_=1,X=1,Q=1;const q=[10,15,30,60,300,600,900,1800],Y=[1,5,10,15,30],K={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let J,Z,ee,te,oe,ne,ie,ae={},re="";function le(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";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ce(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=se(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let de,pe,ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,He,Re,$e,Ie,ze,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=1,lt=1,st=1,ct=0,dt=0,pt=0,ut=0,mt={},ht={},gt={},ft=0,Ct=0,yt=[0,null],bt=0,kt=0,Gt={},vt={},wt={},xt={},Tt={},Mt=0,St=0,Bt=[],Pt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Ut=0,Dt=0,Ht={},Rt={},$t=0,It=0,zt=[],Vt={},_t=0,Xt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Qt=[],qt=[],Yt=[],Kt=Game.startDate,Jt=Game.startDate;function Zt(e){let t=0;return Game.dragonAuras[Ae].name!==e&&Game.dragonAuras[je].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ae].name&&"Reality Bending"!==Game.dragonAuras[je].name||(t+=.1),t}function eo(){let e=.25;return e*=1+Zt("Earth Shatterer"),e}function to(e,t){return void 0===$e[e]?void 0===t?1:t:$e[e]}function oo(e){const t=qt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function no(e){if(Game.hasGod){void 0===Qt.Temple.minigame&&(Qt.Temple.minigame=Game.Objects.Temple.minigame);const t=Qt.Temple.minigame.gods[e];if(Ue===t.id)return 1;if(De===t.id)return 2;if(He===t.id)return 3}return!1}function io(e,t){let o=t;if(oo("Season savings")&&(o*=.99),oo("Santa's dominion")&&(o*=.99),oo("Faberge egg")&&(o*=.99),oo("Divine discount")&&(o*=.99),oo("Fortune #100")&&(o*=.99),o*=1-.02*Zt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&oo(e.fortune.name)&&(o*=.93),o*=to("buildingCost"),Qt.Temple.minigameLoaded){const e=no("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ao(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function ro(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=mt:10===t?t=ht:100===t&&(t=gt),1===Game.buyMode?1===e.BuildColor?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(mt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=le(ao(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(mt).map((e=>{const t=mt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=mt[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;Object.keys(Game.UpgradesInStore).forEach((s=>{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{let n,i=Game.buyBulk;1===Game.buyMode?_=i:i=_,1===i&&(i=mt),10===i&&(i=ht),100===i&&(i=gt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=le(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=S+i[o].color,n=e.PPDisplayTime?se(Math.round(i[o].pp)):le(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ce((Game.Objects[o].bulkPrice-(Game.cookies+co()))/so());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=S+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&oo(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(oo(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&oo(e.fortune.name)&&(t*=1.07),e.grandma&&oo(e.grandma.name)&&(t*=1+.01*Qt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&oo(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function ko(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;oo("Thousand fingers")&&(t+=.1),oo("Million fingers")&&(t*=5),oo("Billion fingers")&&(t*=10),oo("Trillion fingers")&&(t*=20),oo("Quadrillion fingers")&&(t*=20),oo("Quintillion fingers")&&(t*=20),oo("Sextillion fingers")&&(t*=20),oo("Septillion fingers")&&(t*=20),oo("Octillion fingers")&&(t*=20),oo("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Qt).forEach((e=>{"Cursor"!==Qt[e].name&&(n+=Qt[e].amount)})),t*=n,o*=bo(e),o*=Game.magicCpS("Cursor"),o*=to("cursorCps"),Game.ComputeCps(.1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{oo(Game.GrandmaSynergies[e])&&(o*=2)})),oo("Bingo center/Research facility")&&(o*=4),oo("Ritual rolling pins")&&(o*=2),oo("Naughty list")&&(o*=2),oo("Elderwort biscuits")&&(o*=1.02),o*=to("grandmaCps"),oo("Cat ladies"))for(let e=0;e{"Grandma"!==Qt[e].name&&(i+=Qt[e].amount)})),o*=1+.01*Zt("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=bo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function Go(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Qt).forEach((t=>{Qt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(oo("Starlove")&&(e=3),Game.hasGod){const t=no("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 vo(){Ne=Game.UpgradesOwned,Oe=Game.pledges,Fe=Game.AchievementsOwned,We=Game.heavenlyPower,Le=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Qt[e];void 0===o&&(Qt[e]=ko(e),o=Qt[e],uo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ue=t.minigame.slot[0],De=t.minigame.slot[1],He=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Qt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e]),o.bought=t.bought,qt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Yt[e];void 0===o&&(Yt[e]=yo(e),o=Yt[e]),o.won=t.won,Yt[e]=o})),Co(),Ae=Ve,je=_e}function wo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function xo(e){e.appendChild(wo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(wo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(wo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(wo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ee){e.appendChild(wo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function To(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function So(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(vo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ee?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(xo(l("CMTooltipBorder")),1===Game.buyMode?Q=t:t=Q,1===Game.buyBulk?t=mt:10===Game.buyBulk?t=ht:100===Game.buyBulk&&(t=gt),J=Game.Objects[te].bulkPrice,Z=t[te].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=le(Z,2);const o=Math.round(Z/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=S+t[te].color,e.PPDisplayTime?l("CMTooltipPP").textContent=se(t[te].pp):l("CMTooltipPP").textContent=le(t[te].pp,2),l("CMTooltipPP").className=S+t[te].color;const n=ce((J-(Game.cookies+co()))/so());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[te[1]][te[0]][0]-1].matureBase,o=t.plantsById[t.plot[te[1]][te[0]][0]-1].name;l("CMTooltipBorder").appendChild(wo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${le(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${le(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${le(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?le(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${le(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ee?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(wo("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&&t=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+=1),"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+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=po(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==K[Game.buffs[t].name]?K[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+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ie!==n&&(ie=n,go())}}(),mo(),Bo(),function(){if(1===e.TooltipWrink&&1===I){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===V[t]||void 0===V[t]){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)),z=t,V[t]=1}}else V[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[z],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[z].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Qt.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=le(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,le(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+_t;Game.cpsSucked>0&&(o+=ft),Ut=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-Ce)/n,a=Math.max(0,ft-ye)/n,r=Math.max(0,yt[0]-be)/n,l=Math.max(0,o-ut)/n,s=(Game.cookieClicks-ke)/n;for(let e=0;ezt[30][0]?F:W,0!==Number(e.PPSecondsLowerLimit)&&o/so()0&&(n=F),n}function Fo(t,o){Object.keys(t).forEach((n=>{t[n].color=Oo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const n=Game.Objects[o].getSumPrice(t);Game.cookiesPs?e[o].pp=Math.max(n-(Game.cookies+co()),0)/Game.cookiesPs+n/e[o].bonus:e[o].pp=n/e[o].bonus,zt.push([e[o].pp,t])}))}function Lo(){!function(){It=1/0,zt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Wo(mt,1),Wo(ht,10),Wo(gt,100),zt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;zt[t][1]>Game.cookies&&(t+=1,zt.length!==t+1););It=zt[e.PPExcludeTop][t],Fo(mt,1),Fo(ht,10),Fo(gt,100)}(),Object.keys(Gt).forEach((e=>{Game.cookiesPs?Gt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+co()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Gt[e].bonus:Gt[e].pp=Game.Upgrades[e].getPrice()/Gt[e].bonus,Number.isNaN(Gt[e].pp)&&(Gt[e].pp=1/0),Gt[e].color=Oo(Gt[e],Game.Upgrades[e].getPrice())}))}function Ao(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),$e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Le)*We*function(){let e=0;if(oo("Heavenly chip secret")&&(e+=.05),oo("Heavenly cookie stand")&&(e+=.2),oo("Heavenly bakery")&&(e+=.25),oo("Heavenly confectionery")&&(e+=.25),oo("Heavenly key")&&(e+=.25),e*=1+.05*Zt("Dragon God"),oo("Lucky digit")&&(e*=1.01),oo("Lucky number")&&(e*=1.01),oo("Lucky payout")&&(e*=1.01),Game.hasGod){const t=no("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=to("cps"),oo("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];oo(o.name)&&("function"==typeof o.power?e*=1+.01*qt[o.name].power(qt[o.name]):e*=1+.01*o.power)})),oo("Specialized chocolate chips")&&(e*=1.01),oo("Designer cocoa beans")&&(e*=1.02),oo("Underworld ovens")&&(e*=1.03),oo("Exotic nuts")&&(e*=1.04),oo("Arcane sugar")&&(e*=1.05),oo("Increased merriness")&&(e*=1.15),oo("Improved jolliness")&&(e*=1.15),oo("A lump of coal")&&(e*=1.01),oo("An itchy sweater")&&(e*=1.01),oo("Santa's dominion")&&(e*=1.2),oo("Fortune #100")&&(e*=1.01),oo("Fortune #101")&&(e*=1.07),oo("Dragon scale")&&(e*=1.03);let o=1;if(no){let t=no("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=no("ages"),1===t?e*=1+.15*Math.sin(Jt/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Jt/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Jt/1e3/86400*Math.PI*2)),t=no("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=no("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=no("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}oo("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Fe/25;let i=1;if(oo("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*Zt("Breath of Milk"),no){const e=no("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=to("milk");let a=1;oo("Kitten helpers")&&(a*=1+.1*n*i),oo("Kitten workers")&&(a*=1+.125*n*i),oo("Kitten engineers")&&(a*=1+.15*n*i),oo("Kitten overseers")&&(a*=1+.175*n*i),oo("Kitten managers")&&(a*=1+.2*n*i),oo("Kitten accountants")&&(a*=1+.2*n*i),oo("Kitten specialists")&&(a*=1+.2*n*i),oo("Kitten experts")&&(a*=1+.2*n*i),oo("Kitten consultants")&&(a*=1+.2*n*i),oo("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),oo("Kitten marketeers")&&(a*=1+.15*n*i),oo("Kitten analysts")&&(a*=1+.125*n*i),oo("Kitten executives")&&(a*=1+.115*n*i),oo("Kitten angels")&&(a*=1+.1*n*i),oo("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Qt).forEach((e=>{const t=Qt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&oo("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Ie+=t.amount*a})),oo('"egg"')&&(Ie+=9),e*=a;let r=1;if(oo("Chicken egg")&&(r*=1.01),oo("Duck egg")&&(r*=1.01),oo("Turkey egg")&&(r*=1.01),oo("Quail egg")&&(r*=1.01),oo("Robin egg")&&(r*=1.01),oo("Ostrich egg")&&(r*=1.01),oo("Cassowary egg")&&(r*=1.01),oo("Salmon roe")&&(r*=1.01),oo("Frogspawn")&&(r*=1.01),oo("Shark egg")&&(r*=1.01),oo("Turtle egg")&&(r*=1.01),oo("Ant larva")&&(r*=1.01),oo("Century egg")){let e=10*Math.floor((Kt-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),dt=1+.1*(1-(1-e/100)**3),r*=dt}e*=r,oo("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+Zt("Radiant Appetite");const l=Ie*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name)})),ze=l;const{n:s}=Game.shimmerTypes.golden,c=Zt("Dragon's Fortune");for(let t=0;t{oo(e[o])&&(t+=.1)}))}e*=t}if(oo("Shimmering veil [off]")){let t=.5;oo("Reinforced membrane")&&(t+=.1),e*=1+t}oo("Magic shenanigans")&&(e*=1e3),oo("Occult obstruction")&&(e*=0),Ie=Game.runModHookOnValue("cps",Ie),e*=Mo(),Ie*=e}const Do=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ho=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Ro=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],$o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Io=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function zo(e){return Yt[e]?Yt[e].won:0}function Vo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{oo(Game.GrandmaSynergies[t])&&(e+=1)})),!zo("Elder")&&e>=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount,i=Math.min(Qt[e].amount,i),zo("Mathematician")||Qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ne>=20&&jo("Enhancer"),Ne>=50&&jo("Augmenter"),Ne>=100&&jo("Upgrader"),Ne>=200&&jo("Lord of Progress"),Ne>=300&&jo("The full picture"),Ne>=400&&jo("When there's nothing left to add"),t>=4e3&&Ne>=300&&jo("Polymath"),t>=8e3&&Ne>=400&&jo("Renaissance baker"),Qt.Cursor.amount+Qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;Object.keys(Ho).forEach((e=>{oo(Ho[e])||(a=!1)})),a&&jo("Spooky cookies");let r=!0;if(Object.keys(Ro).forEach((e=>{oo(Ro[e])||(r=!1)})),r&&jo("Let it snow"),oo("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{oo(e[o].name)&&(t+=1)})),t>=e.length&&jo("O Fortuna")}}function _o(e,t){const o=[];return Object.keys(Game.Objects).forEach((t=>{o[t]={},o[t].bonus=function(e,t){vo(),Qt[e].amount+=t;const o=Qt[e];"Cursor"===e?(o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Fe;return Uo(),Vo(),n!==Fe&&Uo(),Ie-Game.cookiesPs}(t,e),1!==e&&(Be=1)})),o}function Xo(){Object.keys(Game.Objects).forEach((e=>{mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),gt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Qo(){mt=_o(1),ht=_o(10),gt=_o(100),Gt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){vo(),"Shimmering veil [on]"===qt[e].name?qt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===qt[e].name?qt["Golden switch [off]"].bought=0:qt[e].bought=(qt[e].bought+1)%2,qt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ne+=1),"Elder Pledge"===e?(Oe+=1,Oe>0&&jo("Elder nap"),Oe>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Fe;Uo(),Vo(),t!==Fe&&Uo();const o=function(){let e=0;oo("Thousand fingers")&&(e+=.1),oo("Million fingers")&&(e*=5),oo("Billion fingers")&&(e*=10),oo("Trillion fingers")&&(e*=20),oo("Quadrillion fingers")&&(e*=20),oo("Quintillion fingers")&&(e*=20),oo("Sextillion fingers")&&(e*=20),oo("Septillion fingers")&&(e*=20),oo("Octillion fingers")&&(e*=20),oo("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Qt).forEach((e=>{t+=Qt[e].amount})),t-=Qt.Cursor.amount,e*=t,oo("Plastic mouse")&&(e+=.01*Ie),oo("Iron mouse")&&(e+=.01*Ie),oo("Titanium mouse")&&(e+=.01*Ie),oo("Adamantium mouse")&&(e+=.01*Ie),oo("Unobtainium mouse")&&(e+=.01*Ie),oo("Eludium mouse")&&(e+=.01*Ie),oo("Wishalloy mouse")&&(e+=.01*Ie),oo("Fantasteel mouse")&&(e+=.01*Ie),oo("Nevercrack mouse")&&(e+=.01*Ie),oo("Armythril mouse")&&(e+=.01*Ie),oo("Technobsidian mouse")&&(e+=.01*Ie),oo("Plasmarble mouse")&&(e+=.01*Ie),oo("Miraculite mouse")&&(e+=.01*Ie),oo("Fortune #104")&&(e+=.01*Ie);let o=1;if(oo("Santa's helpers")&&(o*=1.1),oo("Cookie egg")&&(o*=1.1),oo("Halo gloves")&&(o*=1.1),oo("Dragon claw")&&(o*=1.03),oo("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,oo("Luminous gloves")?20:10)),o*=to("click"),Qt.Temple.minigameLoaded&&no){const e=no("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*Zt("Dragon Cursor");let n=o*Game.ComputeCps(1,oo("Reinforced index finger")+oo("Carpal tunnel prevention cream")+oo("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Ie-Game.cookiesPs,o]:[Ie-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Gt[t]={bonus:Game.cookiesPs-Ge},1===e.CalcWrink?Gt[t].bonus-=ve:2===e.CalcWrink&&(Gt[t].bonus-=we),Number.isFinite(Gt[t].bonus)||(Gt[t].bonus=0)):(Gt[t]={},o[0]&&(Gt[t].bonus=o[0]),o[1]&&(Gt[t].bonusMouse=o[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,Bt=qo(7,e,lt),Mt=2*Bt[1]/lt,St=Bt[2]/60/60/6/rt,Nt=qo(6,e,st),Pt=2*Nt[1]/st,Et=Nt[2]/60/60/6/rt,Wt=qo(7,7*e,lt),Ot=2*Wt[1]/lt,Ft=Wt[2]/60/60/6/rt,jt=qo(6,7*e,st),Lt=2*jt[1]/st,At=jt[2]/60/60/6/rt}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-Me,i=Math.max(0,o-Se)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?xt+=e:"cookie"===o.pool?Tt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(wt+=e)}}))}function Zo(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),pt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(pt*=2)}}function en(){qe=900*at/.15,qe*=rt;const e=Mo();e>0?qe/=e:qe=0,Ye=lt*(.15*qe)+13,Ke=st*(.15*qe)+13,Je=7*qe,Ze=lt*(.15*Je)+13,et=st*(.15*Je)+13,tt=2*qe,ot=.15*tt,nt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountnt&&(nt=2*Game.Objects[e].price,it=e)}))}function tn(){let e=1,t=1,o=1;oo("Green yeast digestives")&&(o*=1.01),oo("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"),lt=o*e,st=o*t,rt=1,0===Game.shimmerTypes.golden.n&&(rt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function on(){ft=0,Ct=0,yt=[0,null];for(let e=0;eyt[0]&&(yt=[t,e]))}}function nn(){Co(),on(),en(),tn(),Yo(),Jo(),Zo(),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(Y[Y.length-1]),ge=new Eo(5),Ko(),No(),Qo(),Xo(),Lo()}const an={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,PPDisplayTime:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:1,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,TooltipPantheon: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,HideSectionsButtons:0,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}},rn=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 ln(){1===e.BotBar?(l("CMBotBar").style.display="",mo()):l("CMBotBar").style.display="none",go()}function sn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),mo(),ro(),lo()}function cn(){let t="";for(let o=0;o0?Ht.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 pn{constructor(e,t){this.type=e,this.group=t}}class un extends pn{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 mn extends pn{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 hn extends pn{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 un("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){ln()})),TimerBar:new un("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){fo()})),TimerBarPos:new un("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"))),go()})),TimerBarOverlay:new un("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 un("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP of x1 purchase","Sort Buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){ro()})),SortUpgrades:new un("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){lo()})),BuildColor:new un("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){ro()})),PPDisplayTime:new un("bool","BarsColors",["PP As Value (Standard)","PP As Time Unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),UpBarColor:new un("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="",lo()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",lo()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends pn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show upgrades 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 buildings within the top 10 of PP, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels",Purple:"Color Purple. Used to show buildings outside of the top 30 of PP, 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(){cn()})),UpgradeBarFixedPos:new un("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 un("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,(function(){Re=!0})),CPSMode:new un("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 un("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 un("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),PPExcludeTop:new un("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 hn("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 un("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 un("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 un("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 un("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 un("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){rn(e.GCNotification)})),GCFlash:new un("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new un("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new mn("vol","NotificationGC",[],"Volume"),GCSoundURL:new un("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new un("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){rn(e.FortuneNotification)})),FortuneFlash:new un("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new un("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new mn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new un("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new un("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){rn(e.SeaNotification)})),SeaFlash:new un("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new un("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new mn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new un("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new un("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new un("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new mn("vol","NotificationGard",[],"Volume"),GardSoundURL:new un("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new un("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){rn(e.MagicNotification)})),MagicFlash:new un("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new un("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new mn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new un("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new un("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){rn(e.WrinklerNotification)})),WrinklerFlash:new un("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new un("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new mn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new un("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new un("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){rn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new un("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new un("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new mn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new un("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new un("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new un("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new un("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 un("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 un("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 un("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 un("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 hn("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 un("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){So()})),TooltipGrim:new un("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new un("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new un("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new un("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new un("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new un("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 un("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new un("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new un("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 un("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new un("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new un("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=$:Game.sayTime=M.sayTime})),GrimoireBar:new un("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 hn("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 un("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 un("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){sn()})),ScaleDecimals:new un("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){sn()})),ScaleSeparator:new un("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){sn()})),ScaleCutoff:new hn("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 un("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(ae).forEach((e=>{ae[e].style.display="block",ae[e].style.left=Vt[e].l.style.left,ae[e].style.top=Vt[e].l.style.top})):Object.keys(ae).forEach((e=>ae[e].style.display="none"))})),Favicon:new un("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){dn()})),WrinklerButtons:new un("bool","Miscellaneous",["Extra Wrinkler Buttons OFF","Extra Wrinkler 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")})),HideSectionsButtons:new un("bool","Miscellaneous",["Hide Upgrades/Buildings Button OFF","Hide Upgrades/Buildings Button ON"],"Show buttons for hiding and showing the upgrades and buildings section in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),BulkBuyBlock:new un("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 fn(){return JSON.stringify({settings:e,version:"2.031.5"})}function Cn(){if(Xe!==Game.dragonLevel||Re){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].amount{Qt[e]=ko(e)})),qt=[],Object.keys(Game.Upgrades).forEach((e=>{qt[e]=Go(e)})),Yt=[],Object.keys(Game.Achievements).forEach((e=>{Yt[e]=yo(e)})),vo()}let kn=!1;function Gn(t,o){1===e[o]&&3===t&&!1===kn||1===t?(l("CMWhiteScreen").style.opacity="0.5",3===t?(l("CMWhiteScreen").style.display="inline",setTimeout((function(){Gn(2,o)}),1e3/Game.fps)):setTimeout((function(){Gn(0,o)}),1e3/Game.fps)):2===t?(l("CMWhiteScreen").style.opacity="1",setTimeout((function(){Gn(1,o)}),1e3/Game.fps)):0===t&&(l("CMWhiteScreen").style.display="none")}function vn(t,o,n,i){if((1===e[o]||i)&&!1===kn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function wn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===kn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function xn(){if(ne!==Game.OnAscend&&(ne=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(ln(),fo()),ho()),!Game.OnAscend&&0===Game.AscendTimer){a!==Object.keys(Game.mods).length&&(bn(),nn(),a=Object.keys(Game.mods).length),Re&&(Qo(),Game.Has("Golden switch [off]")?(vo(),qt["Golden switch [off]"].bought=0,Uo(),at=Ie):at=Game.cookiesPs,tn(),en(),Jo(),Yo(),Cn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Xt[e][t]=yn(e,t)}(),Zo(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;vo();let t=2;5!==Ae&&18!==Ae||(t-=1),5!==je&&18!==je||(t-=1),Ae=5,je=18;for(let e=0;e{Qt[t].amount>0&&(e=t)})),Qt[e].amount-=1,Ee-=1}return Object.keys(Qt).forEach((t=>{const o=Qt[t];e+=ao(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),_t=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Pe&&t?(Pe=!0,Be=1):Pe&&!t&&(Pe=!1,Be=1),Be&&(Xo(),Be=0),function(){on(),Lo(),function(){bt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}kt=e,bt=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);$t=se(e/so())}(),k=0,Vt={},Object.keys(Game.shimmers).forEach((e=>{Vt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Ht=Game.shimmers[e],k+=1)})),Object.keys(ae).forEach((e=>{void 0===Vt[e]&&(ae[e].parentNode.removeChild(ae[e]),delete ae[e])})),C!==Game.shimmerTypes.golden.n?(C=Game.shimmerTypes.golden.n,C&&(y{void 0===ae[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},ae[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),dn(),y=k,0===k&&(Ht=0)):1===e.GCTimer&&C&&Object.keys(ae).forEach((e=>{ae[e].style.opacity=Vt[e].l.style.opacity,ae[e].style.transform=Vt[e].l.style.transform,ae[e].textContent=Math.ceil(Vt[e].life/Game.fps)})),g!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(g=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,g&&(Gn(3,"FortuneFlash"),vn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),wn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),h!==Game.shimmerTypes.reindeer.spawned&&(h=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Rt=Game.shimmers[e])})),Gn(3,"SeaFlash"),vn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),wn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&f!==Game.Objects.Farm.minigame.nextStep&&(0!==f&&f0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),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",!1):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?wn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):wn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Tn(){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:${fn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Mn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;Object.keys(an).forEach((t=>{void 0===e[t]?(o=!0,e[t]=an[t]):"Header"!==t&&"Colors"!==t?-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=an[t][n])})):Object.keys(an.Colors).forEach((n=>{void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=an[t][n])}))})),o&&Tn(),xn(),Object.keys(an).forEach((e=>{"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}))}else Mn(an)}function Sn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Bn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${le(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ce((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(le(Game.Objects[o].bulkPrice)).join(le((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)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ee=t,te=o,Bo(),l("tooltip").innerHTML}function Pn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{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 Bn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Tn()}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(H[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");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),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 Hn(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+co()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(le(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(se(e/ct)))))}const l=function(e){let t=Game.cookiesPs;vo(),0===qt["Heavenly key"].bought&&(qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Uo(),t=Ie,vo()),Ut>=1e6&&jo("Sacrifice"),Ut>=1e9&&jo("Oblivion"),Ut>=1e12&&jo("From scratch"),Ut>=1e15&&jo("Nihilism"),Ut>=1e18&&jo("Dematerialize"),Ut>=1e21&&jo("Nil zero zilch"),Ut>=1e24&&jo("Transcendence"),Ut>=1e27&&jo("Obliterate"),Ut>=1e30&&jo("Negative void"),Ut>=1e33&&jo("To crumbs, you say?"),Ut>=1e36&&jo("You get nothing"),Ut>=1e39&&jo("Humble rebeginnings"),Ut>=1e42&&jo("The end of the world"),Ut>=1e45&&jo("Oh, you're back"),Ut>=1e48&&jo("Lazarus"),Ut>=1e51&&jo("Smurf account"),Ut>=1e54&&jo("If at first you don't succeed"),qt["Heavenly chip secret"].bought=1,qt["Heavenly cookie stand"].bought=1,qt["Heavenly bakery"].bought=1,qt["Heavenly confectionery"].bought=1,qt["Heavenly key"].bought=1,Le=e;const o=Fe;Uo(),Vo(),o!==Fe&&Uo();const n=Ie-t;return Le=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(le(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(`${le(ft)} / ${le(Ct)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Sn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${le(yt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==yt[1]?yt[1]:"None"})`,n))}let n=!1;const i=[];Object.keys(Ho).forEach((e=>{Game.Has(Ho[e])||(i.push(Ho[e]),n=!0)}));const a=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(a.push(Ro[e]),n=!0)}));const r=[];Object.keys($o).forEach((e=>{Game.Has($o[e])||(r.push($o[e]),n=!0)}));const s=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0)}));const c=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0)}));const d=[];Object.keys(Io).forEach((e=>{Game.HasUnlocked(Io[e])||(d.push(Io[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(le(pt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(le(ut)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(dt-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(le(so(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${Y[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(le(vt,1)))),Game.Has("Fortune cookies")){const e=[];Object.keys(Do).forEach((t=>{Game.Has(Do[t])||e.push(Do[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(le(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&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&xt){const t=xt.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=xt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(wt){const t=wt.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=wt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Tt){const t=Tt.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=Tt,e.appendChild(i)}}}))}const Rn={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]+=1,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]],Tn()}(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");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);const l=document.createElement("a");return l.className="option",l.onclick=function(){vn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),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,Tn(),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,Tn(),sn()},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=le,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1,Jt=Date.now(),Kt=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(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{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 Bn("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=Qt[Game.ObjectsById[e].name].name;Qt[o].amount-=1,Ee-=1,t=Qt[o].basePrice*Game.priceIncrease**Math.max(0,Qt[o].amount-1-Qt[o].free),t=Game.modifyBuildingPrice(Qt[o],t),t=Math.ceil(t);break}const o=Fe;return Uo(),Vo(),o!==Fe&&Uo(),[Ie-Game.cookiesPs,t]}(t),n=se(o/(e+Game.cookiesPs)),i=le(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 ${le(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${Qe}`,"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),Object.keys(Rn).forEach((t=>{const n=In(t,Rn[t]);o.appendChild(n),e.Header[t]&&("Notification"===t?Object.keys($n).forEach((t=>{const n=In(t,$n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(gn).forEach((e=>{gn[e].group===t&&o.appendChild(zn(e))}))})):Object.keys(gn).forEach((e=>{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(){Mn(an)},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",Hn(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,$=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):se(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),re=`${Game.OnAscend?"Ascending! ":""}${le(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=re;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Ht?Ht.wrath?`[W${Math.ceil(Ht.life/Game.fps)}]`:`[G${Math.ceil(Ht.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)}]`,g&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=re;"["===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;Ht&&(t=!0,Ht.wrath?e+=`[W${Math.ceil(Ht.life/Game.fps)}]`:e+=`[G${Math.ceil(Ht.life/Game.fps)}]`),g&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${le(Game.prestige)}.
(CpS +${le(Game.prestige)}%)`,n+='
'),n+=Se<1?"Ascending now would grant you no prestige.":Se<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${le(Se)} prestige levels (+${le(Se)}% CpS)
and ${le(Se)} heavenly chips to spend.`,n+='
',n+=`You need ${le(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${$t} to reach the next level and you are making ${le(ct,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),en(),nn(),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),Object.keys(Game.Objects).forEach((e=>{uo(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=po("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=po("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("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),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)}(),Object.keys(D).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),H[e]=n}(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(){Sn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopAll")}),"this"),Game.tooltip.wobble()},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!==yt[1]&&(Game.wrinklers[yt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},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",Object.keys(Game.Objects).forEach((e=>{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 Bn("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 Bn("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 Bn("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 Bn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){I=1},l("backgroundLeftCanvas").onmouseout=function(){I=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{V[e]=0}))},_n(),Nn(),Game.CalculateGains(),Mn(),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",xn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Mn(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:fn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 8b37f271..5eb72462 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","SimpleTooltipElements","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","formattedTime","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","SimGod1","SimGod2","SimGod3","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","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","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","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","forEach","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","lastChild","paddingLeft","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","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","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","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","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","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","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","CacheColor","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","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","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","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","TooltipAmor","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","Tooltip","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","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","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","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","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","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,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,OAMF,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,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOA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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","cachedModule","__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","SimpleTooltipElements","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","formattedTime","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","SimGod1","SimGod2","SimGod3","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","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","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","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","forEach","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","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","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","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","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","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","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","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","CacheColor","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","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","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","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","TooltipAmor","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","HideSectionsButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Tooltip","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","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","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","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","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","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,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,OAMF,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,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 55866b46..c4cea10b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,7 @@ "version": "2.031.5", "license": "MIT", "dependencies": { - "@eastdesire/jscolor": "^2.4.5", - "lodash": "^4.17.20" + "@eastdesire/jscolor": "^2.4.5" }, "devDependencies": { "eslint": "^7.19.0", @@ -25,22 +24,25 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.12.13", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.10.4" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.12.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true }, "node_modules/@babel/highlight": { - "version": "7.12.13", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", @@ -49,8 +51,9 @@ }, "node_modules/@babel/highlight/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -60,8 +63,9 @@ }, "node_modules/@babel/highlight/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -73,29 +77,33 @@ }, "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/@babel/highlight/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/@babel/highlight/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -105,8 +113,9 @@ }, "node_modules/@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" } @@ -117,9 +126,10 @@ "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "node_modules/@eslint/eslintrc": { - "version": "0.3.0", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.1.1", @@ -128,7 +138,6 @@ "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -136,10 +145,35 @@ "node": "^10.12.0 || >=12.0.0" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/@types/eslint": { "version": "7.2.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.7.tgz", + "integrity": "sha512-EHXbc1z2GoQRqHaAT7+grxlTJ3WE2YNeD6jlpPoRc83cCoThRY+NUWjCUZaYmk51OICkPXn2hhphcWcWXgNW0Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -147,8 +181,9 @@ }, "node_modules/@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -156,28 +191,33 @@ }, "node_modules/@types/estree": { "version": "0.0.46", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", + "dev": true }, "node_modules/@types/json-schema": { "version": "7.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true }, "node_modules/@types/json5": { "version": "0.0.29", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true }, "node_modules/@types/node": { - "version": "14.14.33", - "dev": true, - "license": "MIT" + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", + "dev": true }, "node_modules/@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/helper-numbers": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0" @@ -185,23 +225,27 @@ }, "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -210,13 +254,15 @@ }, "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -226,29 +272,33 @@ }, "node_modules/@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, - "license": "MIT", "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, "node_modules/@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@xtuc/long": "4.2.2" } }, "node_modules/@webassemblyjs/utf8": { "version": "1.11.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -262,8 +312,9 @@ }, "node_modules/@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-wasm-bytecode": "1.11.0", @@ -274,8 +325,9 @@ }, "node_modules/@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-buffer": "1.11.0", @@ -285,8 +337,9 @@ }, "node_modules/@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@webassemblyjs/helper-api-error": "1.11.0", @@ -298,8 +351,9 @@ }, "node_modules/@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, - "license": "MIT", "dependencies": { "@webassemblyjs/ast": "1.11.0", "@xtuc/long": "4.2.2" @@ -307,8 +361,9 @@ }, "node_modules/@webpack-cli/configtest": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", + "integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack": "4.x.x || 5.x.x", "webpack-cli": "4.x.x" @@ -316,8 +371,9 @@ }, "node_modules/@webpack-cli/info": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", + "integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", "dev": true, - "license": "MIT", "dependencies": { "envinfo": "^7.7.3" }, @@ -327,8 +383,9 @@ }, "node_modules/@webpack-cli/serve": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", + "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", "dev": true, - "license": "MIT", "peerDependencies": { "webpack-cli": "4.x.x" }, @@ -340,18 +397,21 @@ }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -361,16 +421,18 @@ }, "node_modules/acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "node_modules/ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -384,32 +446,36 @@ }, "node_modules/ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^6.9.1" } }, "node_modules/ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -422,16 +488,18 @@ }, "node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, "node_modules/array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -448,8 +516,9 @@ }, "node_modules/array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -464,21 +533,24 @@ }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/balanced-match": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -486,8 +558,9 @@ }, "node_modules/browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, - "license": "MIT", "dependencies": { "caniuse-lite": "^1.0.30001181", "colorette": "^1.2.1", @@ -508,13 +581,15 @@ }, "node_modules/buffer-from": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -525,21 +600,24 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001197", - "dev": true, - "license": "CC-BY-4.0" + "version": "1.0.30001202", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", + "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==", + "dev": true }, "node_modules/chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -553,8 +631,9 @@ }, "node_modules/chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, - "license": "MIT", "dependencies": { "tslib": "^1.9.0" }, @@ -564,8 +643,9 @@ }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -577,8 +657,9 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -588,41 +669,48 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/colorette": { "version": "1.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", + "dev": true }, "node_modules/commander": { "version": "2.20.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "node_modules/confusing-browser-globals": { "version": "1.0.10", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", + "dev": true }, "node_modules/contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -634,8 +722,9 @@ }, "node_modules/debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -650,13 +739,15 @@ }, "node_modules/deep-is": { "version": "0.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true }, "node_modules/define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, - "license": "MIT", "dependencies": { "object-keys": "^1.0.12" }, @@ -666,8 +757,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -676,19 +768,22 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.684", - "dev": true, - "license": "ISC" + "version": "1.3.690", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.690.tgz", + "integrity": "sha512-zPbaSv1c8LUKqQ+scNxJKv01RYFkVVF1xli+b+3Ty8ONujHjAMg+t/COmdZqrtnS1gT+g4hbSodHillymt1Lww==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -699,8 +794,9 @@ }, "node_modules/enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1" }, @@ -710,8 +806,9 @@ }, "node_modules/envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true, - "license": "MIT", "bin": { "envinfo": "dist/cli.js" }, @@ -721,31 +818,35 @@ }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/es-abstract": { - "version": "1.18.0-next.2", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", "object-inspect": "^1.9.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -756,13 +857,15 @@ }, "node_modules/es-module-lexer": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", + "dev": true }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -777,27 +880,30 @@ }, "node_modules/escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/eslint": { - "version": "7.19.0", + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz", + "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -808,12 +914,12 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -821,7 +927,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -846,8 +952,9 @@ }, "node_modules/eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, - "license": "MIT", "dependencies": { "confusing-browser-globals": "^1.0.10", "object.assign": "^4.1.2", @@ -875,8 +982,9 @@ }, "node_modules/eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "resolve": "^1.13.1" @@ -884,21 +992,24 @@ }, "node_modules/eslint-import-resolver-node/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-import-resolver-node/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^2.6.9", "pkg-dir": "^2.0.0" @@ -909,21 +1020,24 @@ }, "node_modules/eslint-module-utils/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-module-utils/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, - "license": "MIT", "dependencies": { "array-includes": "^3.1.1", "array.prototype.flat": "^1.2.3", @@ -948,14 +1062,17 @@ }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "dependencies": { "esutils": "^2.0.2", @@ -967,8 +1084,9 @@ }, "node_modules/eslint-plugin-import/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/eslint-plugin-prettier": { "version": "3.3.1", @@ -993,8 +1111,9 @@ }, "node_modules/eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -1005,8 +1124,9 @@ }, "node_modules/eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, - "license": "MIT", "dependencies": { "eslint-visitor-keys": "^1.1.0" }, @@ -1019,24 +1139,27 @@ }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10" } }, "node_modules/espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", @@ -1048,16 +1171,18 @@ }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=4" } }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -1068,8 +1193,9 @@ }, "node_modules/esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -1079,16 +1205,18 @@ }, "node_modules/esquery/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1098,40 +1226,45 @@ }, "node_modules/esrecurse/node_modules/estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -1152,8 +1285,9 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-diff": { "version": "1.2.0", @@ -1163,23 +1297,27 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true }, "node_modules/fastest-levenshtein": { "version": "1.0.12", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true }, "node_modules/file-entry-cache": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -1189,8 +1327,9 @@ }, "node_modules/find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -1200,8 +1339,9 @@ }, "node_modules/flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" @@ -1212,28 +1352,33 @@ }, "node_modules/flatted": { "version": "3.1.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true }, "node_modules/functional-red-black-tree": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true }, "node_modules/get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -1245,8 +1390,9 @@ }, "node_modules/get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -1256,8 +1402,9 @@ }, "node_modules/glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1274,9 +1421,10 @@ } }, "node_modules/glob-parent": { - "version": "5.1.1", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1286,15 +1434,17 @@ }, "node_modules/glob-to-regexp": { "version": "0.4.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/globals": { - "version": "12.4.0", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz", + "integrity": "sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" }, "engines": { "node": ">=8" @@ -1305,13 +1455,15 @@ }, "node_modules/graceful-fs": { "version": "4.2.6", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true }, "node_modules/has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.1" }, @@ -1319,18 +1471,29 @@ "node": ">= 0.4.0" } }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/has-symbols": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1340,29 +1503,33 @@ }, "node_modules/hosted-git-info": { "version": "2.8.8", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true }, "node_modules/human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1376,8 +1543,9 @@ }, "node_modules/import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, - "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -1391,8 +1559,9 @@ }, "node_modules/import-local/node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -1403,8 +1572,9 @@ }, "node_modules/import-local/node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -1414,8 +1584,9 @@ }, "node_modules/import-local/node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -1428,8 +1599,9 @@ }, "node_modules/import-local/node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -1439,24 +1611,27 @@ }, "node_modules/import-local/node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/import-local/node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -1466,16 +1641,18 @@ }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -1483,26 +1660,54 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", "dev": true, - "license": "MIT" + "dependencies": { + "call-bind": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1512,8 +1717,9 @@ }, "node_modules/is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, - "license": "MIT", "dependencies": { "has": "^1.0.3" }, @@ -1523,8 +1729,9 @@ }, "node_modules/is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1534,24 +1741,27 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1561,8 +1771,21 @@ }, "node_modules/is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1572,8 +1795,9 @@ }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -1583,8 +1807,9 @@ }, "node_modules/is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-symbols": "^1.0.1" @@ -1598,16 +1823,18 @@ }, "node_modules/is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -1617,8 +1844,9 @@ }, "node_modules/is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.1" }, @@ -1631,26 +1859,30 @@ }, "node_modules/isarray": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -1662,13 +1894,15 @@ }, "node_modules/js-tokens": { "version": "4.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true }, "node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1679,23 +1913,27 @@ }, "node_modules/json-parse-better-errors": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true }, "node_modules/json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, - "license": "MIT", "dependencies": { "minimist": "^1.2.0" }, @@ -1705,16 +1943,18 @@ }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -1724,13 +1964,14 @@ } }, "node_modules/load-json-file": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", + "parse-json": "^4.0.0", + "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { @@ -1739,16 +1980,18 @@ }, "node_modules/loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.11.5" } }, "node_modules/locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -1758,13 +2001,16 @@ } }, "node_modules/lodash": { - "version": "4.17.20", - "license": "MIT" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -1774,6 +2020,8 @@ }, "node_modules/memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true, "engines": { "node": ">= 0.10.0" @@ -1781,21 +2029,24 @@ }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/mime-db": { "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "1.46.0" }, @@ -1805,16 +2056,18 @@ }, "node_modules/mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1824,38 +2077,45 @@ }, "node_modules/minimist": { "version": "1.2.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true }, "node_modules/ms": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true }, "node_modules/neo-async": { "version": "2.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true }, "node_modules/nice-try": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true }, "node_modules/node-releases": { "version": "1.1.71", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", + "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -1865,16 +2125,18 @@ }, "node_modules/normalize-package-data/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "chalk": "^2.4.1", @@ -1897,8 +2159,9 @@ }, "node_modules/npm-run-all/node_modules/ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^1.9.0" }, @@ -1908,8 +2171,9 @@ }, "node_modules/npm-run-all/node_modules/chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -1921,21 +2185,24 @@ }, "node_modules/npm-run-all/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, "node_modules/npm-run-all/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, - "license": "MIT", "dependencies": { "nice-try": "^1.0.4", "path-key": "^2.0.1", @@ -1949,90 +2216,36 @@ }, "node_modules/npm-run-all/node_modules/has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/load-json-file": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/path-type": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/read-pkg": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, "engines": { "node": ">=4" } }, "node_modules/npm-run-all/node_modules/semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/npm-run-all/node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -2042,16 +2255,18 @@ }, "node_modules/npm-run-all/node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-all/node_modules/supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^3.0.0" }, @@ -2061,8 +2276,9 @@ }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -2072,8 +2288,9 @@ }, "node_modules/npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -2083,24 +2300,27 @@ }, "node_modules/object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2116,8 +2336,9 @@ }, "node_modules/object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", @@ -2130,8 +2351,9 @@ }, "node_modules/object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2147,16 +2369,18 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -2169,8 +2393,9 @@ }, "node_modules/optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -2185,8 +2410,9 @@ }, "node_modules/p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -2196,8 +2422,9 @@ }, "node_modules/p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -2207,16 +2434,18 @@ }, "node_modules/p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -2225,51 +2454,58 @@ } }, "node_modules/parse-json": { - "version": "2.2.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, - "license": "MIT", "dependencies": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true }, "node_modules/path-type": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^2.0.0" + "pify": "^3.0.0" }, "engines": { "node": ">=4" @@ -2277,8 +2513,9 @@ }, "node_modules/pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true, - "license": "MIT", "bin": { "pidtree": "bin/pidtree.js" }, @@ -2287,17 +2524,19 @@ } }, "node_modules/pify": { - "version": "2.3.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.1.0" }, @@ -2307,8 +2546,9 @@ }, "node_modules/prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } @@ -2339,36 +2579,40 @@ }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/read-pkg": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, - "license": "MIT", "dependencies": { - "load-json-file": "^2.0.0", + "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^3.0.0" }, "engines": { "node": ">=4" @@ -2376,8 +2620,9 @@ }, "node_modules/read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" @@ -2386,10 +2631,73 @@ "node": ">=4" } }, + "node_modules/read-pkg-up/node_modules/load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "dependencies": { + "error-ex": "^1.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "dependencies": { + "pify": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/read-pkg-up/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "dependencies": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, - "license": "MIT", "dependencies": { "resolve": "^1.9.0" }, @@ -2399,8 +2707,9 @@ }, "node_modules/regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2410,16 +2719,18 @@ }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, - "license": "MIT", "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" @@ -2430,8 +2741,9 @@ }, "node_modules/resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, - "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -2441,24 +2753,27 @@ }, "node_modules/resolve-cwd/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -2471,6 +2786,8 @@ }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -2485,13 +2802,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, - "license": "MIT", "dependencies": { "@types/json-schema": "^7.0.6", "ajv": "^6.12.5", @@ -2507,8 +2824,9 @@ }, "node_modules/semver": { "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -2521,16 +2839,18 @@ }, "node_modules/serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -2540,8 +2860,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -2551,26 +2872,30 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { "version": "1.7.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true }, "node_modules/signal-exit": { "version": "3.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true }, "node_modules/slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -2585,38 +2910,34 @@ }, "node_modules/source-list-map": { "version": "2.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true }, "node_modules/source-map": { - "version": "0.7.3", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -2624,13 +2945,15 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -2638,18 +2961,21 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.7", - "dev": true, - "license": "CC0-1.0" + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "node_modules/string-width": { - "version": "4.2.0", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -2661,8 +2987,9 @@ }, "node_modules/string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", @@ -2676,11 +3003,12 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { @@ -2688,11 +3016,12 @@ } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" }, "funding": { @@ -2701,8 +3030,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.0" }, @@ -2712,24 +3042,27 @@ }, "node_modules/strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -2739,8 +3072,9 @@ }, "node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -2750,8 +3084,9 @@ }, "node_modules/table": { "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "ajv": "^7.0.2", "lodash": "^4.17.20", @@ -2763,9 +3098,10 @@ } }, "node_modules/table/node_modules/ajv": { - "version": "7.0.4", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.1.tgz", + "integrity": "sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2779,21 +3115,24 @@ }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/terser": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", + "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "commander": "^2.20.0", "source-map": "~0.7.2", @@ -2808,8 +3147,9 @@ }, "node_modules/terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, - "license": "MIT", "dependencies": { "jest-worker": "^26.6.2", "p-limit": "^3.1.0", @@ -2831,8 +3171,9 @@ }, "node_modules/terser-webpack-plugin/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2843,23 +3184,26 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">= 8" } }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true }, "node_modules/tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, - "license": "MIT", "dependencies": { "@types/json5": "^0.0.29", "json5": "^1.0.1", @@ -2869,13 +3213,15 @@ }, "node_modules/tslib": { "version": "1.14.1", - "dev": true, - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -2884,30 +3230,49 @@ } }, "node_modules/type-fest": { - "version": "0.8.1", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", + "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.0", + "has-symbols": "^1.0.0", + "which-boxed-primitive": "^1.0.1" } }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/v8-compile-cache": { - "version": "2.2.0", - "dev": true, - "license": "MIT" + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -2915,8 +3280,9 @@ }, "node_modules/watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, - "license": "MIT", "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -2926,9 +3292,10 @@ } }, "node_modules/webpack": { - "version": "5.24.4", + "version": "5.26.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.2.tgz", + "integrity": "sha512-h07tAPeQceEO3Idrevqv4ECcpMH8Zp0aUUJ+IytujWTVf6TF5PI3rKVw0Z+7rNjU4qJuEx18BykFxgRvR9VgEQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/eslint-scope": "^3.7.0", "@types/estree": "^0.0.46", @@ -2972,8 +3339,9 @@ }, "node_modules/webpack-cli": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", + "integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", "dev": true, - "license": "MIT", "dependencies": { "@discoveryjs/json-ext": "^0.5.0", "@webpack-cli/configtest": "^1.0.1", @@ -3019,16 +3387,18 @@ }, "node_modules/webpack-cli/node_modules/commander": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } }, "node_modules/webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -3039,8 +3409,9 @@ }, "node_modules/webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, - "license": "MIT", "dependencies": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" @@ -3049,18 +3420,11 @@ "node": ">=10.13.0" } }, - "node_modules/webpack-sources/node_modules/source-map": { - "version": "0.6.1", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/webpack/node_modules/acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3070,8 +3434,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -3082,33 +3447,54 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wildcard": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true }, "node_modules/word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "node_modules/yallist": { "version": "4.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -3119,18 +3505,24 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.13", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", "dev": true, "requires": { - "@babel/highlight": "^7.12.13" + "@babel/highlight": "^7.10.4" } }, "@babel/helper-validator-identifier": { "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { - "version": "7.12.13", + "version": "7.13.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz", + "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.12.11", @@ -3140,6 +3532,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -3147,6 +3541,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -3156,6 +3552,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -3163,14 +3561,20 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -3180,6 +3584,8 @@ }, "@discoveryjs/json-ext": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.2.tgz", + "integrity": "sha512-HyYEUDeIj5rRQU2Hk5HTB2uHsbRQpF70nvMhVzi+VJR0X+xNEhjPui4/kBf3VeH/wqD28PT4sVOm8qqLjBrSZg==", "dev": true }, "@eastdesire/jscolor": { @@ -3188,7 +3594,9 @@ "integrity": "sha512-LDCEGN7qKKO3tq6yYtx6cbz/tQlr9LqKNSFaG2GIIn03y67ot3doucpDGoQjCwXG2xUB4pDXRuH2lobjjxhtJA==" }, "@eslint/eslintrc": { - "version": "0.3.0", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz", + "integrity": "sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -3198,13 +3606,31 @@ "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } } }, "@types/eslint": { "version": "7.2.7", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.2.7.tgz", + "integrity": "sha512-EHXbc1z2GoQRqHaAT7+grxlTJ3WE2YNeD6jlpPoRc83cCoThRY+NUWjCUZaYmk51OICkPXn2hhphcWcWXgNW0Q==", "dev": true, "requires": { "@types/estree": "*", @@ -3213,6 +3639,8 @@ }, "@types/eslint-scope": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.0.tgz", + "integrity": "sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw==", "dev": true, "requires": { "@types/eslint": "*", @@ -3221,22 +3649,32 @@ }, "@types/estree": { "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==", "dev": true }, "@types/json-schema": { "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/json5": { "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", "dev": true }, "@types/node": { - "version": "14.14.33", + "version": "14.14.35", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz", + "integrity": "sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag==", "dev": true }, "@webassemblyjs/ast": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", + "integrity": "sha512-kX2W49LWsbthrmIRMbQZuQDhGtjyqXfEmmHyEi4XWnSZtPmxY0+3anPIzsnRb45VH/J55zlOfWvZuY47aJZTJg==", "dev": true, "requires": { "@webassemblyjs/helper-numbers": "1.11.0", @@ -3245,18 +3683,26 @@ }, "@webassemblyjs/floating-point-hex-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.0.tgz", + "integrity": "sha512-Q/aVYs/VnPDVYvsCBL/gSgwmfjeCb4LW8+TMrO3cSzJImgv8lxxEPM2JA5jMrivE7LSz3V+PFqtMbls3m1exDA==", "dev": true }, "@webassemblyjs/helper-api-error": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.0.tgz", + "integrity": "sha512-baT/va95eXiXb2QflSx95QGT5ClzWpGaa8L7JnJbgzoYeaA27FCvuBXU758l+KXWRndEmUXjP0Q5fibhavIn8w==", "dev": true }, "@webassemblyjs/helper-buffer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.0.tgz", + "integrity": "sha512-u9HPBEl4DS+vA8qLQdEQ6N/eJQ7gT7aNvMIo8AAWvAl/xMrcOSiI2M0MAnMCy3jIFke7bEee/JwdX1nUpCtdyA==", "dev": true }, "@webassemblyjs/helper-numbers": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.0.tgz", + "integrity": "sha512-DhRQKelIj01s5IgdsOJMKLppI+4zpmcMQ3XboFPLwCpSNH6Hqo1ritgHgD0nqHeSYqofA6aBN/NmXuGjM1jEfQ==", "dev": true, "requires": { "@webassemblyjs/floating-point-hex-parser": "1.11.0", @@ -3266,10 +3712,14 @@ }, "@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.0.tgz", + "integrity": "sha512-MbmhvxXExm542tWREgSFnOVo07fDpsBJg3sIl6fSp9xuu75eGz5lz31q7wTLffwL3Za7XNRCMZy210+tnsUSEA==", "dev": true }, "@webassemblyjs/helper-wasm-section": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.0.tgz", + "integrity": "sha512-3Eb88hcbfY/FCukrg6i3EH8H2UsD7x8Vy47iVJrP967A9JGqgBVL9aH71SETPx1JrGsOUVLo0c7vMCN22ytJew==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3280,6 +3730,8 @@ }, "@webassemblyjs/ieee754": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.0.tgz", + "integrity": "sha512-KXzOqpcYQwAfeQ6WbF6HXo+0udBNmw0iXDmEK5sFlmQdmND+tr773Ti8/5T/M6Tl/413ArSJErATd8In3B+WBA==", "dev": true, "requires": { "@xtuc/ieee754": "^1.2.0" @@ -3287,6 +3739,8 @@ }, "@webassemblyjs/leb128": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.0.tgz", + "integrity": "sha512-aqbsHa1mSQAbeeNcl38un6qVY++hh8OpCOzxhixSYgbRfNWcxJNJQwe2rezK9XEcssJbbWIkblaJRwGMS9zp+g==", "dev": true, "requires": { "@xtuc/long": "4.2.2" @@ -3294,10 +3748,14 @@ }, "@webassemblyjs/utf8": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.0.tgz", + "integrity": "sha512-A/lclGxH6SpSLSyFowMzO/+aDEPU4hvEiooCMXQPcQFPPJaYcPQNKGOCLUySJsYJ4trbpr+Fs08n4jelkVTGVw==", "dev": true }, "@webassemblyjs/wasm-edit": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.0.tgz", + "integrity": "sha512-JHQ0damXy0G6J9ucyKVXO2j08JVJ2ntkdJlq1UTiUrIgfGMmA7Ik5VdC/L8hBK46kVJgujkBIoMtT8yVr+yVOQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3312,6 +3770,8 @@ }, "@webassemblyjs/wasm-gen": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.0.tgz", + "integrity": "sha512-BEUv1aj0WptCZ9kIS30th5ILASUnAPEvE3tVMTrItnZRT9tXCLW2LEXT8ezLw59rqPP9klh9LPmpU+WmRQmCPQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3323,6 +3783,8 @@ }, "@webassemblyjs/wasm-opt": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.0.tgz", + "integrity": "sha512-tHUSP5F4ywyh3hZ0+fDQuWxKx3mJiPeFufg+9gwTpYp324mPCQgnuVKwzLTZVqj0duRDovnPaZqDwoyhIO8kYg==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3333,6 +3795,8 @@ }, "@webassemblyjs/wasm-parser": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.0.tgz", + "integrity": "sha512-6L285Sgu9gphrcpDXINvm0M9BskznnzJTE7gYkjDbxET28shDqp27wpruyx3C2S/dvEwiigBwLA1cz7lNUi0kw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3345,6 +3809,8 @@ }, "@webassemblyjs/wast-printer": { "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.0.tgz", + "integrity": "sha512-Fg5OX46pRdTgB7rKIUojkh9vXaVN6sGYCnEiJN1GYkb0RPwShZXp6KTDqmoMdQPKhcroOXh3fEzmkWmCYaKYhQ==", "dev": true, "requires": { "@webassemblyjs/ast": "1.11.0", @@ -3353,11 +3819,15 @@ }, "@webpack-cli/configtest": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.1.tgz", + "integrity": "sha512-B+4uBUYhpzDXmwuo3V9yBH6cISwxEI4J+NO5ggDaGEEHb0osY/R7MzeKc0bHURXQuZjMM4qD+bSJCKIuI3eNBQ==", "dev": true, "requires": {} }, "@webpack-cli/info": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.2.2.tgz", + "integrity": "sha512-5U9kUJHnwU+FhKH4PWGZuBC1hTEPYyxGSL5jjoBI96Gx8qcYJGOikpiIpFoTq8mmgX3im2zAo2wanv/alD74KQ==", "dev": true, "requires": { "envinfo": "^7.7.3" @@ -3365,28 +3835,40 @@ }, "@webpack-cli/serve": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.3.0.tgz", + "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", "dev": true, "requires": {} }, "@xtuc/ieee754": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, "@xtuc/long": { "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, "acorn": { "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true, "requires": {} }, "ajv": { "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -3397,19 +3879,27 @@ }, "ajv-keywords": { "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", "dev": true, "requires": {} }, "ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true }, "ansi-regex": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", "dev": true }, "ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { "color-convert": "^2.0.1" @@ -3417,6 +3907,8 @@ }, "argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { "sprintf-js": "~1.0.2" @@ -3424,6 +3916,8 @@ }, "array-includes": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", + "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -3435,6 +3929,8 @@ }, "array.prototype.flat": { "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -3444,14 +3940,20 @@ }, "astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "balanced-match": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, "brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { "balanced-match": "^1.0.0", @@ -3460,6 +3962,8 @@ }, "browserslist": { "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "dev": true, "requires": { "caniuse-lite": "^1.0.30001181", @@ -3471,10 +3975,14 @@ }, "buffer-from": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, "call-bind": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3483,14 +3991,20 @@ }, "callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "caniuse-lite": { - "version": "1.0.30001197", + "version": "1.0.30001202", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001202.tgz", + "integrity": "sha512-ZcijQNqrcF8JNLjzvEiXqX4JUYxoZa7Pvcsd9UD8Kz4TvhTonOSNRsK+qtvpVL4l6+T1Rh4LFtLfnNWg6BGWCQ==", "dev": true }, "chalk": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "requires": { "ansi-styles": "^4.1.0", @@ -3499,6 +4013,8 @@ }, "chrome-trace-event": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -3506,6 +4022,8 @@ }, "clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, "requires": { "is-plain-object": "^2.0.4", @@ -3515,6 +4033,8 @@ }, "color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "requires": { "color-name": "~1.1.4" @@ -3522,30 +4042,44 @@ }, "color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, "colorette": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", + "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==", "dev": true }, "commander": { "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "concat-map": { "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "confusing-browser-globals": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", "dev": true }, "contains-path": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, "cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -3555,6 +4089,8 @@ }, "debug": { "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -3562,10 +4098,14 @@ }, "deep-is": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", "dev": true }, "define-properties": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dev": true, "requires": { "object-keys": "^1.0.12" @@ -3573,21 +4113,29 @@ }, "doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "requires": { "esutils": "^2.0.2" } }, "electron-to-chromium": { - "version": "1.3.684", + "version": "1.3.690", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.690.tgz", + "integrity": "sha512-zPbaSv1c8LUKqQ+scNxJKv01RYFkVVF1xli+b+3Ty8ONujHjAMg+t/COmdZqrtnS1gT+g4hbSodHillymt1Lww==", "dev": true }, "emoji-regex": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "enhanced-resolve": { "version": "5.7.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.7.0.tgz", + "integrity": "sha512-6njwt/NsZFUKhM6j9U8hzVyD4E4r0x7NQzhTCbcWOJ0IQjNSAoalWmb0AE51Wn+fwan5qVESWi7t2ToBxs9vrw==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -3596,6 +4144,8 @@ }, "enquirer": { "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "requires": { "ansi-colors": "^4.1.1" @@ -3603,41 +4153,53 @@ }, "envinfo": { "version": "7.7.4", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.7.4.tgz", + "integrity": "sha512-TQXTYFVVwwluWSFis6K2XKxgrD22jEv0FTuLCQI+OjH7rn93+iY0fSSFM5lrSxFY+H1+B0/cvvlamr3UsBivdQ==", "dev": true }, "error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "requires": { "is-arrayish": "^0.2.1" } }, "es-abstract": { - "version": "1.18.0-next.2", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", + "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", "dev": true, "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", + "get-intrinsic": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", + "is-regex": "^1.1.2", + "is-string": "^1.0.5", "object-inspect": "^1.9.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.0" } }, "es-module-lexer": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.4.1.tgz", + "integrity": "sha512-ooYciCUtfw6/d2w56UVeqHPcoCFAiJdz5XOkYpv/Txl1HMUozpXjz/2RIQgqwKdXNDPSF1W7mJCFse3G+HDyAA==", "dev": true }, "es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, "requires": { "is-callable": "^1.1.4", @@ -3647,18 +4209,24 @@ }, "escalade": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, "escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { - "version": "7.19.0", + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz", + "integrity": "sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.3.0", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -3669,12 +4237,12 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", - "file-entry-cache": "^6.0.0", + "file-entry-cache": "^6.0.1", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", - "globals": "^12.1.0", + "globals": "^13.6.0", "ignore": "^4.0.6", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", @@ -3682,7 +4250,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.20", + "lodash": "^4.17.21", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -3698,6 +4266,8 @@ }, "eslint-config-airbnb-base": { "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, "requires": { "confusing-browser-globals": "^1.0.10", @@ -3714,6 +4284,8 @@ }, "eslint-import-resolver-node": { "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3722,6 +4294,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3729,12 +4303,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-module-utils": { "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", "dev": true, "requires": { "debug": "^2.6.9", @@ -3743,6 +4321,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3750,12 +4330,16 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } }, "eslint-plugin-import": { "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -3775,6 +4359,8 @@ "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -3782,6 +4368,8 @@ }, "doctrine": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { "esutils": "^2.0.2", @@ -3790,6 +4378,8 @@ }, "ms": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true } } @@ -3805,6 +4395,8 @@ }, "eslint-scope": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -3813,6 +4405,8 @@ }, "eslint-utils": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", "dev": true, "requires": { "eslint-visitor-keys": "^1.1.0" @@ -3820,16 +4414,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "eslint-visitor-keys": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", + "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", "dev": true }, "espree": { "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", "dev": true, "requires": { "acorn": "^7.4.0", @@ -3839,16 +4439,22 @@ "dependencies": { "eslint-visitor-keys": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", "dev": true } } }, "esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true }, "esquery": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -3856,12 +4462,16 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "esrecurse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, "requires": { "estraverse": "^5.2.0" @@ -3869,24 +4479,34 @@ "dependencies": { "estraverse": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "dev": true } } }, "estraverse": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", "dev": true }, "esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "events": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true }, "execa": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, "requires": { "cross-spawn": "^7.0.3", @@ -3902,6 +4522,8 @@ }, "fast-deep-equal": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { @@ -3912,18 +4534,26 @@ }, "fast-json-stable-stringify": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true }, "fast-levenshtein": { "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", "dev": true }, "fastest-levenshtein": { "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", "dev": true }, "file-entry-cache": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { "flat-cache": "^3.0.4" @@ -3931,6 +4561,8 @@ }, "find-up": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dev": true, "requires": { "locate-path": "^2.0.0" @@ -3938,6 +4570,8 @@ }, "flat-cache": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { "flatted": "^3.1.0", @@ -3946,22 +4580,32 @@ }, "flatted": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz", + "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==", "dev": true }, "fs.realpath": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "function-bind": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, "functional-red-black-tree": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, "get-intrinsic": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", "dev": true, "requires": { "function-bind": "^1.1.1", @@ -3971,10 +4615,14 @@ }, "get-stream": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true }, "glob": { "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -3986,7 +4634,9 @@ } }, "glob-parent": { - "version": "5.1.1", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -3994,48 +4644,74 @@ }, "glob-to-regexp": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", "dev": true }, "globals": { - "version": "12.4.0", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.6.0.tgz", + "integrity": "sha512-YFKCX0SiPg7l5oKYCJ2zZGxcXprVXHcSnVuvzrT3oSENQonVLqM5pf9fN5dLGZGyCjhw8TN8Btwe/jKnZ0pjvQ==", "dev": true, "requires": { - "type-fest": "^0.8.1" + "type-fest": "^0.20.2" } }, "graceful-fs": { "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", "dev": true }, "has": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, "requires": { "function-bind": "^1.1.1" } }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "has-symbols": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", "dev": true }, "hosted-git-info": { "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "dev": true }, "human-signals": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true }, "ignore": { "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -4044,6 +4720,8 @@ }, "import-local": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", + "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -4052,6 +4730,8 @@ "dependencies": { "find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, "requires": { "locate-path": "^5.0.0", @@ -4060,6 +4740,8 @@ }, "locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, "requires": { "p-locate": "^4.1.0" @@ -4067,6 +4749,8 @@ }, "p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { "p-try": "^2.0.0" @@ -4074,6 +4758,8 @@ }, "p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, "requires": { "p-limit": "^2.2.0" @@ -4081,14 +4767,20 @@ }, "p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, "pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, "requires": { "find-up": "^4.0.0" @@ -4098,10 +4790,14 @@ }, "imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -4110,22 +4806,47 @@ }, "inherits": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, "interpret": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", "dev": true }, "is-arrayish": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", + "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", "dev": true }, + "is-boolean-object": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", + "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.0" + } + }, "is-callable": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", "dev": true }, "is-core-module": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", "dev": true, "requires": { "has": "^1.0.3" @@ -4133,18 +4854,26 @@ }, "is-date-object": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", "dev": true }, "is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "dev": true, "requires": { "is-extglob": "^2.1.1" @@ -4152,10 +4881,20 @@ }, "is-negative-zero": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", + "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", "dev": true }, "is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, "requires": { "isobject": "^3.0.1" @@ -4163,6 +4902,8 @@ }, "is-regex": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4171,14 +4912,20 @@ }, "is-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, "is-string": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", "dev": true }, "is-symbol": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", "dev": true, "requires": { "has-symbols": "^1.0.1" @@ -4186,18 +4933,26 @@ }, "isarray": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, "isexe": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", "dev": true }, "jest-worker": { "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", "dev": true, "requires": { "@types/node": "*", @@ -4207,10 +4962,14 @@ }, "js-tokens": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, "js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, "requires": { "argparse": "^1.0.7", @@ -4219,18 +4978,26 @@ }, "json-parse-better-errors": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema-traverse": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", "dev": true }, "json5": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -4238,10 +5005,14 @@ }, "kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, "levn": { "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, "requires": { "prelude-ls": "^1.2.1", @@ -4249,21 +5020,27 @@ } }, "load-json-file": { - "version": "2.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", + "parse-json": "^4.0.0", + "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, "loader-runner": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", "dev": true }, "locate-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "dev": true, "requires": { "p-locate": "^2.0.0", @@ -4271,10 +5048,15 @@ } }, "lodash": { - "version": "4.17.20" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lru-cache": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { "yallist": "^4.0.0" @@ -4282,18 +5064,26 @@ }, "memorystream": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true }, "merge-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, "mime-db": { "version": "1.46.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz", + "integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==", "dev": true }, "mime-types": { "version": "2.1.29", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz", + "integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==", "dev": true, "requires": { "mime-db": "1.46.0" @@ -4301,10 +5091,14 @@ }, "mimic-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true }, "minimatch": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { "brace-expansion": "^1.1.7" @@ -4312,30 +5106,44 @@ }, "minimist": { "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", "dev": true }, "ms": { "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, "natural-compare": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "neo-async": { "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, "nice-try": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, "node-releases": { "version": "1.1.71", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.71.tgz", + "integrity": "sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg==", "dev": true }, "normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, "requires": { "hosted-git-info": "^2.1.4", @@ -4346,12 +5154,16 @@ "dependencies": { "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } }, "npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4367,6 +5179,8 @@ "dependencies": { "ansi-styles": { "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { "color-convert": "^1.9.0" @@ -4374,6 +5188,8 @@ }, "chalk": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -4383,6 +5199,8 @@ }, "color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, "requires": { "color-name": "1.1.3" @@ -4390,10 +5208,14 @@ }, "color-name": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "cross-spawn": { "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { "nice-try": "^1.0.4", @@ -4405,56 +5227,26 @@ }, "has-flag": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "load-json-file": { - "version": "4.0.0", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "path-key": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "path-type": { - "version": "3.0.0", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, "semver": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true }, "shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "dev": true, "requires": { "shebang-regex": "^1.0.0" @@ -4462,10 +5254,14 @@ }, "shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "dev": true }, "supports-color": { "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "requires": { "has-flag": "^3.0.0" @@ -4473,6 +5269,8 @@ }, "which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, "requires": { "isexe": "^2.0.0" @@ -4482,6 +5280,8 @@ }, "npm-run-path": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, "requires": { "path-key": "^3.0.0" @@ -4489,14 +5289,20 @@ }, "object-inspect": { "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", "dev": true }, "object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true }, "object.assign": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4507,6 +5313,8 @@ }, "object.entries": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { "call-bind": "^1.0.0", @@ -4517,6 +5325,8 @@ }, "object.values": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.3.tgz", + "integrity": "sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4527,6 +5337,8 @@ }, "once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -4534,6 +5346,8 @@ }, "onetime": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, "requires": { "mimic-fn": "^2.1.0" @@ -4541,6 +5355,8 @@ }, "optionator": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", "dev": true, "requires": { "deep-is": "^0.1.3", @@ -4553,6 +5369,8 @@ }, "p-limit": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, "requires": { "p-try": "^1.0.0" @@ -4560,6 +5378,8 @@ }, "p-locate": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dev": true, "requires": { "p-limit": "^1.1.0" @@ -4567,55 +5387,78 @@ }, "p-try": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", "dev": true }, "parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, "requires": { "callsites": "^3.0.0" } }, "parse-json": { - "version": "2.2.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", "dev": true }, "path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, "path-parse": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "dev": true }, "path-type": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "^3.0.0" } }, "pidtree": { "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", "dev": true }, "pify": { - "version": "2.3.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "pkg-dir": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "dev": true, "requires": { "find-up": "^2.1.0" @@ -4623,6 +5466,8 @@ }, "prelude-ls": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true }, "prettier": { @@ -4642,38 +5487,99 @@ }, "progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, "punycode": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, "randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, "read-pkg": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "^2.0.0", + "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^3.0.0" } }, "read-pkg-up": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", "dev": true, "requires": { "find-up": "^2.0.0", "read-pkg": "^2.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "^2.0.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + } } }, "rechoir": { "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "dev": true, "requires": { "resolve": "^1.9.0" @@ -4681,14 +5587,20 @@ }, "regexpp": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", "dev": true }, "require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true }, "resolve": { "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "dev": true, "requires": { "is-core-module": "^2.2.0", @@ -4697,6 +5609,8 @@ }, "resolve-cwd": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, "requires": { "resolve-from": "^5.0.0" @@ -4704,16 +5618,22 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, "rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "requires": { "glob": "^7.1.3" @@ -4721,10 +5641,14 @@ }, "safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true }, "schema-utils": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", + "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", "dev": true, "requires": { "@types/json-schema": "^7.0.6", @@ -4734,6 +5658,8 @@ }, "semver": { "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -4741,6 +5667,8 @@ }, "serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -4748,6 +5676,8 @@ }, "shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, "requires": { "kind-of": "^6.0.2" @@ -4755,6 +5685,8 @@ }, "shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "requires": { "shebang-regex": "^3.0.0" @@ -4762,18 +5694,26 @@ }, "shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, "shell-quote": { "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", "dev": true }, "signal-exit": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", "dev": true }, "slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { "ansi-styles": "^4.0.0", @@ -4783,28 +5723,30 @@ }, "source-list-map": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", "dev": true }, "source-map": { - "version": "0.7.3", + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true }, "source-map-support": { "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } } }, "spdx-correct": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", @@ -4813,10 +5755,14 @@ }, "spdx-exceptions": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, "spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, "requires": { "spdx-exceptions": "^2.1.0", @@ -4825,14 +5771,20 @@ }, "spdx-license-ids": { "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "sprintf-js": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, "string-width": { - "version": "4.2.0", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", + "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", "dev": true, "requires": { "emoji-regex": "^8.0.0", @@ -4842,6 +5794,8 @@ }, "string.prototype.padend": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", "dev": true, "requires": { "call-bind": "^1.0.2", @@ -4850,23 +5804,29 @@ } }, "string.prototype.trimend": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.3", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3" } }, "strip-ansi": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, "requires": { "ansi-regex": "^5.0.0" @@ -4874,18 +5834,26 @@ }, "strip-bom": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, "strip-final-newline": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true }, "strip-json-comments": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -4893,6 +5861,8 @@ }, "table": { "version": "6.0.7", + "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz", + "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==", "dev": true, "requires": { "ajv": "^7.0.2", @@ -4902,7 +5872,9 @@ }, "dependencies": { "ajv": { - "version": "7.0.4", + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.2.1.tgz", + "integrity": "sha512-+nu0HDv7kNSOua9apAVc979qd932rrZeb3WOvoiD31A/p1mIE5/9bN2027pE2rOPYEdS3UHzsvof4hY+lM9/WQ==", "dev": true, "requires": { "fast-deep-equal": "^3.1.1", @@ -4913,25 +5885,41 @@ }, "json-schema-traverse": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true } } }, "tapable": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.0.tgz", + "integrity": "sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==", "dev": true }, "terser": { "version": "5.6.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", + "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", "dev": true, "requires": { "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.19" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } } }, "terser-webpack-plugin": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-5XNNXZiR8YO6X6KhSGXfY0QrGrCRlSwAEjIIrlRQR4W8nP69TaJUlh3bkuac6zzgspiGPfKEHcY295MMVExl5Q==", "dev": true, "requires": { "jest-worker": "^26.6.2", @@ -4944,23 +5932,25 @@ "dependencies": { "p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "requires": { "yocto-queue": "^0.1.0" } - }, - "source-map": { - "version": "0.6.1", - "dev": true } } }, "text-table": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, "tsconfig-paths": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", "dev": true, "requires": { "@types/json5": "^0.0.29", @@ -4971,32 +5961,56 @@ }, "tslib": { "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, "type-check": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, "requires": { "prelude-ls": "^1.2.1" } }, "type-fest": { - "version": "0.8.1", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "unbox-primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.0.tgz", + "integrity": "sha512-P/51NX+JXyxK/aigg1/ZgyccdAxm5K1+n8+tvqSntjOivPt19gvm1VC49RWYetsiub8WViUchdxl/KWHHB0kzA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.0", + "has-symbols": "^1.0.0", + "which-boxed-primitive": "^1.0.1" + } + }, "uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, "requires": { "punycode": "^2.1.0" } }, "v8-compile-cache": { - "version": "2.2.0", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, "validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, "requires": { "spdx-correct": "^3.0.0", @@ -5005,6 +6019,8 @@ }, "watchpack": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -5012,7 +6028,9 @@ } }, "webpack": { - "version": "5.24.4", + "version": "5.26.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.26.2.tgz", + "integrity": "sha512-h07tAPeQceEO3Idrevqv4ECcpMH8Zp0aUUJ+IytujWTVf6TF5PI3rKVw0Z+7rNjU4qJuEx18BykFxgRvR9VgEQ==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -5042,12 +6060,16 @@ "dependencies": { "acorn": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.0.tgz", + "integrity": "sha512-LWCF/Wn0nfHOmJ9rzQApGnxnvgfROzGilS8936rqN/lfcYkY9MYZzdMqN+2NJ4SlTc+m5HiSa+kNfDtI64dwUA==", "dev": true } } }, "webpack-cli": { "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.5.0.tgz", + "integrity": "sha512-wXg/ef6Ibstl2f50mnkcHblRPN/P9J4Nlod5Hg9HGFgSeF8rsqDGHJeVe4aR26q9l62TUJi6vmvC2Qz96YJw1Q==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -5068,12 +6090,16 @@ "dependencies": { "commander": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.1.0.tgz", + "integrity": "sha512-pRxBna3MJe6HKnBGsDyMv8ETbptw3axEdYHoqNh7gu5oDcew8fs0xnivZGm06Ogk8zGAJ9VX+OPEr2GXEQK4dg==", "dev": true } } }, "webpack-merge": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz", + "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -5082,43 +6108,64 @@ }, "webpack-sources": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", + "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", "dev": true, "requires": { "source-list-map": "^2.0.1", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "dev": true - } } }, "which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, "requires": { "isexe": "^2.0.0" } }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, "wildcard": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", "dev": true }, "word-wrap": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, "wrappy": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true } } diff --git a/package.json b/package.json index 27c324c8..36b395a3 100644 --- a/package.json +++ b/package.json @@ -12,12 +12,12 @@ ], "scripts": { "copy-file": "cp dist/CookieMonster.js CookieMonster.js", - "eslint_src": "eslint src", - "build": "run-s eslint_src pack_prod remove_comment copy-file", - "build_test": "run-s pack_dev", - "pack_prod": "webpack --env production", - "pack_dev": "webpack", - "remove_comment": "sed -i '' -e '/\\/\\/# sourceMappingURL.*/d' dist/CookieMonster.js" + "eslint-src": "eslint src", + "build": "run-s eslint-src pack-prod remove-comment copy-file", + "build-test": "run-s pack-dev", + "pack-prod": "webpack --env production", + "pack-dev": "webpack", + "remove-comment": "sed -i '' -e '/\\/\\/# sourceMappingURL.*/d' dist/CookieMonster.js" }, "repository": { "type": "git", diff --git a/src/Config/Toggles/ToggleSectionHideButtons.js b/src/Config/Toggles/ToggleSectionHideButtons.js new file mode 100644 index 00000000..73f92b13 --- /dev/null +++ b/src/Config/Toggles/ToggleSectionHideButtons.js @@ -0,0 +1,13 @@ +import { CMOptions } from '../VariablesAndData'; + +/** + * This function updates the display setting of the two objects created by CM.Disp.CreateWrinklerButtons() + * It is called by changes in CM.Options.WrinklerButtons + */ +export default function ToggleSectionHideButtons() { + if (CMOptions.HideSectionsButtons) { + l('CMSectionHidButtons').style.display = ''; + } else { + l('CMSectionHidButtons').style.display = 'none'; + } +} diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 618be14c..462ff0fc 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -4,6 +4,7 @@ import { ToggleTimerBar, ToggleTimerBarPos } from '../Config/SpecificToggles'; import ToggleBotBar from '../Config/Toggles/ToggleBotBar'; import ToggleDetailedTime from '../Config/Toggles/ToggleDetailedTime'; import ToggleGCTimer from '../Config/Toggles/ToggleGCTimer'; +import ToggleSectionHideButtons from '../Config/Toggles/ToggleSectionHideButtons'; import ToggleToolWarnPos from '../Config/Toggles/ToggleToolWarnPos'; import ToggleUpgradeBarAndColor from '../Config/Toggles/ToggleUpgradeBarAndColor'; import ToggleUpgradeBarFixedPos from '../Config/Toggles/ToggleUpgradeBarFixedPos'; @@ -100,6 +101,13 @@ const Config = { UpdateBuildings(); }, ), + PPDisplayTime: new SettingStandard( + 'bool', + 'BarsColors', + ['PP As Value (Standard)', 'PP As Time Unit'], + 'Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.', + false, + ), UpBarColor: new SettingStandard( 'bool', 'BarsColors', @@ -728,13 +736,23 @@ const Config = { WrinklerButtons: new SettingStandard( 'bool', 'Miscellaneous', - ['Extra Buttons OFF', 'Extra Buttons ON'], + ['Extra Wrinkler Buttons OFF', 'Extra Wrinkler Buttons ON'], 'Show buttons for popping wrinklers at bottom of cookie section', true, function () { ToggleWrinklerButtons(); }, ), + HideSectionsButtons: new SettingStandard( + 'bool', + 'Miscellaneous', + ['Hide Upgrades/Buildings Button OFF', 'Hide Upgrades/Buildings Button ON'], + 'Show buttons for hiding and showing the upgrades and buildings section in the right column', + true, + function () { + ToggleSectionHideButtons(); + }, + ), BulkBuyBlock: new SettingStandard( 'bool', 'Miscellaneous', diff --git a/src/Data/SettingsDefault.js b/src/Data/SettingsDefault.js index 57883e86..2d28d439 100644 --- a/src/Data/SettingsDefault.js +++ b/src/Data/SettingsDefault.js @@ -5,6 +5,7 @@ const ConfigDefault = { TimerBarPos: 0, TimerBarOverlay: 2, BuildColor: 1, + PPDisplayTime: 0, UpBarColor: 1, UpgradeBarFixedPos: 1, CalcWrink: 0, @@ -100,6 +101,7 @@ const ConfigDefault = { GCTimer: 1, Favicon: 1, WrinklerButtons: 1, + HideSectionsButtons: 0, BulkBuyBlock: 0, Header: { BarsColors: 1, diff --git a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js index 7741ab7c..a3764f9c 100644 --- a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js +++ b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js @@ -96,6 +96,7 @@ export function Beautify(num, floats, forced) { export function FormatTime(time, longFormat) { let formattedTime = time; if (time === Infinity) return time; + if (time < 0) return 'Negative time period'; formattedTime = Math.ceil(time); const y = Math.floor(formattedTime / 31557600); const d = Math.floor((formattedTime % 31557600) / 86400); diff --git a/src/Disp/InfoBars/BottomBar.js b/src/Disp/InfoBars/BottomBar.js index 0f6e5d2e..33ecf842 100644 --- a/src/Disp/InfoBars/BottomBar.js +++ b/src/Disp/InfoBars/BottomBar.js @@ -9,6 +9,7 @@ import { CMOptions } from '../../Config/VariablesAndData'; import { VersionMajor, VersionMinor } from '../../Data/Moddata'; import { Beautify, + FormatTime, GetTimeColor, } from '../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../HelperFunctions/GetCPS'; @@ -94,9 +95,13 @@ export function UpdateBotBar() { l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[ count ].className = ColorTextPre + target[i].color; + let PPString; + if (CMOptions.PPDisplayTime) + PPString = FormatTime(Math.round(target[i].pp)); + else PPString = Beautify(Math.round(target[i].pp), 2); l('CMBotBar').firstChild.firstChild.childNodes[2].childNodes[ count - ].textContent = Beautify(Math.round(target[i].pp), 2); + ].textContent = PPString; const timeColor = GetTimeColor( (Game.Objects[i].bulkPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(), diff --git a/src/Disp/Initialization/CreateSectionHideButtons.js b/src/Disp/Initialization/CreateSectionHideButtons.js new file mode 100644 index 00000000..c4b001ec --- /dev/null +++ b/src/Disp/Initialization/CreateSectionHideButtons.js @@ -0,0 +1,38 @@ +/** + * This function creates two objects at the top of the right column that allowing hiding the upgrade and building section + */ +export default function CreateSectionHideButtons() { + const div = document.createElement('div'); + div.id = 'CMSectionHidButtons'; + div.style.textAlign = 'center'; + const a = document.createElement('a'); + a.className = 'option'; + a.onclick = function () { + if (l('upgrades').style.display === 'flex') { + l('upgrades').style.display = 'none'; + l('toggleUpgrades').style.display = 'none'; + l('techUpgrades').style.display = 'none'; + l('vaultUpgrades').style.display = 'none'; + } else { + l('upgrades').style.display = 'flex'; + if (l('toggleUpgrades').children.length !== 0) + l('toggleUpgrades').style.display = 'block'; + if (l('techUpgrades').children.length !== 0) + l('techUpgrades').style.display = 'block'; + if (l('vaultUpgrades').children.length !== 0) + l('vaultUpgrades').style.display = 'block'; + } + }; + a.textContent = 'Hide/Show Upgrades'; + div.appendChild(a); + const b = document.createElement('a'); + b.className = 'option'; + b.onclick = function () { + if (l('products').style.display === 'grid') + l('products').style.display = 'none'; + else l('products').style.display = 'grid'; + }; + b.textContent = 'Hide/Show Buildings'; + div.appendChild(b); + l('store').insertBefore(div, l('store').childNodes[2]); +} diff --git a/src/Disp/Tooltips/TypesOfTooltips/Building.js b/src/Disp/Tooltips/TypesOfTooltips/Building.js index 829c4ced..48e626b7 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/Building.js +++ b/src/Disp/Tooltips/TypesOfTooltips/Building.js @@ -8,6 +8,7 @@ import { CMOptions } from '../../../Config/VariablesAndData'; import { SimObjects } from '../../../Sim/VariablesAndData'; import { Beautify, + FormatTime, GetTimeColor, } from '../../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../../HelperFunctions/GetCPS'; @@ -55,7 +56,9 @@ export default function Building() { }01% of income)`; } l('CMTooltipBorder').className = ColorTextPre + target[TooltipName].color; - l('CMTooltipPP').textContent = Beautify(target[TooltipName].pp, 2); + if (CMOptions.PPDisplayTime) + l('CMTooltipPP').textContent = FormatTime(target[TooltipName].pp); + else l('CMTooltipPP').textContent = Beautify(target[TooltipName].pp, 2); l('CMTooltipPP').className = ColorTextPre + target[TooltipName].color; const timeColor = GetTimeColor( (TooltipPrice - (Game.cookies + GetWrinkConfigBank())) / GetCPS(), diff --git a/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js b/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js index 908f6937..e33feeaa 100644 --- a/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js +++ b/src/Disp/Tooltips/TypesOfTooltips/Upgrade.js @@ -5,6 +5,7 @@ import { import { CMOptions } from '../../../Config/VariablesAndData'; import { Beautify, + FormatTime, GetTimeColor, } from '../../BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../../HelperFunctions/GetCPS'; @@ -70,10 +71,15 @@ export default function Upgrade() { )} Clicks`; l('CMTooltipPP').style.color = 'white'; } else { - l('CMTooltipPP').textContent = Beautify( - CacheUpgrades[Game.UpgradesInStore[TooltipName].name].pp, - 2, - ); + if (CMOptions.PPDisplayTime) + l('CMTooltipPP').textContent = FormatTime( + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].pp, + ); + else + l('CMTooltipPP').textContent = Beautify( + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].pp, + 2, + ); l('CMTooltipPP').className = ColorTextPre + CacheUpgrades[Game.UpgradesInStore[TooltipName].name].color; diff --git a/src/Main/Initialization.js b/src/Main/Initialization.js index f3677692..080a0bbc 100644 --- a/src/Main/Initialization.js +++ b/src/Main/Initialization.js @@ -6,6 +6,7 @@ import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CreateUpgradeBar from '../Disp/BuildingsUpgrades/UpgradeBar'; import { CreateBotBar } from '../Disp/InfoBars/BottomBar'; import { CreateTimerBar } from '../Disp/InfoBars/TimerBar'; +import CreateSectionHideButtons from '../Disp/Initialization/CreateSectionHideButtons'; import CreateWrinklerButtons from '../Disp/Initialization/CreateWrinklerButton'; import CreateCssArea from '../Disp/Initialization/CssArea'; import UpdateBuildingUpgradeStyle from '../Disp/Initialization/UpdateBuildingUpgradeStyle'; @@ -37,6 +38,7 @@ export default function InitializeCookieMonster() { CreateTimerBar(); CreateUpgradeBar(); CreateWhiteScreen(); + CreateSectionHideButtons(); CreateFavicon(); Object.keys(TooltipText).forEach((i) => { CreateSimpleTooltip(