{"version":3,"sources":["webpack:///./src/assets/sun.png","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./src/components/Toggle.js","webpack:///./src/components/Layout.js","webpack:///./node_modules/react-side-effect/lib/index.js","webpack:///./node_modules/gatsby/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/typography-theme-wordpress-2016/dist/index.js","webpack:///./node_modules/typography-breakpoint-constants/dist/index.js","webpack:///./src/assets/moon.png","webpack:///./node_modules/gray-percentage/index.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/typography/dist/index.js","webpack:///./src/utils/typography.js","webpack:///./node_modules/react-helmet/es/Helmet.js","webpack:///(webpack)/buildin/global.js"],"names":["module","exports","_assertThisInitialized","self","ReferenceError","pointerCoord","event","changedTouches","length","touch","x","clientX","y","clientY","pageX","undefined","pageY","Toggle","props","handleClick","bind","handleTouchStart","handleTouchMove","handleTouchEnd","handleTouchCancel","handleFocus","handleBlur","previouslyChecked","checked","defaultChecked","state","hasFocus","componentWillReceiveProps","nextProps","this","setState","checkbox","input","target","moved","preventDefault","focus","click","startX","touchStarted","hadFocusAtTouchStart","touchMoved","currentX","onFocus","onBlur","getIcon","type","icons","defaultProps","render","className","inputProps","classes","disabled","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","ref","aria-label","PureComponent","Layout","theme","componentDidMount","window","__theme","__onThemeChange","renderHeader","location","title","pathname","style","scale","marginBottom","marginTop","boxShadow","textDecoration","color","to","fontFamily","height","lineHeight","children","background","transition","minHeight","Helmet","meta","name","content","marginLeft","marginRight","maxWidth","rhythm","padding","display","justifyContent","alignItems","src","moon","width","role","pointerEvents","unchecked","sun","onChange","e","__setPreferredTheme","React","Component","ex","React__default","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","canUseDOM","document","createElement","reducePropsToState","handleStateChangeOnClient","mapStateOnServer","Error","WrappedComponent","mountedInstances","emitChange","map","instance","SideEffect","_PureComponent","subClass","superClass","apply","arguments","prototype","create","constructor","__proto__","peek","rewind","recordedState","_proto","UNSAFE_componentWillMount","push","componentDidUpdate","componentWillUnmount","index","indexOf","splice","displayName","getDisplayName","_objectWithoutPropertiesLoose","source","excluded","i","sourceKeys","keys","_extends","assign","hasOwnProperty","call","_grayPercentage","_grayPercentage2","__esModule","default","_typographyBreakpointConstants","baseFontSize","baseLineHeight","scaleRatio","googleFonts","styles","headerFontFamily","bodyFontFamily","bodyColor","headerWeight","bodyWeight","boldWeight","overrideStyles","_ref","options","_ref2","adjustFontSizeTo","h1","join","blockquote","fontStyle","paddingLeft","borderLeft","fontWeight","ul","listStyle","MOBILE_MEDIA_QUERY","letterSpacing","textTransform","LARGER_DISPLAY_WIDTH","LARGE_DISPLAY_WIDTH","DEFAULT_WIDTH","TABLET_WIDTH","MOBILE_WIDTH","LARGER_DISPLAY_MEDIA_QUERY","LARGE_DISPLAY_MEDIA_QUERY","DEFAULT_MEDIA_QUERY","TABLET_MEDIA_QUERY","MIN_LARGER_DISPLAY_MEDIA_QUERY","MIN_LARGE_DISPLAY_MEDIA_QUERY","MIN_DEFAULT_MEDIA_QUERY","MIN_TABLET_MEDIA_QUERY","MIN_MOBILE_MEDIA_QUERY","isNumeric","n","isNaN","parseFloat","isFinite","lightness","hue","darkBackground","saturation","Math","pow","opacity","hasElementType","Element","hasMap","Map","hasSet","Set","hasArrayBuffer","ArrayBuffer","isView","a","b","equal","it","Array","isArray","size","entries","next","done","has","get","RegExp","flags","valueOf","toString","$$typeof","error","message","match","console","warn","o","r","propertyIsEnumerable","t","String","getOwnPropertyNames","fromCharCode","split","forEach","u","TypeError","c","l","f","toFixed","s","p","rhythmUnit","defaultRhythmBorderWidth","defaultRhythmBorderStyle","roundToNearestHalfLine","minLinePadding","v","baseLineHeightInPx","ceil","h","floor","g","sqrt","golden","phi","octave","m","global","j","R","_","w","O","Function","S","Symbol","z","F","k","toStringTag","L","M","E","A","B","H","$","U","D","exec","IE_PROTO","V","J","Z","G","K","Y","replace","Q","q","test","tt","X","et","rt","nt","ot","at","ut","lt","ft","st","pt","vt","bt","yt","wt","clear","set","__data__","delete","Ot","St","xt","Lt","pop","Bt","Pt","Mt","Tt","Ct","hash","string","It","$t","cache","Cache","Ut","qt","Vt","Jt","charCodeAt","Kt","Yt","Qt","Zt","te","Xt","re","ne","ie","ue","ae","ce","le","pe","ve","he","de","be","ge","ye","nodeType","Buffer","isBuffer","je","_e","Se","process","require","types","binding","xe","isTypedArray","ze","Oe","Fe","ke","fe","Ae","Le","Be","Pe","Te","Ee","He","Me","Ne","We","Ie","Ce","Ke","Ze","Ye","Qe","Xe","allocUnsafe","slice","copy","tr","Uint8Array","rr","byteLength","er","buffer","byteOffset","or","ir","ar","getPrototypeOf","fr","sr","pr","vr","hr","br","mr","jr","yr","_r","wr","gr","Or","cr","nr","dr","ur","xr","zr","max","kr","Br","Date","now","Pr","Tr","Fr","Er","Mr","Sr","Hr","Cr","add","Ir","Rr","$r","qr","d","Vr","Jr","cn","ln","hn","dn","getOwnPropertySymbols","bn","vn","gn","sn","pn","mn","_n","wn","On","Sn","xn","zn","Fn","kn","An","Ln","resolve","lo","Bn","Tn","Mn","En","Hn","Nn","fn","jn","Wn","$n","Dn","qn","Un","Cn","Rn","Vn","Zn","Kn","Gn","Xn","Jn","Yn","ro","eo","no","oo","io","ao","uo","co","so","headerLineHeight","headerColor","includeNormalize","blockMarginBottom","JSON","parse","stringify","establishBaseline","fontSize","linesForFontSize","parseInt","createStyles","toJSON","font","boxSizing","overflowY","wordWrap","fontKerning","MozFontFeatureSettings","msFontFeatureSettings","WebkitFontFeatureSettings","fontFeatureSettings","$e","De","paddingBottom","paddingRight","paddingTop","border","listStylePosition","listStyleImage","borderBottom","cursor","borderCollapse","textAlign","textRendering","plugins","overrideThemeStyles","po","toLowerCase","injectStyles","getElementById","innerHTML","id","head","firstChild","insertBefore","appendChild","Wordpress2016","stroke","borderLeftColor","typography","Typography","clock","_class","_temp","ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","SELF_CLOSING_TAGS","_typeof","iterator","classCallCheck","Constructor","createClass","defineProperties","descriptor","protoProps","staticProps","objectWithoutProperties","possibleConstructorReturn","encodeSpecialCharacters","str","encode","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","concat","getTagsFromPropsList","tagName","approvedSeenTags","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","tagUnion","property","rafPolyfill","callback","currentTime","setTimeout","cafPolyfill","clearTimeout","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","_i","removeAttribute","tags","headElement","querySelector","tagNodes","querySelectorAll","indexToDelete","newElement","styleSheet","cssText","createTextNode","some","existingTag","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","tagContent","isSelfClosing","generateTagsAsString","_ref$title","base","link","noscript","script","HelmetSideEffects","defer","HelmetExport","_React$Component","HelmetWrapper","setPrototypeOf","inherits","shouldComponentUpdate","mapNestedChildrenToProps","child","nestedChildren","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","_this2","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","_props","propTypes","object","oneOfType","arrayOf","node","defaultTitle","bool","func","titleTemplate","mappedState","renderStatic"],"mappings":"uGAAAA,EAAOC,QAAU,08F,iGCAF,SAASC,EAAuBC,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,E,UCQT,SAASE,EAAaC,GAGpB,GAAIA,EAAO,CACT,IAAMC,EAAiBD,EAAMC,eAC7B,GAAIA,GAAkBA,EAAeC,OAAS,EAAG,CAC/C,IAAMC,EAAQF,EAAe,GAC7B,MAAO,CAAEG,EAAGD,EAAME,QAASC,EAAGH,EAAMI,SAEtC,IAAMC,EAAQR,EAAMQ,MACpB,QAAcC,IAAVD,EACF,MAAO,CAAEJ,EAAGI,EAAOF,EAAGN,EAAMU,OAGhC,MAAO,CAAEN,EAAG,EAAGE,EAAG,G,IAGCK,E,YACnB,WAAYC,GAAQ,IAAD,SACjB,cAAMA,IAAN,MACKC,YAAc,EAAKA,YAAYC,KAAjB,MACnB,EAAKC,iBAAmB,EAAKA,iBAAiBD,KAAtB,MACxB,EAAKE,gBAAkB,EAAKA,gBAAgBF,KAArB,MACvB,EAAKG,eAAiB,EAAKA,eAAeH,KAApB,MACtB,EAAKI,kBAAoB,EAAKA,kBAAkBJ,KAAvB,MACzB,EAAKK,YAAc,EAAKA,YAAYL,KAAjB,MACnB,EAAKM,WAAa,EAAKA,WAAWN,KAAhB,MAClB,EAAKO,qBAAuBT,EAAMU,UAAWV,EAAMW,gBACnD,EAAKC,MAAQ,CACXF,WAAYV,EAAMU,UAAWV,EAAMW,gBACnCE,UAAU,GAZK,E,4CAgBnBC,0BAAA,SAA0BC,GACpB,YAAaA,IACfC,KAAKC,SAAS,CAAEP,UAAWK,EAAUL,UACrCM,KAAKP,oBAAsBM,EAAUL,U,EAIzCT,YAAA,SAAYb,GACV,IAAM8B,EAAWF,KAAKG,MAEtB,GADAH,KAAKP,kBAAoBS,EAASR,QAC9BtB,EAAMgC,SAAWF,IAAaF,KAAKK,MAIrC,OAHAjC,EAAMkC,iBACNJ,EAASK,aACTL,EAASM,QAIXR,KAAKC,SAAS,CAAEP,QAASQ,EAASR,W,EAGpCP,iBAAA,SAAiBf,GACf4B,KAAKS,OAAStC,EAAaC,GAAOI,EAClCwB,KAAKU,cAAe,EACpBV,KAAKW,qBAAuBX,KAAKJ,MAAMC,SACvCG,KAAKC,SAAS,CAAEJ,UAAU,K,EAG5BT,gBAAA,SAAgBhB,GACd,GAAK4B,KAAKU,eACVV,KAAKY,YAAa,EAEC,MAAfZ,KAAKS,QAAgB,CACvB,IAAII,EAAW1C,EAAaC,GAAOI,EAC/BwB,KAAKJ,MAAMF,SAAWmB,EAAW,GAAKb,KAAKS,QAC7CT,KAAKC,SAAS,CAAEP,SAAS,IACzBM,KAAKS,OAASI,IACJb,KAAKJ,MAAMF,SAAWmB,EAAW,GAAKb,KAAKS,SACrDT,KAAKC,SAAS,CAAEP,SAAS,IACzBM,KAAKS,OAASI,K,EAKpBxB,eAAA,SAAejB,GACb,GAAK4B,KAAKY,WAAV,CACA,IAAMV,EAAWF,KAAKG,MACtB/B,EAAMkC,iBAEa,MAAfN,KAAKS,SACHT,KAAKP,oBAAsBO,KAAKJ,MAAMF,SACxCQ,EAASM,QAGXR,KAAKU,cAAe,EACpBV,KAAKS,OAAS,KACdT,KAAKY,YAAa,GAGfZ,KAAKW,sBACRX,KAAKC,SAAS,CAAEJ,UAAU,M,EAI9BP,kBAAA,SAAkBlB,GACG,MAAf4B,KAAKS,SACPT,KAAKU,cAAe,EACpBV,KAAKS,OAAS,KACdT,KAAKY,YAAa,GAGfZ,KAAKW,sBACRX,KAAKC,SAAS,CAAEJ,UAAU,K,EAI9BN,YAAA,SAAYnB,GAAQ,IACV0C,EAAYd,KAAKhB,MAAjB8B,QAEJA,GACFA,EAAQ1C,GAGV4B,KAAKW,sBAAuB,EAC5BX,KAAKC,SAAS,CAAEJ,UAAU,K,EAG5BL,WAAA,SAAWpB,GAAQ,IACT2C,EAAWf,KAAKhB,MAAhB+B,OAEJA,GACFA,EAAO3C,GAGT4B,KAAKW,sBAAuB,EAC5BX,KAAKC,SAAS,CAAEJ,UAAU,K,EAG5BmB,QAAA,SAAQC,GAAO,IACLC,EAAUlB,KAAKhB,MAAfkC,MACR,OAAKA,OAGkBrC,IAAhBqC,EAAMD,GACTlC,EAAOoC,aAAaD,MAAMD,GAC1BC,EAAMD,GAJD,M,EAOXG,OAAA,WAAU,IAAD,SAC6CpB,KAAKhB,MAAjDqC,EADD,EACCA,UAA6BC,GAD9B,EACYJ,MADZ,sCAEDK,EACJ,gBACCvB,KAAKJ,MAAMF,QAAU,yBAA2B,KAChDM,KAAKJ,MAAMC,SAAW,uBAAyB,KAC/CG,KAAKhB,MAAMwC,SAAW,0BAA4B,KAClDH,EAAY,IAAMA,EAAY,IACjC,OACE,yBACEA,UAAWE,EACXE,QAASzB,KAAKf,YACdyC,aAAc1B,KAAKb,iBACnBwC,YAAa3B,KAAKZ,gBAClBwC,WAAY5B,KAAKX,eACjBwC,cAAe7B,KAAKV,mBAEpB,yBAAK+B,UAAU,sBACb,yBAAKA,UAAU,4BACZrB,KAAKgB,QAAQ,YAEhB,yBAAKK,UAAU,wBACZrB,KAAKgB,QAAQ,eAGlB,yBAAKK,UAAU,uBAEf,2CACMC,EADN,CAEEQ,IAAK,SAACA,GACJ,EAAK3B,MAAQ2B,GAEfhB,QAASd,KAAKT,YACdwB,OAAQf,KAAKR,WACb6B,UAAU,iCACVJ,KAAK,WACLc,aAAW,0C,GAhKeC,iB,kECrB9BC,E,oJACJrC,MAAQ,CACNsC,MAAO,M,8CAETC,kBAAA,WAAqB,IAAD,OAClBnC,KAAKC,SAAS,CAAEiC,MAAOE,OAAOC,UAC9BD,OAAOE,gBAAkB,WACvB,EAAKrC,SAAS,CAAEiC,MAAOE,OAAOC,Y,EAGlCE,aAAA,WAAgB,IAAD,EACevC,KAAKhB,MAAzBwD,EADK,EACLA,SAAUC,EADL,EACKA,MAGlB,MAFc,MAEVD,EAASE,SAET,wBACEC,MAAK,iBACAC,YAAM,KADN,CAEHC,aAAc,EACdC,UAAW,KAGb,kBAAC,OAAD,CACEH,MAAO,CACLI,UAAW,OACXC,eAAgB,OAChBC,MAAO,oBAETC,GAAI,KAEHT,IAML,wBACEE,MAAO,CACLQ,WAAY,yBACZL,UAAW,EACXD,aAAc,EACdO,OAAQ,GACRC,WAAY,aAGd,kBAAC,OAAD,CACEV,MAAO,CACLI,UAAW,OACXC,eAAgB,OAChBC,MAAO,sBAETC,GAAI,KAEHT,K,EAMXrB,OAAA,WAAU,IACAkC,EAAatD,KAAKhB,MAAlBsE,SAER,OACE,yBACEX,MAAO,CACLM,MAAO,oBACPM,WAAY,YACZC,WAAY,gDACZC,UAAW,UAGb,kBAACC,EAAA,EAAD,CACEC,KAAM,CACJ,CACEC,KAAM,cACNC,QAA8B,UAArB7D,KAAKJ,MAAMsC,MAAoB,UAAY,cAI1D,yBACES,MAAO,CACLmB,WAAY,OACZC,YAAa,OACbC,SAAUC,YAAO,IACjBC,QAAQ,YAAaD,YAAO,EAAI,KAGlC,4BACEtB,MAAO,CACLwB,QAAS,OACTC,eAAgB,gBAChBC,WAAY,SACZxB,aAAc,aAGf7C,KAAKuC,eACgB,OAArBvC,KAAKJ,MAAMsC,MACV,kBAAC,EAAD,CACEhB,MAAO,CACLxB,QACE,yBACE4E,IAAKC,IACLC,MAAM,KACNpB,OAAO,KACPqB,KAAK,eACL9B,MAAO,CAAE+B,cAAe,UAG5BC,UACE,yBACEL,IAAKM,IACLJ,MAAM,KACNpB,OAAO,KACPqB,KAAK,eACL9B,MAAO,CAAE+B,cAAe,WAI9BhF,QAA8B,SAArBM,KAAKJ,MAAMsC,MACpB2C,SAAU,SAACC,GAAD,OACR1C,OAAO2C,oBACLD,EAAE1E,OAAOV,QAAU,OAAS,YAKlC,yBAAKiD,MAAO,CAAES,OAAQ,WAGzBE,K,GAlIU0B,IAAMC,WAyIZhD,O,oCC5If,IAJyBiD,EAIrBF,EAAQ,EAAQ,QAEhBG,GANqBD,EAMYF,IALR,iBAAPE,GAAmB,YAAaA,EAAKA,EAAY,QAAIA,EAO3E,SAASE,EAAgBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,EAST,IAAIQ,IAAiC,oBAAXzD,SAA0BA,OAAO0D,WAAY1D,OAAO0D,SAASC,eA+FvFjI,EAAOC,QA7FP,SAAwBiI,EAAoBC,EAA2BC,GACrE,GAAkC,mBAAvBF,EACT,MAAM,IAAIG,MAAM,iDAGlB,GAAyC,mBAA9BF,EACT,MAAM,IAAIE,MAAM,wDAGlB,QAAgC,IAArBD,GAAgE,mBAArBA,EACpD,MAAM,IAAIC,MAAM,mEAOlB,OAAO,SAAcC,GACnB,GAAgC,mBAArBA,EACT,MAAM,IAAID,MAAM,sDAGlB,IACIvG,EADAyG,EAAmB,GAGvB,SAASC,IACP1G,EAAQoG,EAAmBK,EAAiBE,KAAI,SAAUC,GACxD,OAAOA,EAASxH,UAGdyH,EAAWZ,UACbI,EAA0BrG,GACjBsG,IACTtG,EAAQsG,EAAiBtG,IAI7B,IAAI6G,EAA0B,SAAUC,GA7C5C,IAAwBC,EAAUC,EAgD5B,SAASH,IACP,OAAOC,EAAeG,MAAM7G,KAAM8G,YAAc9G,KAjDtB4G,EA8CDF,GA9CTC,EA8CHF,GA7CVM,UAAYvB,OAAOwB,OAAOJ,EAAWG,WAC9CJ,EAASI,UAAUE,YAAcN,EACjCA,EAASO,UAAYN,EAmDjBH,EAAWU,KAAO,WAChB,OAAOvH,GAGT6G,EAAWW,OAAS,WAClB,GAAIX,EAAWZ,UACb,MAAM,IAAIM,MAAM,oFAGlB,IAAIkB,EAAgBzH,EAGpB,OAFAA,OAAQf,EACRwH,EAAmB,GACZgB,GAGT,IAAIC,EAASb,EAAWM,UAqBxB,OAnBAO,EAAOC,0BAA4B,WACjClB,EAAiBmB,KAAKxH,MACtBsG,KAGFgB,EAAOG,mBAAqB,WAC1BnB,KAGFgB,EAAOI,qBAAuB,WAC5B,IAAIC,EAAQtB,EAAiBuB,QAAQ5H,MACrCqG,EAAiBwB,OAAOF,EAAO,GAC/BrB,KAGFgB,EAAOlG,OAAS,WACd,OAAO+D,EAAeY,cAAcK,EAAkBpG,KAAKhB,QAGtDyH,EA7CqB,CA8C5BzB,EAAMhD,eAMR,OAJAoD,EAAgBqB,EAAY,cAAe,cAxE7C,SAAwBL,GACtB,OAAOA,EAAiB0B,aAAe1B,EAAiBxC,MAAQ,YAuELmE,CAAe3B,GAAoB,KAE9FhB,EAAgBqB,EAAY,YAAaZ,GAElCY,K,oCC1HI,SAASuB,EAA8BC,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IAEI3C,EAAK6C,EAFL/H,EAAS,GACTgI,EAAa5C,OAAO6C,KAAKJ,GAG7B,IAAKE,EAAI,EAAGA,EAAIC,EAAW9J,OAAQ6J,IACjC7C,EAAM8C,EAAWD,GACbD,EAASN,QAAQtC,IAAQ,IAC7BlF,EAAOkF,GAAO2C,EAAO3C,IAGvB,OAAOlF,EAZT,mC,oCCEAoF,OAAOC,eAAe1H,EAAS,aAAc,CAC3CwH,OAAO,IAGT,IAoBgCF,EApB5BiD,EAAW9C,OAAO+C,QAAU,SAAUnI,GACxC,IAAK,IAAI+H,EAAI,EAAGA,EAAIrB,UAAUxI,OAAQ6J,IAAK,CACzC,IAAIF,EAASnB,UAAUqB,GAEvB,IAAK,IAAI7C,KAAO2C,EACVzC,OAAOuB,UAAUyB,eAAeC,KAAKR,EAAQ3C,KAC/ClF,EAAOkF,GAAO2C,EAAO3C,IAK3B,OAAOlF,GAGLsI,EAAkB,EAAQ,QAE1BC,GAI4BtD,EAJcqD,IAK9BrD,EAAIuD,WAAavD,EAAM,CACnCwD,QAASxD,GAJTyD,EAAiC,EAAQ,QAQ7C,SAAS1D,EAAgBC,EAAKC,EAAKC,GAYjC,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,EAGT,IAAInD,EAAQ,CACVO,MAAO,uBACPsG,aAAc,OACdC,eAAgB,KAChBC,WAAY,IACZC,YAAa,CAAC,CACZtF,KAAM,aACNuF,OAAQ,CAAC,QACR,CACDvF,KAAM,eACNuF,OAAQ,CAAC,MAAO,OAAQ,MAAO,OAAQ,MAAO,UAEhDC,iBAAkB,CAAC,eAAgB,UAAW,SAC9CC,eAAgB,CAAC,eAAgB,UAAW,SAC5CC,UAAW,oBACXC,aAAc,IACdC,WAAY,IACZC,WAAY,IACZC,eAAgB,SAAwBC,EAAMC,GAC5C,IAAIC,EAEAC,EAAmBH,EAAKG,iBACxBlH,EAAQ+G,EAAK/G,MACbqB,EAAS0F,EAAK1F,OAClB,OA2BGmB,EA3BIyE,EAAQ,CACbE,GAAI,CACF5G,WAAY,CAAC,aAAc,cAAc6G,KAAK,MAEhDC,WAAY3B,EAAS,GAAI1F,EAAM,IAAQ,CACrCK,OAAO,EAAI0F,EAAiBE,SAAS,IACrCqB,UAAW,SACXC,YAAalG,EAAO,GAAK,IACzBH,WAAYG,GAAQ,GACpBmG,WAAYnG,EAAO,EAAI,IAAM,WAAY,EAAI0E,EAAiBE,SAAS,MAEzE,2BAA4B,CAC1BhG,aAAc,GAEhB,kBAAmByF,EAAS,GAAIwB,EAAiBF,EAAQb,cAAe,CACtE9F,MAAO2G,EAAQN,UACfe,WAAYT,EAAQJ,aAEtB,yBAA0B,CACxB3F,QAAS,QAEXyG,GAAI,CACFC,UAAW,QAEb,QAAS,CACPzG,WAAY,IAEUgF,EAA+B0B,mBAAoB,CAC3E,QAAS,CACP1G,WAAYG,EAAO,IAErBgG,WAAY,CACVnG,WAAYG,GAAQ,EAAI,GACxBF,YAAa,EACboG,YAAalG,EAAO,EAAI,OAExBmB,EAAgByE,EAAO,oBAAqB,CAC9C/G,UAAWmB,EAAO,KAChBmB,EAAgByE,EAAO,KAAM,CAC/BY,cAAe,aACfC,cAAe,cACbtF,EAAgByE,EAAO,KAAM,CAC/BK,UAAW,WACT9E,EAAgByE,EAAO,IAAK,CAC9B9G,UAAW,yBACXE,MAAO,UACPD,eAAgB,SACdoC,EAAgByE,EAAO,mBAAoB,CAC7C9G,UAAW,SACTqC,EAAgByE,EAAO,WAAY,CACrCtG,WAAY,UACZN,MAAO,QACPiB,QAASD,EAAO,EAAI,IAAM,IAAMA,EAAO,EAAI,GAC3CjB,eAAgB,SACd6G,IAGR9L,EAAQ8K,QAAU3G,G,oCC9HlBsD,OAAOC,eAAe1H,EAAS,aAAc,CAC3CwH,OAAO,IAEkBxH,EAAQ4M,qBAAuB,SAChC5M,EAAQ6M,oBAAsB,SACpC7M,EAAQ8M,cAAgB,QACzB9M,EAAQ+M,aAAe,QACvB/M,EAAQgN,aAAe,QACThN,EAAQiN,2BAA6B,4CACtCjN,EAAQkN,0BAA4B,4CAC1ClN,EAAQmN,oBAAsB,2CAC/BnN,EAAQoN,mBAAqB,2CAC7BpN,EAAQyM,mBAAqB,2CACjBzM,EAAQqN,+BAAiC,4BAC1CrN,EAAQsN,8BAAgC,4BAC9CtN,EAAQuN,wBAA0B,2BACnCvN,EAAQwN,uBAAyB,2BACjCxN,EAAQyN,uBAAyB,4B,4CCnB9D1N,EAAOC,QAAU,8tF,0CCAjB,SAAS0N,EAAUC,GACjB,OAAQC,MAAMC,WAAWF,KAAOG,SAASH,GAG3C5N,EAAOC,QAAU,SAAU+N,EAAWC,EAAKC,GAkBzC,QAjBmB,IAARD,IACTA,EAAM,QAGsB,IAAnBC,IACTA,GAAiB,GAIP,SAARD,EACFA,EAAM,IACW,UAARA,EACTA,EAAM,IACW,SAARA,IACTA,EAAM,KAGHN,EAAUM,GACb,MAAM,IAAI5F,MAAM,uBAGlB,IAAKsF,EAAUK,GACb,MAAM,IAAI3F,MAAM,6BAGd2F,EAAY,MACdA,EAAY,KAGVA,EAAY,IACdA,EAAY,GAGd,IAAIG,EAAa,EAEjB,GAAY,IAARF,EAAW,CAIbE,EAHQ,UACC,SAEYH,EADb,WAC6BI,KAAKC,IAAIL,EAAW,GAG3D,IAAIM,EAAU,EAUd,OARIJ,GACFI,EAAUN,EAAY,IACtBA,EAAY,UAEZM,GAAW,IAAMN,GAAa,IAC9BA,EAAY,OAGP,QAAUC,EAAM,IAAME,EAAa,KAAOH,EAAYM,EAAU,M,mBCxDzE,IAAIC,EAAoC,oBAAZC,QACxBC,EAAwB,mBAARC,IAChBC,EAAwB,mBAARC,IAChBC,EAAwC,mBAAhBC,eAAgCA,YAAYC,OA4HxE/O,EAAOC,QAAU,SAAiB+O,EAAGC,GACnC,IACE,OA5HJ,SAASC,EAAMF,EAAGC,GAEhB,GAAID,IAAMC,EAAG,OAAO,EAEpB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAe,CAC1D,GAAID,EAAE7F,cAAgB8F,EAAE9F,YAAa,OAAO,EAC5C,IAAI3I,EAAQ6J,EAAGE,EAiCX4E,EA/BJ,GAAIC,MAAMC,QAAQL,GAAI,CAEpB,IADAxO,EAASwO,EAAExO,SACGyO,EAAEzO,OAAQ,OAAO,EAE/B,IAAK6J,EAAI7J,EAAgB,GAAR6J,KACf,IAAK6E,EAAMF,EAAE3E,GAAI4E,EAAE5E,IAAK,OAAO,EAGjC,OAAO,EAyBT,GAAIoE,GAAUO,aAAaN,KAAOO,aAAaP,IAAK,CAClD,GAAIM,EAAEM,OAASL,EAAEK,KAAM,OAAO,EAG9B,IAFAH,EAAKH,EAAEO,YAEElF,EAAI8E,EAAGK,QAAQC,MACtB,IAAKR,EAAES,IAAIrF,EAAE5C,MAAM,IAAK,OAAO,EAKjC,IAFA0H,EAAKH,EAAEO,YAEElF,EAAI8E,EAAGK,QAAQC,MACtB,IAAKP,EAAM7E,EAAE5C,MAAM,GAAIwH,EAAEU,IAAItF,EAAE5C,MAAM,KAAM,OAAO,EAGpD,OAAO,EAGT,GAAIkH,GAAUK,aAAaJ,KAAOK,aAAaL,IAAK,CAClD,GAAII,EAAEM,OAASL,EAAEK,KAAM,OAAO,EAG9B,IAFAH,EAAKH,EAAEO,YAEElF,EAAI8E,EAAGK,QAAQC,MACtB,IAAKR,EAAES,IAAIrF,EAAE5C,MAAM,IAAK,OAAO,EAGjC,OAAO,EAIT,GAAIoH,GAAkBC,YAAYC,OAAOC,IAAMF,YAAYC,OAAOE,GAAI,CAEpE,IADAzO,EAASwO,EAAExO,SACGyO,EAAEzO,OAAQ,OAAO,EAE/B,IAAK6J,EAAI7J,EAAgB,GAAR6J,KACf,GAAI2E,EAAE3E,KAAO4E,EAAE5E,GAAI,OAAO,EAG5B,OAAO,EAGT,GAAI2E,EAAE7F,cAAgByG,OAAQ,OAAOZ,EAAE7E,SAAW8E,EAAE9E,QAAU6E,EAAEa,QAAUZ,EAAEY,MAC5E,GAAIb,EAAEc,UAAYpI,OAAOuB,UAAU6G,QAAS,OAAOd,EAAEc,YAAcb,EAAEa,UACrE,GAAId,EAAEe,WAAarI,OAAOuB,UAAU8G,SAAU,OAAOf,EAAEe,aAAed,EAAEc,WAGxE,IADAvP,GADA+J,EAAO7C,OAAO6C,KAAKyE,IACLxO,UACCkH,OAAO6C,KAAK0E,GAAGzO,OAAQ,OAAO,EAE7C,IAAK6J,EAAI7J,EAAgB,GAAR6J,KACf,IAAK3C,OAAOuB,UAAUyB,eAAeC,KAAKsE,EAAG1E,EAAKF,IAAK,OAAO,EAMhE,GAAIkE,GAAkBS,aAAaR,QAAS,OAAO,EAEnD,IAAKnE,EAAI7J,EAAgB,GAAR6J,KACf,IAAiB,WAAZE,EAAKF,IAA+B,QAAZE,EAAKF,IAA4B,QAAZE,EAAKF,KAAiB2E,EAAEgB,YAYrEd,EAAMF,EAAEzE,EAAKF,IAAK4E,EAAE1E,EAAKF,KAAM,OAAO,EAK7C,OAAO,EAGT,OAAO2E,GAAMA,GAAKC,GAAMA,EAMfC,CAAMF,EAAGC,GAChB,MAAOgB,GACP,IAAKA,EAAMC,SAAW,IAAIC,MAAM,oBAO9B,OADAC,QAAQC,KAAK,mDACN,EAIT,MAAMJ,K,sBC/IV,gBAIIrC,EACA0C,EALJ,+BACItJ,EAAIU,OAAOuB,UAAUyB,eACrB6F,EAAI7I,OAAOuB,UAAUuH,qBAIrBnG,EAAI,WACN,IACE,IAAK3C,OAAO+C,OAAQ,OAAO,EAC3B,IAAIgG,EAAI,IAAIC,OAAO,OACnB,GAAID,EAAE,GAAK,KAAM,MAAQ/I,OAAOiJ,oBAAoBF,GAAG,GAAI,OAAO,EAElE,IAAK,IAAIzJ,EAAI,GAAIuJ,EAAI,EAAGA,EAAI,GAAIA,IAC9BvJ,EAAE,IAAM0J,OAAOE,aAAaL,IAAMA,EAGpC,GAAI,eAAiB7I,OAAOiJ,oBAAoB3J,GAAGyB,KAAI,SAAUgI,GAC/D,OAAOzJ,EAAEyJ,MACRvE,KAAK,IAAK,OAAO,EACpB,IAAI0B,EAAI,GACR,MAAO,uBAAuBiD,MAAM,IAAIC,SAAQ,SAAUL,GACxD7C,EAAE6C,GAAKA,KACL,yBAA2B/I,OAAO6C,KAAK7C,OAAO+C,OAAO,GAAImD,IAAI1B,KAAK,IACtE,MAAOuE,GACP,OAAO,GAlBH,GAoBF/I,OAAO+C,OAAS,SAAUmD,EAAG0C,GACjC,IAAK,IAAIjG,EAAG2E,EAAG+B,EAAI,SAAUN,GAC3B,GAAI,MAASA,EAAmB,MAAM,IAAIO,UAAU,yDACpD,OAAOtJ,OAAO+I,GAFG,CAGjB7C,GAAIqD,EAAI,EAAGA,EAAIjI,UAAUxI,OAAQyQ,IAAK,CACtC,IAAK,IAAIC,KAAK7G,EAAI3C,OAAOsB,UAAUiI,IACjCjK,EAAE2D,KAAKN,EAAG6G,KAAOH,EAAEG,GAAK7G,EAAE6G,IAG5B,GAAIT,EAAG,CACLzB,EAAIyB,EAAEpG,GAEN,IAAK,IAAI8G,EAAI,EAAGA,EAAInC,EAAExO,OAAQ2Q,IAC5BZ,EAAE5F,KAAKN,EAAG2E,EAAEmC,MAAQJ,EAAE/B,EAAEmC,IAAM9G,EAAE2E,EAAEmC,MAKxC,OAAOJ,GAEL/B,EAAI,SAAWyB,EAAGzJ,GACpBA,IAAMA,EAAI,CAAC,EAAG,KAAMyJ,EAAIC,OAAOD,GAC/B,IAAIF,EAAIzC,WAAW2C,EAAG,IACtB,OAAOzJ,EAAE,GAAKuJ,EAAGvJ,EAAE,GAAKyJ,EAAEN,MAAM,qBAAqB,IAAM,GAAInJ,GAE7D+J,EAAI,SAAWN,GACjB,OAAOzB,EAAEyB,GAAG,IAEVQ,EAAI,SAAWR,GACjB,OAAO,MAAQA,IAAMA,EAAIA,GAAI,SAAUzJ,EAAGuJ,EAAG3C,EAAG0C,GAC9C,MAAQ1C,IAAMA,EAAI6C,GAAI,MAAQH,IAAMA,EAAI1C,GACxC,IAAIvD,EAAI2E,EAAEhI,GAAG,GACb,GAAIqD,IAAMkG,EAAG,OAAOvJ,EACpB,IAAIiK,EAAIF,EAAE/J,GACV,GAAI,OAASqD,EAAG,GAAI,OAASA,EAAG4G,EAAIF,EAAE/J,GAAK+J,EAAEnD,QAAQ,GAAI,QAAUvD,EAAG4G,EAAIF,EAAE/J,GAAK+J,EAAEN,OAAQ,CACzF,GAAI,OAASpG,EAAG,OAAOrD,EACvBiK,EAAIF,EAAE/J,GAAK+J,EAAEnD,GAAK,EAEpB,IAAIsD,EAAID,EACR,GAAI,OAASV,EAAG,GAAI,OAASA,EAAGW,EAAID,EAAIF,EAAET,QAAQ,GAAI,QAAUC,EAAGW,EAAID,EAAIF,EAAEN,OAAQ,CACnF,GAAI,OAASF,EAAG,OAAOvJ,EACvBkK,EAAID,EAAIF,EAAET,GAAK,EAEjB,OAAOxC,WAAWoD,EAAEE,QAAQ,IAAMb,IAGlCW,EAAIlC,EACJmC,EAAI,SAAWV,GACjB,OAAOS,EAAET,GAAG,IAEVY,EAAI,SAAWZ,GACjB,OAAOS,EAAET,GAAG,IAEVa,EAAI,CACNrG,aAAc,OACdC,eAAgB,IAChBqG,WAAY,MACZC,yBAA0B,MAC1BC,yBAA0B,QAC1BC,wBAAwB,EACxBC,eAAgB,OAEdC,EAAI,SAAWnB,EAAGzJ,GACpB,IAAIuJ,EACA3C,EAAIqD,EAAEjK,EAAEiE,cACRqF,EAAIe,EAAEzD,EAAE6C,EAAG,OACXpG,EAAIgH,EAAErK,EAAE6K,oBACR7C,EAAIqC,EAAEzD,EAAE5G,EAAE2K,eAAgB,OAC9B,OAAQpB,EAAIvJ,EAAE0K,uBAAyBtD,KAAK0D,KAAK,EAAIxB,EAAIjG,GAAK,EAAI+D,KAAK0D,KAAKxB,EAAIjG,IAAMA,EAAIiG,EAAI,EAAItB,IAAMuB,GAAKvJ,EAAE0K,uBAAyB,GAAK,GAAInB,GAE/IwB,EAAI,SAAWtB,GACjB,IAAIzJ,EAAIiK,EAAER,EAAExF,cACZ,OAAO,SAAUsF,EAAG3C,EAAG0C,GACrB,MAAQC,IAAMA,EAAI,GAAI,MAAQ3C,IAAMA,EAAI6C,EAAExF,cAAe,MAAQqF,IAAMA,EAAI,GAC3E,IAAIjG,EAAIkG,EAAIc,EAAEZ,EAAEoB,oBAAsBvB,EAAI,KACtCtB,EAAIhI,EAAEqD,EAAGoG,EAAEc,WAAY3D,GAC3B,MAAO,OAASuD,EAAEnC,KAAOA,EAAIZ,KAAK4D,MAAMX,EAAErC,IAAMmC,EAAEnC,IAAKlB,WAAWuD,EAAErC,GAAGoC,QAAQ,IAAMD,EAAEnC,KAIvFC,EAAIvH,OAAOuB,UAAU8G,SA0BzB,SAASkC,EAAExB,GACT,OAAQ5C,MAAMC,WAAW2C,KAAO1C,SAAS0C,GAzB3C7C,EAAI,SAAW6C,GACb,MAAO,iBAAmBA,GAAK,SAAUA,GACvC,QAASA,GAAK,iBAAmBA,EADJ,CAE7BA,IANI,mBAMExB,EAAEtE,KAAK8F,IACdH,EAAI,CACL,eAAgB,GAAK,GACrB,eAAgB,EAAI,EACpB,cAAe,IACf,cAAe,EAAI,EACnB,oBAAqBlC,KAAK8D,KAAK,GAC/B,gBAAiB,IACjB,cAAe,IACfC,OAAQ,cACRC,IAAK,cACL,cAAe,EAAI,EACnB,gBAAiB,GAAK,EACtB,gBAAiB,GAAK,EACtBC,OAAQ,EACR,cAAe,IACf,iBAAkB,EAAI,EACtB,gBAAiB,EACjB,gBAAiB,GAOnB,IAAIzR,EAAI,SAAW6P,EAAGzJ,EAAGuJ,GACvB,QAAI,IAAWvJ,IAAMA,EAAI,QAAI,IAAWuJ,IAAMA,GAAI,GAAK,SAAWvJ,EAAIA,EAAI,IAAM,UAAYA,EAAIA,EAAI,IAAM,SAAWA,IAAMA,EAAI,KAAMiL,EAAEjL,GAAI,MAAM,IAAIqB,MAAM,uBAC3J,IAAK4J,EAAExB,GAAI,MAAM,IAAIpI,MAAM,6BAC3BoI,EAAI,MAAQA,EAAI,KAAMA,EAAI,IAAMA,EAAI,GACpC,IAAI7C,EAAI,EAEJ,IAAM5G,IACR4G,EAAI,UAAY,SAAW6C,EAAI,WAAarC,KAAKC,IAAIoC,EAAG,IAG1D,IAAIH,EAAI,EACR,OAAOC,GAAKD,EAAIG,EAAI,IAAKA,EAAI,UAAYH,GAAK,IAAMG,GAAK,IAAKA,EAAI,OAAQ,QAAUzJ,EAAI,IAAM4G,EAAI,KAAO6C,EAAIH,EAAI,KAE/GgC,EAAI,oBAAsBhO,OAASA,YAAS,IAAsBiO,EAASA,EAAS,oBAAsBpS,KAAOA,KAAO,GAE5H,SAASqS,EAAE/B,EAAGzJ,GACZ,OAAOyJ,EAAEzJ,EAAI,CACX/G,QAAS,IACR+G,EAAE/G,SAAU+G,EAAE/G,QAGnB,IA2CIwS,EA3CAC,EAAI,iBAAmBJ,GAAKA,GAAKA,EAAE5K,SAAWA,QAAU4K,EACxDK,EAAI,iBAAmBxS,MAAQA,MAAQA,KAAKuH,SAAWA,QAAUvH,KACjEyS,EAAIF,GAAKC,GAAKE,SAAS,cAATA,GACdC,EAAIF,EAAEG,OACNrS,EAAIgH,OAAOuB,UACX+J,EAAItS,EAAEgK,eACNuI,EAAIvS,EAAEqP,SACNmD,EAAIJ,EAAIA,EAAEK,iBAAc,EAcxBC,EAAI1L,OAAOuB,UAAU8G,SAOrBsD,EAAIP,EAAIA,EAAEK,iBAAc,EAExBG,EAAI,SAAW7C,GACjB,OAAO,MAAQA,OAAI,IAAWA,EAJxB,qBADA,gBAKoC4C,GAAKA,KAAK3L,OAAO+I,GAtBrD,SAAWA,GACjB,IAAIzJ,EAAIgM,EAAErI,KAAK8F,EAAGyC,GACd3C,EAAIE,EAAEyC,GAEV,IACEzC,EAAEyC,QAAK,EACP,IAAItF,GAAI,EACR,MAAO6C,IAET,IAAIH,EAAI2C,EAAEtI,KAAK8F,GACf,OAAO7C,IAAM5G,EAAIyJ,EAAEyC,GAAK3C,SAAWE,EAAEyC,IAAK5C,EAYsBiD,CAAE9C,GAR5D,SAAWA,GACjB,OAAO2C,EAAEzI,KAAK8F,GAOyD+C,CAAE/C,IAGvEgD,EAAI,SAAWhD,GACjB,IAAIzJ,SAAWyJ,EACf,OAAO,MAAQA,IAAM,UAAYzJ,GAAK,YAAcA,IAQlD0M,EAAI,SAAWjD,GACjB,IAAKgD,EAAEhD,GAAI,OAAO,EAClB,IAAIzJ,EAAIsM,EAAE7C,GACV,MARM,qBAQCzJ,GAPD,8BAOWA,GATX,0BASqBA,GANrB,kBAM+BA,GAEnC2M,EAAIf,EAAE,sBACNgB,GAAKnB,EAAI,SAASoB,KAAKF,GAAKA,EAAEpJ,MAAQoJ,EAAEpJ,KAAKuJ,UAAY,KAAO,iBAAmBrB,EAAI,GAKvFsB,EAAIlB,SAAS5J,UAAU8G,SAEvBiE,EAAI,SAAWvD,GACjB,GAAI,MAAQA,EAAG,CACb,IACE,OAAOsD,EAAEpJ,KAAK8F,GACd,MAAOA,IAET,IACE,OAAOA,EAAI,GACX,MAAOA,KAGX,MAAO,IAELwD,EAAI,8BACJC,EAAIrB,SAAS5J,UACbkL,EAAIzM,OAAOuB,UACXmL,EAAIxE,OAAO,IAAMsE,EAAEnE,SAASpF,KAAKwJ,EAAEzJ,gBAAgB2J,QAAQ,sBAAuB,QAAQA,QAAQ,yDAA0D,SAAW,KAEvKC,EAAI,SAAW7D,GACjB,SAAUgD,EAAEhD,IAxBN,SAAWA,GACjB,QAASmD,GAAKA,KAAKnD,EAuBD8D,CAAE9D,MAAQiD,EAAEjD,GAAK2D,EAAIH,GAAGO,KAAKR,EAAEvD,KAO/CgE,EAAK,SAAYhE,EAAGzJ,GACtB,IAAIuJ,EALE,SAAWE,EAAGzJ,GACpB,OAAO,MAAQyJ,OAAI,EAASA,EAAEzJ,GAItB0N,CAAEjE,EAAGzJ,GACb,OAAOsN,EAAE/D,GAAKA,OAAI,GAEhBoE,EAAK,WACP,IACE,IAAIlE,EAAIgE,EAAG/M,OAAQ,kBACnB,OAAO+I,EAAE,GAAI,GAAI,IAAKA,EACtB,MAAOA,KAJF,GAOLmE,EAAK,SAAYnE,EAAGzJ,EAAGuJ,GACzB,aAAevJ,GAAK2N,EAAKA,EAAGlE,EAAGzJ,EAAG,CAChCa,cAAc,EACdD,YAAY,EACZH,MAAO8I,EACPzI,UAAU,IACP2I,EAAEzJ,GAAKuJ,GAGVsE,EAAK,SAAYpE,EAAGzJ,GACtB,OAAOyJ,IAAMzJ,GAAKyJ,GAAKA,GAAKzJ,GAAKA,GAE/B8N,EAAKpN,OAAOuB,UAAUyB,eAEtByE,EAAK,SAAYsB,EAAGzJ,EAAGuJ,GACzB,IAAI3C,EAAI6C,EAAEzJ,GACV8N,EAAGnK,KAAK8F,EAAGzJ,IAAM6N,EAAGjH,EAAG2C,UAAO,IAAWA,GAAKvJ,KAAKyJ,IAAMmE,EAAGnE,EAAGzJ,EAAGuJ,IAEhEwE,EAAK3F,MAAMC,QAEX2F,EAAK,SAAYvE,GACnB,OAAO,MAAQA,GAAK,iBAAmBA,GAIrCwE,EAAK,SAAYxE,GACnB,MAAO,iBAAmBA,GAAKuE,EAAGvE,IAH3B,mBAGiC6C,EAAE7C,IAExCyE,GAAK,mDACLC,GAAK,QAELC,GAAK,SAAY3E,EAAGzJ,GACtB,GAAI+N,EAAGtE,GAAI,OAAO,EAClB,IAAIF,SAAWE,EACf,QAAS,UAAYF,GAAK,UAAYA,GAAK,WAAaA,GAAK,MAAQE,IAAMwE,EAAGxE,KAAO0E,GAAGX,KAAK/D,KAAOyE,GAAGV,KAAK/D,IAAM,MAAQzJ,GAAKyJ,KAAK/I,OAAOV,IAEzIqO,GAAKZ,EAAG/M,OAAQ,UAOhB4N,GAAK5N,OAAOuB,UAAUyB,eAYtB6K,GAAK7N,OAAOuB,UAAUyB,eAa1B,SAAS8K,GAAG/E,GACV,IAAIzJ,GAAK,EACLuJ,EAAI,MAAQE,EAAI,EAAIA,EAAEjQ,OAE1B,IAAK0B,KAAKuT,UAAWzO,EAAIuJ,GAAI,CAC3B,IAAI3C,EAAI6C,EAAEzJ,GACV9E,KAAKwT,IAAI9H,EAAE,GAAIA,EAAE,KAIrB4H,GAAGvM,UAAUwM,MAAQ,WACnBvT,KAAKyT,SAAWN,GAAKA,GAAG,MAAQ,GAAInT,KAAKoN,KAAO,GAC/CkG,GAAGvM,UAAU2M,OA1CP,SAAYnF,GACnB,IAAIzJ,EAAI9E,KAAKwN,IAAIe,WAAavO,KAAKyT,SAASlF,GAC5C,OAAOvO,KAAKoN,MAAQtI,EAAI,EAAI,EAAGA,GAwCJwO,GAAGvM,UAAU0G,IAnCjC,SAAYc,GACnB,IAAIzJ,EAAI9E,KAAKyT,SAEb,GAAIN,GAAI,CACN,IAAI9E,EAAIvJ,EAAEyJ,GACV,MARK,8BAQEF,OAAW,EAASA,EAG7B,OAAO+E,GAAG3K,KAAK3D,EAAGyJ,GAAKzJ,EAAEyJ,QAAK,GA2BoB+E,GAAGvM,UAAUyG,IAvBxD,SAAYe,GACnB,IAAIzJ,EAAI9E,KAAKyT,SACb,OAAON,QAAK,IAAWrO,EAAEyJ,GAAK8E,GAAG5K,KAAK3D,EAAGyJ,IAqBgC+E,GAAGvM,UAAUyM,IAjB/E,SAAYjF,EAAGzJ,GACtB,IAAIuJ,EAAIrO,KAAKyT,SACb,OAAOzT,KAAKoN,MAAQpN,KAAKwN,IAAIe,GAAK,EAAI,EAAGF,EAAEE,GAAK4E,SAAM,IAAWrO,EAJ1D,4BAImEA,EAAG9E,MAgB/E,IAAI2T,GAAKL,GAELM,GAAK,SAAYrF,EAAGzJ,GACtB,IAAK,IAAIuJ,EAAIE,EAAEjQ,OAAQ+P,KACrB,GAAIsE,EAAGpE,EAAEF,GAAG,GAAIvJ,GAAI,OAAOuJ,EAG7B,OAAQ,GAENwF,GAAK3G,MAAMnG,UAAUc,OAwBzB,SAASiM,GAAGvF,GACV,IAAIzJ,GAAK,EACLuJ,EAAI,MAAQE,EAAI,EAAIA,EAAEjQ,OAE1B,IAAK0B,KAAKuT,UAAWzO,EAAIuJ,GAAI,CAC3B,IAAI3C,EAAI6C,EAAEzJ,GACV9E,KAAKwT,IAAI9H,EAAE,GAAIA,EAAE,KAIrBoI,GAAG/M,UAAUwM,MAAQ,WACnBvT,KAAKyT,SAAW,GAAIzT,KAAKoN,KAAO,GAC/B0G,GAAG/M,UAAU2M,OAlCP,SAAYnF,GACnB,IAAIzJ,EAAI9E,KAAKyT,SACTpF,EAAIuF,GAAG9O,EAAGyJ,GACd,QAASF,EAAI,IAAMA,GAAKvJ,EAAExG,OAAS,EAAIwG,EAAEiP,MAAQF,GAAGpL,KAAK3D,EAAGuJ,EAAG,KAAMrO,KAAKoN,KAAM,KA+BrD0G,GAAG/M,UAAU0G,IA5BjC,SAAYc,GACnB,IAAIzJ,EAAI9E,KAAKyT,SACTpF,EAAIuF,GAAG9O,EAAGyJ,GACd,OAAOF,EAAI,OAAI,EAASvJ,EAAEuJ,GAAG,IAyBqByF,GAAG/M,UAAUyG,IAtBxD,SAAYe,GACnB,OAAOqF,GAAG5T,KAAKyT,SAAUlF,IAAM,GAqB0CuF,GAAG/M,UAAUyM,IAlB/E,SAAYjF,EAAGzJ,GACtB,IAAIuJ,EAAIrO,KAAKyT,SACT/H,EAAIkI,GAAGvF,EAAGE,GACd,OAAO7C,EAAI,KAAO1L,KAAKoN,KAAMiB,EAAE7G,KAAK,CAAC+G,EAAGzJ,KAAOuJ,EAAE3C,GAAG,GAAK5G,EAAG9E,MAgB9D,IAAIgU,GAAKF,GACLG,GAAK1B,EAAG7B,EAAG,OAOXwD,GAAK,SAAY3F,EAAGzJ,GACtB,IAAIuJ,EAAIE,EAAEkF,SACV,OAPO,SAAYlF,GACnB,IAAIzJ,SAAWyJ,EACf,MAAO,UAAYzJ,GAAK,UAAYA,GAAK,UAAYA,GAAK,WAAaA,EAAI,cAAgByJ,EAAI,OAASA,EAKjG4F,CAAGrP,GAAKuJ,EAAE,iBAAmBvJ,EAAI,SAAW,QAAUuJ,EAAE9H,KAsBjE,SAAS6N,GAAG7F,GACV,IAAIzJ,GAAK,EACLuJ,EAAI,MAAQE,EAAI,EAAIA,EAAEjQ,OAE1B,IAAK0B,KAAKuT,UAAWzO,EAAIuJ,GAAI,CAC3B,IAAI3C,EAAI6C,EAAEzJ,GACV9E,KAAKwT,IAAI9H,EAAE,GAAIA,EAAE,KAIrB0I,GAAGrN,UAAUwM,MAAQ,WACnBvT,KAAKoN,KAAO,EAAGpN,KAAKyT,SAAW,CAC7BY,KAAM,IAAIV,GACVpN,IAAK,IAAK0N,IAAMD,IAChBM,OAAQ,IAAIX,KAEbS,GAAGrN,UAAU2M,OAnCP,SAAYnF,GACnB,IAAIzJ,EAAIoP,GAAGlU,KAAMuO,GAAGmF,OAAOnF,GAC3B,OAAOvO,KAAKoN,MAAQtI,EAAI,EAAI,EAAGA,GAiCJsP,GAAGrN,UAAU0G,IA9BjC,SAAYc,GACnB,OAAO2F,GAAGlU,KAAMuO,GAAGd,IAAIc,IA6B2B6F,GAAGrN,UAAUyG,IA1BxD,SAAYe,GACnB,OAAO2F,GAAGlU,KAAMuO,GAAGf,IAAIe,IAyBkD6F,GAAGrN,UAAUyM,IAtB/E,SAAYjF,EAAGzJ,GACtB,IAAIuJ,EAAI6F,GAAGlU,KAAMuO,GACb7C,EAAI2C,EAAEjB,KACV,OAAOiB,EAAEmF,IAAIjF,EAAGzJ,GAAI9E,KAAKoN,MAAQiB,EAAEjB,MAAQ1B,EAAI,EAAI,EAAG1L,MAoBxD,IAAIuU,GAAKH,GAGT,SAASI,GAAGjG,EAAGzJ,GACb,GAAI,mBAAqByJ,GAAK,MAAQzJ,GAAK,mBAAqBA,EAAG,MAAM,IAAIgK,UAHtE,uBAKP,IAAIT,EAAI,SAASA,IACf,IAAI3C,EAAI5E,UACJsH,EAAItJ,EAAIA,EAAE+B,MAAM7G,KAAM0L,GAAKA,EAAE,GAC7BvD,EAAIkG,EAAEoG,MACV,GAAItM,EAAEqF,IAAIY,GAAI,OAAOjG,EAAEsF,IAAIW,GAC3B,IAAItB,EAAIyB,EAAE1H,MAAM7G,KAAM0L,GACtB,OAAO2C,EAAEoG,MAAQtM,EAAEqL,IAAIpF,EAAGtB,IAAM3E,EAAG2E,GAGrC,OAAOuB,EAAEoG,MAAQ,IAAKD,GAAGE,OAASH,IAAOlG,EAG3CmG,GAAGE,MAAQH,GACX,IAAII,GAAKH,GAGLI,GAAK,mGACLC,GAAK,WACLC,GAAK,SAAUvG,GACjB,IAAIzJ,EAAI6P,IAKR,SAAUpG,GACV,IAAIzJ,EAAI,GACR,OAAO,KAAOyJ,EAAEwG,WAAW,IAAMjQ,EAAE0C,KAAK,IAAK+G,EAAE4D,QAAQyC,IAAI,SAAUrG,EAAGF,EAAG3C,EAAG0C,GAC5EtJ,EAAE0C,KAAKkE,EAAI0C,EAAE+D,QAAQ0C,GAAI,MAAQxG,GAAKE,MACpCzJ,KATU,SAAUyJ,GACtB,OANK,MAMEF,EAAEjB,MAAeiB,EAAEkF,QAAShF,KAEjCF,EAAIvJ,EAAE2P,MACV,OAAO3P,EALA,GAqBLkQ,GAAKpE,EAAIA,EAAE7J,eAAY,EACvBkO,GAAKD,GAAKA,GAAGnH,cAAW,EAExBqH,GAAK,SAAS3G,EAAEzJ,GAClB,GAAI,iBAAmBA,EAAG,OAAOA,EACjC,GAAI+N,EAAG/N,GAAI,OAbJ,SAAYyJ,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAI,MAAQ6C,EAAI,EAAIA,EAAEjQ,OAAQ8P,EAAIlB,MAAMxB,KAAM2C,EAAI3C,GACjE0C,EAAEC,GAAKvJ,EAAEyJ,EAAEF,GAAIA,EAAGE,GAGpB,OAAOH,EAQW+G,CAAGrQ,EAAGyJ,GAAK,GAC7B,GAAIwE,EAAGjO,GAAI,OAAOmQ,GAAKA,GAAGxM,KAAK3D,GAAK,GACpC,IAAIuJ,EAAIvJ,EAAI,GACZ,MAAO,KAAOuJ,GAAK,EAAIvJ,IAThB,IAS2B,KAAOuJ,GAOvC+G,GAAK,SAAY7G,EAAGzJ,GACtB,OAAO+N,EAAGtE,GAAKA,EAAI2E,GAAG3E,EAAGzJ,GAAK,CAACyJ,GAAKuG,GAL7B,SAAYvG,GACnB,OAAO,MAAQA,EAAI,GAAK2G,GAAG3G,GAIY8G,CAAG9G,KAGxC+G,GAAK,mBAELC,GAAK,SAAYhH,EAAGzJ,GACtB,IAAIuJ,SAAWE,EACf,SAAUzJ,EAAI,MAAQA,EALf,iBAKwBA,KAAO,UAAYuJ,GAAK,UAAYA,GAAKiH,GAAGhD,KAAK/D,KAAOA,GAAK,GAAKA,EAAI,GAAK,GAAKA,EAAIzJ,GAIjH0Q,GAAK,SAAYjH,GACnB,GAAI,iBAAmBA,GAAKwE,EAAGxE,GAAI,OAAOA,EAC1C,IAAIzJ,EAAIyJ,EAAI,GACZ,MAAO,KAAOzJ,GAAK,EAAIyJ,IALhB,IAK2B,KAAOzJ,GAqBvC2Q,GAAK,SAAYlH,EAAGzJ,EAAGuJ,GACzB,OAAO,MAAQE,EAAIA,EAnBZ,SAAYA,EAAGzJ,EAAGuJ,EAAG3C,GAC5B,IAAK6F,EAAEhD,GAAI,OAAOA,EAElB,IAAK,IAAIH,GAAK,EAAGjG,GAAKrD,EAAIsQ,GAAGtQ,EAAGyJ,IAAIjQ,OAAQwO,EAAI3E,EAAI,EAAG0G,EAAIN,EAAG,MAAQM,KAAOT,EAAIjG,GAAI,CACnF,IAAI4G,EAAIyG,GAAG1Q,EAAEsJ,IACTY,EAAIX,EAER,GAAID,GAAKtB,EAAG,CACV,IAAImC,EAAIJ,EAAEE,QACV,KAAYC,EAAItD,EAAIA,EAAEuD,EAAGF,EAAGF,QAAK,KAAYG,EAAIuC,EAAEtC,GAAKA,EAAIsG,GAAGzQ,EAAEsJ,EAAI,IAAM,GAAK,IAGlFnB,EAAG4B,EAAGE,EAAGC,GAAIH,EAAIA,EAAEE,GAGrB,OAAOR,EAIgBmH,CAAGnH,EAAGzJ,EAAGuJ,IAG9BsH,GAAK,SAAYpH,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAI,MAAQ6C,EAAI,EAAIA,EAAEjQ,SAAU+P,EAAI3C,IAAK,IAAO5G,EAAEyJ,EAAEF,GAAIA,EAAGE,KAI5E,OAAOA,GAGLqH,GACK,SAAU9Q,EAAGuJ,EAAG3C,GACrB,IAAK,IAAI0C,GAAK,EAAGjG,EAAI3C,OAAOV,GAAIgI,EAAIpB,EAAE5G,GAAI+J,EAAI/B,EAAExO,OAAQuQ,KAAM,CAC5D,IAAIE,EAAIjC,IAAYsB,GACpB,IAAI,IAAOC,EAAElG,EAAE4G,GAAIA,EAAG5G,GAAI,MAG5B,OAAOrD,GAaP+Q,GAAK,SAAYtH,GACnB,OAAOuE,EAAGvE,IAHH,sBAGS6C,EAAE7C,IAEhBuH,GAAKtQ,OAAOuB,UACZgP,GAAKD,GAAGtN,eACRwN,GAAKF,GAAGxH,qBACR2H,GAAKJ,GAAG,WACV,OAAO/O,UADG,IAEL+O,GAAK,SAAUtH,GACpB,OAAOuE,EAAGvE,IAAMwH,GAAGtN,KAAK8F,EAAG,YAAcyH,GAAGvN,KAAK8F,EAAG,WAGlD2H,GAAK,WACP,OAAO,GAELC,GAAK7F,GAAE,SAAU/B,EAAGzJ,GACtB,IAAIuJ,EAAIvJ,IAAMA,EAAEsR,UAAYtR,EACxB4G,EAAI2C,GAAKE,IAAMA,EAAE6H,UAAY7H,EAC7BH,EAAI1C,GAAKA,EAAE3N,UAAYsQ,EAAIqC,EAAE2F,YAAS,EAC1C9H,EAAExQ,SAAWqQ,EAAIA,EAAEkI,cAAW,IAAWJ,MAIvCK,GAAK,SAAYhI,GACnB,MAAO,iBAAmBA,GAAKA,GAAK,GAAKA,EAAI,GAAK,GAAKA,GAHhD,kBAKLiI,GAAK,GAETA,GAAG,yBAA2BA,GAAG,yBAA2BA,GAAG,sBAAwBA,GAAG,uBAAyBA,GAAG,uBAAyBA,GAAG,uBAAyBA,GAAG,8BAAgCA,GAAG,wBAA0BA,GAAG,yBAA0B,EAAIA,GAAG,sBAAwBA,GAAG,kBAAoBA,GAAG,wBAA0BA,GAAG,oBAAsBA,GAAG,qBAAuBA,GAAG,iBAAmBA,GAAG,kBAAoBA,GAAG,qBAAuBA,GAAG,gBAAkBA,GAAG,mBAAqBA,GAAG,mBAAqBA,GAAG,mBAAqBA,GAAG,gBAAkBA,GAAG,mBAAqBA,GAAG,qBAAsB,EAExnB,IASIC,GAAKnG,GAAE,SAAU/B,EAAGzJ,GACtB,IAAIuJ,EAAIvJ,IAAMA,EAAEsR,UAAYtR,EACxB4G,EAAI2C,GAAKE,IAAMA,EAAE6H,UAAY7H,EAC7BH,EAAI1C,GAAKA,EAAE3N,UAAYsQ,GAAKmC,EAAEkG,QAC9BvO,EAAI,WACN,IAGE,OAFQuD,GAAKA,EAAEiL,SAAWjL,EAAEiL,QAAQ,QAAQC,OAEhCxI,GAAKA,EAAEyI,SAAWzI,EAAEyI,QAAQ,QACxC,MAAOtI,KALH,GAQRA,EAAExQ,QAAUoK,KAEV2O,GAAKL,IAAMA,GAAGM,aACdC,GAAKF,GApBA,SAAYvI,GACnB,OAAO,SAAUzJ,GACf,OAAOyJ,EAAEzJ,IAkBCmS,CAAGH,IAxBR,SAAYvI,GACnB,OAAOuE,EAAGvE,IAAMgI,GAAGhI,EAAEjQ,WAAakY,GAAGpF,EAAE7C,KAwBrC2I,GAAK1R,OAAOuB,UAAUyB,eAEtB2O,GAAK,SAAY5I,EAAGzJ,GACtB,IAAIuJ,EAAIwE,EAAGtE,GACP7C,GAAK2C,GAAK4H,GAAG1H,GACbH,GAAKC,IAAM3C,GAAKyK,GAAG5H,GACnBpG,GAAKkG,IAAM3C,IAAM0C,GAAK4I,GAAGzI,GACzBzB,EAAIuB,GAAK3C,GAAK0C,GAAKjG,EACnB0G,EAAI/B,EAxED,SAAYyB,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAIwB,MAAMqB,KAAMF,EAAIE,GACnC7C,EAAE2C,GAAKvJ,EAAEuJ,GAGX,OAAO3C,EAmEK0L,CAAG7I,EAAEjQ,OAAQkQ,QAAU,GAC/BO,EAAIF,EAAEvQ,OAEV,IAAK,IAAI0Q,KAAKT,GACXzJ,IAAMoS,GAAGzO,KAAK8F,EAAGS,IAAMlC,IAAM,UAAYkC,GAAKZ,IAAM,UAAYY,GAAK,UAAYA,IAAM7G,IAAM,UAAY6G,GAAK,cAAgBA,GAAK,cAAgBA,IAAMuG,GAAGvG,EAAGD,KAAOF,EAAErH,KAAKwH,GAGhL,OAAOH,GAELwI,GAAK7R,OAAOuB,UAEZuQ,GAAK,SAAY/I,GACnB,IAAIzJ,EAAIyJ,GAAKA,EAAEtH,YACf,OAAOsH,KAAO,mBAAqBzJ,GAAKA,EAAEiC,WAAasQ,KAGrDE,GAAK,SAAYhJ,EAAGzJ,GACtB,OAAO,SAAUuJ,GACf,OAAOE,EAAEzJ,EAAEuJ,MAGXmJ,GAAKD,GAAG/R,OAAO6C,KAAM7C,QACrBiS,GAAKjS,OAAOuB,UAAUyB,eAatBkP,GAAK,SAAYnJ,GACnB,OAAO,MAAQA,GAAKgI,GAAGhI,EAAEjQ,UAAYkT,EAAEjD,IAGrCoJ,GAAK,SAAYpJ,GACnB,OAAOmJ,GAAGnJ,GAAK4I,GAAG5I,GAhBX,SAAYA,GACnB,IAAK+I,GAAG/I,GAAI,OAAOiJ,GAAGjJ,GACtB,IAAIzJ,EAAI,GAER,IAAK,IAAIuJ,KAAK7I,OAAO+I,GACnBkJ,GAAGhP,KAAK8F,EAAGF,IAAM,eAAiBA,GAAKvJ,EAAE0C,KAAK6G,GAGhD,OAAOvJ,EAQgB8S,CAAGrJ,IAGxBsJ,GACK,SAAUxJ,EAAG3C,GAClB,GAAI,MAAQ2C,EAAG,OAAOA,EACtB,IAAKqJ,GAAGrJ,GAAI,OAQd,SAAUE,EAAGzJ,GACb,OAAOyJ,GAAKqH,GAAGrH,EAAGzJ,EAAG6S,IATApJ,CAAEF,EAAG3C,GAExB,IAAK,IAAI0C,EAAIC,EAAE/P,OAAQ6J,GAAa,EAAG2E,EAAItH,OAAO6I,KAAiBlG,EAAIiG,IAAM,IAAO1C,EAAEoB,EAAE3E,GAAIA,EAAG2E,KAI/F,OAAOuB,GAMPyJ,GAAK,SAAYvJ,GACnB,OAAOA,GAOLwJ,GAAK,SAAYxJ,EAAGzJ,GACtB,OAAQ+N,EAAGtE,GAAKoH,GAAKkC,IAAItJ,EALlB,SAAYA,GACnB,MAAO,mBAAqBA,EAAIA,EAAIuJ,GAIRE,CAAGlT,KAwCjC,SAASmT,GAAG1J,GACV,IAAIzJ,EAAI9E,KAAKyT,SAAW,IAAIO,GAAGzF,GAC/BvO,KAAKoN,KAAOtI,EAAEsI,KAGhB6K,GAAGlR,UAAUwM,MAAQ,WACnBvT,KAAKyT,SAAW,IAAIO,GAAMhU,KAAKoN,KAAO,GACrC6K,GAAGlR,UAAU2M,OAlCP,SAAYnF,GACnB,IAAIzJ,EAAI9E,KAAKyT,SACTpF,EAAIvJ,EAAE4O,OAAOnF,GACjB,OAAOvO,KAAKoN,KAAOtI,EAAEsI,KAAMiB,GA+BA4J,GAAGlR,UAAU0G,IA5BjC,SAAYc,GACnB,OAAOvO,KAAKyT,SAAShG,IAAIc,IA2ByB0J,GAAGlR,UAAUyG,IAxBxD,SAAYe,GACnB,OAAOvO,KAAKyT,SAASjG,IAAIe,IAuBgD0J,GAAGlR,UAAUyM,IAnB/E,SAAYjF,EAAGzJ,GACtB,IAAIuJ,EAAIrO,KAAKyT,SAEb,GAAIpF,aAAa2F,GAAI,CACnB,IAAItI,EAAI2C,EAAEoF,SACV,IAAKQ,IAAMvI,EAAEpN,OAAS4Z,IAAQ,OAAOxM,EAAElE,KAAK,CAAC+G,EAAGzJ,IAAK9E,KAAKoN,OAASiB,EAAEjB,KAAMpN,KAC3EqO,EAAIrO,KAAKyT,SAAW,IAAIc,GAAG7I,GAG7B,OAAO2C,EAAEmF,IAAIjF,EAAGzJ,GAAI9E,KAAKoN,KAAOiB,EAAEjB,KAAMpN,MAW1C,IAAImY,GAAKF,GAELG,GAAK,SAAY7J,EAAGzJ,EAAGuJ,SACxB,IAAWA,GAAKsE,EAAGpE,EAAEzJ,GAAIuJ,WAAQ,IAAWA,GAAKvJ,KAAKyJ,IAAMmE,EAAGnE,EAAGzJ,EAAGuJ,IAEpEgK,GAAK/H,GAAE,SAAU/B,EAAGzJ,GACtB,IAAIuJ,EAAIvJ,IAAMA,EAAEsR,UAAYtR,EACxB4G,EAAI2C,GAAKE,IAAMA,EAAE6H,UAAY7H,EAC7BH,EAAI1C,GAAKA,EAAE3N,UAAYsQ,EAAIqC,EAAE2F,YAAS,EACtClO,EAAIiG,EAAIA,EAAEkK,iBAAc,EAE5B/J,EAAExQ,QAAU,SAAUwQ,EAAGzJ,GACvB,GAAIA,EAAG,OAAOyJ,EAAEgK,QAChB,IAAIlK,EAAIE,EAAEjQ,OACNoN,EAAIvD,EAAIA,EAAEkG,GAAK,IAAIE,EAAEtH,YAAYoH,GACrC,OAAOE,EAAEiK,KAAK9M,GAAIA,MAGlB+M,GAAK/H,EAAEgI,WAOPC,GAAK,SAAYpK,EAAGzJ,GACtB,IAAIuJ,EAAIvJ,EAND,SAAYyJ,GACnB,IAAIzJ,EAAI,IAAIyJ,EAAEtH,YAAYsH,EAAEqK,YAC5B,OAAO,IAAIH,GAAG3T,GAAG0O,IAAI,IAAIiF,GAAGlK,IAAKzJ,EAIrB+T,CAAGtK,EAAEuK,QAAUvK,EAAEuK,OAC7B,OAAO,IAAIvK,EAAEtH,YAAYoH,EAAGE,EAAEwK,WAAYxK,EAAEjQ,SAa1C0a,GAAKxT,OAAOwB,OACZiS,GAAK,WACP,SAAS1K,KAET,OAAO,SAAUzJ,GACf,IAAKyM,EAAEzM,GAAI,MAAO,GAClB,GAAIkU,GAAI,OAAOA,GAAGlU,GAClByJ,EAAExH,UAAYjC,EACd,IAAIuJ,EAAI,IAAIE,EACZ,OAAOA,EAAExH,eAAY,EAAQsH,GARxB,GAWL6K,GAAK3B,GAAG/R,OAAO2T,eAAgB3T,QAU/B4T,GAAKzI,SAAS5J,UACdsS,GAAK7T,OAAOuB,UACZuS,GAAKF,GAAGvL,SACR0L,GAAKF,GAAG7Q,eACRgR,GAAKF,GAAG7Q,KAAKjD,QAUbiU,GAAK,SAAYlL,EAAGzJ,GACtB,MAAO,aAAeA,OAAI,EAASyJ,EAAEzJ,IAuBnC4U,GAAKlU,OAAOuB,UAAUyB,eAEtBmR,GAAK,SAAYpL,GACnB,IAAKgD,EAAEhD,GAAI,OAVJ,SAAYA,GACnB,IAAIzJ,EAAI,GACR,GAAI,MAAQyJ,EAAG,IAAK,IAAIF,KAAK7I,OAAO+I,GAClCzJ,EAAE0C,KAAK6G,GAET,OAAOvJ,EAKW8U,CAAGrL,GACrB,IAAIzJ,EAAIwS,GAAG/I,GACPF,EAAI,GAER,IAAK,IAAI3C,KAAK6C,GACX,eAAiB7C,IAAM5G,GAAK4U,GAAGjR,KAAK8F,EAAG7C,KAAO2C,EAAE7G,KAAKkE,GAGxD,OAAO2C,GAGLwL,GAAK,SAAYtL,GACnB,OAAOmJ,GAAGnJ,GAAK4I,GAAG5I,GAAG,GAAMoL,GAAGpL,IAG5BuL,GAAK,SAAYvL,GACnB,OAvCO,SAAYA,EAAGzJ,EAAGuJ,EAAG3C,GAC5B,IAAI0C,GAAKC,EACTA,IAAMA,EAAI,IAEV,IAAK,IAAIlG,GAAK,EAAG2E,EAAIhI,EAAExG,SAAU6J,EAAI2E,GAAI,CACvC,IAAI+B,EAAI/J,EAAEqD,GACN4G,EAAIrD,EAAIA,EAAE2C,EAAEQ,GAAIN,EAAEM,GAAIA,EAAGR,EAAGE,QAAK,OACrC,IAAWQ,IAAMA,EAAIR,EAAEM,IAAKT,EAAIsE,EAAGrE,EAAGQ,EAAGE,GAAK9B,EAAGoB,EAAGQ,EAAGE,GAGzD,OAAOV,EA6BA0L,CAAGxL,EAAGsL,GAAGtL,KAGdyL,GAAK,SAAYzL,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,EAAG2E,GACrC,IAAI+B,EAAI4K,GAAGlL,EAAGF,GACVU,EAAI0K,GAAG3U,EAAGuJ,GACVW,EAAIlC,EAAEW,IAAIsB,GACd,GAAIC,EAAGoJ,GAAG7J,EAAGF,EAAGW,OAAQ,CACtB,IAAIC,EAAI9G,EAAIA,EAAE0G,EAAGE,EAAGV,EAAI,GAAIE,EAAGzJ,EAAGgI,QAAK,EACnCqC,OAAI,IAAWF,EAEnB,GAAIE,EAAG,CACL,IAAIC,EAAIyD,EAAG9D,GACPW,GAAKN,GAAK+G,GAAGpH,GACbc,GAAKT,IAAMM,GAAKsH,GAAGjI,GACvBE,EAAIF,EAAGK,GAAKM,GAAKG,EAAIgD,EAAGhE,GAAKI,EAAIJ,EA5E9B,SAAYN,GACnB,OAAOuE,EAAGvE,IAAMmJ,GAAGnJ,GA2EsB0L,CAAGpL,GAAKI,EAxG1C,SAAYV,EAAGzJ,GACtB,IAAIuJ,GAAK,EACL3C,EAAI6C,EAAEjQ,OAEV,IAAKwG,IAAMA,EAAIoI,MAAMxB,MAAO2C,EAAI3C,GAC9B5G,EAAEuJ,GAAKE,EAAEF,GAGX,OAAOvJ,EAgG8CoV,CAAGrL,GAAKa,GAAKP,GAAI,EAAIF,EAAIoJ,GAAGtJ,GAAG,IAAOc,GAAKV,GAAI,EAAIF,EAAI0J,GAAG5J,GAAG,IAAOE,EAAI,GAlEtH,SAAYV,GACnB,IAAKuE,EAAGvE,IARD,mBAQO6C,EAAE7C,GAAU,OAAO,EACjC,IAAIzJ,EAAIoU,GAAG3K,GACX,GAAI,OAASzJ,EAAG,OAAO,EACvB,IAAIuJ,EAAIkL,GAAG9Q,KAAK3D,EAAG,gBAAkBA,EAAEmC,YACvC,MAAO,mBAAqBoH,GAAKA,aAAaA,GAAKiL,GAAG7Q,KAAK4F,IAAMmL,GA6DiEW,CAAGpL,IAAMkH,GAAGlH,IAAME,EAAIJ,EAAGoH,GAAGpH,GAAKI,EAAI6K,GAAGjL,KAAO0C,EAAE1C,IAAMnD,GAAK8F,EAAE3C,MAAQI,EAhFjM,SAAYV,GACnB,MAAO,mBAAqBA,EAAEtH,aAAeqQ,GAAG/I,GAAK,GAAK0K,GAAGC,GAAG3K,IA+E4I6L,CAAGrL,KAAOI,GAAI,EAGxNA,IAAMrC,EAAE0G,IAAIzE,EAAGE,GAAIb,EAAEa,EAAGF,EAAGrD,EAAGvD,EAAG2E,GAAIA,EAAE4G,OAAO3E,IAAKqJ,GAAG7J,EAAGF,EAAGY,KAa5DoL,GAAK,SAAY9L,EAAGzJ,EAAGuJ,GACzB,OAAQA,EAAE/P,QACR,KAAK,EACH,OAAOiQ,EAAE9F,KAAK3D,GAEhB,KAAK,EACH,OAAOyJ,EAAE9F,KAAK3D,EAAGuJ,EAAE,IAErB,KAAK,EACH,OAAOE,EAAE9F,KAAK3D,EAAGuJ,EAAE,GAAIA,EAAE,IAE3B,KAAK,EACH,OAAOE,EAAE9F,KAAK3D,EAAGuJ,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAGnC,OAAOE,EAAE1H,MAAM/B,EAAGuJ,IAEhBiM,GAAKpO,KAAKqO,IAkBVC,GAAK,SAAYjM,GACnB,OAAO,WACL,OAAOA,IAKPkM,GAAKC,KAAKC,IAEVC,GAAK,SAAUrM,GACjB,IAAIzJ,EAAI,EACJuJ,EAAI,EACR,OAAO,WACL,IAAI3C,EAAI+O,KACJrM,EARC,IAQS1C,EAAI2C,GAElB,GAAIA,EAAI3C,EAAG0C,EAAI,GACb,KAAMtJ,GAZH,IAYY,OAAOgC,UAAU,QAC3BhC,EAAI,EAEX,OAAOyJ,EAAE1H,WAAM,EAAQC,YAXlB,CAaP2L,EAAK,SAAUlE,EAAGzJ,GAClB,OAAO2N,EAAGlE,EAAG,WAAY,CACvB5I,cAAc,EACdD,YAAY,EACZH,MAAOiV,GAAG1V,GACVc,UAAU,KAEVkS,IAEA+C,GAAK,SAAYtM,EAAGzJ,GACtB,OAAO8V,GAhDA,SAAYrM,EAAGzJ,EAAGuJ,GACzB,OAAOvJ,EAAIwV,QAAG,IAAWxV,EAAIyJ,EAAEjQ,OAAS,EAAIwG,EAAG,GAAI,WACjD,IAAK,IAAI4G,EAAI5E,UAAWsH,GAAK,EAAGjG,EAAImS,GAAG5O,EAAEpN,OAASwG,EAAG,GAAIgI,EAAII,MAAM/E,KAAMiG,EAAIjG,GAC3E2E,EAAEsB,GAAK1C,EAAE5G,EAAIsJ,GAGfA,GAAK,EAEL,IAAK,IAAIS,EAAI3B,MAAMpI,EAAI,KAAMsJ,EAAItJ,GAC/B+J,EAAET,GAAK1C,EAAE0C,GAGX,OAAOS,EAAE/J,GAAKuJ,EAAEvB,GAAIuN,GAAG9L,EAAGvO,KAAM6O,IAoCxBiM,CAAGvM,EAAGzJ,EAAGgT,IAAKvJ,EAAI,KAS1BwM,GAAK,SAAUxM,GACjB,OAAOsM,IAAG,SAAU/V,EAAGuJ,GACrB,IAAI3C,GAAK,EACL0C,EAAIC,EAAE/P,OACN6J,EAAIiG,EAAI,EAAIC,EAAED,EAAI,QAAK,EACvBtB,EAAIsB,EAAI,EAAIC,EAAE,QAAK,EAEvB,IAAKlG,EAAIoG,EAAEjQ,OAAS,GAAK,mBAAqB6J,GAAKiG,IAAKjG,QAAK,EAAQ2E,GAbhE,SAAYyB,EAAGzJ,EAAGuJ,GACzB,IAAKkD,EAAElD,GAAI,OAAO,EAClB,IAAI3C,SAAW5G,EACf,SAAU,UAAY4G,EAAIgM,GAAGrJ,IAAMkH,GAAGzQ,EAAGuJ,EAAE/P,QAAU,UAAYoN,GAAK5G,KAAKuJ,IAAMsE,EAAGtE,EAAEvJ,GAAIyJ,GAUdyM,CAAG3M,EAAE,GAAIA,EAAE,GAAIvB,KAAO3E,EAAIiG,EAAI,OAAI,EAASjG,EAAGiG,EAAI,GAAItJ,EAAIU,OAAOV,KAAM4G,EAAI0C,GAAI,CACvJ,IAAIS,EAAIR,EAAE3C,GACVmD,GAAKN,EAAEzJ,EAAG+J,EAAGnD,GAGf,OAAO5G,KAZF,EAcP,SAAUyJ,EAAGzJ,EAAGuJ,IAnGT,SAASE,EAAEzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAC9BrD,IAAMuJ,GAAKuH,GAAGvH,GAAG,SAAUvB,EAAG+B,GAC5B,GAAI0C,EAAEzE,GAAI3E,IAAMA,EAAI,IAAIgQ,IAAO6B,GAAGlV,EAAGuJ,EAAGQ,EAAGnD,EAAG6C,EAAGH,EAAGjG,OAAQ,CAC1D,IAAI4G,EAAIX,EAAIA,EAAEqL,GAAG3U,EAAG+J,GAAI/B,EAAG+B,EAAI,GAAI/J,EAAGuJ,EAAGlG,QAAK,OAC9C,IAAW4G,IAAMA,EAAIjC,GAAIsL,GAAGtT,EAAG+J,EAAGE,MAEnC8K,IA8FHoB,CAAG1M,EAAGzJ,EAAGuJ,MAGP6M,GAAK,SAAY3M,EAAGzJ,EAAGuJ,EAAG3C,GAC5B,IAAI0C,GAAK,EACLjG,EAAI,MAAQoG,EAAI,EAAIA,EAAEjQ,OAE1B,IAAKoN,GAAKvD,IAAMkG,EAAIE,IAAIH,MAAOA,EAAIjG,GACjCkG,EAAIvJ,EAAEuJ,EAAGE,EAAEH,GAAIA,EAAGG,GAGpB,OAAOF,GAQT,SAAS8M,GAAG5M,GACV,IAAIzJ,GAAK,EACLuJ,EAAI,MAAQE,EAAI,EAAIA,EAAEjQ,OAE1B,IAAK0B,KAAKyT,SAAW,IAAIc,KAAQzP,EAAIuJ,GACnCrO,KAAKob,IAAI7M,EAAEzJ,IAIfqW,GAAGpU,UAAUqU,IAAMD,GAAGpU,UAAUS,KAAO,SAAU+G,GAC/C,OAAOvO,KAAKyT,SAASD,IAAIjF,EAhBlB,6BAgB0BvO,MAChCmb,GAAGpU,UAAUyG,IAfP,SAAYe,GACnB,OAAOvO,KAAKyT,SAASjG,IAAIe,IAe3B,IAAI8M,GAAKF,GAELG,GAAK,SAAY/M,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAI,MAAQ6C,EAAI,EAAIA,EAAEjQ,SAAU+P,EAAI3C,GACnD,GAAI5G,EAAEyJ,EAAEF,GAAIA,EAAGE,GAAI,OAAO,EAG5B,OAAO,GAGLgN,GAAK,SAAYhN,EAAGzJ,GACtB,OAAOyJ,EAAEf,IAAI1I,IAKX0W,GAAK,SAAYjN,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAClC,IAAI2E,EAJG,EAICuB,EACJQ,EAAIN,EAAEjQ,OACNyQ,EAAIjK,EAAExG,OACV,GAAIuQ,GAAKE,KAAOjC,GAAKiC,EAAIF,GAAI,OAAO,EACpC,IAAIG,EAAI7G,EAAEsF,IAAIc,GACd,GAAIS,GAAK7G,EAAEsF,IAAI3I,GAAI,OAAOkK,GAAKlK,EAC/B,IAAImK,GAAK,EACLE,GAAI,EACJC,EAXG,EAWCf,EAAS,IAAIgN,QAAO,EAE5B,IAAKlT,EAAEqL,IAAIjF,EAAGzJ,GAAIqD,EAAEqL,IAAI1O,EAAGyJ,KAAMU,EAAIJ,GAAI,CACvC,IAAIa,EAAInB,EAAEU,GACNY,EAAI/K,EAAEmK,GACV,GAAIvD,EAAG,IAAI+P,EAAI3O,EAAIpB,EAAEmE,EAAGH,EAAGT,EAAGnK,EAAGyJ,EAAGpG,GAAKuD,EAAEgE,EAAGG,EAAGZ,EAAGV,EAAGzJ,EAAGqD,GAE1D,QAAI,IAAWsT,EAAG,CAChB,GAAIA,EAAG,SACPtM,GAAI,EACJ,MAGF,GAAIC,GACF,IAAKkM,GAAGxW,GAAG,SAAUyJ,EAAGzJ,GACtB,IAAKyW,GAAGnM,EAAGtK,KAAO4K,IAAMnB,GAAKH,EAAEsB,EAAGnB,EAAGF,EAAG3C,EAAGvD,IAAK,OAAOiH,EAAE5H,KAAK1C,MAC5D,CACFqK,GAAI,EACJ,YAEG,GAAIO,IAAMG,IAAMzB,EAAEsB,EAAGG,EAAGxB,EAAG3C,EAAGvD,GAAI,CACvCgH,GAAI,EACJ,OAIJ,OAAOhH,EAAEuL,OAAOnF,GAAIpG,EAAEuL,OAAO5O,GAAIqK,GAG/BuM,GAAK,SAAYnN,GACnB,IAAIzJ,GAAK,EACLuJ,EAAInB,MAAMqB,EAAEnB,MAChB,OAAOmB,EAAEK,SAAQ,SAAUL,EAAG7C,GAC5B2C,IAAIvJ,GAAK,CAAC4G,EAAG6C,MACXF,GAGFsN,GAAK,SAAYpN,GACnB,IAAIzJ,GAAK,EACLuJ,EAAInB,MAAMqB,EAAEnB,MAChB,OAAOmB,EAAEK,SAAQ,SAAUL,GACzBF,IAAIvJ,GAAKyJ,KACPF,GAeFuN,GAAKhL,EAAIA,EAAE7J,eAAY,EACvB8U,GAAKD,GAAKA,GAAGhO,aAAU,EA+DvBkO,GAAKtW,OAAOuB,UAAUuH,qBACtByN,GAAKvW,OAAOwW,sBACZC,GAAKF,GAAK,SAAUxN,GACtB,OAAO,MAAQA,EAAI,IAAMA,EAAI/I,OAAO+I,GAZ7B,SAAYA,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAI,MAAQ6C,EAAI,EAAIA,EAAEjQ,OAAQ8P,EAAI,EAAGjG,EAAI,KAAMkG,EAAI3C,GAAI,CACtE,IAAIoB,EAAIyB,EAAEF,GACVvJ,EAAEgI,EAAGuB,EAAGE,KAAOpG,EAAEiG,KAAOtB,GAG1B,OAAO3E,EAMiC+T,CAAGH,GAAGxN,IAAI,SAAUzJ,GAC1D,OAAOgX,GAAGrT,KAAK8F,EAAGzJ,QAElB,WACF,MAAO,IAGLqX,GAAK,SAAY5N,GACnB,OAzBO,SAAYA,EAAGzJ,EAAGuJ,GACzB,IAAI3C,EAAI5G,EAAEyJ,GACV,OAAOsE,EAAGtE,GAAK7C,EAVR,SAAY6C,EAAGzJ,GACtB,IAAK,IAAIuJ,GAAK,EAAG3C,EAAI5G,EAAExG,OAAQ8P,EAAIG,EAAEjQ,SAAU+P,EAAI3C,GACjD6C,EAAEH,EAAIC,GAAKvJ,EAAEuJ,GAGf,OAAOE,EAKY6N,CAAG1Q,EAAG2C,EAAEE,IAuBpB8N,CAAG9N,EAAGoJ,GAAIsE,KAGfK,GAAK9W,OAAOuB,UAAUyB,eAuCtB+T,GAAKhK,EAAG7B,EAAG,YACX8L,GAAKjK,EAAG7B,EAAG,WACX+L,GAAKlK,EAAG7B,EAAG,OACXgM,GAAKnK,EAAG7B,EAAG,WACXiM,GAAK7K,EAAEyK,IACPK,GAAK9K,EAAEmC,IACP4I,GAAK/K,EAAE0K,IACPM,GAAKhL,EAAE2K,IACPM,GAAKjL,EAAE4K,IACPM,GAAK5L,GAERmL,IAAM,qBAAuBS,GAAG,IAAIT,GAAG,IAAI3P,YAAY,MAAQqH,IAAM,gBAAkB+I,GAAG,IAAI/I,KAASuI,IAAM,oBAAsBQ,GAAGR,GAAGS,YAAcR,IAAM,gBAAkBO,GAAG,IAAIP,KAASC,IAAM,oBAAsBM,GAAG,IAAIN,OAAWM,GAAK,SAAYzO,GAC7P,IAAIzJ,EAAIsM,EAAE7C,GACNF,EAAI,mBAAqBvJ,EAAIyJ,EAAEtH,iBAAc,EAC7CyE,EAAI2C,EAAIyD,EAAEzD,GAAK,GACnB,GAAI3C,EAAG,OAAQA,GACb,KAAKiR,GACH,MAAO,oBAET,KAAKC,GACH,MAAO,eAET,KAAKC,GACH,MAAO,mBAET,KAAKC,GACH,MAAO,eAET,KAAKC,GACH,MAAO,mBAEX,OAAOjY,IAET,IAsLIoY,GAtLAC,GAAKH,GAELI,GAAK,qBACLC,GAAK,iBACLC,GAAK,kBACLC,GAAK/X,OAAOuB,UAAUyB,eAEtBgV,GAAK,SAAYjP,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAClC,IAAI2E,EAAI+F,EAAGtE,GACPM,EAAIgE,EAAG/N,GACPiK,EAAIjC,EAAIuQ,GAAKF,GAAG5O,GAChBS,EAAIH,EAAIwO,GAAKF,GAAGrY,GAChBmK,GAAKF,EAAIA,GAAKqO,GAAKE,GAAKvO,IAAMuO,GAC9BnO,GAAKH,EAAIA,GAAKoO,GAAKE,GAAKtO,IAAMsO,GAC9BlO,EAAIL,GAAKC,EAEb,GAAII,GAAK+G,GAAG5H,GAAI,CACd,IAAK4H,GAAGrR,GAAI,OAAO,EACnBgI,GAAI,EAAImC,GAAI,EAGd,GAAIG,IAAMH,EAAG,OAAO9G,IAAMA,EAAI,IAAIgQ,IAAOrL,GAAKkK,GAAGzI,GAAKiN,GAAGjN,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAxKjE,SAAYoG,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,EAAG2E,GACrC,OAAQuB,GACN,IANK,oBAOH,GAAIE,EAAEqK,YAAc9T,EAAE8T,YAAcrK,EAAEwK,YAAcjU,EAAEiU,WAAY,OAAO,EACzExK,EAAIA,EAAEuK,OAAQhU,EAAIA,EAAEgU,OAEtB,IAXK,uBAYH,QAASvK,EAAEqK,YAAc9T,EAAE8T,aAAezQ,EAAE,IAAIsQ,GAAGlK,GAAI,IAAIkK,GAAG3T,KAEhE,IAvBK,mBAwBL,IAvBK,gBAwBL,IArBK,kBAsBH,OAAO6N,GAAIpE,GAAIzJ,GAEjB,IA1BK,iBA2BH,OAAOyJ,EAAE3K,MAAQkB,EAAElB,MAAQ2K,EAAEP,SAAWlJ,EAAEkJ,QAE5C,IA1BK,kBA2BL,IAzBK,kBA0BH,OAAOO,GAAKzJ,EAAI,GAElB,IAhCK,eAiCH,IAAI+J,EAAI6M,GAEV,IAhCK,eAiCH,GAAI7M,IAAMA,EAAI8M,IAAKpN,EAAEnB,MAAQtI,EAAEsI,QAzC5B,EAyCsC1B,GAAS,OAAO,EACzD,IAAIqD,EAAIjC,EAAEW,IAAIc,GACd,GAAIQ,EAAG,OAAOA,GAAKjK,EACnB4G,GA3CG,EA2CMoB,EAAE0G,IAAIjF,EAAGzJ,GAClB,IAAIkK,EAAIwM,GAAG3M,EAAEN,GAAIM,EAAE/J,GAAI4G,EAAG0C,EAAGjG,EAAG2E,GAChC,OAAOA,EAAE4G,OAAOnF,GAAIS,EAEtB,IAtCK,kBAuCH,GAAI6M,GAAI,OAAOA,GAAGpT,KAAK8F,IAAMsN,GAAGpT,KAAK3D,GAGzC,OAAO,EAoIsE2Y,CAAGlP,EAAGzJ,EAAGiK,EAAGV,EAAG3C,EAAG0C,EAAGjG,GAElG,KAtBO,EAsBDkG,GAAS,CACb,IAAIqB,EAAIT,GAAKsO,GAAG9U,KAAK8F,EAAG,eACpBsB,EAAIV,GAAKoO,GAAG9U,KAAK3D,EAAG,eAExB,GAAI4K,GAAKG,EAAG,CACV,IAAI4L,EAAI/L,EAAInB,EAAEhJ,QAAUgJ,EACpBxB,EAAI8C,EAAI/K,EAAES,QAAUT,EACxB,OAAOqD,IAAMA,EAAI,IAAIgQ,IAAO/J,EAAEqN,EAAG1O,EAAGsB,EAAG3C,EAAGvD,IAI9C,QAASiH,IAAMjH,IAAMA,EAAI,IAAIgQ,IAxGtB,SAAY5J,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAClC,IAAI2E,EAJG,EAICuB,EACJQ,EAAIsN,GAAG5N,GACPQ,EAAIF,EAAEvQ,OACV,GAAIyQ,GAAKoN,GAAGrX,GAAGxG,SAAWwO,EAAG,OAAO,EAEpC,IAAK,IAAIkC,EAAID,EAAGC,KAAM,CACpB,IAAIC,EAAIJ,EAAEG,GACV,KAAMlC,EAAImC,KAAKnK,EAAIwX,GAAG7T,KAAK3D,EAAGmK,IAAK,OAAO,EAG5C,IAAIE,EAAIhH,EAAEsF,IAAIc,GACd,GAAIY,GAAKhH,EAAEsF,IAAI3I,GAAI,OAAOqK,GAAKrK,EAC/B,IAAIsK,GAAI,EACRjH,EAAEqL,IAAIjF,EAAGzJ,GAAIqD,EAAEqL,IAAI1O,EAAGyJ,GAEtB,IAAK,IAAImB,EAAI5C,IAAKkC,EAAID,GAAI,CACxB,IAAIc,EAAItB,EAAEU,EAAIJ,EAAEG,IACZyM,EAAI3W,EAAEmK,GACV,GAAIvD,EAAG,IAAIqB,EAAID,EAAIpB,EAAE+P,EAAG5L,EAAGZ,EAAGnK,EAAGyJ,EAAGpG,GAAKuD,EAAEmE,EAAG4L,EAAGxM,EAAGV,EAAGzJ,EAAGqD,GAE1D,UAAM,IAAW4E,EAAI8C,IAAM4L,GAAKrN,EAAEyB,EAAG4L,EAAGpN,EAAG3C,EAAGvD,GAAK4E,GAAI,CACrDqC,GAAI,EACJ,MAGFM,IAAMA,EAAI,eAAiBT,GAG7B,GAAIG,IAAMM,EAAG,CACX,IAAIK,EAAIxB,EAAEtH,YACNvI,EAAIoG,EAAEmC,YACV8I,GAAKrR,GAAK,gBAAiB6P,GAAK,gBAAiBzJ,KAAO,mBAAqBiL,GAAKA,aAAaA,GAAK,mBAAqBrR,GAAKA,aAAaA,KAAO0Q,GAAI,GAGxJ,OAAOjH,EAAEuL,OAAOnF,GAAIpG,EAAEuL,OAAO5O,GAAIsK,EAqEGsO,CAAGnP,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,KAGpDwV,GAAK,SAASpP,EAAEzJ,EAAGuJ,EAAG3C,EAAG0C,EAAGjG,GAC9B,OAAOrD,IAAMuJ,IAAM,MAAQvJ,GAAK,MAAQuJ,IAAMyE,EAAGhO,KAAOgO,EAAGzE,GAAKvJ,GAAKA,GAAKuJ,GAAKA,EAAImP,GAAG1Y,EAAGuJ,EAAG3C,EAAG0C,EAAGG,EAAGpG,KAiCnGyV,GAAK,SAAYrP,GACnB,OAAOA,GAAKA,IAAMgD,EAAEhD,IAalBsP,GAAK,SAAYtP,EAAGzJ,GACtB,OAAO,SAAUuJ,GACf,OAAO,MAAQA,GAAKA,EAAEE,KAAOzJ,SAAM,IAAWA,GAAKyJ,KAAK/I,OAAO6I,MAI/DyP,GAAK,SAAYvP,GACnB,IAAIzJ,EAjBG,SAAYyJ,GACnB,IAAK,IAAIzJ,EAAI6S,GAAGpJ,GAAIF,EAAIvJ,EAAExG,OAAQ+P,KAAM,CACtC,IAAI3C,EAAI5G,EAAEuJ,GACND,EAAIG,EAAE7C,GACV5G,EAAEuJ,GAAK,CAAC3C,EAAG0C,EAAGwP,GAAGxP,IAGnB,OAAOtJ,EAUCiZ,CAAGxP,GACX,OAAO,GAAKzJ,EAAExG,QAAUwG,EAAE,GAAG,GAAK+Y,GAAG/Y,EAAE,GAAG,GAAIA,EAAE,GAAG,IAAM,SAAUuJ,GACjE,OAAOA,IAAME,GAnDR,SAAYA,EAAGzJ,EAAGuJ,EAAG3C,GAC5B,IAAI0C,EAAIC,EAAE/P,OACN6J,EAAIiG,EACJtB,GAAKpB,EACT,GAAI,MAAQ6C,EAAG,OAAQpG,EAEvB,IAAKoG,EAAI/I,OAAO+I,GAAIH,KAAM,CACxB,IAAIS,EAAIR,EAAED,GACV,GAAItB,GAAK+B,EAAE,GAAKA,EAAE,KAAON,EAAEM,EAAE,MAAQA,EAAE,KAAMN,GAAI,OAAO,EAG1D,OAASH,EAAIjG,GAAI,CACf,IAAI4G,GAAKF,EAAIR,EAAED,IAAI,GACfY,EAAIT,EAAEQ,GACNE,EAAIJ,EAAE,GAEV,GAAI/B,GAAK+B,EAAE,IACT,QAAI,IAAWG,KAAOD,KAAKR,GAAI,OAAO,MACjC,CACL,IAAIY,EAAI,IAAIgJ,GACZ,GAAIzM,EAAG,IAAI0D,EAAI1D,EAAEsD,EAAGC,EAAGF,EAAGR,EAAGzJ,EAAGqK,GAChC,UAAM,IAAWC,EAAIuO,GAAG1O,EAAGD,EAAGgP,EAAStS,EAAGyD,GAAKC,GAAI,OAAO,GAI9D,OAAO,EA0Ba6O,CAAG5P,EAAGE,EAAGzJ,KAI3BoZ,GAAK,SAAY3P,EAAGzJ,GACtB,IAAK,IAAIuJ,EAAI,EAAG3C,GAAK5G,EAAIsQ,GAAGtQ,EAAGyJ,IAAIjQ,OAAQ,MAAQiQ,GAAKF,EAAI3C,GAC1D6C,EAAIA,EAAEiH,GAAG1Q,EAAEuJ,OAGb,OAAOA,GAAKA,GAAK3C,EAAI6C,OAAI,GAQvB4P,GAAK,SAAY5P,EAAGzJ,GACtB,OAAO,MAAQyJ,GAAKzJ,KAAKU,OAAO+I,IAa9B6P,GAAK,SAAY7P,EAAGzJ,GACtB,OAAO,MAAQyJ,GAXR,SAAYA,EAAGzJ,EAAGuJ,GACzB,IAAK,IAAI3C,GAAK,EAAG0C,GAAKtJ,EAAIsQ,GAAGtQ,EAAGyJ,IAAIjQ,OAAQ6J,GAAI,IAAMuD,EAAI0C,GAAI,CAC5D,IAAItB,EAAI0I,GAAG1Q,EAAE4G,IACb,KAAMvD,EAAI,MAAQoG,GAAKF,EAAEE,EAAGzB,IAAK,MACjCyB,EAAIA,EAAEzB,GAGR,OAAO3E,KAAOuD,GAAK0C,EAAIjG,KAAOiG,EAAI,MAAQG,EAAI,EAAIA,EAAEjQ,SAAWiY,GAAGnI,IAAMmH,GAAGzI,EAAGsB,KAAOyE,EAAGtE,IAAM0H,GAAG1H,IAI7E8P,CAAG9P,EAAGzJ,EAAGqZ,KAK3BG,GAAK,SAAY/P,EAAGzJ,GACtB,OAAOoO,GAAG3E,IAAMqP,GAAG9Y,GAAK+Y,GAAGrI,GAAGjH,GAAIzJ,GAAK,SAAUuJ,GAC/C,IAAI3C,EA3BC,SAAY6C,EAAGzJ,EAAGuJ,GACzB,IAAI3C,EAAI,MAAQ6C,OAAI,EAAS2P,GAAG3P,EAAGzJ,GACnC,YAAO,IAAW4G,EAAI2C,EAAI3C,EAyBhB6S,CAAGlQ,EAAGE,GACd,YAAO,IAAW7C,GAAKA,IAAM5G,EAAIsZ,GAAG/P,EAAGE,GAAKoP,GAAG7Y,EAAG4G,EAAG8S,KAgBrDC,GAAK,SAAYlQ,GACnB,OAAO2E,GAAG3E,GAbH,SAAYA,GACnB,OAAO,SAAUzJ,GACf,OAAO,MAAQA,OAAI,EAASA,EAAEyJ,IAWjBrL,CAAGsS,GAAGjH,IAPd,SAAYA,GACnB,OAAO,SAAUzJ,GACf,OAAOoZ,GAAGpZ,EAAGyJ,IAKYmQ,CAAGnQ,IAG5BoQ,GAAK,SAAYpQ,GACnB,MAAO,mBAAqBA,EAAIA,EAAI,MAAQA,EAAIuJ,GAAK,iBAAmBvJ,EAAIsE,EAAGtE,GAAK+P,GAAG/P,EAAE,GAAIA,EAAE,IAAMuP,GAAGvP,GAAKkQ,GAAGlQ,IAG9GqQ,GAAK,SAAYrQ,EAAGzJ,EAAGuJ,EAAG3C,EAAG0C,GAC/B,OAAOA,EAAEG,GAAG,SAAUA,EAAGH,EAAGjG,GAC1BkG,EAAI3C,GAAKA,GAAI,EAAI6C,GAAKzJ,EAAEuJ,EAAGE,EAAGH,EAAGjG,MAC/BkG,GAGFwQ,GAAK,SAAYtQ,EAAGzJ,EAAGuJ,GACzB,IAAI3C,EAAImH,EAAGtE,GAAK2M,GAAK0D,GACjBxQ,EAAItH,UAAUxI,OAAS,EAC3B,OAAOoN,EAAE6C,EAAGoQ,GAAG7Z,GAAOuJ,EAAGD,EAAGyJ,KAE1BiH,GAAK,SAAYvQ,EAAGzJ,EAAGuJ,GACzB,IAAI3C,EACJ,YAAO,IAAW6C,IAAMA,EAAI,IAAK7C,EAAImH,EAAG/N,GAAKA,EAAI,CAACA,GAAIiT,GAAGrM,GAAG,SAAU5G,GACpEiT,GAAG1J,GAAG,SAAUA,EAAG3C,GACjB+J,GAAGlH,EAAGzJ,EAAI,IAAM4G,EAAG2C,SAEnBE,GAEFwQ,GAAK,CAAC,UAAW,UAAW,QAAS,aAAc,YAAa,UAAW,UAAW,iBACtFC,GAAK,SAAYzQ,GACnB,OAAQ,IAAMwQ,GAAGnX,QAAQ2G,GAAKA,EAAI,IAAMA,EAAI,KAS1C0Q,IAAM/B,GALD5M,GAAE,SAAU/B,EAAGzJ,GACtBU,OAAOC,eAAeX,EAAG,aAAc,CACrCS,OAAO,IACLT,EAAE+D,QAAU,8nEAEIqU,GAAGtU,YAAcpD,OAAOuB,UAAUyB,eAAeC,KAAKyU,GAAI,WAAaA,GAAGrU,QAAUqU,GAqB1Gpf,EAAOC,QAAU,SAAUwQ,GACzB,IAAIzJ,EACAuJ,EACAvB,EACA+B,EACAG,EAAI7G,EAAE,GAAI,CACZY,aAAc,OACdC,eAAgB,KAChBkW,iBAAkB,IAClBjW,WAAY,EACZC,YAAa,GACbE,iBAAkB,CAAC,gBAAiB,qBAAsB,WAAY,SAAU,SAAU,SAAU,YAAa,YAAa,aAAc,iBAAkB,cAC9JC,eAAgB,CAAC,UAAW,SAC5B8V,YAAa,UACb7V,UAAW,oBACXC,aAAc,OACdC,WAAY,SACZC,WAAY,OACZ2V,kBAAkB,EAClBC,kBAAmB,GAClB9Q,GACCkN,GAAK3W,EAAIkK,EAAGX,EAAIiR,KAAKC,MAAMD,KAAKE,UAAUpQ,IAAKtC,EAAItH,OAAO+C,OAAO,GAAI8F,EAAGvJ,GAAI+J,EAAIE,EAAEjC,EAAE/D,cAAekG,EAAEnC,EAAE9D,iBAAmBmG,EAAEN,EAAE/B,EAAE/D,aAAc,OAAQ+D,EAAE6C,mBAAqBd,EAAE/B,EAAE9D,eAAgB,OAAS8D,EAAE6C,mBAAqBR,EAAErC,EAAE/D,cAAgB+D,EAAE9D,eAAiB,KAAM,CAChR/E,OAAQ4L,EAAE/C,GACV2S,kBAAmB,WACjB,OAAO1Q,GAAGR,EAAIzB,GAAG/D,cAAe,CAC9B2W,SAAUvQ,EAAEZ,EAAExF,cAAgB,GAAK,IAAM,IACzC1F,WAAYkL,EAAEvF,eAAe6E,YAE/B,IAAIU,GAENoR,iBAAkB,SAA0BpR,GAC1C,OAAOmB,EAAEnB,EAAGzB,IAEdhD,iBAAkB,SAA0ByE,EAAGzJ,EAAGuJ,GAChD,OAAO,MAAQvJ,IAAMA,EAAI,QAAS,SAAUyJ,EAAGzJ,EAAGuJ,EAAG3C,GACnD,MAAQ2C,IAAMA,EAAI3C,EAAE3C,cAAe,MAAQkG,EAAEV,KAAOA,EAAIY,EAAEzD,EAAE3C,eAAiBoG,EAAEZ,GAAK,KAAO,MAC3F,IAAIH,EAAIW,EAAErD,EAAE3C,cACZwF,EAAIH,EAAEG,EAAG,KAAMF,EAAID,EAAEC,EAAG,OACxB,IAAIlG,EAAI0H,EAAEnE,GACV,MAAO,SAAW5G,IAAMA,EAAI4K,EAAEnB,EAAG7C,IAAK,CACpCgU,SAAUtR,EAAEG,EAAG7C,EAAE2D,WAAYhB,GAC7BhL,WAAY8E,EAAErD,EAAGuJ,IAPa,CAShCE,EAAGzJ,EAAGuJ,EAAGvB,MAGf,OAAO2O,EAAE7Y,MAAQ,SAAU2L,GACzB,IAAIzJ,EAAI8a,SAAS5Q,EAAEjG,aAAc,IAC7BsF,EAAI,SAAUE,EAAGzJ,GACnB,IAAIuJ,EACJ,OAAO,MAAQE,IAAMA,EAAI,GAAI,MAAQzJ,IAAMA,EAAI,UAAWuJ,EAAI3C,EAAE5G,GAAKA,EAAI,MAAQsJ,EAAEtJ,GAAKsJ,EAAEtJ,GAAKsJ,EAAE6B,OAAQ/D,KAAKC,IAAIkC,EAAGE,GAF/G,CAGNA,EAAGS,EAAE/F,YAAcnE,EAAI,KAEzB,OAAO2W,EAAE3R,iBAAiBuE,IACzB7I,OAAO+C,OAAO,GAAI,CACnBqB,QAASoF,GACRyM,EAAG,CACJoE,aAAc,WACZ,OAAO7f,KAAK6N,YAEdiS,OAAQ,WACN,OAAO,SAAUvR,EAAGzJ,GAClB,IAAIuJ,EAAI,GACJ3C,EAAI6C,EAAEkR,oBACVpR,EAAIyQ,GAAGzQ,EAAG,OAAQ,CAChB0R,KAAMrU,EAAEgU,SAAW,IAAMhU,EAAErI,WAAa,IAAMyB,EAAEuE,eAAe9C,IAAIyY,IAAIhV,KAAK,KAC5EgW,UAAW,aACXC,UAAW,WACT5R,EAAIyQ,GAAGzQ,EAAG,CAAC,IAAK,WAAY,WAAY,CAC1C2R,UAAW,YACT3R,EAAIyQ,GAAGzQ,EAAG,OAAQ,CACpBpL,MAAO6B,EAAEwE,UACTnG,WAAY2B,EAAEuE,eAAe9C,IAAIyY,IAAIhV,KAAK,KAC1CK,WAAYvF,EAAE0E,WACd0W,SAAU,aACVC,YAAa,SACbC,uBAAwB,iCACxBC,sBAAuB,iCACvBC,0BAA2B,iCAC3BC,oBAAqB,mCACnBlS,EAAIyQ,GAAGzQ,EAAG,MAAO,CACnBrK,SAAU,SAEZ,IAAIoK,EACJA,EAz0BC,SAAYG,GACnB,MAAO,iBAAmBA,GAAKuE,EAAGvE,IAH3B,mBAGiC6C,EAAE7C,GAw0BhCiS,CAAG1b,EAAEua,mBAAqB9Q,EAAEtK,OAAOa,EAAEua,mBAp0BxC,SAAY9Q,GACnB,MAAO,iBAAmBA,IAAMsE,EAAGtE,IAAMuE,EAAGvE,IAHrC,mBAG2C6C,EAAE7C,GAm0BgBkS,CAAG3b,EAAEua,mBAAqBva,EAAEua,kBAAoB9Q,EAAEtK,OAAO,GAAIoK,EAAIyQ,GAAGzQ,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,KAAM,KAAM,KAAM,KAAM,IAAK,SAAU,MAAO,QAAS,WAAY,aAAc,OAAQ,WAAY,SAAU,MAAO,KAAM,WAAY,CAC1TvK,WAAY,EACZC,YAAa,EACbjB,UAAW,EACX4d,cAAe,EACfvW,YAAa,EACbwW,aAAc,EACdC,WAAY,EACZ/d,aAAcuL,IACZC,EAAIyQ,GAAGzQ,EAAG,aAAc,CAC1BtK,YAAawK,EAAEtK,OAAO,GACtBpB,aAAcuL,EACdtK,WAAYyK,EAAEtK,OAAO,KACnBoK,EAAIyQ,GAAGzQ,EAAG,CAAC,IAAK,SAAU,KAAM,MAAO,CACzChE,WAAYvF,EAAE2E,aACZ4E,EAAIyQ,GAAGzQ,EAAG,KAAM,CAClB9K,WAAY7E,EAAE,IACdmiB,OAAQ,OACRzd,OAAQ,MACRP,aAAc,QAAUuL,EAAI,YAC1BC,EAAIyQ,GAAGzQ,EAAG,CAAC,KAAM,MAAO,CAC1ByS,kBAAmB,UACnBC,eAAgB,OAChBjd,WAAYyK,EAAEtK,OAAO,KACnBoK,EAAIyQ,GAAGzQ,EAAG,KAAM,CAClBxL,aAAc,QAAUuL,EAAI,UAC1BC,EAAIyQ,GAAGzQ,EAAG,CAAC,QAAS,SAAU,CAChClE,YAAa,IACXkE,EAAIyQ,GAAGzQ,EAAG,CAAC,UAAW,WAAY,CACpCvK,WAAYyK,EAAEtK,OAAO,GACrBpB,aAAc,QAAUuL,EAAI,QAC5BtL,UAAW,QAAUsL,EAAI,UACvBC,EAAIyQ,GAAGzQ,EAAG,CAAC,0BAA2B,kBAAmB,kBAAmB,CAC9ExL,aAAc,IACZwL,EAAIyQ,GAAGzQ,EAAG,CAAC,UAAW,CACxBxL,aAAc,QAAUuL,EAAI,UAC1BC,EAAIyQ,GAAGzQ,EAAG,CAAC,OAAQ,MAAO,MAAO,QAAS7I,OAAO+C,OAAO,GAAIgG,EAAEzE,iBAAiB,UAAWuE,EAAIyQ,GAAGzQ,EAAG,CAAC,OAAQ,WAAY,CAC3H2S,aAAc,cAAgBtiB,EAAE,IAChCuiB,OAAQ,UACN,eAAiB,CACnBD,aAAc,cAAgBtiB,EAAE,IAChCuiB,OAAQ,OACRje,eAAgB,QACfqL,EAAIyQ,GAAGzQ,EAAG,CAAC,SAAU7I,OAAO+C,OAAO,GAAIgG,EAAEzE,iBAAiBhF,EAAEiE,cAAe,CAC5EmY,eAAgB,WAChB1c,MAAO,UACJ6J,EAAIyQ,GAAGzQ,EAAG,CAAC,SAAU,CACxB8S,UAAW,SACT9S,EAAIyQ,GAAGzQ,EAAG,CAAC,SAAU,CACvB8S,UAAW,OACXH,aAAc,aAAetiB,EAAE,IAC/B6hB,oBAAqB,SACrBH,uBAAwB,SACxBC,sBAAuB,SACvBC,0BAA2B,SAC3BnW,YAAaoE,EAAEtK,OAAO,EAAI,GAC1B0c,aAAcpS,EAAEtK,OAAO,EAAI,GAC3B2c,WAAYrS,EAAEtK,OAAO,IACrByc,cAAe,QAAUnS,EAAEtK,OAAO,IAAM,YACtCoK,EAAIyQ,GAAGzQ,EAAG,gCAAiC,CAC7ClE,YAAa,IACXkE,EAAIyQ,GAAGzQ,EAAG,8BAA+B,CAC3CsS,aAAc,IACZtS,EAAIyQ,GAAGzQ,EAAG,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MAAO,CAClDpL,MAAO6B,EAAEqa,YACThc,WAAY2B,EAAEsE,iBAAiB7C,IAAIyY,IAAIhV,KAAK,KAC5CK,WAAYvF,EAAEyE,aACd6X,cAAe,uBAEjB,IAAIjZ,EAAIoG,EAAE3L,MAAM,GACZkK,EAAIyB,EAAE3L,MAAM,IACZiM,EAAIN,EAAE3L,MAAM,IACZmM,EAAIR,EAAE3L,MAAM,GACZoM,EAAIT,EAAE3L,OAAO,IACbqM,EAAIV,EAAE3L,OAAO,IACjB,OAAOmV,GAAG,CAAC5P,EAAG2E,EAAG+B,EAAGE,EAAGC,EAAGC,IAAI,SAAUV,EAAG7C,GACzC2C,EAAIoH,GAAGpH,EAAG,KAAO3C,EAAI,GAAK,YAAa6C,EAAEmR,UAAWrR,EAAIoH,GAAGpH,EAAG,KAAO3C,EAAI,GAAK,cAAe5G,EAAEoa,qBAC7FrM,EAAG/N,EAAEuc,WAAahT,EAAIwQ,GAAG/Z,EAAEuc,SAAS,SAAUhT,EAAG3C,GACnD,OAAOqP,GAAG1M,EAAG3C,EAAE6C,EAAGzJ,EAAGuJ,MACpBA,IAAKvJ,EAAE4E,gBAAkB8H,EAAE1M,EAAE4E,kBAAoB2E,EAAI0M,GAAG1M,EAAGvJ,EAAE4E,eAAe6E,EAAGzJ,EAAGuJ,KAAMvJ,EAAEwc,qBAAuB9P,EAAE1M,EAAEwc,uBAAyBjT,EAAI0M,GAAG1M,EAAGvJ,EAAEwc,oBAAoB/S,EAAGzJ,EAAGuJ,KAAMA,EAtGxL,CAuGLoN,EAAGzM,IAEPnB,SAAU,WACR,OAAO,SAAUU,EAAGzJ,EAAGuJ,GACrB,IAAI3C,EA5LH,SAAS6V,EAAGhT,GACnB,OAAOsQ,GAAGtQ,GAAG,SAAUA,EAAGzJ,EAAGuJ,GAC3B,OAAOE,GAAKF,EAAI,IAAK0J,GAAGjT,GAAG,SAAUA,EAAGuJ,GACtC,GAAIkD,EAAEzM,GAAI,CACR,IAAI4G,EAAI,GACRA,EAAE2C,GAAKvJ,EAAGyJ,GAAKgT,EAAG7V,OACb,CACL,IAAI0C,EAAI,SAAUG,EAAGzJ,GACnB,GAAI,iBAAmByJ,EAAG,MAAM,IAAIO,UAAU,qBAC9C,OAAOP,EAAE4D,QAAQ,oBAAqB,MAAQrN,OAAI,IAAWA,EAAI,IAAMA,GAAK,MAAMqN,QAAQ,2BAA4B,KAAOrN,EAAI,MAAM0c,cAFjI,CAGNnT,EAAG,KAAO,IAAMvJ,EAAI,IAEtB,CAAC,SAAU,KAAM,MAAO,KAAK8J,SAAQ,SAAUL,GAC7CF,EAAEkK,MAAM,EAAGhK,EAAEjQ,UAAYiQ,IAAMH,EAAI,IAAMA,MACvCG,GAAKH,MAETG,GAAK,MACR,IA2KWgT,CAAGlT,GACX,OAAOvJ,EAAEsa,mBAAqB1T,EAAI,GAAKuT,GAAKvT,GAAIA,EAF3C,CAGL,EAAGsD,EAAGhP,KAAK8f,WAEf2B,aAAc,WACZ,GAAI,oBAAsB3b,SAAU,GAAIA,SAAS4b,eAAe,iBAAkB5b,SAAS4b,eAAe,iBAAiBC,UAAY3hB,KAAK6N,eAAgB,CAC1J,IAAIU,EAAIzI,SAASC,cAAc,SAC/BwI,EAAEqT,GAAK,gBAAiBrT,EAAEoT,UAAY3hB,KAAK6N,WAC3C,IAAI/I,EAAIgB,SAAS+b,KACjB/c,EAAEgd,WAAahd,EAAEid,aAAaxT,EAAGzJ,EAAEgd,YAAchd,EAAEkd,YAAYzT,U,wDCvlDvE,sIAMA0T,IAAcX,oBAAsB,iBAAO,CACzCxU,EAAG,CACD7J,MAAO,mBAETuW,GAAI,CACFjW,WAAY,aAEd,2BAA4B,CAC1BR,UAAW,QAGb,WAAY,CACVA,UAAW,QAEb,mCAAoC,CAClCmf,OAAQ,mBAEV,SAAU,CACRxC,SAAU,QAGZ,uDAAwD,CACtDA,SAAU,WAEZ,UAAW,CACTA,SAAU,QAEZzV,WAAY,CACVhH,MAAO,UACPkf,gBAAiB,UACjB/V,QAAS,OAEX,yBAA0B,CACxBsT,SAAU,gBAIPuC,IAAc/Y,YAErB,IAAMkZ,EAAa,IAAIC,IAAWJ,KAOnBG,IACFne,EAASme,EAAWne,OACpBrB,EAAQwf,EAAWxf,O,mCCtDhC,gBAkTM0f,EA+UuBrd,EACvBsd,EAAQC,EAloBd,yGAKIC,EACI,iBADJA,EAEI,iBAFJA,EAGK,kBAELC,EAAY,CACdC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,KAAM,OACNC,SAAU,WACVC,OAAQ,SACRC,MAAO,QACPC,MAAO,SAKLC,GAHkB7d,OAAO6C,KAAKqa,GAAWnc,KAAI,SAAU3C,GACzD,OAAO8e,EAAU9e,MAGR,WADPyf,EAEQ,UAFRA,EAGI,OAHJA,EAIS,aAJTA,EAKU,YALVA,EAMS,WANTA,EAOI,OAPJA,EAQQ,WARRA,EASG,MATHA,EAUG,MAVHA,EAWM,SAENC,EAAgB,CAClBC,UAAW,YACXC,QAAS,UACTC,MAAO,YACPC,gBAAiB,kBACjBC,YAAa,cACb,aAAc,YACdC,SAAU,WACVC,SAAU,YAERC,EACa,eADbA,EAEK,QAFLA,EAGyB,0BAHzBA,EAIsB,sBAJtBA,EAKc,gBAEdC,EAAeve,OAAO6C,KAAKib,GAAeU,QAAO,SAAU3e,EAAKC,GAElE,OADAD,EAAIie,EAAche,IAAQA,EACnBD,IACN,IACC4e,EAAoB,CAACvB,EAAUO,SAAUP,EAAUQ,OAAQR,EAAUS,OAGrEe,EAA4B,mBAAXrT,QAAoD,iBAApBA,OAAOsT,SAAwB,SAAU9e,GAC5F,cAAcA,GACZ,SAAUA,GACZ,OAAOA,GAAyB,mBAAXwL,QAAyBxL,EAAI4B,cAAgB4J,QAAUxL,IAAQwL,OAAO9J,UAAY,gBAAkB1B,GAGvH+e,EAAiB,SAAwB5d,EAAU6d,GACrD,KAAM7d,aAAoB6d,GACxB,MAAM,IAAIvV,UAAU,sCAIpBwV,EAAc,WAChB,SAASC,EAAiBnkB,EAAQpB,GAChC,IAAK,IAAImJ,EAAI,EAAGA,EAAInJ,EAAMV,OAAQ6J,IAAK,CACrC,IAAIqc,EAAaxlB,EAAMmJ,GACvBqc,EAAW9e,WAAa8e,EAAW9e,aAAc,EACjD8e,EAAW7e,cAAe,EACtB,UAAW6e,IAAYA,EAAW5e,UAAW,GACjDJ,OAAOC,eAAerF,EAAQokB,EAAWlf,IAAKkf,IAIlD,OAAO,SAAUH,EAAaI,EAAYC,GAGxC,OAFID,GAAYF,EAAiBF,EAAYtd,UAAW0d,GACpDC,GAAaH,EAAiBF,EAAaK,GACxCL,GAdO,GAkBd/b,EAAW9C,OAAO+C,QAAU,SAAUnI,GACxC,IAAK,IAAI+H,EAAI,EAAGA,EAAIrB,UAAUxI,OAAQ6J,IAAK,CACzC,IAAIF,EAASnB,UAAUqB,GAEvB,IAAK,IAAI7C,KAAO2C,EACVzC,OAAOuB,UAAUyB,eAAeC,KAAKR,EAAQ3C,KAC/ClF,EAAOkF,GAAO2C,EAAO3C,IAK3B,OAAOlF,GAmBLukB,EAA0B,SAAiCtf,EAAKgD,GAClE,IAAIjI,EAAS,GAEb,IAAK,IAAI+H,KAAK9C,EACRgD,EAAKT,QAAQO,IAAM,GAClB3C,OAAOuB,UAAUyB,eAAeC,KAAKpD,EAAK8C,KAC/C/H,EAAO+H,GAAK9C,EAAI8C,IAGlB,OAAO/H,GAGLwkB,EAA4B,SAAmC3mB,EAAMwK,GACvE,IAAKxK,EACH,MAAM,IAAIC,eAAe,6DAG3B,OAAOuK,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BxK,EAAPwK,GAGxEoc,EAA0B,SAAiCC,GAC7D,IAAIC,IAASje,UAAUxI,OAAS,QAAsBO,IAAjBiI,UAAU,KAAmBA,UAAU,GAE5E,OAAe,IAAXie,EACKvW,OAAOsW,GAGTtW,OAAOsW,GAAK3S,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,WAG1H6S,EAAwB,SAA+BC,GACzD,IAAIC,EAAiBC,EAAqBF,EAAWvC,EAAUU,OAC3DgC,EAAoBD,EAAqBF,EAAWnB,GAExD,GAAIsB,GAAqBF,EAEvB,OAAOE,EAAkBjT,QAAQ,OAAO,WACtC,OAAOjF,MAAMC,QAAQ+X,GAAkBA,EAAelb,KAAK,IAAMkb,KAIrE,IAAIG,EAAwBF,EAAqBF,EAAWnB,GAC5D,OAAOoB,GAAkBG,QAAyBxmB,GAGhDymB,EAAyB,SAAgCL,GAC3D,OAAOE,EAAqBF,EAAWnB,IAAwC,cAG7EyB,EAA6B,SAAoCC,EAASP,GAC5E,OAAOA,EAAUQ,QAAO,SAAUzmB,GAChC,YAAiC,IAAnBA,EAAMwmB,MACnBjf,KAAI,SAAUvH,GACf,OAAOA,EAAMwmB,MACZxB,QAAO,SAAU0B,EAAUC,GAC5B,OAAOrd,EAAS,GAAIod,EAAUC,KAC7B,KAGDC,EAA0B,SAAiCC,EAAmBZ,GAChF,OAAOA,EAAUQ,QAAO,SAAUzmB,GAChC,YAAwC,IAA1BA,EAAM0jB,EAAUC,SAC7Bpc,KAAI,SAAUvH,GACf,OAAOA,EAAM0jB,EAAUC,SACtBmD,UAAU9B,QAAO,SAAU+B,EAAkBC,GAC9C,IAAKD,EAAiBznB,OAGpB,IAFA,IAAI+J,EAAO7C,OAAO6C,KAAK2d,GAEd7d,EAAI,EAAGA,EAAIE,EAAK/J,OAAQ6J,IAAK,CACpC,IACI8d,EADe5d,EAAKF,GACiBqZ,cAEzC,IAA0D,IAAtDqE,EAAkBje,QAAQqe,IAAiCD,EAAIC,GACjE,OAAOF,EAAiBG,OAAOF,GAKrC,OAAOD,IACN,KAGDI,EAAuB,SAA8BC,EAASP,EAAmBZ,GAEnF,IAAIoB,EAAmB,GACvB,OAAOpB,EAAUQ,QAAO,SAAUzmB,GAChC,QAAIkO,MAAMC,QAAQnO,EAAMonB,WAIM,IAAnBpnB,EAAMonB,IACfjY,GAAK,WAAaiY,EAAU,mDAAwDlC,EAAQllB,EAAMonB,IAAY,MAGzG,MACN7f,KAAI,SAAUvH,GACf,OAAOA,EAAMonB,MACZN,UAAU9B,QAAO,SAAUsC,EAAcC,GAC1C,IAAIC,EAAmB,GACvBD,EAAad,QAAO,SAAUO,GAI5B,IAHA,IAAIS,OAAsB,EACtBpe,EAAO7C,OAAO6C,KAAK2d,GAEd7d,EAAI,EAAGA,EAAIE,EAAK/J,OAAQ6J,IAAK,CACpC,IAAIue,EAAere,EAAKF,GACpB8d,EAAwBS,EAAalF,eAEiB,IAAtDqE,EAAkBje,QAAQqe,IAAmCQ,IAAwBpD,GAAiE,cAA3C2C,EAAIS,GAAqBjF,eAAoCyE,IAA0B5C,GAAmE,eAA7C2C,EAAIC,GAAuBzE,gBACrPiF,EAAsBR,IAIyB,IAA7CJ,EAAkBje,QAAQ8e,IAAyBA,IAAiBrD,GAA6BqD,IAAiBrD,GAA2BqD,IAAiBrD,IAChKoD,EAAsBC,GAI1B,IAAKD,IAAwBT,EAAIS,GAC/B,OAAO,EAGT,IAAIlhB,EAAQygB,EAAIS,GAAqBjF,cAUrC,OARK6E,EAAiBI,KACpBJ,EAAiBI,GAAuB,IAGrCD,EAAiBC,KACpBD,EAAiBC,GAAuB,KAGrCJ,EAAiBI,GAAqBlhB,KACzCihB,EAAiBC,GAAqBlhB,IAAS,GACxC,MAIRugB,UAAUlX,SAAQ,SAAUoX,GAC7B,OAAOM,EAAa9e,KAAKwe,MAK3B,IAFA,IAAI3d,EAAO7C,OAAO6C,KAAKme,GAEdre,EAAI,EAAGA,EAAIE,EAAK/J,OAAQ6J,IAAK,CACpC,IAAIue,EAAere,EAAKF,GACpBwe,EAAW,IAAa,GAAIN,EAAiBK,GAAeF,EAAiBE,IACjFL,EAAiBK,GAAgBC,EAGnC,OAAOL,IACN,IAAIR,WAGLX,EAAuB,SAA8BF,EAAW2B,GAClE,IAAK,IAAIze,EAAI8c,EAAU3mB,OAAS,EAAG6J,GAAK,EAAGA,IAAK,CAC9C,IAAInJ,EAAQimB,EAAU9c,GAEtB,GAAInJ,EAAMwJ,eAAeoe,GACvB,OAAO5nB,EAAM4nB,GAIjB,OAAO,MAqBLC,GACEvE,EAAQ5H,KAAKC,MACV,SAAUmM,GACf,IAAIC,EAAcrM,KAAKC,MAEnBoM,EAAczE,EAAQ,IACxBA,EAAQyE,EACRD,EAASC,IAETC,YAAW,WACTH,EAAYC,KACX,KAKLG,GAAc,SAAqBrF,GACrC,OAAOsF,aAAatF,IAGlBuF,GAA0C,oBAAX/kB,OAAyBA,OAAO+kB,uBAAyB/kB,OAAO+kB,sBAAsBjoB,KAAKkD,SAAWA,OAAOglB,6BAA+BhlB,OAAOilB,0BAA4BR,EAAcxW,EAAO8W,uBAAyBN,EAC5PS,GAAyC,oBAAXllB,OAAyBA,OAAOklB,sBAAwBllB,OAAOmlB,4BAA8BnlB,OAAOolB,yBAA2BP,GAAc5W,EAAOiX,sBAAwBL,GAE1M9Y,GAAO,SAAcsZ,GACvB,OAAOvZ,SAAmC,mBAAjBA,QAAQC,MAAuBD,QAAQC,KAAKsZ,IAGnEC,GAAkB,KAmBlBC,GAAmB,SAA0BC,EAAUC,GACzD,IAAIC,EAAUF,EAASE,QACnBC,EAAiBH,EAASG,eAC1BC,EAAiBJ,EAASI,eAC1BC,EAAWL,EAASK,SACpBC,EAAWN,EAASM,SACpBC,EAAeP,EAASO,aACxBC,EAAsBR,EAASQ,oBAC/BC,EAAaT,EAASS,WACtBC,EAAYV,EAASU,UACrB7lB,EAAQmlB,EAASnlB,MACjB8lB,EAAkBX,EAASW,gBAC/BC,GAAiB9F,EAAUE,KAAMmF,GACjCS,GAAiB9F,EAAUI,KAAMkF,GACjCS,GAAYhmB,EAAO8lB,GACnB,IAAIG,EAAa,CACfZ,QAASa,GAAWjG,EAAUC,KAAMmF,GACpCG,SAAUU,GAAWjG,EAAUK,KAAMkF,GACrCC,SAAUS,GAAWjG,EAAUM,KAAMkF,GACrCC,aAAcQ,GAAWjG,EAAUO,SAAUkF,GAC7CE,WAAYM,GAAWjG,EAAUQ,OAAQmF,GACzCC,UAAWK,GAAWjG,EAAUS,MAAOmF,IAErCM,EAAY,GACZC,EAAc,GAClBrjB,OAAO6C,KAAKqgB,GAAY9Z,SAAQ,SAAU4W,GACxC,IAAIsD,EAAsBJ,EAAWlD,GACjCuD,EAAUD,EAAoBC,QAC9BC,EAAUF,EAAoBE,QAE9BD,EAAQzqB,SACVsqB,EAAUpD,GAAWuD,GAGnBC,EAAQ1qB,SACVuqB,EAAYrD,GAAWkD,EAAWlD,GAASwD,YAG/CnB,GAAMA,IACNO,EAAoBR,EAAUgB,EAAWC,IAGvCI,GAAe,SAAsBC,GACvC,OAAOhc,MAAMC,QAAQ+b,GAAiBA,EAAclf,KAAK,IAAMkf,GAG7DT,GAAc,SAAqBhmB,EAAO0mB,QACvB,IAAV1mB,GAAyBqD,SAASrD,QAAUA,IACrDqD,SAASrD,MAAQwmB,GAAaxmB,IAGhC+lB,GAAiB9F,EAAUU,MAAO+F,IAGhCX,GAAmB,SAA0BpC,EAAS+C,GACxD,IAAIC,EAAatjB,SAASujB,qBAAqBjD,GAAS,GAExD,GAAKgD,EAAL,CASA,IALA,IAAIE,EAAwBF,EAAWG,aAhWlB,qBAiWjBC,EAAmBF,EAAwBA,EAAsB3a,MAAM,KAAO,GAC9E8a,EAAqB,GAAGvD,OAAOsD,GAC/BE,EAAgBlkB,OAAO6C,KAAK8gB,GAEvBhhB,EAAI,EAAGA,EAAIuhB,EAAcprB,OAAQ6J,IAAK,CAC7C,IAAIwhB,EAAYD,EAAcvhB,GAC1B5C,EAAQ4jB,EAAWQ,IAAc,GAEjCP,EAAWG,aAAaI,KAAepkB,GACzC6jB,EAAWQ,aAAaD,EAAWpkB,IAGQ,IAAzCikB,EAAiB5hB,QAAQ+hB,IAC3BH,EAAiBhiB,KAAKmiB,GAGxB,IAAIE,EAAcJ,EAAmB7hB,QAAQ+hB,IAExB,IAAjBE,GACFJ,EAAmB5hB,OAAOgiB,EAAa,GAI3C,IAAK,IAAIC,EAAKL,EAAmBnrB,OAAS,EAAGwrB,GAAM,EAAGA,IACpDV,EAAWW,gBAAgBN,EAAmBK,IAG5CN,EAAiBlrB,SAAWmrB,EAAmBnrB,OACjD8qB,EAAWW,gBA7XQ,qBA8XVX,EAAWG,aA9XD,uBA8XoCG,EAAc1f,KAAK,MAC1Eof,EAAWQ,aA/XQ,oBA+XuBF,EAAc1f,KAAK,QAI7D2e,GAAa,SAAoB1nB,EAAM+oB,GACzC,IAAIC,EAAcnkB,SAAS+b,MAAQ/b,SAASokB,cAAcxH,EAAUG,MAChEsH,EAAWF,EAAYG,iBAAiBnpB,yBACxC+nB,EAAU9b,MAAMnG,UAAUwR,MAAM9P,KAAK0hB,GACrCpB,EAAU,GACVsB,OAAgB,EA0CpB,OAxCIL,GAAQA,EAAK1rB,QACf0rB,EAAKpb,SAAQ,SAAUoX,GACrB,IAAIsE,EAAaxkB,SAASC,cAAc9E,GAExC,IAAK,IAAI0oB,KAAa3D,EACpB,GAAIA,EAAIxd,eAAemhB,GACrB,GAAIA,IAActG,EAChBiH,EAAW3I,UAAYqE,EAAIrE,eACtB,GAAIgI,IAActG,EACnBiH,EAAWC,WACbD,EAAWC,WAAWC,QAAUxE,EAAIwE,QAEpCF,EAAWtI,YAAYlc,SAAS2kB,eAAezE,EAAIwE,cAEhD,CACL,IAAIjlB,OAAkC,IAAnBygB,EAAI2D,GAA6B,GAAK3D,EAAI2D,GAC7DW,EAAWV,aAAaD,EAAWpkB,GAKzC+kB,EAAWV,aA/ZM,oBA+ZyB,QAEtCZ,EAAQ0B,MAAK,SAAUC,EAAahjB,GAEtC,OADA0iB,EAAgB1iB,EACT2iB,EAAWM,YAAYD,MAE9B3B,EAAQnhB,OAAOwiB,EAAe,GAE9BtB,EAAQvhB,KAAK8iB,MAKnBtB,EAAQpa,SAAQ,SAAUoX,GACxB,OAAOA,EAAI6E,WAAWC,YAAY9E,MAEpC+C,EAAQna,SAAQ,SAAUoX,GACxB,OAAOiE,EAAYjI,YAAYgE,MAE1B,CACLgD,QAASA,EACTD,QAASA,IAITgC,GAAoC,SAA2C5B,GACjF,OAAO3jB,OAAO6C,KAAK8gB,GAAYnF,QAAO,SAAUc,EAAKxf,GACnD,IAAI0lB,OAAkC,IAApB7B,EAAW7jB,GAAuBA,EAAM,KAAQ6jB,EAAW7jB,GAAO,IAAO,GAAKA,EAChG,OAAOwf,EAAMA,EAAM,IAAMkG,EAAOA,IAC/B,KAuBDC,GAAuC,SAA8C9B,GACvF,IAAI+B,EAAYpkB,UAAUxI,OAAS,QAAsBO,IAAjBiI,UAAU,GAAmBA,UAAU,GAAK,GACpF,OAAOtB,OAAO6C,KAAK8gB,GAAYnF,QAAO,SAAU3e,EAAKC,GAEnD,OADAD,EAAIie,EAAche,IAAQA,GAAO6jB,EAAW7jB,GACrCD,IACN6lB,IA6CDC,GAAmB,SAA0BlqB,EAAM+oB,EAAMjF,GAC3D,OAAQ9jB,GACN,KAAKyhB,EAAUU,MACb,MAAO,CACLgI,YAAa,WACX,OAvCuE3oB,EAuC5BunB,EAAKvnB,MAvC8B0mB,EAuCvBa,EAAKzB,iBAnCnD8C,EAAa,CAC5B/lB,IAAK7C,IAxec,sBAyea,EAC9BzD,EAAQisB,GAAqC9B,EADTkC,GAEjC,CAAC,IAAMtlB,cAAc2c,EAAUU,MAAOpkB,EAAOyD,IARlB,IAA6CA,EAAO0mB,EAClFkC,EAMArsB,GAkCE6O,SAAU,WACR,OA9EkB,SAA+B5M,EAAMwB,EAAO0mB,EAAYpE,GAClF,IAAIuG,EAAkBP,GAAkC5B,GACpDoC,EAAiBtC,GAAaxmB,GAClC,OAAO6oB,EAAkB,IAAMrqB,EAAN,6BAAqDqqB,EAAkB,IAAMzG,EAAwB0G,EAAgBxG,GAAU,KAAO9jB,EAAO,IAAM,IAAMA,EAAN,6BAAqD4jB,EAAwB0G,EAAgBxG,GAAU,KAAO9jB,EAAO,IA2ElRuqB,CAAsBvqB,EAAM+oB,EAAKvnB,MAAOunB,EAAKzB,gBAAiBxD,KAI3E,KAAKtC,EACL,KAAKA,EACH,MAAO,CACL2I,YAAa,WACX,OAAOH,GAAqCjB,IAE9Cnc,SAAU,WACR,OAAOkd,GAAkCf,KAI/C,QACE,MAAO,CACLoB,YAAa,WACX,OAjDyB,SAAsCnqB,EAAM+oB,GAC7E,OAAOA,EAAKzjB,KAAI,SAAUyf,EAAK7d,GAC7B,IAAIsjB,EAEAC,IAAaD,EAAa,CAC5BnmB,IAAK6C,IAnfY,sBAofe,EAAMsjB,GAaxC,OAZAjmB,OAAO6C,KAAK2d,GAAKpX,SAAQ,SAAU+a,GACjC,IAAIgC,EAAkBrI,EAAcqG,IAAcA,EAElD,GAAIgC,IAAoBtI,GAA6BsI,IAAoBtI,EAAyB,CAChG,IAAIxf,EAAUmiB,EAAIrE,WAAaqE,EAAIwE,QACnCkB,EAAUE,wBAA0B,CAClCC,OAAQhoB,QAGV6nB,EAAUC,GAAmB3F,EAAI2D,MAG9B,IAAM5jB,cAAc9E,EAAMyqB,MA8BpBI,CAA6B7qB,EAAM+oB,IAE5Cnc,SAAU,WACR,OA7FiB,SAA8B5M,EAAM+oB,EAAMjF,GACnE,OAAOiF,EAAKhG,QAAO,SAAUc,EAAKkB,GAChC,IAAI+F,EAAgBvmB,OAAO6C,KAAK2d,GAAKP,QAAO,SAAUkE,GACpD,QAASA,IAActG,GAA6BsG,IAActG,MACjEW,QAAO,SAAU1P,EAAQqV,GAC1B,IAAIqB,OAAiC,IAAnBhF,EAAI2D,GAA6BA,EAAYA,EAAY,KAAQ9E,EAAwBmB,EAAI2D,GAAY5E,GAAU,IACrI,OAAOzQ,EAASA,EAAS,IAAM0W,EAAOA,IACrC,IACCgB,EAAahG,EAAIrE,WAAaqE,EAAIwE,SAAW,GAC7CyB,GAAqD,IAArChI,EAAkBrc,QAAQ3G,GAC9C,OAAO6jB,EAAM,IAAM7jB,EAAZ6jB,6BAA2DiH,GAAiBE,EAAgB,KAAO,IAAMD,EAAa,KAAO/qB,EAAO,OAC1I,IAkFYirB,CAAqBjrB,EAAM+oB,EAAMjF,OAM9C7e,GAAmB,SAA0ByD,GAC/C,IAAIme,EAAUne,EAAKme,QACfC,EAAiBpe,EAAKoe,eACtBhD,EAASpb,EAAKob,OACdiD,EAAiBre,EAAKqe,eACtBC,EAAWte,EAAKse,SAChBC,EAAWve,EAAKue,SAChBC,EAAexe,EAAKwe,aACpBE,EAAa1e,EAAK0e,WAClBC,EAAY3e,EAAK2e,UACjB6D,EAAaxiB,EAAKlH,MAClBA,OAAuB5D,IAAfstB,EAA2B,GAAKA,EACxC5D,EAAkB5e,EAAK4e,gBAC3B,MAAO,CACL6D,KAAMjB,GAAiBzI,EAAUC,KAAMmF,EAAS/C,GAChDgD,eAAgBoD,GAAiB1I,EAAsBsF,EAAgBhD,GACvEiD,eAAgBmD,GAAiB1I,EAAsBuF,EAAgBjD,GACvEsH,KAAMlB,GAAiBzI,EAAUK,KAAMkF,EAAUlD,GACjDphB,KAAMwnB,GAAiBzI,EAAUM,KAAMkF,EAAUnD,GACjDuH,SAAUnB,GAAiBzI,EAAUO,SAAUkF,EAAcpD,GAC7DwH,OAAQpB,GAAiBzI,EAAUQ,OAAQmF,EAAYtD,GACvDpiB,MAAOwoB,GAAiBzI,EAAUS,MAAOmF,EAAWvD,GACpDtiB,MAAO0oB,GAAiBzI,EAAUU,MAAO,CACvC3gB,MAAOA,EACP8lB,gBAAiBA,GAChBxD,KAoPHyH,GAAoB,KAllBC,SAA4BvH,GACnD,MAAO,CACL6C,QAASlC,EAAwB,CAACvC,EAAqBA,GAAwB4B,GAC/E8C,eAAgBxC,EAA2B9C,EAAsBwC,GACjEwH,MAAOtH,EAAqBF,EAAWnB,GACvCiB,OAAQI,EAAqBF,EAAWnB,GACxCkE,eAAgBzC,EAA2B9C,EAAsBwC,GACjEgD,SAAU9B,EAAqBzD,EAAUK,KAAM,CAACM,EAAoBA,GAAsB4B,GAC1FiD,SAAU/B,EAAqBzD,EAAUM,KAAM,CAACK,EAAqBA,EAAwBA,EAA0BA,EAAyBA,GAA2B4B,GAC3KkD,aAAchC,EAAqBzD,EAAUO,SAAU,CAACI,GAA4B4B,GACpFmD,oBAAqB9C,EAAuBL,GAC5CoD,WAAYlC,EAAqBzD,EAAUQ,OAAQ,CAACG,EAAoBA,GAA4B4B,GACpGqD,UAAWnC,EAAqBzD,EAAUS,MAAO,CAACE,GAA0B4B,GAC5ExiB,MAAOuiB,EAAsBC,GAC7BsD,gBAAiBhD,EAA2B9C,EAAuBwC,OAiCzC,SAAiC2C,GACzDF,IACFJ,GAAqBI,IAGnBE,EAAS6E,MACX/E,GAAkBP,IAAsB,WACtCQ,GAAiBC,GAAU,WACzBF,GAAkB,YAItBC,GAAiBC,GACjBF,GAAkB,QAshB8DxhB,GAA5D,EAJJ,WAClB,OAAO,QAILwmB,IAjPyBznB,EAiPHunB,GA9OjBhK,EAAQD,EAAS,SAAUoK,GAGhC,SAASC,IAEP,OADAxI,EAAepkB,KAAM4sB,GACdhI,EAA0B5kB,KAAM2sB,EAAiB9lB,MAAM7G,KAAM8G,YAuLtE,OAttBW,SAAkBH,EAAUC,GACzC,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIkI,UAAU,kEAAoElI,GAG1FD,EAASI,UAAYvB,OAAOwB,OAAOJ,GAAcA,EAAWG,UAAW,CACrEE,YAAa,CACX1B,MAAOoB,EACPjB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdiB,IAAYpB,OAAOqnB,eAAiBrnB,OAAOqnB,eAAelmB,EAAUC,GAAcD,EAASO,UAAYN,GA8gBzGkmB,CAASF,EAAeD,GAOxBC,EAAc7lB,UAAUgmB,sBAAwB,SAA+BhtB,GAC7E,OAAQ,IAAQC,KAAKhB,MAAOe,IAG9B6sB,EAAc7lB,UAAUimB,yBAA2B,SAAkCC,EAAOC,GAC1F,IAAKA,EACH,OAAO,KAGT,OAAQD,EAAMhsB,MACZ,KAAKyhB,EAAUQ,OACf,KAAKR,EAAUO,SACb,MAAO,CACLtB,UAAWuL,GAGf,KAAKxK,EAAUS,MACb,MAAO,CACLqH,QAAS0C,GAIf,MAAM,IAAI/mB,MAAM,IAAM8mB,EAAMhsB,KAAO,uGAGrC2rB,EAAc7lB,UAAUomB,yBAA2B,SAAkCxjB,GACnF,IAAIyjB,EAEAH,EAAQtjB,EAAKsjB,MACbI,EAAoB1jB,EAAK0jB,kBACzBC,EAAgB3jB,EAAK2jB,cACrBJ,EAAiBvjB,EAAKujB,eAC1B,OAAO5kB,EAAS,GAAI+kB,IAAoBD,EAAwB,IAA0BH,EAAMhsB,MAAQ,GAAGilB,OAAOmH,EAAkBJ,EAAMhsB,OAAS,GAAI,CAACqH,EAAS,GAAIglB,EAAettB,KAAKgtB,yBAAyBC,EAAOC,MAAoBE,KAG/OR,EAAc7lB,UAAUwmB,sBAAwB,SAA+B1jB,GAC7E,IAAI2jB,EAAwBC,EAExBR,EAAQpjB,EAAMojB,MACdS,EAAW7jB,EAAM6jB,SACjBJ,EAAgBzjB,EAAMyjB,cACtBJ,EAAiBrjB,EAAMqjB,eAE3B,OAAQD,EAAMhsB,MACZ,KAAKyhB,EAAUU,MACb,OAAO9a,EAAS,GAAIolB,IAAWF,EAAyB,IAA2BP,EAAMhsB,MAAQisB,EAAgBM,EAAuBjF,gBAAkBjgB,EAAS,GAAIglB,GAAgBE,IAEzL,KAAK9K,EAAUE,KACb,OAAOta,EAAS,GAAIolB,EAAU,CAC5B3F,eAAgBzf,EAAS,GAAIglB,KAGjC,KAAK5K,EAAUI,KACb,OAAOxa,EAAS,GAAIolB,EAAU,CAC5B1F,eAAgB1f,EAAS,GAAIglB,KAInC,OAAOhlB,EAAS,GAAIolB,IAAWD,EAAyB,IAA2BR,EAAMhsB,MAAQqH,EAAS,GAAIglB,GAAgBG,KAGhIb,EAAc7lB,UAAU4mB,4BAA8B,SAAqCN,EAAmBK,GAC5G,IAAIE,EAAoBtlB,EAAS,GAAIolB,GAOrC,OALAloB,OAAO6C,KAAKglB,GAAmBze,SAAQ,SAAUif,GAC/C,IAAIC,EAEJF,EAAoBtlB,EAAS,GAAIslB,IAAoBE,EAAyB,IAA2BD,GAAkBR,EAAkBQ,GAAiBC,OAEzJF,GAGThB,EAAc7lB,UAAUgnB,sBAAwB,SAA+Bd,EAAOC,GAmBpF,OAAO,GAGTN,EAAc7lB,UAAUinB,mBAAqB,SAA4B1qB,EAAUoqB,GACjF,IAAIO,EAASjuB,KAETqtB,EAAoB,GAsCxB,OArCA,IAAMa,SAAStf,QAAQtL,GAAU,SAAU2pB,GACzC,GAAKA,GAAUA,EAAMjuB,MAArB,CAIA,IAAImvB,EAAelB,EAAMjuB,MACrBkuB,EAAiBiB,EAAa7qB,SAE9BgqB,EA/N4B,SAA2CtuB,GACjF,IAAIovB,EAAiBtnB,UAAUxI,OAAS,QAAsBO,IAAjBiI,UAAU,GAAmBA,UAAU,GAAK,GACzF,OAAOtB,OAAO6C,KAAKrJ,GAAOglB,QAAO,SAAU3e,EAAKC,GAE9C,OADAD,EAAI0e,EAAaze,IAAQA,GAAOtG,EAAMsG,GAC/BD,IACN+oB,GA0NuBC,CADH1J,EAAwBwJ,EAAc,CAAC,cAKxD,OAFAF,EAAOF,sBAAsBd,EAAOC,GAE5BD,EAAMhsB,MACZ,KAAKyhB,EAAUK,KACf,KAAKL,EAAUM,KACf,KAAKN,EAAUO,SACf,KAAKP,EAAUQ,OACf,KAAKR,EAAUS,MACbkK,EAAoBY,EAAOd,yBAAyB,CAClDF,MAAOA,EACPI,kBAAmBA,EACnBC,cAAeA,EACfJ,eAAgBA,IAElB,MAEF,QACEQ,EAAWO,EAAOV,sBAAsB,CACtCN,MAAOA,EACPS,SAAUA,EACVJ,cAAeA,EACfJ,eAAgBA,SAKxBQ,EAAW1tB,KAAK2tB,4BAA4BN,EAAmBK,IAIjEd,EAAc7lB,UAAU3F,OAAS,WAC/B,IAAIktB,EAAStuB,KAAKhB,MACdsE,EAAWgrB,EAAOhrB,SAClBtE,EAAQ2lB,EAAwB2J,EAAQ,CAAC,aAEzCZ,EAAWplB,EAAS,GAAItJ,GAM5B,OAJIsE,IACFoqB,EAAW1tB,KAAKguB,mBAAmB1qB,EAAUoqB,IAGxC,IAAM3nB,cAAcd,EAAWyoB,IAGxCpJ,EAAYsI,EAAe,KAAM,CAAC,CAChCtnB,IAAK,YAuBLkO,IAAK,SAAgB3N,GACnBZ,EAAUY,UAAYA,MAGnB+mB,EA5Le,CA6LtB,IAAM3nB,WAAYsd,EAAOgM,UAAY,CACrCnC,KAAM,IAAUoC,OAChBzG,eAAgB,IAAUyG,OAC1BlrB,SAAU,IAAUmrB,UAAU,CAAC,IAAUC,QAAQ,IAAUC,MAAO,IAAUA,OAC5EC,aAAc,IAAUta,OACxBmY,MAAO,IAAUoC,KACjBhK,wBAAyB,IAAUgK,KACnC7G,eAAgB,IAAUwG,OAC1BnC,KAAM,IAAUqC,QAAQ,IAAUF,QAClC7qB,KAAM,IAAU+qB,QAAQ,IAAUF,QAClClC,SAAU,IAAUoC,QAAQ,IAAUF,QACtCpG,oBAAqB,IAAU0G,KAC/BvC,OAAQ,IAAUmC,QAAQ,IAAUF,QACpC7rB,MAAO,IAAU+rB,QAAQ,IAAUF,QACnC/rB,MAAO,IAAU6R,OACjBiU,gBAAiB,IAAUiG,OAC3BO,cAAe,IAAUza,QACxBiO,EAAOphB,aAAe,CACvBsrB,OAAO,EACP5H,yBAAyB,GACxBtC,EAAOpb,KAAOlC,EAAUkC,KAAMob,EAAOnb,OAAS,WAC/C,IAAI4nB,EAAc/pB,EAAUmC,SAmB5B,OAjBK4nB,IAEHA,EAAc9oB,GAAiB,CAC7B4hB,QAAS,GACTC,eAAgB,GAChBlD,yBAAyB,EACzBmD,eAAgB,GAChBC,SAAU,GACVC,SAAU,GACVC,aAAc,GACdE,WAAY,GACZC,UAAW,GACX7lB,MAAO,GACP8lB,gBAAiB,MAIdyG,GACNxM,GASLkK,GAAauC,aAAevC,GAAatlB,OAC1B,S,yCCp3Bf,IAAI2I,EAGJA,EAAI,WACH,OAAO/P,KADJ,GAIJ,IAEC+P,EAAIA,GAAK,IAAIY,SAAS,cAAb,GACR,MAAO7L,GAEc,iBAAX1C,SAAqB2N,EAAI3N,QAOrCtE,EAAOC,QAAUgS","file":"commons-ca78be620b26d08d4ec3.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","/*\n * Copyright (c) 2015 instructure-react\n * Forked from https://github.com/aaronshaf/react-toggle/\n * + applied https://github.com/aaronshaf/react-toggle/pull/90\n **/\n\nimport './Toggle.css';\n\nimport React, { PureComponent } from 'react';\n\n// Copyright 2015-present Drifty Co.\n// http://drifty.com/\n// from: https://github.com/driftyco/ionic/blob/master/src/util/dom.ts\nfunction pointerCoord(event) {\n // get coordinates for either a mouse click\n // or a touch depending on the given event\n if (event) {\n const changedTouches = event.changedTouches;\n if (changedTouches && changedTouches.length > 0) {\n const touch = changedTouches[0];\n return { x: touch.clientX, y: touch.clientY };\n }\n const pageX = event.pageX;\n if (pageX !== undefined) {\n return { x: pageX, y: event.pageY };\n }\n }\n return { x: 0, y: 0 };\n}\n\nexport default class Toggle extends PureComponent {\n constructor(props) {\n super(props);\n this.handleClick = this.handleClick.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n this.handleTouchMove = this.handleTouchMove.bind(this);\n this.handleTouchEnd = this.handleTouchEnd.bind(this);\n this.handleTouchCancel = this.handleTouchCancel.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.previouslyChecked = !!(props.checked || props.defaultChecked);\n this.state = {\n checked: !!(props.checked || props.defaultChecked),\n hasFocus: false,\n };\n }\n\n componentWillReceiveProps(nextProps) {\n if ('checked' in nextProps) {\n this.setState({ checked: !!nextProps.checked });\n this.previouslyChecked = !!nextProps.checked;\n }\n }\n\n handleClick(event) {\n const checkbox = this.input;\n this.previouslyChecked = checkbox.checked;\n if (event.target !== checkbox && !this.moved) {\n event.preventDefault();\n checkbox.focus();\n checkbox.click();\n return;\n }\n\n this.setState({ checked: checkbox.checked });\n }\n\n handleTouchStart(event) {\n this.startX = pointerCoord(event).x;\n this.touchStarted = true;\n this.hadFocusAtTouchStart = this.state.hasFocus;\n this.setState({ hasFocus: true });\n }\n\n handleTouchMove(event) {\n if (!this.touchStarted) return;\n this.touchMoved = true;\n\n if (this.startX != null) {\n let currentX = pointerCoord(event).x;\n if (this.state.checked && currentX + 15 < this.startX) {\n this.setState({ checked: false });\n this.startX = currentX;\n } else if (!this.state.checked && currentX - 15 > this.startX) {\n this.setState({ checked: true });\n this.startX = currentX;\n }\n }\n }\n\n handleTouchEnd(event) {\n if (!this.touchMoved) return;\n const checkbox = this.input;\n event.preventDefault();\n\n if (this.startX != null) {\n if (this.previouslyChecked !== this.state.checked) {\n checkbox.click();\n }\n\n this.touchStarted = false;\n this.startX = null;\n this.touchMoved = false;\n }\n\n if (!this.hadFocusAtTouchStart) {\n this.setState({ hasFocus: false });\n }\n }\n\n handleTouchCancel(event) {\n if (this.startX != null) {\n this.touchStarted = false;\n this.startX = null;\n this.touchMoved = false;\n }\n\n if (!this.hadFocusAtTouchStart) {\n this.setState({ hasFocus: false });\n }\n }\n\n handleFocus(event) {\n const { onFocus } = this.props;\n\n if (onFocus) {\n onFocus(event);\n }\n\n this.hadFocusAtTouchStart = true;\n this.setState({ hasFocus: true });\n }\n\n handleBlur(event) {\n const { onBlur } = this.props;\n\n if (onBlur) {\n onBlur(event);\n }\n\n this.hadFocusAtTouchStart = false;\n this.setState({ hasFocus: false });\n }\n\n getIcon(type) {\n const { icons } = this.props;\n if (!icons) {\n return null;\n }\n return icons[type] === undefined\n ? Toggle.defaultProps.icons[type]\n : icons[type];\n }\n\n render() {\n const { className, icons: _icons, ...inputProps } = this.props;\n const classes =\n 'react-toggle' +\n (this.state.checked ? ' react-toggle--checked' : '') +\n (this.state.hasFocus ? ' react-toggle--focus' : '') +\n (this.props.disabled ? ' react-toggle--disabled' : '') +\n (className ? ' ' + className : '');\n return (\n \n
\n
\n {this.getIcon('checked')}\n
\n
\n {this.getIcon('unchecked')}\n
\n
\n
\n\n {\n this.input = ref;\n }}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n className=\"react-toggle-screenreader-only\"\n type=\"checkbox\"\n aria-label=\"Switch between Dark and Light mode\"\n />\n
\n );\n }\n}\n","import React from 'react';\nimport { Link } from 'gatsby';\nimport Toggle from './Toggle';\nimport Helmet from 'react-helmet';\n\nimport { rhythm, scale } from '../utils/typography';\nimport sun from '../assets/sun.png';\nimport moon from '../assets/moon.png';\n\nclass Layout extends React.Component {\n state = {\n theme: null,\n };\n componentDidMount() {\n this.setState({ theme: window.__theme });\n window.__onThemeChange = () => {\n this.setState({ theme: window.__theme });\n };\n }\n renderHeader() {\n const { location, title } = this.props;\n const rootPath = `${__PATH_PREFIX__}/`;\n\n if (location.pathname === rootPath) {\n return (\n \n \n {title}\n \n \n );\n } else {\n return (\n \n \n {title}\n \n \n );\n }\n }\n render() {\n const { children } = this.props;\n\n return (\n \n \n \n \n {this.renderHeader()}\n {this.state.theme !== null ? (\n \n ),\n unchecked: (\n \n ),\n }}\n checked={this.state.theme === 'dark'}\n onChange={(e) =>\n window.__setPreferredTheme(\n e.target.checked ? 'dark' : 'light'\n )\n }\n />\n ) : (\n
\n )}\n \n {children}\n
\n \n );\n }\n}\n\nexport default Layout;\n","'use strict';\n\nfunction _interopDefault(ex) {\n return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\n\nvar React = require('react');\n\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n } // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n\n\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar _grayPercentage = require(\"gray-percentage\");\n\nvar _grayPercentage2 = _interopRequireDefault(_grayPercentage);\n\nvar _typographyBreakpointConstants = require(\"typography-breakpoint-constants\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar theme = {\n title: \"Wordpress Theme 2016\",\n baseFontSize: \"16px\",\n baseLineHeight: 1.75,\n scaleRatio: 5 / 2,\n googleFonts: [{\n name: \"Montserrat\",\n styles: [\"700\"]\n }, {\n name: \"Merriweather\",\n styles: [\"400\", \"400i\", \"700\", \"700i\", \"900\", \"900i\"]\n }],\n headerFontFamily: [\"Merriweather\", \"Georgia\", \"serif\"],\n bodyFontFamily: [\"Merriweather\", \"Georgia\", \"serif\"],\n bodyColor: \"hsla(0,0%,0%,0.9)\",\n headerWeight: 900,\n bodyWeight: 400,\n boldWeight: 700,\n overrideStyles: function overrideStyles(_ref, options) {\n var _ref2;\n\n var adjustFontSizeTo = _ref.adjustFontSizeTo,\n scale = _ref.scale,\n rhythm = _ref.rhythm;\n return _ref2 = {\n h1: {\n fontFamily: [\"Montserrat\", \"sans-serif\"].join(\",\")\n },\n blockquote: _extends({}, scale(1 / 5), {\n color: (0, _grayPercentage2.default)(41),\n fontStyle: \"italic\",\n paddingLeft: rhythm(13 / 16),\n marginLeft: rhythm(-1),\n borderLeft: rhythm(3 / 16) + \" solid \" + (0, _grayPercentage2.default)(10)\n }),\n \"blockquote > :last-child\": {\n marginBottom: 0\n },\n \"blockquote cite\": _extends({}, adjustFontSizeTo(options.baseFontSize), {\n color: options.bodyColor,\n fontWeight: options.bodyWeight\n }),\n \"blockquote cite:before\": {\n content: '\"— \"'\n },\n ul: {\n listStyle: \"disc\"\n },\n \"ul,ol\": {\n marginLeft: 0\n }\n }, _defineProperty(_ref2, _typographyBreakpointConstants.MOBILE_MEDIA_QUERY, {\n \"ul,ol\": {\n marginLeft: rhythm(1)\n },\n blockquote: {\n marginLeft: rhythm(-3 / 4),\n marginRight: 0,\n paddingLeft: rhythm(9 / 16)\n }\n }), _defineProperty(_ref2, \"h1,h2,h3,h4,h5,h6\", {\n marginTop: rhythm(2)\n }), _defineProperty(_ref2, \"h4\", {\n letterSpacing: \"0.140625em\",\n textTransform: \"uppercase\"\n }), _defineProperty(_ref2, \"h6\", {\n fontStyle: \"italic\"\n }), _defineProperty(_ref2, \"a\", {\n boxShadow: \"0 1px 0 0 currentColor\",\n color: \"#007acc\",\n textDecoration: \"none\"\n }), _defineProperty(_ref2, \"a:hover,a:active\", {\n boxShadow: \"none\"\n }), _defineProperty(_ref2, \"mark,ins\", {\n background: \"#007acc\",\n color: \"white\",\n padding: rhythm(1 / 16) + \" \" + rhythm(1 / 8),\n textDecoration: \"none\"\n }), _ref2;\n }\n};\nexports.default = theme;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar LARGER_DISPLAY_WIDTH = exports.LARGER_DISPLAY_WIDTH = \"1600px\";\nvar LARGE_DISPLAY_WIDTH = exports.LARGE_DISPLAY_WIDTH = \"1280px\";\nvar DEFAULT_WIDTH = exports.DEFAULT_WIDTH = \"980px\";\nvar TABLET_WIDTH = exports.TABLET_WIDTH = \"768px\";\nvar MOBILE_WIDTH = exports.MOBILE_WIDTH = \"480px\";\nvar LARGER_DISPLAY_MEDIA_QUERY = exports.LARGER_DISPLAY_MEDIA_QUERY = \"@media only screen and (max-width:1600px)\";\nvar LARGE_DISPLAY_MEDIA_QUERY = exports.LARGE_DISPLAY_MEDIA_QUERY = \"@media only screen and (max-width:1280px)\";\nvar DEFAULT_MEDIA_QUERY = exports.DEFAULT_MEDIA_QUERY = \"@media only screen and (max-width:980px)\";\nvar TABLET_MEDIA_QUERY = exports.TABLET_MEDIA_QUERY = \"@media only screen and (max-width:768px)\";\nvar MOBILE_MEDIA_QUERY = exports.MOBILE_MEDIA_QUERY = \"@media only screen and (max-width:480px)\";\nvar MIN_LARGER_DISPLAY_MEDIA_QUERY = exports.MIN_LARGER_DISPLAY_MEDIA_QUERY = \"@media (min-width:1600px)\";\nvar MIN_LARGE_DISPLAY_MEDIA_QUERY = exports.MIN_LARGE_DISPLAY_MEDIA_QUERY = \"@media (min-width:1280px)\";\nvar MIN_DEFAULT_MEDIA_QUERY = exports.MIN_DEFAULT_MEDIA_QUERY = \"@media (min-width:980px)\";\nvar MIN_TABLET_MEDIA_QUERY = exports.MIN_TABLET_MEDIA_QUERY = \"@media (min-width:768px)\";\nvar MIN_MOBILE_MEDIA_QUERY = exports.MIN_MOBILE_MEDIA_QUERY = \"@media (min-width:480px)\";","module.exports = \"data:image/png;base64,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\"","function isNumeric(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\n\nmodule.exports = function (lightness, hue, darkBackground) {\n if (typeof hue === \"undefined\") {\n hue = 0;\n }\n\n if (typeof darkBackground === \"undefined\") {\n darkBackground = false;\n } // Convert named hues into numeric lightness value.\n\n\n if (hue === \"cool\") {\n hue = 237;\n } else if (hue === \"slate\") {\n hue = 122;\n } else if (hue === \"warm\") {\n hue = 69;\n }\n\n if (!isNumeric(hue)) {\n throw new Error(\"Hue is not a number\");\n }\n\n if (!isNumeric(lightness)) {\n throw new Error(\"Lightness is not a number\");\n }\n\n if (lightness > 100) {\n lightness = 100;\n }\n\n if (lightness < 0) {\n lightness = 0;\n }\n\n var saturation = 0;\n\n if (hue !== 0) {\n var a = 19.92978;\n var b = -0.3651759;\n var c = 0.001737214;\n saturation = a + b * lightness + c * Math.pow(lightness, 2);\n }\n\n var opacity = 0;\n\n if (darkBackground) {\n opacity = lightness / 100;\n lightness = '100%,';\n } else {\n opacity = (100 - lightness) / 100;\n lightness = '0%,';\n }\n\n return \"hsla(\" + hue + \",\" + saturation + \"%,\" + lightness + opacity + \")\";\n};","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n var length, i, keys;\n\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n } // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n\n\n var it;\n\n if (hasMap && a instanceof Map && b instanceof Map) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n }\n\n return true;\n }\n\n if (hasSet && a instanceof Set && b instanceof Set) {\n if (a.size !== b.size) return false;\n it = a.entries();\n\n while (!(i = it.next()).done) {\n if (!b.has(i.value[0])) return false;\n }\n\n return true;\n } // END: Modifications\n\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (a[i] !== b[i]) return false;\n }\n\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n } // END: fast-deep-equal\n // START: react-fast-compare\n // custom handling for DOM elements\n\n\n if (hasElementType && a instanceof Element) return false; // custom handling for React/Preact\n\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n continue;\n } // all other properties should be traversed as usual\n\n\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n } // END: react-fast-compare\n // START: fast-deep-equal\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message || '').match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n};","var t = Object.getOwnPropertySymbols,\n e = Object.prototype.hasOwnProperty,\n r = Object.prototype.propertyIsEnumerable;\n\nvar n,\n o,\n i = function () {\n try {\n if (!Object.assign) return !1;\n var t = new String(\"abc\");\n if (t[5] = \"de\", \"5\" === Object.getOwnPropertyNames(t)[0]) return !1;\n\n for (var e = {}, r = 0; r < 10; r++) {\n e[\"_\" + String.fromCharCode(r)] = r;\n }\n\n if (\"0123456789\" !== Object.getOwnPropertyNames(e).map(function (t) {\n return e[t];\n }).join(\"\")) return !1;\n var n = {};\n return \"abcdefghijklmnopqrst\".split(\"\").forEach(function (t) {\n n[t] = t;\n }), \"abcdefghijklmnopqrst\" === Object.keys(Object.assign({}, n)).join(\"\");\n } catch (t) {\n return !1;\n }\n}() ? Object.assign : function (n, o) {\n for (var i, a, u = function (t) {\n if (null === t || void 0 === t) throw new TypeError(\"Object.assign cannot be called with null or undefined\");\n return Object(t);\n }(n), c = 1; c < arguments.length; c++) {\n for (var l in i = Object(arguments[c])) {\n e.call(i, l) && (u[l] = i[l]);\n }\n\n if (t) {\n a = t(i);\n\n for (var f = 0; f < a.length; f++) {\n r.call(i, a[f]) && (u[a[f]] = i[a[f]]);\n }\n }\n }\n\n return u;\n},\n a = function a(t, e) {\n e || (e = [0, \"\"]), t = String(t);\n var r = parseFloat(t, 10);\n return e[0] = r, e[1] = t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1] || \"\", e;\n},\n u = function u(t) {\n return a(t)[0];\n},\n c = function c(t) {\n return null == t && (t = t), function (e, r, n, o) {\n null == n && (n = t), null == o && (o = n);\n var i = a(e)[1];\n if (i === r) return e;\n var c = u(e);\n if (\"px\" !== i) if (\"em\" === i) c = u(e) * u(n);else if (\"rem\" === i) c = u(e) * u(t);else {\n if (\"ex\" !== i) return e;\n c = u(e) * u(n) * 2;\n }\n var l = c;\n if (\"px\" !== r) if (\"em\" === r) l = c / u(o);else if (\"rem\" === r) l = c / u(t);else {\n if (\"ex\" !== r) return e;\n l = c / u(o) / 2;\n }\n return parseFloat(l.toFixed(5)) + r;\n };\n},\n l = a,\n f = function f(t) {\n return l(t)[1];\n},\n s = function s(t) {\n return l(t)[0];\n},\n p = {\n baseFontSize: \"16px\",\n baseLineHeight: 1.5,\n rhythmUnit: \"rem\",\n defaultRhythmBorderWidth: \"1px\",\n defaultRhythmBorderStyle: \"solid\",\n roundToNearestHalfLine: !0,\n minLinePadding: \"2px\"\n},\n v = function v(t, e) {\n var r,\n n = c(e.baseFontSize),\n o = s(n(t, \"px\")),\n i = s(e.baseLineHeightInPx),\n a = s(n(e.minLinePadding, \"px\"));\n return (r = e.roundToNearestHalfLine ? Math.ceil(2 * o / i) / 2 : Math.ceil(o / i)) * i - o < 2 * a && (r += e.roundToNearestHalfLine ? .5 : 1), r;\n},\n h = function h(t) {\n var e = c(t.baseFontSize);\n return function (r, n, o) {\n null == r && (r = 1), null == n && (n = t.baseFontSize), null == o && (o = 0);\n var i = r * s(t.baseLineHeightInPx) - o + \"px\",\n a = e(i, t.rhythmUnit, n);\n return \"px\" === f(a) && (a = Math.floor(s(a)) + f(a)), parseFloat(s(a).toFixed(5)) + f(a);\n };\n},\n d = \"[object Number]\",\n b = Object.prototype.toString;\n\nn = function n(t) {\n return \"number\" == typeof t || function (t) {\n return !!t && \"object\" == typeof t;\n }(t) && b.call(t) == d;\n}, o = {\n \"minor second\": 16 / 15,\n \"major second\": 9 / 8,\n \"minor third\": 1.2,\n \"major third\": 4 / 3,\n \"diminished fourth\": Math.sqrt(2),\n \"perfect fifth\": 1.5,\n \"minor sixth\": 1.6,\n golden: 1.61803398875,\n phi: 1.61803398875,\n \"major sixth\": 5 / 3,\n \"minor seventh\": 16 / 9,\n \"major seventh\": 15 / 8,\n octave: 2,\n \"major tenth\": 2.5,\n \"major eleventh\": 8 / 3,\n \"major twelfth\": 3,\n \"double octave\": 4\n};\n\nfunction g(t) {\n return !isNaN(parseFloat(t)) && isFinite(t);\n}\n\nvar y = function y(t, e, r) {\n if (void 0 === e && (e = 0), void 0 === r && (r = !1), \"cool\" === e ? e = 237 : \"slate\" === e ? e = 122 : \"warm\" === e && (e = 69), !g(e)) throw new Error(\"Hue is not a number\");\n if (!g(t)) throw new Error(\"Lightness is not a number\");\n t > 100 && (t = 100), t < 0 && (t = 0);\n var n = 0;\n\n if (0 !== e) {\n n = 19.92978 + -.3651759 * t + .001737214 * Math.pow(t, 2);\n }\n\n var o = 0;\n return r ? (o = t / 100, t = \"100%,\") : (o = (100 - t) / 100, t = \"0%,\"), \"hsla(\" + e + \",\" + n + \"%,\" + t + o + \")\";\n},\n m = \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self ? self : {};\n\nfunction j(t, e) {\n return t(e = {\n exports: {}\n }, e.exports), e.exports;\n}\n\nvar _ = \"object\" == typeof m && m && m.Object === Object && m,\n w = \"object\" == typeof self && self && self.Object === Object && self,\n O = _ || w || Function(\"return this\")(),\n S = O.Symbol,\n x = Object.prototype,\n z = x.hasOwnProperty,\n F = x.toString,\n k = S ? S.toStringTag : void 0;\n\nvar A = function A(t) {\n var e = z.call(t, k),\n r = t[k];\n\n try {\n t[k] = void 0;\n var n = !0;\n } catch (t) {}\n\n var o = F.call(t);\n return n && (e ? t[k] = r : delete t[k]), o;\n},\n L = Object.prototype.toString;\n\nvar B = function B(t) {\n return L.call(t);\n},\n P = \"[object Null]\",\n T = \"[object Undefined]\",\n M = S ? S.toStringTag : void 0;\n\nvar E = function E(t) {\n return null == t ? void 0 === t ? T : P : M && M in Object(t) ? A(t) : B(t);\n};\n\nvar H = function H(t) {\n var e = typeof t;\n return null != t && (\"object\" == e || \"function\" == e);\n},\n N = \"[object AsyncFunction]\",\n W = \"[object Function]\",\n C = \"[object GeneratorFunction]\",\n I = \"[object Proxy]\";\n\nvar R,\n $ = function $(t) {\n if (!H(t)) return !1;\n var e = E(t);\n return e == W || e == C || e == N || e == I;\n},\n U = O[\"__core-js_shared__\"],\n D = (R = /[^.]+$/.exec(U && U.keys && U.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + R : \"\";\n\nvar q = function q(t) {\n return !!D && D in t;\n},\n V = Function.prototype.toString;\n\nvar J = function J(t) {\n if (null != t) {\n try {\n return V.call(t);\n } catch (t) {}\n\n try {\n return t + \"\";\n } catch (t) {}\n }\n\n return \"\";\n},\n Z = /^\\[object .+?Constructor\\]$/,\n G = Function.prototype,\n K = Object.prototype,\n Y = RegExp(\"^\" + G.toString.call(K.hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\");\n\nvar Q = function Q(t) {\n return !(!H(t) || q(t)) && ($(t) ? Y : Z).test(J(t));\n};\n\nvar X = function X(t, e) {\n return null == t ? void 0 : t[e];\n};\n\nvar tt = function tt(t, e) {\n var r = X(t, e);\n return Q(r) ? r : void 0;\n},\n et = function () {\n try {\n var t = tt(Object, \"defineProperty\");\n return t({}, \"\", {}), t;\n } catch (t) {}\n}();\n\nvar rt = function rt(t, e, r) {\n \"__proto__\" == e && et ? et(t, e, {\n configurable: !0,\n enumerable: !0,\n value: r,\n writable: !0\n }) : t[e] = r;\n};\n\nvar nt = function nt(t, e) {\n return t === e || t != t && e != e;\n},\n ot = Object.prototype.hasOwnProperty;\n\nvar it = function it(t, e, r) {\n var n = t[e];\n ot.call(t, e) && nt(n, r) && (void 0 !== r || e in t) || rt(t, e, r);\n},\n at = Array.isArray;\n\nvar ut = function ut(t) {\n return null != t && \"object\" == typeof t;\n},\n ct = \"[object Symbol]\";\n\nvar lt = function lt(t) {\n return \"symbol\" == typeof t || ut(t) && E(t) == ct;\n},\n ft = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n st = /^\\w*$/;\n\nvar pt = function pt(t, e) {\n if (at(t)) return !1;\n var r = typeof t;\n return !(\"number\" != r && \"symbol\" != r && \"boolean\" != r && null != t && !lt(t)) || st.test(t) || !ft.test(t) || null != e && t in Object(e);\n},\n vt = tt(Object, \"create\");\n\nvar ht = function ht(t) {\n var e = this.has(t) && delete this.__data__[t];\n return this.size -= e ? 1 : 0, e;\n},\n dt = \"__lodash_hash_undefined__\",\n bt = Object.prototype.hasOwnProperty;\n\nvar gt = function gt(t) {\n var e = this.__data__;\n\n if (vt) {\n var r = e[t];\n return r === dt ? void 0 : r;\n }\n\n return bt.call(e, t) ? e[t] : void 0;\n},\n yt = Object.prototype.hasOwnProperty;\n\nvar mt = function mt(t) {\n var e = this.__data__;\n return vt ? void 0 !== e[t] : yt.call(e, t);\n},\n jt = \"__lodash_hash_undefined__\";\n\nvar _t = function _t(t, e) {\n var r = this.__data__;\n return this.size += this.has(t) ? 0 : 1, r[t] = vt && void 0 === e ? jt : e, this;\n};\n\nfunction wt(t) {\n var e = -1,\n r = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < r;) {\n var n = t[e];\n this.set(n[0], n[1]);\n }\n}\n\nwt.prototype.clear = function () {\n this.__data__ = vt ? vt(null) : {}, this.size = 0;\n}, wt.prototype.delete = ht, wt.prototype.get = gt, wt.prototype.has = mt, wt.prototype.set = _t;\nvar Ot = wt;\n\nvar St = function St(t, e) {\n for (var r = t.length; r--;) {\n if (nt(t[r][0], e)) return r;\n }\n\n return -1;\n},\n xt = Array.prototype.splice;\n\nvar zt = function zt(t) {\n var e = this.__data__,\n r = St(e, t);\n return !(r < 0 || (r == e.length - 1 ? e.pop() : xt.call(e, r, 1), --this.size, 0));\n};\n\nvar Ft = function Ft(t) {\n var e = this.__data__,\n r = St(e, t);\n return r < 0 ? void 0 : e[r][1];\n};\n\nvar kt = function kt(t) {\n return St(this.__data__, t) > -1;\n};\n\nvar At = function At(t, e) {\n var r = this.__data__,\n n = St(r, t);\n return n < 0 ? (++this.size, r.push([t, e])) : r[n][1] = e, this;\n};\n\nfunction Lt(t) {\n var e = -1,\n r = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < r;) {\n var n = t[e];\n this.set(n[0], n[1]);\n }\n}\n\nLt.prototype.clear = function () {\n this.__data__ = [], this.size = 0;\n}, Lt.prototype.delete = zt, Lt.prototype.get = Ft, Lt.prototype.has = kt, Lt.prototype.set = At;\nvar Bt = Lt,\n Pt = tt(O, \"Map\");\n\nvar Tt = function Tt(t) {\n var e = typeof t;\n return \"string\" == e || \"number\" == e || \"symbol\" == e || \"boolean\" == e ? \"__proto__\" !== t : null === t;\n};\n\nvar Mt = function Mt(t, e) {\n var r = t.__data__;\n return Tt(e) ? r[\"string\" == typeof e ? \"string\" : \"hash\"] : r.map;\n};\n\nvar Et = function Et(t) {\n var e = Mt(this, t).delete(t);\n return this.size -= e ? 1 : 0, e;\n};\n\nvar Ht = function Ht(t) {\n return Mt(this, t).get(t);\n};\n\nvar Nt = function Nt(t) {\n return Mt(this, t).has(t);\n};\n\nvar Wt = function Wt(t, e) {\n var r = Mt(this, t),\n n = r.size;\n return r.set(t, e), this.size += r.size == n ? 0 : 1, this;\n};\n\nfunction Ct(t) {\n var e = -1,\n r = null == t ? 0 : t.length;\n\n for (this.clear(); ++e < r;) {\n var n = t[e];\n this.set(n[0], n[1]);\n }\n}\n\nCt.prototype.clear = function () {\n this.size = 0, this.__data__ = {\n hash: new Ot(),\n map: new (Pt || Bt)(),\n string: new Ot()\n };\n}, Ct.prototype.delete = Et, Ct.prototype.get = Ht, Ct.prototype.has = Nt, Ct.prototype.set = Wt;\nvar It = Ct,\n Rt = \"Expected a function\";\n\nfunction $t(t, e) {\n if (\"function\" != typeof t || null != e && \"function\" != typeof e) throw new TypeError(Rt);\n\n var r = function r() {\n var n = arguments,\n o = e ? e.apply(this, n) : n[0],\n i = r.cache;\n if (i.has(o)) return i.get(o);\n var a = t.apply(this, n);\n return r.cache = i.set(o, a) || i, a;\n };\n\n return r.cache = new ($t.Cache || It)(), r;\n}\n\n$t.Cache = It;\nvar Ut = $t,\n Dt = 500;\n\nvar qt = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,\n Vt = /\\\\(\\\\)?/g,\n Jt = function (t) {\n var e = Ut(t, function (t) {\n return r.size === Dt && r.clear(), t;\n }),\n r = e.cache;\n return e;\n}(function (t) {\n var e = [];\n return 46 === t.charCodeAt(0) && e.push(\"\"), t.replace(qt, function (t, r, n, o) {\n e.push(n ? o.replace(Vt, \"$1\") : r || t);\n }), e;\n});\n\nvar Zt = function Zt(t, e) {\n for (var r = -1, n = null == t ? 0 : t.length, o = Array(n); ++r < n;) {\n o[r] = e(t[r], r, t);\n }\n\n return o;\n},\n Gt = 1 / 0,\n Kt = S ? S.prototype : void 0,\n Yt = Kt ? Kt.toString : void 0;\n\nvar Qt = function t(e) {\n if (\"string\" == typeof e) return e;\n if (at(e)) return Zt(e, t) + \"\";\n if (lt(e)) return Yt ? Yt.call(e) : \"\";\n var r = e + \"\";\n return \"0\" == r && 1 / e == -Gt ? \"-0\" : r;\n};\n\nvar Xt = function Xt(t) {\n return null == t ? \"\" : Qt(t);\n};\n\nvar te = function te(t, e) {\n return at(t) ? t : pt(t, e) ? [t] : Jt(Xt(t));\n},\n ee = 9007199254740991,\n re = /^(?:0|[1-9]\\d*)$/;\n\nvar ne = function ne(t, e) {\n var r = typeof t;\n return !!(e = null == e ? ee : e) && (\"number\" == r || \"symbol\" != r && re.test(t)) && t > -1 && t % 1 == 0 && t < e;\n},\n oe = 1 / 0;\n\nvar ie = function ie(t) {\n if (\"string\" == typeof t || lt(t)) return t;\n var e = t + \"\";\n return \"0\" == e && 1 / t == -oe ? \"-0\" : e;\n};\n\nvar ae = function ae(t, e, r, n) {\n if (!H(t)) return t;\n\n for (var o = -1, i = (e = te(e, t)).length, a = i - 1, u = t; null != u && ++o < i;) {\n var c = ie(e[o]),\n l = r;\n\n if (o != a) {\n var f = u[c];\n void 0 === (l = n ? n(f, c, u) : void 0) && (l = H(f) ? f : ne(e[o + 1]) ? [] : {});\n }\n\n it(u, c, l), u = u[c];\n }\n\n return t;\n};\n\nvar ue = function ue(t, e, r) {\n return null == t ? t : ae(t, e, r);\n};\n\nvar ce = function ce(t, e) {\n for (var r = -1, n = null == t ? 0 : t.length; ++r < n && !1 !== e(t[r], r, t);) {\n ;\n }\n\n return t;\n};\n\nvar le = function (t) {\n return function (e, r, n) {\n for (var o = -1, i = Object(e), a = n(e), u = a.length; u--;) {\n var c = a[t ? u : ++o];\n if (!1 === r(i[c], c, i)) break;\n }\n\n return e;\n };\n}();\n\nvar fe = function fe(t, e) {\n for (var r = -1, n = Array(t); ++r < t;) {\n n[r] = e(r);\n }\n\n return n;\n},\n se = \"[object Arguments]\";\n\nvar pe = function pe(t) {\n return ut(t) && E(t) == se;\n},\n ve = Object.prototype,\n he = ve.hasOwnProperty,\n de = ve.propertyIsEnumerable,\n be = pe(function () {\n return arguments;\n}()) ? pe : function (t) {\n return ut(t) && he.call(t, \"callee\") && !de.call(t, \"callee\");\n};\n\nvar ge = function ge() {\n return !1;\n},\n ye = j(function (t, e) {\n var r = e && !e.nodeType && e,\n n = r && t && !t.nodeType && t,\n o = n && n.exports === r ? O.Buffer : void 0;\n t.exports = (o ? o.isBuffer : void 0) || ge;\n}),\n me = 9007199254740991;\n\nvar je = function je(t) {\n return \"number\" == typeof t && t > -1 && t % 1 == 0 && t <= me;\n},\n _e = {};\n\n_e[\"[object Float32Array]\"] = _e[\"[object Float64Array]\"] = _e[\"[object Int8Array]\"] = _e[\"[object Int16Array]\"] = _e[\"[object Int32Array]\"] = _e[\"[object Uint8Array]\"] = _e[\"[object Uint8ClampedArray]\"] = _e[\"[object Uint16Array]\"] = _e[\"[object Uint32Array]\"] = !0, _e[\"[object Arguments]\"] = _e[\"[object Array]\"] = _e[\"[object ArrayBuffer]\"] = _e[\"[object Boolean]\"] = _e[\"[object DataView]\"] = _e[\"[object Date]\"] = _e[\"[object Error]\"] = _e[\"[object Function]\"] = _e[\"[object Map]\"] = _e[\"[object Number]\"] = _e[\"[object Object]\"] = _e[\"[object RegExp]\"] = _e[\"[object Set]\"] = _e[\"[object String]\"] = _e[\"[object WeakMap]\"] = !1;\n\nvar we = function we(t) {\n return ut(t) && je(t.length) && !!_e[E(t)];\n};\n\nvar Oe = function Oe(t) {\n return function (e) {\n return t(e);\n };\n},\n Se = j(function (t, e) {\n var r = e && !e.nodeType && e,\n n = r && t && !t.nodeType && t,\n o = n && n.exports === r && _.process,\n i = function () {\n try {\n var t = n && n.require && n.require(\"util\").types;\n\n return t || o && o.binding && o.binding(\"util\");\n } catch (t) {}\n }();\n\n t.exports = i;\n}),\n xe = Se && Se.isTypedArray,\n ze = xe ? Oe(xe) : we,\n Fe = Object.prototype.hasOwnProperty;\n\nvar ke = function ke(t, e) {\n var r = at(t),\n n = !r && be(t),\n o = !r && !n && ye(t),\n i = !r && !n && !o && ze(t),\n a = r || n || o || i,\n u = a ? fe(t.length, String) : [],\n c = u.length;\n\n for (var l in t) {\n !e && !Fe.call(t, l) || a && (\"length\" == l || o && (\"offset\" == l || \"parent\" == l) || i && (\"buffer\" == l || \"byteLength\" == l || \"byteOffset\" == l) || ne(l, c)) || u.push(l);\n }\n\n return u;\n},\n Ae = Object.prototype;\n\nvar Le = function Le(t) {\n var e = t && t.constructor;\n return t === (\"function\" == typeof e && e.prototype || Ae);\n};\n\nvar Be = function Be(t, e) {\n return function (r) {\n return t(e(r));\n };\n},\n Pe = Be(Object.keys, Object),\n Te = Object.prototype.hasOwnProperty;\n\nvar Me = function Me(t) {\n if (!Le(t)) return Pe(t);\n var e = [];\n\n for (var r in Object(t)) {\n Te.call(t, r) && \"constructor\" != r && e.push(r);\n }\n\n return e;\n};\n\nvar Ee = function Ee(t) {\n return null != t && je(t.length) && !$(t);\n};\n\nvar He = function He(t) {\n return Ee(t) ? ke(t) : Me(t);\n};\n\nvar Ne = function (t, e) {\n return function (r, n) {\n if (null == r) return r;\n if (!Ee(r)) return t(r, n);\n\n for (var o = r.length, i = e ? o : -1, a = Object(r); (e ? i-- : ++i < o) && !1 !== n(a[i], i, a);) {\n ;\n }\n\n return r;\n };\n}(function (t, e) {\n return t && le(t, e, He);\n});\n\nvar We = function We(t) {\n return t;\n};\n\nvar Ce = function Ce(t) {\n return \"function\" == typeof t ? t : We;\n};\n\nvar Ie = function Ie(t, e) {\n return (at(t) ? ce : Ne)(t, Ce(e));\n},\n Re = \"[object Number]\";\n\nvar $e = function $e(t) {\n return \"number\" == typeof t || ut(t) && E(t) == Re;\n},\n Ue = \"[object String]\";\n\nvar De = function De(t) {\n return \"string\" == typeof t || !at(t) && ut(t) && E(t) == Ue;\n};\n\nvar qe = function qe(t) {\n var e = this.__data__,\n r = e.delete(t);\n return this.size = e.size, r;\n};\n\nvar Ve = function Ve(t) {\n return this.__data__.get(t);\n};\n\nvar Je = function Je(t) {\n return this.__data__.has(t);\n},\n Ze = 200;\n\nvar Ge = function Ge(t, e) {\n var r = this.__data__;\n\n if (r instanceof Bt) {\n var n = r.__data__;\n if (!Pt || n.length < Ze - 1) return n.push([t, e]), this.size = ++r.size, this;\n r = this.__data__ = new It(n);\n }\n\n return r.set(t, e), this.size = r.size, this;\n};\n\nfunction Ke(t) {\n var e = this.__data__ = new Bt(t);\n this.size = e.size;\n}\n\nKe.prototype.clear = function () {\n this.__data__ = new Bt(), this.size = 0;\n}, Ke.prototype.delete = qe, Ke.prototype.get = Ve, Ke.prototype.has = Je, Ke.prototype.set = Ge;\nvar Ye = Ke;\n\nvar Qe = function Qe(t, e, r) {\n (void 0 === r || nt(t[e], r)) && (void 0 !== r || e in t) || rt(t, e, r);\n},\n Xe = j(function (t, e) {\n var r = e && !e.nodeType && e,\n n = r && t && !t.nodeType && t,\n o = n && n.exports === r ? O.Buffer : void 0,\n i = o ? o.allocUnsafe : void 0;\n\n t.exports = function (t, e) {\n if (e) return t.slice();\n var r = t.length,\n n = i ? i(r) : new t.constructor(r);\n return t.copy(n), n;\n };\n}),\n tr = O.Uint8Array;\n\nvar er = function er(t) {\n var e = new t.constructor(t.byteLength);\n return new tr(e).set(new tr(t)), e;\n};\n\nvar rr = function rr(t, e) {\n var r = e ? er(t.buffer) : t.buffer;\n return new t.constructor(r, t.byteOffset, t.length);\n};\n\nvar nr = function nr(t, e) {\n var r = -1,\n n = t.length;\n\n for (e || (e = Array(n)); ++r < n;) {\n e[r] = t[r];\n }\n\n return e;\n},\n or = Object.create,\n ir = function () {\n function t() {}\n\n return function (e) {\n if (!H(e)) return {};\n if (or) return or(e);\n t.prototype = e;\n var r = new t();\n return t.prototype = void 0, r;\n };\n}(),\n ar = Be(Object.getPrototypeOf, Object);\n\nvar ur = function ur(t) {\n return \"function\" != typeof t.constructor || Le(t) ? {} : ir(ar(t));\n};\n\nvar cr = function cr(t) {\n return ut(t) && Ee(t);\n},\n lr = \"[object Object]\",\n fr = Function.prototype,\n sr = Object.prototype,\n pr = fr.toString,\n vr = sr.hasOwnProperty,\n hr = pr.call(Object);\n\nvar dr = function dr(t) {\n if (!ut(t) || E(t) != lr) return !1;\n var e = ar(t);\n if (null === e) return !0;\n var r = vr.call(e, \"constructor\") && e.constructor;\n return \"function\" == typeof r && r instanceof r && pr.call(r) == hr;\n};\n\nvar br = function br(t, e) {\n return \"__proto__\" == e ? void 0 : t[e];\n};\n\nvar gr = function gr(t, e, r, n) {\n var o = !r;\n r || (r = {});\n\n for (var i = -1, a = e.length; ++i < a;) {\n var u = e[i],\n c = n ? n(r[u], t[u], u, r, t) : void 0;\n void 0 === c && (c = t[u]), o ? rt(r, u, c) : it(r, u, c);\n }\n\n return r;\n};\n\nvar yr = function yr(t) {\n var e = [];\n if (null != t) for (var r in Object(t)) {\n e.push(r);\n }\n return e;\n},\n mr = Object.prototype.hasOwnProperty;\n\nvar jr = function jr(t) {\n if (!H(t)) return yr(t);\n var e = Le(t),\n r = [];\n\n for (var n in t) {\n (\"constructor\" != n || !e && mr.call(t, n)) && r.push(n);\n }\n\n return r;\n};\n\nvar _r = function _r(t) {\n return Ee(t) ? ke(t, !0) : jr(t);\n};\n\nvar wr = function wr(t) {\n return gr(t, _r(t));\n};\n\nvar Or = function Or(t, e, r, n, o, i, a) {\n var u = br(t, r),\n c = br(e, r),\n l = a.get(c);\n if (l) Qe(t, r, l);else {\n var f = i ? i(u, c, r + \"\", t, e, a) : void 0,\n s = void 0 === f;\n\n if (s) {\n var p = at(c),\n v = !p && ye(c),\n h = !p && !v && ze(c);\n f = c, p || v || h ? at(u) ? f = u : cr(u) ? f = nr(u) : v ? (s = !1, f = Xe(c, !0)) : h ? (s = !1, f = rr(c, !0)) : f = [] : dr(c) || be(c) ? (f = u, be(u) ? f = wr(u) : (!H(u) || n && $(u)) && (f = ur(c))) : s = !1;\n }\n\n s && (a.set(c, f), o(f, c, n, i, a), a.delete(c)), Qe(t, r, f);\n }\n};\n\nvar Sr = function t(e, r, n, o, i) {\n e !== r && le(r, function (a, u) {\n if (H(a)) i || (i = new Ye()), Or(e, r, u, n, t, o, i);else {\n var c = o ? o(br(e, u), a, u + \"\", e, r, i) : void 0;\n void 0 === c && (c = a), Qe(e, u, c);\n }\n }, _r);\n};\n\nvar xr = function xr(t, e, r) {\n switch (r.length) {\n case 0:\n return t.call(e);\n\n case 1:\n return t.call(e, r[0]);\n\n case 2:\n return t.call(e, r[0], r[1]);\n\n case 3:\n return t.call(e, r[0], r[1], r[2]);\n }\n\n return t.apply(e, r);\n},\n zr = Math.max;\n\nvar Fr = function Fr(t, e, r) {\n return e = zr(void 0 === e ? t.length - 1 : e, 0), function () {\n for (var n = arguments, o = -1, i = zr(n.length - e, 0), a = Array(i); ++o < i;) {\n a[o] = n[e + o];\n }\n\n o = -1;\n\n for (var u = Array(e + 1); ++o < e;) {\n u[o] = n[o];\n }\n\n return u[e] = r(a), xr(t, this, u);\n };\n};\n\nvar kr = function kr(t) {\n return function () {\n return t;\n };\n},\n Ar = 800,\n Lr = 16,\n Br = Date.now;\n\nvar Pr = function (t) {\n var e = 0,\n r = 0;\n return function () {\n var n = Br(),\n o = Lr - (n - r);\n\n if (r = n, o > 0) {\n if (++e >= Ar) return arguments[0];\n } else e = 0;\n\n return t.apply(void 0, arguments);\n };\n}(et ? function (t, e) {\n return et(t, \"toString\", {\n configurable: !0,\n enumerable: !1,\n value: kr(e),\n writable: !0\n });\n} : We);\n\nvar Tr = function Tr(t, e) {\n return Pr(Fr(t, e, We), t + \"\");\n};\n\nvar Mr = function Mr(t, e, r) {\n if (!H(r)) return !1;\n var n = typeof e;\n return !!(\"number\" == n ? Ee(r) && ne(e, r.length) : \"string\" == n && e in r) && nt(r[e], t);\n};\n\nvar Er = function (t) {\n return Tr(function (e, r) {\n var n = -1,\n o = r.length,\n i = o > 1 ? r[o - 1] : void 0,\n a = o > 2 ? r[2] : void 0;\n\n for (i = t.length > 3 && \"function\" == typeof i ? (o--, i) : void 0, a && Mr(r[0], r[1], a) && (i = o < 3 ? void 0 : i, o = 1), e = Object(e); ++n < o;) {\n var u = r[n];\n u && t(e, u, n, i);\n }\n\n return e;\n });\n}(function (t, e, r) {\n Sr(t, e, r);\n});\n\nvar Hr = function Hr(t, e, r, n) {\n var o = -1,\n i = null == t ? 0 : t.length;\n\n for (n && i && (r = t[++o]); ++o < i;) {\n r = e(r, t[o], o, t);\n }\n\n return r;\n},\n Nr = \"__lodash_hash_undefined__\";\n\nvar Wr = function Wr(t) {\n return this.__data__.has(t);\n};\n\nfunction Cr(t) {\n var e = -1,\n r = null == t ? 0 : t.length;\n\n for (this.__data__ = new It(); ++e < r;) {\n this.add(t[e]);\n }\n}\n\nCr.prototype.add = Cr.prototype.push = function (t) {\n return this.__data__.set(t, Nr), this;\n}, Cr.prototype.has = Wr;\nvar Ir = Cr;\n\nvar Rr = function Rr(t, e) {\n for (var r = -1, n = null == t ? 0 : t.length; ++r < n;) {\n if (e(t[r], r, t)) return !0;\n }\n\n return !1;\n};\n\nvar $r = function $r(t, e) {\n return t.has(e);\n},\n Ur = 1,\n Dr = 2;\n\nvar qr = function qr(t, e, r, n, o, i) {\n var a = r & Ur,\n u = t.length,\n c = e.length;\n if (u != c && !(a && c > u)) return !1;\n var l = i.get(t);\n if (l && i.get(e)) return l == e;\n var f = -1,\n s = !0,\n p = r & Dr ? new Ir() : void 0;\n\n for (i.set(t, e), i.set(e, t); ++f < u;) {\n var v = t[f],\n h = e[f];\n if (n) var d = a ? n(h, v, f, e, t, i) : n(v, h, f, t, e, i);\n\n if (void 0 !== d) {\n if (d) continue;\n s = !1;\n break;\n }\n\n if (p) {\n if (!Rr(e, function (t, e) {\n if (!$r(p, e) && (v === t || o(v, t, r, n, i))) return p.push(e);\n })) {\n s = !1;\n break;\n }\n } else if (v !== h && !o(v, h, r, n, i)) {\n s = !1;\n break;\n }\n }\n\n return i.delete(t), i.delete(e), s;\n};\n\nvar Vr = function Vr(t) {\n var e = -1,\n r = Array(t.size);\n return t.forEach(function (t, n) {\n r[++e] = [n, t];\n }), r;\n};\n\nvar Jr = function Jr(t) {\n var e = -1,\n r = Array(t.size);\n return t.forEach(function (t) {\n r[++e] = t;\n }), r;\n},\n Zr = 1,\n Gr = 2,\n Kr = \"[object Boolean]\",\n Yr = \"[object Date]\",\n Qr = \"[object Error]\",\n Xr = \"[object Map]\",\n tn = \"[object Number]\",\n en = \"[object RegExp]\",\n rn = \"[object Set]\",\n nn = \"[object String]\",\n on = \"[object Symbol]\",\n an = \"[object ArrayBuffer]\",\n un = \"[object DataView]\",\n cn = S ? S.prototype : void 0,\n ln = cn ? cn.valueOf : void 0;\n\nvar fn = function fn(t, e, r, n, o, i, a) {\n switch (r) {\n case un:\n if (t.byteLength != e.byteLength || t.byteOffset != e.byteOffset) return !1;\n t = t.buffer, e = e.buffer;\n\n case an:\n return !(t.byteLength != e.byteLength || !i(new tr(t), new tr(e)));\n\n case Kr:\n case Yr:\n case tn:\n return nt(+t, +e);\n\n case Qr:\n return t.name == e.name && t.message == e.message;\n\n case en:\n case nn:\n return t == e + \"\";\n\n case Xr:\n var u = Vr;\n\n case rn:\n if (u || (u = Jr), t.size != e.size && !(n & Zr)) return !1;\n var c = a.get(t);\n if (c) return c == e;\n n |= Gr, a.set(t, e);\n var l = qr(u(t), u(e), n, o, i, a);\n return a.delete(t), l;\n\n case on:\n if (ln) return ln.call(t) == ln.call(e);\n }\n\n return !1;\n};\n\nvar sn = function sn(t, e) {\n for (var r = -1, n = e.length, o = t.length; ++r < n;) {\n t[o + r] = e[r];\n }\n\n return t;\n};\n\nvar pn = function pn(t, e, r) {\n var n = e(t);\n return at(t) ? n : sn(n, r(t));\n};\n\nvar vn = function vn(t, e) {\n for (var r = -1, n = null == t ? 0 : t.length, o = 0, i = []; ++r < n;) {\n var a = t[r];\n e(a, r, t) && (i[o++] = a);\n }\n\n return i;\n};\n\nvar hn = Object.prototype.propertyIsEnumerable,\n dn = Object.getOwnPropertySymbols,\n bn = dn ? function (t) {\n return null == t ? [] : (t = Object(t), vn(dn(t), function (e) {\n return hn.call(t, e);\n }));\n} : function () {\n return [];\n};\n\nvar gn = function gn(t) {\n return pn(t, He, bn);\n},\n yn = 1,\n mn = Object.prototype.hasOwnProperty;\n\nvar jn = function jn(t, e, r, n, o, i) {\n var a = r & yn,\n u = gn(t),\n c = u.length;\n if (c != gn(e).length && !a) return !1;\n\n for (var l = c; l--;) {\n var f = u[l];\n if (!(a ? f in e : mn.call(e, f))) return !1;\n }\n\n var s = i.get(t);\n if (s && i.get(e)) return s == e;\n var p = !0;\n i.set(t, e), i.set(e, t);\n\n for (var v = a; ++l < c;) {\n var h = t[f = u[l]],\n d = e[f];\n if (n) var b = a ? n(d, h, f, e, t, i) : n(h, d, f, t, e, i);\n\n if (!(void 0 === b ? h === d || o(h, d, r, n, i) : b)) {\n p = !1;\n break;\n }\n\n v || (v = \"constructor\" == f);\n }\n\n if (p && !v) {\n var g = t.constructor,\n y = e.constructor;\n g != y && \"constructor\" in t && \"constructor\" in e && !(\"function\" == typeof g && g instanceof g && \"function\" == typeof y && y instanceof y) && (p = !1);\n }\n\n return i.delete(t), i.delete(e), p;\n},\n _n = tt(O, \"DataView\"),\n wn = tt(O, \"Promise\"),\n On = tt(O, \"Set\"),\n Sn = tt(O, \"WeakMap\"),\n xn = J(_n),\n zn = J(Pt),\n Fn = J(wn),\n kn = J(On),\n An = J(Sn),\n Ln = E;\n\n(_n && \"[object DataView]\" != Ln(new _n(new ArrayBuffer(1))) || Pt && \"[object Map]\" != Ln(new Pt()) || wn && \"[object Promise]\" != Ln(wn.resolve()) || On && \"[object Set]\" != Ln(new On()) || Sn && \"[object WeakMap]\" != Ln(new Sn())) && (Ln = function Ln(t) {\n var e = E(t),\n r = \"[object Object]\" == e ? t.constructor : void 0,\n n = r ? J(r) : \"\";\n if (n) switch (n) {\n case xn:\n return \"[object DataView]\";\n\n case zn:\n return \"[object Map]\";\n\n case Fn:\n return \"[object Promise]\";\n\n case kn:\n return \"[object Set]\";\n\n case An:\n return \"[object WeakMap]\";\n }\n return e;\n});\nvar Bn = Ln,\n Pn = 1,\n Tn = \"[object Arguments]\",\n Mn = \"[object Array]\",\n En = \"[object Object]\",\n Hn = Object.prototype.hasOwnProperty;\n\nvar Nn = function Nn(t, e, r, n, o, i) {\n var a = at(t),\n u = at(e),\n c = a ? Mn : Bn(t),\n l = u ? Mn : Bn(e),\n f = (c = c == Tn ? En : c) == En,\n s = (l = l == Tn ? En : l) == En,\n p = c == l;\n\n if (p && ye(t)) {\n if (!ye(e)) return !1;\n a = !0, f = !1;\n }\n\n if (p && !f) return i || (i = new Ye()), a || ze(t) ? qr(t, e, r, n, o, i) : fn(t, e, c, r, n, o, i);\n\n if (!(r & Pn)) {\n var v = f && Hn.call(t, \"__wrapped__\"),\n h = s && Hn.call(e, \"__wrapped__\");\n\n if (v || h) {\n var d = v ? t.value() : t,\n b = h ? e.value() : e;\n return i || (i = new Ye()), o(d, b, r, n, i);\n }\n }\n\n return !!p && (i || (i = new Ye()), jn(t, e, r, n, o, i));\n};\n\nvar Wn = function t(e, r, n, o, i) {\n return e === r || (null == e || null == r || !ut(e) && !ut(r) ? e != e && r != r : Nn(e, r, n, o, t, i));\n},\n Cn = 1,\n In = 2;\n\nvar Rn = function Rn(t, e, r, n) {\n var o = r.length,\n i = o,\n a = !n;\n if (null == t) return !i;\n\n for (t = Object(t); o--;) {\n var u = r[o];\n if (a && u[2] ? u[1] !== t[u[0]] : !(u[0] in t)) return !1;\n }\n\n for (; ++o < i;) {\n var c = (u = r[o])[0],\n l = t[c],\n f = u[1];\n\n if (a && u[2]) {\n if (void 0 === l && !(c in t)) return !1;\n } else {\n var s = new Ye();\n if (n) var p = n(l, f, c, t, e, s);\n if (!(void 0 === p ? Wn(f, l, Cn | In, n, s) : p)) return !1;\n }\n }\n\n return !0;\n};\n\nvar $n = function $n(t) {\n return t == t && !H(t);\n};\n\nvar Un = function Un(t) {\n for (var e = He(t), r = e.length; r--;) {\n var n = e[r],\n o = t[n];\n e[r] = [n, o, $n(o)];\n }\n\n return e;\n};\n\nvar Dn = function Dn(t, e) {\n return function (r) {\n return null != r && r[t] === e && (void 0 !== e || t in Object(r));\n };\n};\n\nvar qn = function qn(t) {\n var e = Un(t);\n return 1 == e.length && e[0][2] ? Dn(e[0][0], e[0][1]) : function (r) {\n return r === t || Rn(r, t, e);\n };\n};\n\nvar Vn = function Vn(t, e) {\n for (var r = 0, n = (e = te(e, t)).length; null != t && r < n;) {\n t = t[ie(e[r++])];\n }\n\n return r && r == n ? t : void 0;\n};\n\nvar Jn = function Jn(t, e, r) {\n var n = null == t ? void 0 : Vn(t, e);\n return void 0 === n ? r : n;\n};\n\nvar Zn = function Zn(t, e) {\n return null != t && e in Object(t);\n};\n\nvar Gn = function Gn(t, e, r) {\n for (var n = -1, o = (e = te(e, t)).length, i = !1; ++n < o;) {\n var a = ie(e[n]);\n if (!(i = null != t && r(t, a))) break;\n t = t[a];\n }\n\n return i || ++n != o ? i : !!(o = null == t ? 0 : t.length) && je(o) && ne(a, o) && (at(t) || be(t));\n};\n\nvar Kn = function Kn(t, e) {\n return null != t && Gn(t, e, Zn);\n},\n Yn = 1,\n Qn = 2;\n\nvar Xn = function Xn(t, e) {\n return pt(t) && $n(e) ? Dn(ie(t), e) : function (r) {\n var n = Jn(r, t);\n return void 0 === n && n === e ? Kn(r, t) : Wn(e, n, Yn | Qn);\n };\n};\n\nvar to = function to(t) {\n return function (e) {\n return null == e ? void 0 : e[t];\n };\n};\n\nvar eo = function eo(t) {\n return function (e) {\n return Vn(e, t);\n };\n};\n\nvar ro = function ro(t) {\n return pt(t) ? to(ie(t)) : eo(t);\n};\n\nvar no = function no(t) {\n return \"function\" == typeof t ? t : null == t ? We : \"object\" == typeof t ? at(t) ? Xn(t[0], t[1]) : qn(t) : ro(t);\n};\n\nvar oo = function oo(t, e, r, n, o) {\n return o(t, function (t, o, i) {\n r = n ? (n = !1, t) : e(r, t, o, i);\n }), r;\n};\n\nvar io = function io(t, e, r) {\n var n = at(t) ? Hr : oo,\n o = arguments.length < 3;\n return n(t, no(e, 4), r, o, Ne);\n},\n ao = function ao(t, e, r) {\n var n;\n return void 0 === t && (t = {}), n = at(e) ? e : [e], Ie(n, function (e) {\n Ie(r, function (r, n) {\n ue(t, e + \".\" + n, r);\n });\n }), t;\n},\n uo = [\"inherit\", \"default\", \"serif\", \"sans-serif\", \"monospace\", \"fantasy\", \"cursive\", \"-apple-system\"],\n co = function co(t) {\n return -1 !== uo.indexOf(t) ? t : \"'\" + t + \"'\";\n};\n\nvar lo,\n fo = j(function (t, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = \"html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,optgroup,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}\";\n}),\n so = (lo = fo) && lo.__esModule && Object.prototype.hasOwnProperty.call(lo, \"default\") ? lo.default : lo,\n po = function po(t) {\n return io(t, function (t, e, r) {\n return t += r + \"{\", Ie(e, function (e, r) {\n if (H(e)) {\n var n = {};\n n[r] = e, t += po(n);\n } else {\n var o = function (t, e) {\n if (\"string\" != typeof t) throw new TypeError(\"Expected a string\");\n return t.replace(/([a-z\\d])([A-Z])/g, \"$1\" + (e = void 0 === e ? \"_\" : e) + \"$2\").replace(/([A-Z]+)([A-Z][a-z\\d]+)/g, \"$1\" + e + \"$2\").toLowerCase();\n }(r, \"-\") + \":\" + e + \";\";\n\n [\"Webkit\", \"ms\", \"Moz\", \"O\"].forEach(function (t) {\n r.slice(0, t.length) === t && (o = \"-\" + o);\n }), t += o;\n }\n }), t += \"}\";\n }, \"\");\n};\n\nmodule.exports = function (t) {\n var e,\n r,\n a,\n u,\n l = i({}, {\n baseFontSize: \"16px\",\n baseLineHeight: 1.45,\n headerLineHeight: 1.1,\n scaleRatio: 2,\n googleFonts: [],\n headerFontFamily: [\"-apple-system\", \"BlinkMacSystemFont\", \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", \"sans-serif\"],\n bodyFontFamily: [\"georgia\", \"serif\"],\n headerColor: \"inherit\",\n bodyColor: \"hsla(0,0%,0%,0.8)\",\n headerWeight: \"bold\",\n bodyWeight: \"normal\",\n boldWeight: \"bold\",\n includeNormalize: !0,\n blockMarginBottom: 1\n }, t),\n d = (e = l, r = JSON.parse(JSON.stringify(p)), a = Object.assign({}, r, e), u = c(a.baseFontSize), f(a.baseLineHeight) ? (s(u(a.baseFontSize, \"px\")), a.baseLineHeightInPx = u(a.baseLineHeight, \"px\")) : a.baseLineHeightInPx = s(a.baseFontSize) * a.baseLineHeight + \"px\", {\n rhythm: h(a),\n establishBaseline: function establishBaseline() {\n return c((t = a).baseFontSize), {\n fontSize: s(t.baseFontSize) / 16 * 100 + \"%\",\n lineHeight: t.baseLineHeight.toString()\n };\n var t;\n },\n linesForFontSize: function linesForFontSize(t) {\n return v(t, a);\n },\n adjustFontSizeTo: function adjustFontSizeTo(t, e, r) {\n return null == e && (e = \"auto\"), function (t, e, r, n) {\n null == r && (r = n.baseFontSize), \"%\" === f(t) && (t = s(n.baseFontSize) * (s(t) / 100) + \"px\");\n var o = c(n.baseFontSize);\n t = o(t, \"px\", r = o(r, \"px\"));\n var i = h(n);\n return \"auto\" === e && (e = v(t, n)), {\n fontSize: o(t, n.rhythmUnit, r),\n lineHeight: i(e, r)\n };\n }(t, e, r, a);\n }\n });\n return d.scale = function (t) {\n var e = parseInt(l.baseFontSize, 10),\n r = function (t, e) {\n var r;\n return null == t && (t = 0), null == e && (e = \"golden\"), r = n(e) ? e : null != o[e] ? o[e] : o.golden, Math.pow(r, t);\n }(t, l.scaleRatio) * e + \"px\";\n\n return d.adjustFontSizeTo(r);\n }, Object.assign({}, {\n options: l\n }, d, {\n createStyles: function createStyles() {\n return this.toString();\n },\n toJSON: function toJSON() {\n return function (t, e) {\n var r = {},\n n = t.establishBaseline();\n r = ao(r, \"html\", {\n font: n.fontSize + \"/\" + n.lineHeight + \" \" + e.bodyFontFamily.map(co).join(\",\"),\n boxSizing: \"border-box\",\n overflowY: \"scroll\"\n }), r = ao(r, [\"*\", \"*:before\", \"*:after\"], {\n boxSizing: \"inherit\"\n }), r = ao(r, \"body\", {\n color: e.bodyColor,\n fontFamily: e.bodyFontFamily.map(co).join(\",\"),\n fontWeight: e.bodyWeight,\n wordWrap: \"break-word\",\n fontKerning: \"normal\",\n MozFontFeatureSettings: '\"kern\", \"liga\", \"clig\", \"calt\"',\n msFontFeatureSettings: '\"kern\", \"liga\", \"clig\", \"calt\"',\n WebkitFontFeatureSettings: '\"kern\", \"liga\", \"clig\", \"calt\"',\n fontFeatureSettings: '\"kern\", \"liga\", \"clig\", \"calt\"'\n }), r = ao(r, \"img\", {\n maxWidth: \"100%\"\n });\n var o = \"\";\n o = $e(e.blockMarginBottom) ? t.rhythm(e.blockMarginBottom) : De(e.blockMarginBottom) ? e.blockMarginBottom : t.rhythm(1), r = ao(r, [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"hgroup\", \"ul\", \"ol\", \"dl\", \"dd\", \"p\", \"figure\", \"pre\", \"table\", \"fieldset\", \"blockquote\", \"form\", \"noscript\", \"iframe\", \"img\", \"hr\", \"address\"], {\n marginLeft: 0,\n marginRight: 0,\n marginTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n marginBottom: o\n }), r = ao(r, \"blockquote\", {\n marginRight: t.rhythm(1),\n marginBottom: o,\n marginLeft: t.rhythm(1)\n }), r = ao(r, [\"b\", \"strong\", \"dt\", \"th\"], {\n fontWeight: e.boldWeight\n }), r = ao(r, \"hr\", {\n background: y(80),\n border: \"none\",\n height: \"1px\",\n marginBottom: \"calc(\" + o + \" - 1px)\"\n }), r = ao(r, [\"ol\", \"ul\"], {\n listStylePosition: \"outside\",\n listStyleImage: \"none\",\n marginLeft: t.rhythm(1)\n }), r = ao(r, \"li\", {\n marginBottom: \"calc(\" + o + \" / 2)\"\n }), r = ao(r, [\"ol li\", \"ul li\"], {\n paddingLeft: 0\n }), r = ao(r, [\"li > ol\", \"li > ul\"], {\n marginLeft: t.rhythm(1),\n marginBottom: \"calc(\" + o + \" / 2)\",\n marginTop: \"calc(\" + o + \" / 2)\"\n }), r = ao(r, [\"blockquote *:last-child\", \"li *:last-child\", \"p *:last-child\"], {\n marginBottom: 0\n }), r = ao(r, [\"li > p\"], {\n marginBottom: \"calc(\" + o + \" / 2)\"\n }), r = ao(r, [\"code\", \"kbd\", \"pre\", \"samp\"], Object.assign({}, t.adjustFontSizeTo(\"85%\"))), (r = ao(r, [\"abbr\", \"acronym\"], {\n borderBottom: \"1px dotted \" + y(50),\n cursor: \"help\"\n }))[\"abbr[title]\"] = {\n borderBottom: \"1px dotted \" + y(50),\n cursor: \"help\",\n textDecoration: \"none\"\n }, r = ao(r, [\"table\"], Object.assign({}, t.adjustFontSizeTo(e.baseFontSize), {\n borderCollapse: \"collapse\",\n width: \"100%\"\n })), r = ao(r, [\"thead\"], {\n textAlign: \"left\"\n }), r = ao(r, [\"td,th\"], {\n textAlign: \"left\",\n borderBottom: \"1px solid \" + y(88),\n fontFeatureSettings: '\"tnum\"',\n MozFontFeatureSettings: '\"tnum\"',\n msFontFeatureSettings: '\"tnum\"',\n WebkitFontFeatureSettings: '\"tnum\"',\n paddingLeft: t.rhythm(2 / 3),\n paddingRight: t.rhythm(2 / 3),\n paddingTop: t.rhythm(.5),\n paddingBottom: \"calc(\" + t.rhythm(.5) + \" - 1px)\"\n }), r = ao(r, \"th:first-child,td:first-child\", {\n paddingLeft: 0\n }), r = ao(r, \"th:last-child,td:last-child\", {\n paddingRight: 0\n }), r = ao(r, [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"], {\n color: e.headerColor,\n fontFamily: e.headerFontFamily.map(co).join(\",\"),\n fontWeight: e.headerWeight,\n textRendering: \"optimizeLegibility\"\n });\n var i = t.scale(1),\n a = t.scale(.6),\n u = t.scale(.4),\n c = t.scale(0),\n l = t.scale(-.2),\n f = t.scale(-.3);\n return Ie([i, a, u, c, l, f], function (t, n) {\n r = ue(r, \"h\" + (n + 1) + \".fontSize\", t.fontSize), r = ue(r, \"h\" + (n + 1) + \".lineHeight\", e.headerLineHeight);\n }), at(e.plugins) && (r = io(e.plugins, function (r, n) {\n return Er(r, n(t, e, r));\n }, r)), e.overrideStyles && $(e.overrideStyles) && (r = Er(r, e.overrideStyles(t, e, r))), e.overrideThemeStyles && $(e.overrideThemeStyles) && (r = Er(r, e.overrideThemeStyles(t, e, r))), r;\n }(d, l);\n },\n toString: function toString() {\n return function (t, e, r) {\n var n = po(r);\n return e.includeNormalize && (n = \"\" + so + n), n;\n }(0, l, this.toJSON());\n },\n injectStyles: function injectStyles() {\n if (\"undefined\" != typeof document) if (document.getElementById(\"typography.js\")) document.getElementById(\"typography.js\").innerHTML = this.toString();else {\n var t = document.createElement(\"style\");\n t.id = \"typography.js\", t.innerHTML = this.toString();\n var e = document.head;\n e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);\n }\n }\n });\n};","import '../fonts/fonts-shared.css';\nimport './global.css';\n\nimport Typography from 'typography';\nimport Wordpress2016 from 'typography-theme-wordpress-2016';\n\nWordpress2016.overrideThemeStyles = () => ({\n a: {\n color: 'var(--textLink)',\n },\n hr: {\n background: 'var(--hr)',\n },\n 'a.gatsby-resp-image-link': {\n boxShadow: 'none',\n },\n // These two are for gatsby-remark-autolink-headers:\n 'a.anchor': {\n boxShadow: 'none',\n },\n 'a.anchor svg[aria-hidden=\"true\"]': {\n stroke: 'var(--textLink)',\n },\n 'p code': {\n fontSize: '1rem',\n },\n // TODO: why tho\n 'h1 code, h2 code, h3 code, h4 code, h5 code, h6 code': {\n fontSize: 'inherit',\n },\n 'li code': {\n fontSize: '1rem',\n },\n blockquote: {\n color: 'inherit',\n borderLeftColor: 'inherit',\n opacity: '0.8',\n },\n 'blockquote.translation': {\n fontSize: '1em',\n },\n});\n\ndelete Wordpress2016.googleFonts;\n\nconst typography = new Typography(Wordpress2016);\n\n// Hot reload typography in development.\nif (process.env.NODE_ENV !== 'production') {\n typography.injectStyles();\n}\n\nexport default typography;\nexport const rhythm = typography.rhythm;\nexport const scale = typography.scale;\n","import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function objectWithoutProperties(obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(//g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase(); // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n } // Special case for innerHTML which doesn't work lowercased\n\n\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n }); // Update seen tags with tags from this instance\n\n var keys = Object.keys(instanceSeenTags);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n updateTitle(title, titleAttributes);\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n var addedTags = {};\n var removedTags = {};\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n cb && cb();\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\"); // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps; // assigning into an array to define toString function on it\n\n\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = {\n __html: content\n };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, {\n title: title,\n titleAttributes: titleAttributes\n }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``} ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \" console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\nexport default HelmetExport;\nexport { HelmetExport as Helmet };","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n"],"sourceRoot":""}