{"version":3,"sources":["webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./src/components/footer.tsx","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///./node_modules/react-burger-menu/lib/CrossIcon.js","webpack:///./src/components/social-icons.module.scss","webpack:///./node_modules/core-js/modules/es.array.flat.js","webpack:///./src/components/header.tsx","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/react-burger-menu/lib/menus/pushRotate.js","webpack:///./node_modules/gatsby-plugin-anchor-links/components/AnchorLink.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/gatsby-plugin-anchor-links/types.js","webpack:///./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/add-to-unscopables.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/react-burger-menu/lib/menus/slide.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/react-burger-menu/lib/baseStyles.js","webpack:///./src/components/menuItems.tsx","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/react-burger-menu/lib/menus/bubble.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/react-burger-menu/lib/snapsvgImporter.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/react-burger-menu/lib/menus/elastic.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/react-burger-menu/lib/BurgerIcon.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/react-burger-menu/lib/menus/scaleRotate.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/react-burger-menu/lib/utils.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/react-burger-menu/lib/BurgerMenu.js","webpack:///./node_modules/gatsby-plugin-anchor-links/index.js","webpack:///./node_modules/eve/eve.js","webpack:///./node_modules/core-js/internals/flatten-into-array.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./src/components/social-icons.tsx","webpack:///./node_modules/react-burger-menu/lib/menus/push.js","webpack:///./src/components/arrow-icon.tsx","webpack:///./node_modules/react-burger-menu/lib/menus/scaleDown.js","webpack:///./node_modules/react-burger-menu/lib/menus/stack.js","webpack:///./node_modules/react-burger-menu/lib/menus/reveal.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/react-burger-menu/lib/menuFactory.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./src/components/arrow-icon.module.scss","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/react-burger-menu/lib/menus/fallDown.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/set-global.js"],"names":["IndexedObject","requireObjectCoercible","module","exports","it","NATIVE_SYMBOL","Symbol","sham","iterator","exec","error","path","global","aFunction","variable","undefined","namespace","method","arguments","length","nativePropertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","Object","NASHORN_BUG","call","1","f","V","descriptor","this","enumerable","Math","check","globalThis","window","self","Function","internalObjectKeys","enumBugKeys","keys","O","has","ownKeys","getOwnPropertyDescriptorModule","definePropertyModule","target","source","defineProperty","i","key","classof","Array","isArray","arg","Footer","menuItemFilterFunction","menuItem","render","id","className","props","isFixedBottom","isSitemapHidden","isHorizontal","menuItemClass","menuItemFilter","itemClickEvent","isPointingDown","anchorLinkTo","location","pathname","isAddressInfoHidden","href","Date","getFullYear","React","_typeof","obj","constructor","prototype","_defineProperties","configurable","writable","_defineProperty","value","_objectSpread","getOwnPropertySymbols","concat","filter","sym","forEach","_slicedToArray","arr","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","push","err","_iterableToArrayLimit","TypeError","_nonIterableRest","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","document","MutationObserver","performance","e","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","oneToTen","indexOf","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","map","n","FontAwesomeConfig","querySelector","_ref","_ref2","attr","val","coerce","element","getAttribute","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","w","styles","hooks","shims","functions","doScroll","test","readyState","listener","removeEventListener","fn","asyncTimer","NOOP","isNode","process","emit","asyncSetTimer","setImmediate","setTimeout","asyncQueue","asyncFlush","asyncCall","callback","invokeCallback","subscriber","owner","settled","_state","_data","promise","then","reject","handleThenable","resolve","resolved","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","index","race","meaninglessTransform","size","x","y","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","nextUniqueId","random","htmlEscape","str","replace","joinStyles","reduce","acc","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","ALL_SPACE","width","height","fillBlack","abstract","force","attributes","fill","makeInlineSvgAbstract","params","_params$icons","icons","main","mask","prefix","iconName","symbol","title","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","ceil","attrClass","c","classes","join","content","children","role","uploadedIconWidthStyle","tag","args","explicitMaskId","mainWidth","mainPath","icon","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","noop$1","subject","initialValue","thisContext","result","func","a","b","d","bindInternal4","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","build","lookup","reducer","o","ligatures","ligature","hasRegular","shim","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","parseTransformString","transformString","toLowerCase","split","parts","first","rest","slice","parseFloat","isNaN","MissingIcon","name","message","stack","Error","create","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","cx","cy","r","values","opacity","asFoundIcon","vectorData","class","drc","fp","rc","s","dPatt","RegExp","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","get","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","Library","instance","Constructor","_classCallCheck","protoProps","staticProps","_this","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","parse","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","type","maybeIconDefinition","shared","uid","that","apply","_extends","assign","hasOwnProperty","_createClass","defineProperties","_get","_x","_x2","_x3","_again","object","property","receiver","desc","getter","parent","getPrototypeOf","_interopRequireDefault","__esModule","_react","_react2","_propTypes2","CrossIcon","_Component","subClass","superClass","setPrototypeOf","__proto__","_inherits","position","customIcon","extraProps","bmCross","cloneElement","top","right","crossClassName","getCrossStyle","bmCrossButton","onClick","left","margin","padding","border","fontSize","background","cursor","tabIndex","Component","propTypes","string","number","defaultProps","$","flattenIntoArray","toObject","toLength","toInteger","arraySpeciesCreate","proto","flat","depthArg","sourceLen","A","Header","isMainNavigation","state","isMenuOpen","handleMenuStateChange","setState","isOpen","closeMenu","event","_","to","stripHash","customCrossIcon","disableAutoFocus","onStateChange","menuItemFeaturedClass","data-toggle","data-target","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPrimitive","IE8_DOM_DEFINE","nativeGetOwnPropertyDescriptor","fails","_menuFactory","_menuFactory2","pageWrap","MozTransform","MsTransform","OTransform","WebkitTransform","transformOrigin","transformStyle","transition","outerContainer","perspective","overflow","AnchorLink","require","_gatsby","_utils","_types","_ref$stripHash","linkProps","stripHashedLocation","handleStrippedLinkClick","handleLinkClick","Link","Boolean","anchorLinkTypes","getBuiltIn","String","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","max","min","integer","enumerableOnly","symbols","_objectSpread2","getOwnPropertyDescriptors","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","_toConsumableArray","arr2","_arrayWithoutHoles","iter","toString","from","_iterableToArray","_nonIterableSpread","camelize","match","chr","substr","styleToObject","pair","prop","startsWith","charAt","PRODUCTION","normalizeIconArgs","objectWithKey","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","spin","pulse","fixedWidth","inverse","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","console","log","ref","convertCurry","displayName","bool","oneOfType","array","oneOf","convert","mixins","attrs","_extraProps$style","existingStyle","bind","hiddenKeys","getOwnPropertyNames","anObject","objectKeys","Properties","_propTypes","isRequired","node","addToUnscopables","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","includes","argument","Timeout","clearFn","_id","_clearFn","scope","clearTimeout","setInterval","clearInterval","timeout","close","unref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","clearImmediate","overlay","zIndex","menuWrap","menu","boxSizing","itemList","display","renderMenuItems","itemClick","data","allMenudataJson","edges","link","isFeatured","MenuItems","query","IS_PURE","store","version","mode","copyright","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","_snapsvgImporter2","svg","lib","pathInitial","pathOpen","animate","pos","steps","stepsTotal","mina","nextStep","easein","elastic","morphShape","finalWidth","pxToNum","nthChild","closeButton","bitmap","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","handle","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","port2","script","onreadystatechange","removeChild","appendChild","attachEvent","task","run","Snap","isObject","SPECIES","originalArray","C","set","NATIVE_WEAK_MAP","objectHas","sharedKey","WeakMap","wmget","wmhas","wmset","metadata","STATE","enforce","getterFor","TYPE","inspectSource","InternalStateModule","getInternalState","enforceInternalState","TEMPLATE","unsafe","simple","easeinout","whiteSpace","activeXDocument","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","temp","parentWindow","NullProtoObjectViaActiveX","src","contentWindow","open","F","BurgerIcon","hover","bmBurgerBarsHover","bmIcon","bar","barClassName","getLineStyle","bmBurgerBars","bmBurgerButton","onMouseOver","onIconHoverChange","isMouseIn","onMouseOut","functionToString","parseInt","postfix","replacement","feature","detection","normalize","POLYFILL","NATIVE","nativeDefineProperty","Attributes","slide","bubble","pushRotate","scaleDown","scaleRotate","fallDown","reveal","_AnchorLink","glob","current_event","stop","separator","comaseparator","numsort","events","firstDefined","lastDefined","objtos","Str","eve","ii","ar","l","oldstop","listeners","z","indexed","queue","out","ce","sort","_events","items","k","j","jj","nes","names","es","sep","on","exist","nt","subname","cur","nts","off","unbind","splice","inodes","unshift","funcs","prune","once","f2","original","start","depth","mapper","thisArg","targetIndex","sourceIndex","mapFn","floor","SocialIcons","data-sal","data-sal-delay","data-sal-duration","data-sal-easing","socialIcon","faFacebookSquare","faInstagram","faYoutubeSquare","faFlickr","flitsenIcon","ArrowIcon","arrowAnimation","arrowLink","faAngleDoubleDown","faAngleDoubleUp","visibility","burgerIcon","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","_reactDom2","_baseStyles2","_BurgerIcon2","_CrossIcon2","Menu","_x4","_x5","noStateChange","newState","applyWrapperStyles","firstItem","focus","activeElement","blur","body","timeoutId","onOpen","toggleMenu","onClose","disableOverlayClick","applyClass","htmlClassName","bodyClassName","pageWrapId","handleExternalWrapper","outerContainerId","wrapperStyles","wrapper","getElementById","builtStyles","getStyle","applyOverflow","inline","propName","output","noTransition","formattedWidth","disableCloseOnEsc","keyCode","customOnKeyDown","onkeydown","listenForClose","prevProps","_this2","findDOMNode","select","_this3","noOverlay","overlayClassName","overlayClick","getStyles","morphShapeClassName","viewBox","preserveAspectRatio","menuClassName","itemListClassName","Children","itemClassName","crossButtonClassName","customBurgerIcon","burgerButtonClassName","burgerBarClassName","onIconStateChange","input","PREFERRED_STRING","valueOf","perspectiveOrigin","EXISTS"],"mappings":";gFACA,IAAIA,EAAgB,EAAQ,QACxBC,EAAyB,EAAQ,QAErCC,EAAOC,QAAU,SAAUC,GACzB,OAAOJ,EAAcC,EAAuBG,M,uBCL9C,IAAIC,EAAgB,EAAQ,QAE5BH,EAAOC,QAAUE,IAEXC,OAAOC,MAEkB,iBAAnBD,OAAOE,U,qBCNnBN,EAAOC,QAAU,I,qBCAjBD,EAAOC,QAAU,SAAUM,GACzB,IACE,QAASA,IACT,MAAOC,GACP,OAAO,K,uBCJX,IAAIC,EAAO,EAAQ,QACfC,EAAS,EAAQ,QAEjBC,EAAY,SAAUC,GACxB,MAA0B,mBAAZA,EAAyBA,OAAWC,GAGpDb,EAAOC,QAAU,SAAUa,EAAWC,GACpC,OAAOC,UAAUC,OAAS,EAAIN,EAAUF,EAAKK,KAAeH,EAAUD,EAAOI,IACzEL,EAAKK,IAAcL,EAAKK,GAAWC,IAAWL,EAAOI,IAAcJ,EAAOI,GAAWC,K,oCCR3F,IAAIG,EAA6B,GAAGC,qBAChCC,EAA2BC,OAAOD,yBAGlCE,EAAcF,IAA6BF,EAA2BK,KAAK,CAAEC,EAAG,GAAK,GAIzFvB,EAAQwB,EAAIH,EAAc,SAA8BI,GACtD,IAAIC,EAAaP,EAAyBQ,KAAMF,GAChD,QAASC,GAAcA,EAAWE,YAChCX,G,wBCZJ,8BACE,OAAOhB,GAAMA,EAAG4B,MAAQA,MAAQ5B,GAIlCF,EAAOC,QAEL8B,EAA2B,iBAAdC,YAA0BA,aACvCD,EAAuB,iBAAVE,QAAsBA,SACnCF,EAAqB,iBAARG,MAAoBA,OACjCH,EAAuB,iBAAVrB,GAAsBA,IAEnCyB,SAAS,cAATA,K,6CCZF,IAAIC,EAAqB,EAAQ,QAC7BC,EAAc,EAAQ,QAI1BrC,EAAOC,QAAUoB,OAAOiB,MAAQ,SAAcC,GAC5C,OAAOH,EAAmBG,EAAGF,K,uBCN/B,IAAIG,EAAM,EAAQ,QACdC,EAAU,EAAQ,QAClBC,EAAiC,EAAQ,QACzCC,EAAuB,EAAQ,QAEnC3C,EAAOC,QAAU,SAAU2C,EAAQC,GAIjC,IAHA,IAAIP,EAAOG,EAAQI,GACfC,EAAiBH,EAAqBlB,EACtCL,EAA2BsB,EAA+BjB,EACrDsB,EAAI,EAAGA,EAAIT,EAAKrB,OAAQ8B,IAAK,CACpC,IAAIC,EAAMV,EAAKS,GACVP,EAAII,EAAQI,IAAMF,EAAeF,EAAQI,EAAK5B,EAAyByB,EAAQG,O,uBCXxF,IAAIC,EAAU,EAAQ,QAItBjD,EAAOC,QAAUiD,MAAMC,SAAW,SAAiBC,GACjD,MAAuB,SAAhBH,EAAQG,K,sICOIC,E,oJACXC,uBAAyB,SAACC,GAAD,QAA0BA,G,sCAEpDC,OAAP,WAAgB,MACd,OACE,0BAAQC,GAAG,SAASC,UAAS,aAAc9B,KAAK+B,MAAMC,cAAgB,eAAiB,KACrF,2BAASF,UAAS,oBAAqB9B,KAAK+B,MAAME,gBAAkB,SAAW,YAC7E,uBAAKH,UAAU,kDACb,gBAAC,IAAD,CAAaI,cAAc,EAAMJ,UAAU,2BAI3C,uBAAKA,UAAU,gFACb,gBAAC,IAAD,CAAWK,cAAc,aAAaC,eAAgBpC,KAAK0B,uBAAwBW,eAAgB,QAErG,gBAAC,IAAD,CAAWC,gBAAgB,EAAOC,cAAY,UAAKvC,KAAK+B,MAAMS,gBAAhB,aAAK,EAAqBC,UAA1B,WAGlD,2BAASX,UAAS,qCAAsC9B,KAAK+B,MAAMW,oBAAsB,SAAW,YAClG,sBAAIZ,UAAU,cAAd,mBACA,sBAAIA,UAAU,oBAAd,yBACA,gDACmB,2BADnB,0CAKF,uBAAKD,GAAG,aAAaC,UAAU,mHAC7B,qBAAGA,UAAU,YAAYa,KAAK,0BAC9B,mDAA+B,IAAIC,MAAOC,eAC1C,uBAAKf,UAAU,qC,GA7BWgB,c,qCCZpC,cAIA,SAASC,EAAQC,GAWf,OATED,EADoB,mBAAXvE,QAAoD,iBAApBA,OAAOE,SACtC,SAAiBsE,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXxE,QAAyBwE,EAAIC,cAAgBzE,QAAUwE,IAAQxE,OAAO0E,UAAY,gBAAkBF,IAI9GA,GASjB,SAASG,EAAkBnC,EAAQe,GACjC,IAAK,IAAIZ,EAAI,EAAGA,EAAIY,EAAM1C,OAAQ8B,IAAK,CACrC,IAAIpB,EAAagC,EAAMZ,GACvBpB,EAAWE,WAAaF,EAAWE,aAAc,EACjDF,EAAWqD,cAAe,EACtB,UAAWrD,IAAYA,EAAWsD,UAAW,GACjD5D,OAAOyB,eAAeF,EAAQjB,EAAWqB,IAAKrB,IAUlD,SAASuD,EAAgBN,EAAK5B,EAAKmC,GAYjC,OAXInC,KAAO4B,EACTvD,OAAOyB,eAAe8B,EAAK5B,EAAK,CAC9BmC,MAAOA,EACPtD,YAAY,EACZmD,cAAc,EACdC,UAAU,IAGZL,EAAI5B,GAAOmC,EAGNP,EAGT,SAASQ,EAAcxC,GACrB,IAAK,IAAIG,EAAI,EAAGA,EAAI/B,UAAUC,OAAQ8B,IAAK,CACzC,IAAIF,EAAyB,MAAhB7B,UAAU+B,GAAa/B,UAAU+B,GAAK,GAC/CN,EAAUpB,OAAOiB,KAAKO,GAEkB,mBAAjCxB,OAAOgE,wBAChB5C,EAAUA,EAAQ6C,OAAOjE,OAAOgE,sBAAsBxC,GAAQ0C,QAAO,SAAUC,GAC7E,OAAOnE,OAAOD,yBAAyByB,EAAQ2C,GAAK3D,gBAIxDY,EAAQgD,SAAQ,SAAUzC,GACxBkC,EAAgBtC,EAAQI,EAAKH,EAAOG,OAIxC,OAAOJ,EAGT,SAAS8C,EAAeC,EAAK5C,GAC3B,OAiBF,SAAyB4C,GACvB,GAAIzC,MAAMC,QAAQwC,GAAM,OAAOA,EAlBxBC,CAAgBD,IAyBzB,SAA+BA,EAAK5C,GAClC,IAAI8C,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKnF,EAET,IACE,IAAK,IAAiCoF,EAA7BC,EAAKP,EAAIvF,OAAOE,cAAmBwF,GAAMG,EAAKC,EAAGC,QAAQC,QAChEP,EAAKQ,KAAKJ,EAAGd,QAETpC,GAAK8C,EAAK5E,SAAW8B,GAH8C+C,GAAK,IAK9E,MAAOQ,GACPP,GAAK,EACLC,EAAKM,EACL,QACA,IACOR,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,EAhDwBU,CAAsBZ,EAAK5C,IAuD5D,WACE,MAAM,IAAIyD,UAAU,wDAxD4CC,GA3ElE,sEAsIA,IAAIC,EAAO,aAEPC,EAAU,GACVC,EAAY,GAEZC,EAAe,CACjBC,KAAMJ,EACNK,QAASL,GAGX,IACwB,oBAAXzE,SAAwB0E,EAAU1E,QACrB,oBAAb+E,WAA0BJ,EAAYI,UACjB,oBAArBC,kBAAuDA,iBACvC,oBAAhBC,cAA6BL,EAAeK,aACvD,MAAOC,KAET,IACIC,GADOT,EAAQU,WAAa,IACNC,UACtBA,OAA+B,IAAnBF,EAA4B,GAAKA,EAE7CG,EAASZ,EACTa,EAAWZ,EAEXa,EAAcZ,EAEda,GADeH,EAAOP,WACXQ,EAASG,mBAAqBH,EAASI,MAA6C,mBAA9BJ,EAASK,kBAAqE,mBAA3BL,EAASM,eAiD7HC,IAhDST,EAAUU,QAAQ,SAAYV,EAAUU,QAAQ,YAc5C,WACf,KAEE,MAAOb,IACP,OAAO,GAJM,GAkCF,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KACvCc,EAAcF,EAASzC,OAAO,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAEnE4C,EAAkB,CACpBC,MAAO,QACPC,aAAc,eACdC,QAAS,UACTC,UAAW,aAOTC,GALmB,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,SAAU,YAAa,aAAc,OAAQ,QAAS,YAAa,aAAc,aAAc,kBAAmB,gBAAiB,YAAa,QAAS,WAAY,WAAY,UAAW,SAAU,cAAe,iBAAkBL,EAAgBC,MAAOD,EAAgBE,aAAcF,EAAgBG,QAASH,EAAgBI,WAAWhD,OAAOyC,EAASS,KAAI,SAAUC,GACxa,MAAO,GAAGnD,OAAOmD,EAAG,SAClBnD,OAAO2C,EAAYO,KAAI,SAAUC,GACnC,MAAO,KAAKnD,OAAOmD,OAEPlB,EAAOmB,mBAAqB,IAoB1C,GAAIlB,GAA8C,mBAA3BA,EAASmB,cAA8B,CAChD,CAAC,CAAC,qBAAsB,gBAAiB,CAAC,yBAA0B,oBAAqB,CAAC,wBAAyB,kBAAmB,CAAC,oBAAqB,cAAe,CAAC,iBAAkB,YAAa,CAAC,8BAA+B,wBAAyB,CAAC,yBAA0B,oBAAqB,CAAC,uBAAwB,kBAAmB,CAAC,4BAA6B,sBAAuB,CAAC,2BAA4B,sBAAuB,CAAC,0BAA2B,qBAC3elD,SAAQ,SAAUmD,GACtB,IAAIC,EAAQnD,EAAekD,EAAM,GAC7BE,EAAOD,EAAM,GACb7F,EAAM6F,EAAM,GAEZE,EAjBR,SAAgBA,GAId,MAAY,KAARA,GACQ,UAARA,IACQ,SAARA,GACGA,GAUKC,CAzBd,SAAuBF,GACrB,IAAIG,EAAUzB,EAASmB,cAAc,UAAYG,EAAO,KAExD,GAAIG,EACF,OAAOA,EAAQC,aAAaJ,GAqBXK,CAAcL,IAE3BC,UACFR,EAAQvF,GAAO+F,MAKrB,IAcIK,EAAUhE,EAAc,GAdb,CACbiE,aA/F0B,KAgG1BC,iBA/F8B,iBAgG9BC,gBAAgB,EAChBC,YAAY,EACZC,UAAU,EACVC,sBAAsB,EACtBC,kBAAkB,EAClBC,eAAgB,QAChBC,oBAAoB,EACpBC,oBAAoB,EACpBC,kBAAkB,GAGsBxB,GAErCa,EAAQG,iBAAgBH,EAAQO,kBAAmB,GAExD,IAAIK,EAAS5E,EAAc,GAAIgE,GAE/B7B,EAAOmB,kBAAoBsB,EAC3B,IAAIC,EAAI1C,GAAU,GACb0C,EAAsB,qBAAGA,EAAsB,mBAAI,IACnDA,EAAsB,mBAAEC,SAAQD,EAAsB,mBAAEC,OAAS,IACjED,EAAsB,mBAAEE,QAAOF,EAAsB,mBAAEE,MAAQ,IAC/DF,EAAsB,mBAAEG,QAAOH,EAAsB,mBAAEG,MAAQ,IACpE,IAAItJ,EAAYmJ,EAAsB,mBAClCI,EAAY,GAYZ3C,KACQF,EAASG,gBAAgB2C,SAAW,aAAe,iBAAiBC,KAAK/C,EAASgD,aAC/EhD,EAASK,iBAAiB,oBAZ1B,SAAS4C,IACtBjD,EAASkD,oBAAoB,mBAAoBD,GACxC,EACTJ,EAAU7B,KAAI,SAAUmC,GACtB,OAAOA,WAgBX,IAUIC,EALAC,EAAO,aAEPC,OAA2B,IAAXpK,QAAoD,IAAnBA,EAAOqK,SAA0D,mBAAxBrK,EAAOqK,QAAQC,KACzGC,OAAwC,IAAjBC,EAA+BC,WAAaD,EACnEE,EAAa,GAGjB,SAASC,IAEP,IAAK,IAAItI,EAAI,EAAGA,EAAIqI,EAAWnK,OAAQ8B,IACrCqI,EAAWrI,GAAG,GAAGqI,EAAWrI,GAAG,IAIjCqI,EAAa,GACbR,GAAa,EAGf,SAASU,EAAUC,EAAUnI,GAC3BgI,EAAW/E,KAAK,CAACkF,EAAUnI,IAEtBwH,IACHA,GAAa,EACbK,EAAcI,EAAY,IAoB9B,SAASG,EAAeC,GACtB,IAAIC,EAAQD,EAAWC,MACnBC,EAAUD,EAAME,OAChBzG,EAAQuG,EAAMG,MACdN,EAAWE,EAAWE,GACtBG,EAAUL,EAAWM,KAEzB,GAAwB,mBAAbR,EAAyB,CAClCI,EAtDY,YAwDZ,IACExG,EAAQoG,EAASpG,GACjB,MAAOgC,IACP6E,EAAOF,EAAS3E,KAIf8E,EAAeH,EAAS3G,KA/Df,cAgERwG,GACFO,EAAQJ,EAAS3G,GAhER,aAmEPwG,GACFK,EAAOF,EAAS3G,IAKtB,SAAS8G,EAAeH,EAAS3G,GAC/B,IAAIgH,EAEJ,IACE,GAAIL,IAAY3G,EACd,MAAM,IAAIqB,UAAU,wDAGtB,GAAIrB,IAA2B,mBAAVA,GAA2C,WAAnBR,EAAQQ,IAAsB,CAEzE,IAAI4G,EAAO5G,EAAM4G,KAEjB,GAAoB,mBAATA,EAiBT,OAhBAA,EAAKxK,KAAK4D,GAAO,SAAU4D,GACpBoD,IACHA,GAAW,EAEPhH,IAAU4D,EACZqD,EAAQN,EAAS/C,GAEjBmD,EAAQJ,EAAS/C,OAGpB,SAAUsD,GACNF,IACHA,GAAW,EACXH,EAAOF,EAASO,QAGb,GAGX,MAAOlF,IAKP,OAJKgF,GACHH,EAAOF,EAAS3E,KAGX,EAGT,OAAO,EAGT,SAAS+E,EAAQJ,EAAS3G,GACpB2G,IAAY3G,GAAU8G,EAAeH,EAAS3G,IAChDiH,EAAQN,EAAS3G,GAIrB,SAASiH,EAAQN,EAAS3G,GA7HZ,YA8HR2G,EAAQF,SACVE,EAAQF,OA9HE,UA+HVE,EAAQD,MAAQ1G,EAChBmG,EAAUgB,EAAoBR,IAIlC,SAASE,EAAOF,EAASO,GArIX,YAsIRP,EAAQF,SACVE,EAAQF,OAtIE,UAuIVE,EAAQD,MAAQQ,EAChBf,EAAUiB,EAAkBT,IAIhC,SAASU,EAAQV,GACfA,EAAQW,MAAQX,EAAQW,MAAMhH,QAAQ+F,GAGxC,SAASc,EAAmBR,GAC1BA,EAAQF,OAhJM,YAiJdY,EAAQV,GAGV,SAASS,EAAiBT,GACxBA,EAAQF,OApJK,WAqJbY,EAAQV,IAEHA,EAAQY,UAAY5B,GACvBpK,EAAOqK,QAAQC,KAAK,qBAAsBc,EAAQD,MAAOC,GAI7D,SAASa,EAAuBb,GAC9BpL,EAAOqK,QAAQC,KAAK,mBAAoBc,GAO1C,SAASc,EAAEC,GACT,GAAwB,mBAAbA,EACT,MAAM,IAAIrG,UAAU,oBAAsBqG,EAAW,sBAGvD,GAAIjL,gBAAgBgL,IAAM,EACxB,MAAM,IAAIpG,UAAU,yHAGtB5E,KAAK6K,MAAQ,GAhJf,SAAwBI,EAAUf,GAKhC,SAASgB,EAAcT,GACrBL,EAAOF,EAASO,GAGlB,IACEQ,GATF,SAAwB1H,GACtB+G,EAAQJ,EAAS3G,KAQQ2H,GACzB,MAAO3F,IACP2F,EAAc3F,KAqIhB4F,CAAeF,EAAUjL,MAG3BgL,EAAE9H,UAAY,CACZD,YAAa+H,EACbhB,OAtLY,UAuLZa,MAAO,KACPZ,WAAOhL,EACP6L,UAAU,EACVX,KAAM,SAAciB,EAAeC,GACjC,IAAIxB,EAAa,CACfC,MAAO9J,KACPmK,KAAM,IAAInK,KAAKiD,YAAYgG,GAC3BqC,UAAWF,EACXG,SAAUF,GAmBZ,OAhBKA,IAAeD,GAAmBpL,KAAK8K,WAC1C9K,KAAK8K,UAAW,EAhMP,aAkML9K,KAAKgK,QAAuBd,GAC9BQ,EAAUqB,EAAwB/K,OApM1B,cAwMRA,KAAKgK,QAvME,aAuMsBhK,KAAKgK,OAEpCN,EAAUE,EAAgBC,GAG1B7J,KAAK6K,MAAMpG,KAAKoF,GAGXA,EAAWM,MAEpBqB,MAAO,SAAgBH,GACrB,OAAOrL,KAAKmK,KAAK,KAAMkB,KAI3BL,EAAES,IAAM,SAAUC,GAChB,IAAKpK,MAAMC,QAAQmK,GACjB,MAAM,IAAI9G,UAAU,4CAGtB,OAAO,IAAIoG,GAAE,SAAUV,EAASF,GAC9B,IAAIuB,EAAU,GACVC,EAAY,EAEhB,SAASX,EAASY,GAEhB,OADAD,IACO,SAAUrI,GACfoI,EAAQE,GAAStI,IAETqI,GACNtB,EAAQqB,IAKd,IAAK,IAAWzB,EAAP/I,EAAI,EAAYA,EAAIuK,EAASrM,OAAQ8B,KAC5C+I,EAAUwB,EAASvK,KAEoB,mBAAjB+I,EAAQC,KAC5BD,EAAQC,KAAKc,EAAS9J,GAAIiJ,GAE1BuB,EAAQxK,GAAK+I,EAIZ0B,GACHtB,EAAQqB,OAKdX,EAAEc,KAAO,SAAUJ,GACjB,IAAKpK,MAAMC,QAAQmK,GACjB,MAAM,IAAI9G,UAAU,6CAGtB,OAAO,IAAIoG,GAAE,SAAUV,EAASF,GAC9B,IAAK,IAAWF,EAAP/I,EAAI,EAAYA,EAAIuK,EAASrM,OAAQ8B,KAC5C+I,EAAUwB,EAASvK,KAEoB,mBAAjB+I,EAAQC,KAC5BD,EAAQC,KAAKG,EAASF,GAEtBE,EAAQJ,OAMhBc,EAAEV,QAAU,SAAU/G,GACpB,OAAIA,GAA4B,WAAnBR,EAAQQ,IAAuBA,EAAMN,cAAgB+H,EACzDzH,EAGF,IAAIyH,GAAE,SAAUV,GACrBA,EAAQ/G,OAIZyH,EAAEZ,OAAS,SAAUK,GACnB,OAAO,IAAIO,GAAE,SAAUV,EAASF,GAC9BA,EAAOK,OAIX,IAEIsB,EAAuB,CACzBC,KAAM,GACNC,EAAG,EACHC,EAAG,EACHC,OAAQ,EACRC,OAAO,EACPC,OAAO,GAOT,SAASC,EAAUC,GACjB,GAAKA,GAAQzG,EAAb,CAIA,IAAI0G,EAAQ5G,EAASM,cAAc,SACnCsG,EAAMC,aAAa,OAAQ,YAC3BD,EAAME,UAAYH,EAIlB,IAHA,IAAII,EAAe/G,EAASI,KAAK4G,WAC7BC,EAAc,KAET1L,EAAIwL,EAAatN,OAAS,EAAG8B,GAAK,EAAGA,IAAK,CACjD,IAAI2L,EAAQH,EAAaxL,GACrB4L,GAAWD,EAAMC,SAAW,IAAIC,cAEhC,CAAC,QAAS,QAAQ5G,QAAQ2G,IAAY,IACxCF,EAAcC,GAKlB,OADAlH,EAASI,KAAKiH,aAAaT,EAAOK,GAC3BN,GAKT,SAASW,IAIP,IAHA,IAAIlB,EAAO,GACPnK,EAAK,GAEFmK,KAAS,GACdnK,GAPS,iEAOoB,GAAhB3B,KAAKiN,SAAgB,GAGpC,OAAOtL,EAmCT,SAASuL,EAAWC,GAClB,MAAO,GAAG3J,OAAO2J,GAAKC,QAAQ,KAAM,SAASA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,SAASA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QASlI,SAASC,EAAWjF,GAClB,OAAO7I,OAAOiB,KAAK4H,GAAU,IAAIkF,QAAO,SAAUC,EAAKC,GACrD,OAAOD,EAAM,GAAG/J,OAAOgK,EAAW,MAAMhK,OAAO4E,EAAOoF,GAAY,OACjE,IAGL,SAASC,EAAsBC,GAC7B,OAAOA,EAAU5B,OAASD,EAAqBC,MAAQ4B,EAAU3B,IAAMF,EAAqBE,GAAK2B,EAAU1B,IAAMH,EAAqBG,GAAK0B,EAAUzB,SAAWJ,EAAqBI,QAAUyB,EAAUxB,OAASwB,EAAUvB,MAG9N,SAASwB,EAAgB7G,GACvB,IAAI4G,EAAY5G,EAAK4G,UACjBE,EAAiB9G,EAAK8G,eACtBC,EAAY/G,EAAK+G,UACjBC,EAAQ,CACVJ,UAAW,aAAalK,OAAOoK,EAAiB,EAAG,UAEjDG,EAAiB,aAAavK,OAAqB,GAAdkK,EAAU3B,EAAQ,MAAMvI,OAAqB,GAAdkK,EAAU1B,EAAQ,MACtFgC,EAAa,SAASxK,OAAOkK,EAAU5B,KAAO,IAAM4B,EAAUxB,OAAS,EAAI,GAAI,MAAM1I,OAAOkK,EAAU5B,KAAO,IAAM4B,EAAUvB,OAAS,EAAI,GAAI,MAC9I8B,EAAc,UAAUzK,OAAOkK,EAAUzB,OAAQ,SAOrD,MAAO,CACL6B,MAAOA,EACPI,MARU,CACVR,UAAW,GAAGlK,OAAOuK,EAAgB,KAAKvK,OAAOwK,EAAY,KAAKxK,OAAOyK,IAQzEtP,KANS,CACT+O,UAAW,aAAalK,OAAOqK,EAAY,GAAK,EAAG,YAgCvD,IAAIM,EAAY,CACdpC,EAAG,EACHC,EAAG,EACHoC,MAAO,OACPC,OAAQ,QAGV,SAASC,EAAUC,GACjB,IAAIC,IAAQtP,UAAUC,OAAS,QAAsBJ,IAAjBG,UAAU,KAAmBA,UAAU,GAM3E,OAJIqP,EAASE,aAAeF,EAASE,WAAWC,MAAQF,KACtDD,EAASE,WAAWC,KAAO,SAGtBH,EA8KT,SAASI,GAAsBC,GAC7B,IAAIC,EAAgBD,EAAOE,MACvBC,EAAOF,EAAcE,KACrBC,EAAOH,EAAcG,KACrBC,EAASL,EAAOK,OAChBC,EAAWN,EAAOM,SAClBxB,EAAYkB,EAAOlB,UACnByB,EAASP,EAAOO,OAChBC,EAAQR,EAAOQ,MACfC,EAAST,EAAOS,OAChBC,EAAUV,EAAOU,QACjBC,EAAQX,EAAOW,MACfC,EAAoBZ,EAAOa,UAC3BA,OAAkC,IAAtBD,GAAuCA,EAEnD1I,EAAOkI,EAAKU,MAAQV,EAAOD,EAC3BX,EAAQtH,EAAKsH,MACbC,EAASvH,EAAKuH,OAEdsB,EAA4B,QAAXV,EACjBW,EAAaD,EAAiB,GAAK,QAAQnM,OAAOxD,KAAK6P,KAAKzB,EAAQC,EAAS,KAC7EyB,EAAY,CAAC5H,EAAOV,iBAAkB0H,EAAW,GAAG1L,OAAO0E,EAAOX,aAAc,KAAK/D,OAAO0L,GAAY,GAAIU,GAAYnM,QAAO,SAAUsM,GAC3I,OAAqC,IAA9BR,EAAMS,QAAQ9J,QAAQ6J,MAC5BtM,QAAO,SAAUsM,GAClB,MAAa,KAANA,KAAcA,KACpBvM,OAAO+L,EAAMS,SAASC,KAAK,KAC1BC,EAAU,CACZC,SAAU,GACV1B,WAAYnL,EAAc,GAAIiM,EAAMd,WAAY,CAC9C,cAAeQ,EACf,YAAaC,EACb,MAASY,EACT,KAAQP,EAAMd,WAAW2B,MAAQ,MACjC,MAAS,6BACT,QAAW,OAAO5M,OAAO4K,EAAO,KAAK5K,OAAO6K,MAG5CgC,EAAyBV,KAAoBJ,EAAMS,QAAQ9J,QAAQ,SAAW,CAChFkI,MAAO,GAAG5K,OAAO4K,EAAQC,EAAS,GAAK,MAAQ,OAC7C,GAEAoB,IACFS,EAAQzB,WAxyBQ,iBAwyBoB,IAGlCW,GAAOc,EAAQC,SAAS5L,KAAK,CAC/B+L,IAAK,QACL7B,WAAY,CACV9M,GAAIuO,EAAQzB,WAAW,oBAAsB,SAASjL,OAAO8L,GAAWtC,MAE1EmD,SAAU,CAACf,KAGb,IAAImB,EAAOjN,EAAc,GAAI4M,EAAS,CACpCjB,OAAQA,EACRC,SAAUA,EACVH,KAAMA,EACNC,KAAMA,EACNK,OAAQA,EACR3B,UAAWA,EACXyB,OAAQA,EACR/G,OAAQ9E,EAAc,GAAI+M,EAAwBd,EAAMnH,UAGtDrB,EAAQiI,EAAKU,OAASX,EAAKW,MAnOjC,SAAyB5I,GACvB,IATeyH,EASX4B,EAAWrJ,EAAKqJ,SAChB1B,EAAa3H,EAAK2H,WAClBM,EAAOjI,EAAKiI,KACZC,EAAOlI,EAAKkI,KACZwB,EAAiB1J,EAAKuI,OACtB3B,EAAY5G,EAAK4G,UACjB+C,EAAY1B,EAAKX,MACjBsC,EAAW3B,EAAK4B,KAChBC,EAAY5B,EAAKZ,MACjByC,EAAW7B,EAAK2B,KAChBG,EAAQnD,EAAgB,CAC1BD,UAAWA,EACXE,eAAgBgD,EAChB/C,UAAW4C,IAETM,EAAW,CACbT,IAAK,OACL7B,WAAYnL,EAAc,GAAI6K,EAAW,CACvCO,KAAM,WAGNsC,EAA8BN,EAASP,SAAW,CACpDA,SAAUO,EAASP,SAASzJ,IAAI4H,IAC9B,GACA2C,EAAiB,CACnBX,IAAK,IACL7B,WAAYnL,EAAc,GAAIwN,EAAM5C,OACpCiC,SAAU,CAAC7B,EAAUhL,EAAc,CACjCgN,IAAKI,EAASJ,IACd7B,WAAYnL,EAAc,GAAIoN,EAASjC,WAAYqC,EAAMnS,OACxDqS,MAEDE,EAAiB,CACnBZ,IAAK,IACL7B,WAAYnL,EAAc,GAAIwN,EAAMhD,OACpCqC,SAAU,CAACc,IAET5B,EAAS,QAAQ7L,OAAOgN,GAAkBxD,KAC1CmE,EAAS,QAAQ3N,OAAOgN,GAAkBxD,KAC1CoE,EAAU,CACZd,IAAK,OACL7B,WAAYnL,EAAc,GAAI6K,EAAW,CACvCxM,GAAI0N,EACJgC,UAAW,iBACXC,iBAAkB,mBAEpBnB,SAAU,CAACY,EAAUG,IAEnBK,EAAO,CACTjB,IAAK,OACLH,SAAU,CAAC,CACTG,IAAK,WACL7B,WAAY,CACV9M,GAAIwP,GAENhB,UAhEW5B,EAgEOsC,EA/DD,MAAjBtC,EAAS+B,IACJ/B,EAAS4B,SAET,CAAC5B,KA6DL6C,IAUL,OARAjB,EAAS5L,KAAKgN,EAAM,CAClBjB,IAAK,OACL7B,WAAYnL,EAAc,CACxBoL,KAAM,eACN,YAAa,QAAQlL,OAAO2N,EAAQ,KACpCnC,KAAM,QAAQxL,OAAO6L,EAAQ,MAC5BlB,KAEE,CACLgC,SAAUA,EACV1B,WAAYA,GA8JyB+C,CAAgBjB,GA1JzD,SAA0BzJ,GACxB,IAAIqJ,EAAWrJ,EAAKqJ,SAChB1B,EAAa3H,EAAK2H,WAClBM,EAAOjI,EAAKiI,KACZrB,EAAY5G,EAAK4G,UAEjB+D,EAAcpE,EADLvG,EAAKsB,QAOlB,GAJIqJ,EAAYtS,OAAS,IACvBsP,EAAkB,MAAIgD,GAGpBhE,EAAsBC,GAAY,CACpC,IAAIoD,EAAQnD,EAAgB,CAC1BD,UAAWA,EACXE,eAAgBmB,EAAKX,MACrBP,UAAWkB,EAAKX,QAElB+B,EAAS5L,KAAK,CACZ+L,IAAK,IACL7B,WAAYnL,EAAc,GAAIwN,EAAMhD,OACpCqC,SAAU,CAAC,CACTG,IAAK,IACL7B,WAAYnL,EAAc,GAAIwN,EAAM5C,OACpCiC,SAAU,CAAC,CACTG,IAAKvB,EAAK4B,KAAKL,IACfH,SAAUpB,EAAK4B,KAAKR,SACpB1B,WAAYnL,EAAc,GAAIyL,EAAK4B,KAAKlC,WAAYqC,EAAMnS,iBAKhEwR,EAAS5L,KAAKwK,EAAK4B,MAGrB,MAAO,CACLR,SAAUA,EACV1B,WAAYA,GAqHiDiD,CAAiBnB,GAC5EJ,EAAWpJ,EAAMoJ,SACjB1B,EAAa1H,EAAM0H,WAKvB,OAHA8B,EAAKJ,SAAWA,EAChBI,EAAK9B,WAAaA,EAEdU,EA7FN,SAAkBrI,GAChB,IAAImI,EAASnI,EAAKmI,OACdC,EAAWpI,EAAKoI,SAChBiB,EAAWrJ,EAAKqJ,SAChB1B,EAAa3H,EAAK2H,WAClBU,EAASrI,EAAKqI,OAElB,MAAO,CAAC,CACNmB,IAAK,MACL7B,WAAY,CACVnC,MAAO,kBAET6D,SAAU,CAAC,CACTG,IAAK,SACL7B,WAAYnL,EAAc,GAAImL,EAAY,CACxC9M,IATc,IAAXwN,EAAkB,GAAG3L,OAAOyL,EAAQ,KAAKzL,OAAO0E,EAAOX,aAAc,KAAK/D,OAAO0L,GAAYC,IAWlGgB,SAAUA,MA6ELwB,CAASpB,GAzHpB,SAAgBzJ,GACd,IAAIqJ,EAAWrJ,EAAKqJ,SAChBpB,EAAOjI,EAAKiI,KACZC,EAAOlI,EAAKkI,KACZP,EAAa3H,EAAK2H,WAClBrG,EAAStB,EAAKsB,OACdsF,EAAY5G,EAAK4G,UAErB,GAAID,EAAsBC,IAAcqB,EAAKW,QAAUV,EAAKU,MAAO,CACjE,IAEIkC,EAAS,CACX7F,EAHUgD,EAAKX,MACJW,EAAKV,OAEI,EACpBrC,EAAG,IAELyC,EAAkB,MAAIpB,EAAW/J,EAAc,GAAI8E,EAAQ,CACzD,mBAAoB,GAAG5E,OAAOoO,EAAO7F,EAAI2B,EAAU3B,EAAI,GAAI,OAAOvI,OAAOoO,EAAO5F,EAAI0B,EAAU1B,EAAI,GAAI,SAI1G,MAAO,CAAC,CACNsE,IAAK,MACL7B,WAAYA,EACZ0B,SAAUA,IAoGH0B,CAAOtB,GAmGlB,IAAIuB,GAAS,aA+CTxE,IA7CIpF,EAAOF,oBAAsBrC,GAAeA,EAAYX,MAAQW,EAAYV,QA6CvE,SAA0B8M,EAASlJ,EAAImJ,EAAcC,GAChE,IAGIhR,EACAC,EACAgR,EALA1R,EAAOjB,OAAOiB,KAAKuR,GACnB5S,EAASqB,EAAKrB,OACdX,OAA2BO,IAAhBkT,EArBG,SAAuBE,EAAMF,GAC/C,OAAO,SAAUG,EAAGC,EAAGtC,EAAGuC,GACxB,OAAOH,EAAK1S,KAAKwS,EAAaG,EAAGC,EAAGtC,EAAGuC,IAmBEC,CAAc1J,EAAIoJ,GAAepJ,EAa5E,SARqB9J,IAAjBiT,GACF/Q,EAAI,EACJiR,EAASH,EAAQvR,EAAK,MAEtBS,EAAI,EACJiR,EAASF,GAGJ/Q,EAAI9B,EAAQ8B,IAEjBiR,EAAS1T,EAAS0T,EAAQH,EAD1B7Q,EAAMV,EAAKS,IAC6BC,EAAK6Q,GAG/C,OAAOG,IA6CT,SAASM,GAAYvD,EAAQH,GAC3B,IAAIF,EAAS1P,UAAUC,OAAS,QAAsBJ,IAAjBG,UAAU,GAAmBA,UAAU,GAAK,GAC7EuT,EAAoB7D,EAAO8D,UAC3BA,OAAkC,IAAtBD,GAAuCA,EACnDE,EAAapT,OAAOiB,KAAKsO,GAAOxB,QAAO,SAAUC,EAAK2B,GACxD,IAAIyB,EAAO7B,EAAMI,GASjB,QARiByB,EAAKA,KAGpBpD,EAAIoD,EAAKzB,UAAYyB,EAAKA,KAE1BpD,EAAI2B,GAAYyB,EAGXpD,IACN,IAEoC,mBAA5BvO,EAAUqJ,MAAMuK,SAA2BF,EAGpD1T,EAAUoJ,OAAO6G,GAAU3L,EAAc,GAAItE,EAAUoJ,OAAO6G,IAAW,GAAI0D,GAF7E3T,EAAUqJ,MAAMuK,QAAQ3D,EAAQ0D,GAYnB,QAAX1D,GACFuD,GAAY,KAAM1D,GAItB,IAAI1G,GAASpJ,EAAUoJ,OACnBE,GAAQtJ,EAAUsJ,MAKlBuK,GAAQ,WACV,IAAIC,EAAS,SAAgBC,GAC3B,OAAOzF,GAAOlF,IAAQ,SAAU4K,EAAG1G,EAAO2C,GAExC,OADA+D,EAAE/D,GAAU3B,GAAOhB,EAAOyG,EAAS,IAC5BC,IACN,KAGQF,GAAO,SAAUvF,EAAKoD,EAAMzB,GAKvC,OAJIyB,EAAK,KACPpD,EAAIoD,EAAK,IAAMzB,GAGV3B,KAEKuF,GAAO,SAAUvF,EAAKoD,EAAMzB,GACxC,IAAI+D,EAAYtC,EAAK,GAKrB,OAJApD,EAAI2B,GAAYA,EAChB+D,EAAUtP,SAAQ,SAAUuP,GAC1B3F,EAAI2F,GAAYhE,KAEX3B,KAET,IAAI4F,EAAc,QAAS/K,GACdkF,GAAOhF,IAAO,SAAUiF,EAAK6F,GACxC,IAAIC,EAAUD,EAAK,GACfnE,EAASmE,EAAK,GACdlE,EAAWkE,EAAK,GAUpB,MARe,QAAXnE,GAAqBkE,IACvBlE,EAAS,OAGX1B,EAAI8F,GAAW,CACbpE,OAAQA,EACRC,SAAUA,GAEL3B,IACN,KAGLsF,KAiBe7T,EAAUoJ,OA8BzB,SAASkL,GAAgBC,EAAStE,EAAQC,GACxC,GAAIqE,GAAWA,EAAQtE,IAAWsE,EAAQtE,GAAQC,GAChD,MAAO,CACLD,OAAQA,EACRC,SAAUA,EACVyB,KAAM4C,EAAQtE,GAAQC,IAK5B,SAASsE,GAAOC,GACd,IAAInD,EAAMmD,EAAcnD,IACpBoD,EAAwBD,EAAchF,WACtCA,OAAuC,IAA1BiF,EAAmC,GAAKA,EACrDC,EAAwBF,EAActD,SACtCA,OAAqC,IAA1BwD,EAAmC,GAAKA,EAEvD,MAA6B,iBAAlBF,EACFvG,EAAWuG,GAEX,IAAIjQ,OAAO8M,EAAK,KAAK9M,OA7qBhC,SAAwBiL,GACtB,OAAOlP,OAAOiB,KAAKiO,GAAc,IAAInB,QAAO,SAAUC,EAAKqG,GACzD,OAAOrG,EAAM,GAAG/J,OAAOoQ,EAAe,MAAOpQ,OAAO0J,EAAWuB,EAAWmF,IAAiB,QAC1F,IAAIC,OA0qB8BC,CAAerF,GAAa,KAAKjL,OAAO2M,EAASzJ,IAAI8M,IAAQvD,KAAK,IAAK,MAAMzM,OAAO8M,EAAK,KA8MhI,IAAIyD,GAAuB,SAA8BC,GACvD,IAAItG,EAAY,CACd5B,KAAM,GACNC,EAAG,EACHC,EAAG,EACHE,OAAO,EACPC,OAAO,EACPF,OAAQ,GAGV,OAAK+H,EAGIA,EAAgBC,cAAcC,MAAM,KAAK5G,QAAO,SAAUC,EAAK5G,GACpE,IAAIwN,EAAQxN,EAAEsN,cAAcC,MAAM,KAC9BE,EAAQD,EAAM,GACdE,EAAOF,EAAMG,MAAM,GAAGrE,KAAK,KAE/B,GAAImE,GAAkB,MAATC,EAEX,OADA9G,EAAIrB,OAAQ,EACLqB,EAGT,GAAI6G,GAAkB,MAATC,EAEX,OADA9G,EAAIpB,OAAQ,EACLoB,EAKT,GAFA8G,EAAOE,WAAWF,GAEdG,MAAMH,GACR,OAAO9G,EAGT,OAAQ6G,GACN,IAAK,OACH7G,EAAIzB,KAAOyB,EAAIzB,KAAOuI,EACtB,MAEF,IAAK,SACH9G,EAAIzB,KAAOyB,EAAIzB,KAAOuI,EACtB,MAEF,IAAK,OACH9G,EAAIxB,EAAIwB,EAAIxB,EAAIsI,EAChB,MAEF,IAAK,QACH9G,EAAIxB,EAAIwB,EAAIxB,EAAIsI,EAChB,MAEF,IAAK,KACH9G,EAAIvB,EAAIuB,EAAIvB,EAAIqI,EAChB,MAEF,IAAK,OACH9G,EAAIvB,EAAIuB,EAAIvB,EAAIqI,EAChB,MAEF,IAAK,SACH9G,EAAItB,OAASsB,EAAItB,OAASoI,EAI9B,OAAO9G,IACNG,GAtDIA,GAoJX,SAAS+G,GAAY/V,GACnBoB,KAAK4U,KAAO,cACZ5U,KAAK6U,QAAUjW,GAAS,mBACxBoB,KAAK8U,OAAQ,IAAIC,OAAQD,MAG3BH,GAAYzR,UAAYzD,OAAOuV,OAAOD,MAAM7R,WAC5CyR,GAAYzR,UAAUD,YAAc0R,GACpC,IAAIM,GAAO,CACTrG,KAAM,gBAEJsG,GAAiB,CACnBC,cAAe,MACfC,YAAa,aACbC,IAAK,MAEHC,GAAO,CACT9E,IAAK,OACL7B,WAAYnL,EAAc,GAAIyR,GAAM,CAClCzC,EAAG,s4CAIH+C,GAAkB/R,EAAc,GAAI0R,GAAgB,CACtDpB,cAAe,YAKHtQ,EAAc,GAAIyR,GAAM,CAClCO,GAAI,MACJC,GAAI,MACJC,EAAG,OAISlS,EAAc,GAAI0R,GAAgB,CAC5CpB,cAAe,IACf6B,OAAQ,uBAIEnS,EAAc,GAAI+R,GAAiB,CAC7CI,OAAQ,iBAMAnS,EAAc,GAAIyR,GAAM,CAClCW,QAAS,IACTpD,EAAG,ySAIShP,EAAc,GAAI+R,GAAiB,CAC7CI,OAAQ,iBAMAnS,EAAc,GAAIyR,GAAM,CAClCW,QAAS,IACTpD,EAAG,gJAIShP,EAAc,GAAI+R,GAAiB,CAC7CI,OAAQ,iBAQCzW,EAAUoJ,OAwBzB,SAASuN,GAAYhF,GACnB,IAAIvC,EAAQuC,EAAK,GACbtC,EAASsC,EAAK,GAIdiF,EADehS,EADD+M,EAAK2D,MAAM,GACkB,GACjB,GAoC9B,MAAO,CACL5E,OAAO,EACPtB,MAAOA,EACPC,OAAQA,EACRsC,KApCEvP,MAAMC,QAAQuU,GACN,CACRtF,IAAK,IACL7B,WAAY,CACVoH,MAAO,GAAGrS,OAAO0E,EAAOX,aAAc,KAAK/D,OAAO4C,EAAgBC,QAEpE8J,SAAU,CAAC,CACTG,IAAK,OACL7B,WAAY,CACVoH,MAAO,GAAGrS,OAAO0E,EAAOX,aAAc,KAAK/D,OAAO4C,EAAgBI,WAClEkI,KAAM,eACN4D,EAAGsD,EAAW,KAEf,CACDtF,IAAK,OACL7B,WAAY,CACVoH,MAAO,GAAGrS,OAAO0E,EAAOX,aAAc,KAAK/D,OAAO4C,EAAgBG,SAClEmI,KAAM,eACN4D,EAAGsD,EAAW,OAKV,CACRtF,IAAK,OACL7B,WAAY,CACVC,KAAM,eACN4D,EAAGsD,KA0CI5W,EAAUoJ,OAsQzB,SAASiE,KACP,IACIyJ,EA39D0B,iBA49D1BC,EAAK7N,EAAOX,aACZyO,EAAK9N,EAAOV,iBACZyO,EAPW,2jQASf,GAj+D0B,OAi+DtBF,GAAcC,IAAOF,EAAK,CAC5B,IAAII,EAAQ,IAAIC,OAAO,MAAM3S,OAl+DL,KAk+DiB,OAAQ,KAC7C4S,EAAiB,IAAID,OAAO,OAAO3S,OAn+Df,KAm+D2B,OAAQ,KACvD6S,EAAQ,IAAIF,OAAO,MAAM3S,OAAOsS,GAAM,KAC1CG,EAAIA,EAAE7I,QAAQ8I,EAAO,IAAI1S,OAAOuS,EAAI,MAAM3I,QAAQgJ,EAAgB,KAAK5S,OAAOuS,EAAI,MAAM3I,QAAQiJ,EAAO,IAAI7S,OAAOwS,IAGpH,OAAOC,EAoDT,SAASK,KACHpO,EAAOR,aAAe6O,KACxBnK,EAAUC,MACVkK,IAAe,GAInB,SAASC,GAAUvP,EAAKwP,GAmBtB,OAlBAlX,OAAOyB,eAAeiG,EAAK,WAAY,CACrCyP,IAAKD,IAEPlX,OAAOyB,eAAeiG,EAAK,OAAQ,CACjCyP,IAAK,WACH,OAAOzP,EAAIsH,SAAS7H,KAAI,SAAU0L,GAChC,OAAOoB,GAAOpB,SAIpB7S,OAAOyB,eAAeiG,EAAK,OAAQ,CACjCyP,IAAK,WACH,GAAK9Q,EAAL,CACA,IAAI+Q,EAAYjR,EAASM,cAAc,OAEvC,OADA2Q,EAAUnK,UAAYvF,EAAI2P,KACnBD,EAAUxG,aAGdlJ,EAGT,SAAS4P,GAAmBC,GAC1B,IAAIC,EAAqBD,EAAW7H,OAChCA,OAAgC,IAAvB8H,EAAgC,KAAOA,EAChD7H,EAAW4H,EAAW5H,SAC1B,GAAKA,EACL,OAAOoE,GAAgB0D,GAAQC,YAAahI,EAAQC,IAAaoE,GAAgBtU,EAAUoJ,OAAQ6G,EAAQC,GAmB7G,IAhBsB7K,GAgBlB2S,GAAU,IAtGa,WACzB,SAASE,KA9nEX,SAAyBC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI1S,UAAU,qCA6nEpB2S,CAAgBvX,KAAMoX,GAEtBpX,KAAKmX,YAAc,GAjnEvB,IAAsBG,EAAaE,EAAYC,EA2pE7C,OA3pEoBH,EAonEPF,GApnEoBI,EAonEX,CAAC,CACrBpW,IAAK,MACLmC,MAAO,WAGL,IAFA,IAAImU,EAAQ1X,KAEH2X,EAAOvY,UAAUC,OAAQ8X,EAAc,IAAI7V,MAAMqW,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IACtFT,EAAYS,GAAQxY,UAAUwY,GAGhC,IAAIC,EAAYV,EAAY3J,OAAOxN,KAAK8X,iBAAkB,IAC1DrY,OAAOiB,KAAKmX,GAAWhU,SAAQ,SAAUzC,GACvCsW,EAAMP,YAAY/V,GAAOoC,EAAc,GAAIkU,EAAMP,YAAY/V,IAAQ,GAAIyW,EAAUzW,IACnFsR,GAAYtR,EAAKyW,EAAUzW,IAC3B2R,UAGH,CACD3R,IAAK,QACLmC,MAAO,WACLvD,KAAKmX,YAAc,KAEpB,CACD/V,IAAK,mBACLmC,MAAO,SAA0BsU,EAAWE,GAC1C,IAAIlF,EAAakF,EAAW5I,QAAU4I,EAAW3I,UAAY2I,EAAWlH,KAAO,CAC7EmH,EAAGD,GACDA,EASJ,OARAtY,OAAOiB,KAAKmS,GAAYjM,KAAI,SAAUxF,GACpC,IAAI6W,EAAkBpF,EAAWzR,GAC7B+N,EAAS8I,EAAgB9I,OACzBC,EAAW6I,EAAgB7I,SAC3ByB,EAAOoH,EAAgBpH,KACtBgH,EAAU1I,KAAS0I,EAAU1I,GAAU,IAC5C0I,EAAU1I,GAAQC,GAAYyB,KAEzBgH,OAtpEK1U,EAAkBmU,EAAYpU,UAAWsU,GACrDC,GAAatU,EAAkBmU,EAAaG,GAypEzCL,EA9CkB,IA8GvBX,IAAe,EAmDfyB,GAAQ,CACVtK,UAAW,SAAmBsG,GAC5B,OAAOD,GAAqBC,KAG5BrD,IAhFkBtM,GAgFE,SAAU4T,GAChC,IAAIrJ,EAAS1P,UAAUC,OAAS,QAAsBJ,IAAjBG,UAAU,GAAmBA,UAAU,GAAK,GAC7EgZ,EAAoBtJ,EAAOlB,UAC3BA,OAAkC,IAAtBwK,EAA+BrM,EAAuBqM,EAClEC,EAAiBvJ,EAAOO,OACxBA,OAA4B,IAAnBgJ,GAAoCA,EAC7CC,EAAexJ,EAAOI,KACtBA,OAAwB,IAAjBoJ,EAA0B,KAAOA,EACxCC,EAAiBzJ,EAAOS,OACxBA,OAA4B,IAAnBgJ,EAA4B,KAAOA,EAC5CC,EAAgB1J,EAAOQ,MACvBA,OAA0B,IAAlBkJ,EAA2B,KAAOA,EAC1CC,EAAkB3J,EAAOU,QACzBA,OAA8B,IAApBiJ,EAA6B,KAAOA,EAC9CC,EAAkB5J,EAAOoB,QACzBA,OAA8B,IAApBwI,EAA6B,GAAKA,EAC5CC,EAAqB7J,EAAOH,WAC5BA,OAAoC,IAAvBgK,EAAgC,GAAKA,EAClDC,EAAiB9J,EAAOxG,OACxBA,OAA4B,IAAnBsQ,EAA4B,GAAKA,EAC9C,GAAKT,EAAL,CACA,IAAIhJ,EAASgJ,EAAehJ,OACxBC,EAAW+I,EAAe/I,SAC1ByB,EAAOsH,EAAetH,KAC1B,OAAO6F,GAAUlT,EAAc,CAC7BqV,KAAM,QACLV,IAAiB,WAYlB,OAXA3B,KAEIpO,EAAOP,WACLyH,EACFX,EAAW,mBAAqB,GAAGjL,OAAO0E,EAAOV,iBAAkB,WAAWhE,OAAO8L,GAAWtC,MAEhGyB,EAAW,eAAiB,OAC5BA,EAAsB,UAAI,UAIvBE,GAAsB,CAC3BG,MAAO,CACLC,KAAM4G,GAAYhF,GAClB3B,KAAMA,EAAO2G,GAAY3G,EAAK2B,MAAQ,CACpCjB,OAAO,EACPtB,MAAO,KACPC,OAAQ,KACRsC,KAAM,KAGV1B,OAAQA,EACRC,SAAUA,EACVxB,UAAWpK,EAAc,GAAIuI,EAAsB6B,GACnDyB,OAAQA,EACRC,MAAOA,EACPC,OAAQA,EACRC,QAASA,EACTC,MAAO,CACLd,WAAYA,EACZrG,OAAQA,EACR4H,QAASA,UAzIR,SAAU4I,GACf,IAAIhK,EAAS1P,UAAUC,OAAS,QAAsBJ,IAAjBG,UAAU,GAAmBA,UAAU,GAAK,GAC7E+Y,GAAkBW,GAAuB,IAAIjI,KAAOiI,EAAsB/B,GAAmB+B,GAAuB,IACpH5J,EAAOJ,EAAOI,KAMlB,OAJIA,IACFA,GAAQA,GAAQ,IAAI2B,KAAO3B,EAAO6H,GAAmB7H,GAAQ,KAGxD3K,GAAK4T,EAAgB3U,EAAc,GAAIsL,EAAQ,CACpDI,KAAMA,S,oEChvEZ,IAAI6J,EAAS,EAAQ,QACjBC,EAAM,EAAQ,QAEdtY,EAAOqY,EAAO,QAElB3a,EAAOC,QAAU,SAAU+C,GACzB,OAAOV,EAAKU,KAASV,EAAKU,GAAO4X,EAAI5X,M,qBCNvC,IAAIrC,EAAY,EAAQ,QAGxBX,EAAOC,QAAU,SAAU0K,EAAIkQ,EAAM5Z,GAEnC,GADAN,EAAUgK,QACG9J,IAATga,EAAoB,OAAOlQ,EAC/B,OAAQ1J,GACN,KAAK,EAAG,OAAO,WACb,OAAO0J,EAAGpJ,KAAKsZ,IAEjB,KAAK,EAAG,OAAO,SAAU3G,GACvB,OAAOvJ,EAAGpJ,KAAKsZ,EAAM3G,IAEvB,KAAK,EAAG,OAAO,SAAUA,EAAGC,GAC1B,OAAOxJ,EAAGpJ,KAAKsZ,EAAM3G,EAAGC,IAE1B,KAAK,EAAG,OAAO,SAAUD,EAAGC,EAAGtC,GAC7B,OAAOlH,EAAGpJ,KAAKsZ,EAAM3G,EAAGC,EAAGtC,IAG/B,OAAO,WACL,OAAOlH,EAAGmQ,MAAMD,EAAM7Z,c,kCCnB1BK,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAGT,IAAI4V,EAAW1Z,OAAO2Z,QAAU,SAAUpY,GACxC,IAAK,IAAIG,EAAI,EAAGA,EAAI/B,UAAUC,OAAQ8B,IAAK,CACzC,IAAIF,EAAS7B,UAAU+B,GAEvB,IAAK,IAAIC,KAAOH,EACVxB,OAAOyD,UAAUmW,eAAe1Z,KAAKsB,EAAQG,KAC/CJ,EAAOI,GAAOH,EAAOG,IAK3B,OAAOJ,GAGLsY,EAAe,WACjB,SAASC,EAAiBvY,EAAQe,GAChC,IAAK,IAAIZ,EAAI,EAAGA,EAAIY,EAAM1C,OAAQ8B,IAAK,CACrC,IAAIpB,EAAagC,EAAMZ,GACvBpB,EAAWE,WAAaF,EAAWE,aAAc,EACjDF,EAAWqD,cAAe,EACtB,UAAWrD,IAAYA,EAAWsD,UAAW,GACjD5D,OAAOyB,eAAeF,EAAQjB,EAAWqB,IAAKrB,IAIlD,OAAO,SAAUuX,EAAaE,EAAYC,GAGxC,OAFID,GAAY+B,EAAiBjC,EAAYpU,UAAWsU,GACpDC,GAAa8B,EAAiBjC,EAAaG,GACxCH,GAdQ,GAkBfkC,EAAO,SAAaC,EAAIC,EAAKC,GAGpB,IAFX,IAAIC,GAAS,EAEKA,GAAQ,CACxB,IAAIC,EAASJ,EACTK,EAAWJ,EACXK,EAAWJ,EACfC,GAAS,EACM,OAAXC,IAAiBA,EAAStZ,SAAS2C,WACvC,IAAI8W,EAAOva,OAAOD,yBAAyBqa,EAAQC,GAEnD,QAAa7a,IAAT+a,EAAJ,CAaO,GAAI,UAAWA,EACpB,OAAOA,EAAKzW,MAEZ,IAAI0W,EAASD,EAAKpD,IAElB,QAAe3X,IAAXgb,EACF,OAGF,OAAOA,EAAOta,KAAKoa,GArBnB,IAAIG,EAASza,OAAO0a,eAAeN,GAEnC,GAAe,OAAXK,EACF,OAEAT,EAAKS,EACLR,EAAMI,EACNH,EAAMI,EACNH,GAAS,EACTI,EAAOE,OAASjb,IAiBxB,SAASmb,EAAuBpX,GAC9B,OAAOA,GAAOA,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GAIf,SAASuU,EAAgBF,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI1S,UAAU,qCAoBxB,IAAI0V,EAAS,EAAQ,QAEjBC,EAAUH,EAAuBE,GAIjCE,EAAcJ,EAFD,EAAQ,SAIrBK,EAAY,SAAUC,GAGxB,SAASD,IACPlD,EAAgBvX,KAAMya,GAEtBjB,EAAK/Z,OAAO0a,eAAeM,EAAUvX,WAAY,cAAelD,MAAMkZ,MAAMlZ,KAAMZ,WA4EpF,OA1GF,SAAmBub,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIhW,UAAU,kEAAoEgW,GAG1FD,EAASzX,UAAYzD,OAAOuV,OAAO4F,GAAcA,EAAW1X,UAAW,CACrED,YAAa,CACXM,MAAOoX,EACP1a,YAAY,EACZoD,UAAU,EACVD,cAAc,KAGdwX,IAAYnb,OAAOob,eAAiBpb,OAAOob,eAAeF,EAAUC,GAAcD,EAASG,UAAYF,GAY3GG,CAAUN,EAAWC,GAQrBpB,EAAamB,EAAW,CAAC,CACvBrZ,IAAK,gBACLmC,MAAO,SAAuBsV,GAC5B,MAAO,CACLmC,SAAU,WACV1M,MAAO,EACPC,OAAQ,GACRX,UAAoB,WAATiL,EAAoB,gBAAkB,oBAGpD,CACDzX,IAAK,SACLmC,MAAO,WACL,IAEIsN,EAFA6G,EAAQ1X,KAwBZ,GAAIA,KAAK+B,MAAMkZ,WAAY,CACzB,IAAIC,EAAa,CACfpZ,WAAY,aAAe9B,KAAK+B,MAAMkZ,WAAWlZ,MAAMD,WAAa,KAAKiS,OACzEvH,MAAO2M,EAAS,CACd7K,MAAO,OACPC,OAAQ,QACPvO,KAAK+B,MAAMuG,OAAO6S,UAEvBtK,EAAO0J,EAAiB,QAAEa,aAAapb,KAAK+B,MAAMkZ,WAAYC,QAE9DrK,EAAO0J,EAAiB,QAAErU,cAAc,OAAQ,CAC9CsG,MAAO,CACLwO,SAAU,WACVK,IAAK,MACLC,MAAO,SAER,CAAC,SAAU,SAAS1U,KAAI,SAAUiS,EAAM1X,GACzC,OAAOoZ,EAAiB,QAAErU,cAAc,OAAQ,CAC9C9E,IAAKD,EACLW,WAAY,YAAc4V,EAAM3V,MAAMwZ,gBAAgBxH,OACtDvH,MAAO2M,EAAS,GAAIzB,EAAM8D,cAAc3C,GAAOnB,EAAM3V,MAAMuG,OAAO6S,eAKxE,OAAOZ,EAAiB,QAAErU,cAAc,MAAO,CAC7CpE,WAAY,mBAAqB9B,KAAK+B,MAAMD,WAAWiS,OACvDvH,MAAO2M,EAAS,GAhDO,CACvB6B,SAAU,WACV1M,MAAO,GACPC,OAAQ,GACR+M,MAAO,EACPD,IAAK,GA2CmCrb,KAAK+B,MAAMuG,OAAOmT,gBACzD5K,EAAM0J,EAAiB,QAAErU,cAAc,SAAU,CAClDwV,QAAS1b,KAAK+B,MAAM2Z,QACpBlP,MA5CgB,CAChBwO,SAAU,WACVW,KAAM,EACNN,IAAK,EACL/M,MAAO,OACPC,OAAQ,OACRqN,OAAQ,EACRC,QAAS,EACTC,OAAQ,OACRC,SAAU,EACVC,WAAY,cACZC,OAAQ,WAkCRC,SAAUlc,KAAK+B,MAAMma,UACpB,mBAIAzB,EAlFO,CAmFdH,EAAO6B,WAET9d,EAAiB,QAAIoc,EACrBA,EAAU2B,UAAY,CACpBb,eAAgBf,EAAqB,QAAE6B,OACvCpB,WAAYT,EAAqB,QAAEnT,QACnCiB,OAAQkS,EAAqB,QAAEX,OAC/BqC,SAAU1B,EAAqB,QAAE8B,QAEnC7B,EAAU8B,aAAe,CACvBhB,eAAgB,GAChBzZ,UAAW,GACXwG,OAAQ,GACR4T,SAAU,GAEZ9d,EAAOC,QAAUA,EAAiB,S,uBCjNlCD,EAAOC,QAAU,CAAC,WAAa,yCAAyC,YAAc,4C,kCCAtF,IAAIme,EAAI,EAAQ,QACZC,EAAmB,EAAQ,QAC3BC,EAAW,EAAQ,QACnBC,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAAqB,EAAQ,QAIjCL,EAAE,CAAExb,OAAQ,QAAS8b,OAAO,GAAQ,CAClCC,KAAM,WACJ,IAAIC,EAAW5d,UAAUC,OAASD,UAAU,QAAKH,EAC7C0B,EAAI+b,EAAS1c,MACbid,EAAYN,EAAShc,EAAEtB,QACvB6d,EAAIL,EAAmBlc,EAAG,GAE9B,OADAuc,EAAE7d,OAASod,EAAiBS,EAAGvc,EAAGA,EAAGsc,EAAW,OAAgBhe,IAAb+d,EAAyB,EAAIJ,EAAUI,IACnFE,M,kGCPLC,E,YACJ,WAAapb,GAAY,aACvB,cAAMA,IAAN,MAMML,uBAAyB,SAACC,GAAD,OAAwBA,EAASyb,kBALhE,EAAKC,MAAQ,CACXC,YAAY,GAHS,E,4CAWjBC,sBAAR,WAA0D,WACxD,OAAO,SAACF,GAAD,OAAW,EAAKG,SAAS,CAACF,WAAYD,EAAMI,W,EAG7CC,UAAR,WAA4C,WAC1C,OAAO,SAACC,GACN,EAAKH,UAAS,SAAAI,GAAC,MAAK,CAAEN,YAAY,Q,EAItC1b,OAAA,WACE,OACE,uBAAKE,UAAS,2EACZ,uBAAKA,UAAU,mBACb,gBAAC,aAAD,CAAYA,UAAS,+DAAkE+b,GAAG,QAAQC,WAAW,KAG/G,gBAAC,QAAD,CACExC,OAAO,EACPyC,iBAAiB,EACjBN,OAAQzd,KAAKqd,MAAMC,WACnBU,kBAAkB,EAClBC,cAAeje,KAAKud,yBAEpB,sBAAIzb,UAAU,iBACZ,gBAAC,IAAD,CAAWoc,sBAAsB,eAAe9b,eAAgBpC,KAAK0B,uBAAwBW,eAAgBrC,KAAK0d,gBAItH,uBAAK5b,UAAU,2DACb,sBAAIA,UAAS,mCAAsCqc,cAAY,WAAWC,cAAY,oBACpF,gBAAC,IAAD,CAAWF,sBAAsB,eAAe9b,eAAgBpC,KAAK0B,uBAAwBW,eAAgB,W,GA3CpGS,aAmDNqa,O,qBC7Df,IAAIkB,EAAc,EAAQ,QACtBC,EAA6B,EAAQ,QACrCC,EAA2B,EAAQ,QACnCC,EAAkB,EAAQ,QAC1BC,EAAc,EAAQ,QACtB7d,EAAM,EAAQ,QACd8d,EAAiB,EAAQ,QAEzBC,EAAiClf,OAAOD,yBAI5CnB,EAAQwB,EAAIwe,EAAcM,EAAiC,SAAkChe,EAAGqK,GAG9F,GAFArK,EAAI6d,EAAgB7d,GACpBqK,EAAIyT,EAAYzT,GAAG,GACf0T,EAAgB,IAClB,OAAOC,EAA+Bhe,EAAGqK,GACzC,MAAOpM,IACT,GAAIgC,EAAID,EAAGqK,GAAI,OAAOuT,GAA0BD,EAA2Bze,EAAEF,KAAKgB,EAAGqK,GAAIrK,EAAEqK,M,qBClB7F,IAAIqT,EAAc,EAAQ,QACtBO,EAAQ,EAAQ,QAChB1Y,EAAgB,EAAQ,QAG5B9H,EAAOC,SAAWggB,IAAgBO,GAAM,WACtC,OAEQ,GAFDnf,OAAOyB,eAAegF,EAAc,OAAQ,IAAK,CACtD0Q,IAAK,WAAc,OAAO,KACzBtE,M,kCCNL7S,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA4Bf3E,EAAiB,SAAI,EAAIygB,EAAuB,SApBnC,CACXC,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAClH2Q,YAAaxB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACjH4Q,WAAYzB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAChH6Q,gBAAiB1B,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,yBAA2B,eAAiBA,EAAQ,0BACrHV,UAAW6P,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,yBAA2B,eAAiBA,EAAQ,0BAC/G8Q,gBAAiB9D,EAAQ,WAAa,SACtC+D,eAAgB,cAChBC,WAAY,aAGhBC,eAAgB,SAAwB9B,GACtC,MAAO,CACL+B,YAAa,SACbC,SAAUhC,EAAS,GAAK,aAK9Brf,EAAOC,QAAUA,EAAiB,S,kCCnClCoB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAETlF,EAAQqhB,WAAaA,EAErB,IAQgC1c,EAR5BsX,GAQ4BtX,EARI2c,EAAQ,UAQS3c,EAAIqX,WAAarX,EAAM,CAAE,QAAWA,GANrF4c,EAAUD,EAAQ,QAElBE,EAASF,EAAQ,QAEjBG,EAASH,EAAQ,QAIrB,SAASD,EAAW1Y,GAClB,IAAI6W,EAAK7W,EAAK6W,GACVvO,EAAQtI,EAAKsI,MACbe,EAAWrJ,EAAKqJ,SAChBvO,EAAYkF,EAAKlF,UACjBie,EAAiB/Y,EAAK8W,UACtBA,OAA+B,IAAnBiC,GAAoCA,EAChDC,EAAY,CACdnC,GAAIC,GAAY,EAAI+B,EAAOI,qBAAqBpC,GAAMA,EACtDnC,QAAS,SAAiBnW,GACxB,OAAOuY,GAAY,EAAI+B,EAAOK,yBAAyBrC,EAAItY,IAAK,EAAIsa,EAAOM,iBAAiBtC,EAAItY,KASpG,OAFI+J,IAAO0Q,EAAU1Q,MAAQA,GACzBxN,IAAWke,EAAUle,UAAYA,GAC9BwY,EAAM,QAAYpU,cAAc0Z,EAAQQ,KAAMJ,EAAWK,QAAQhQ,GAAYA,EAAWf,GAGjGoQ,EAAWtD,UAAY0D,EAAOQ,iB,uBCvC9B,IAAIC,EAAa,EAAQ,QAEzBniB,EAAOC,QAAUkiB,EAAW,WAAY,oB,mBCFxCniB,EAAOC,QAAU,SAAUC,GACzB,GAAiB,mBAANA,EACT,MAAMsG,UAAU4b,OAAOliB,GAAM,sBAC7B,OAAOA,I,mBCDXF,EAAOC,QAAU,SAAUC,GACzB,GAAUW,MAANX,EAAiB,MAAMsG,UAAU,wBAA0BtG,GAC/D,OAAOA,I,uBCJT,IAAIQ,EAAS,EAAQ,QACjBU,EAA2B,EAAQ,QAAmDK,EACtF4gB,EAA8B,EAAQ,QACtCC,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAA4B,EAAQ,QACpCC,EAAW,EAAQ,QAgBvBziB,EAAOC,QAAU,SAAUyiB,EAAS7f,GAClC,IAGYD,EAAQI,EAAK2f,EAAgBC,EAAgBjhB,EAHrDkhB,EAASH,EAAQ9f,OACjBkgB,EAASJ,EAAQhiB,OACjBqiB,EAASL,EAAQM,KASrB,GANEpgB,EADEkgB,EACOpiB,EACAqiB,EACAriB,EAAOmiB,IAAWN,EAAUM,EAAQ,KAEnCniB,EAAOmiB,IAAW,IAAI/d,UAEtB,IAAK9B,KAAOH,EAAQ,CAQ9B,GAPA+f,EAAiB/f,EAAOG,GAGtB2f,EAFED,EAAQO,aACVthB,EAAaP,EAAyBwB,EAAQI,KACfrB,EAAWwD,MACpBvC,EAAOI,IACtByf,EAASK,EAAS9f,EAAM6f,GAAUE,EAAS,IAAM,KAAO/f,EAAK0f,EAAQQ,cAE5CriB,IAAnB8hB,EAA8B,CAC3C,UAAWC,UAA0BD,EAAgB,SACrDH,EAA0BI,EAAgBD,IAGxCD,EAAQriB,MAASsiB,GAAkBA,EAAetiB,OACpDgiB,EAA4BO,EAAgB,QAAQ,GAGtDN,EAAS1f,EAAQI,EAAK4f,EAAgBF,M,qBCnD1C,IAAIlE,EAAY,EAAQ,QAEpB2E,EAAMrhB,KAAKqhB,IACXC,EAAMthB,KAAKshB,IAKfpjB,EAAOC,QAAU,SAAUwN,EAAOxM,GAChC,IAAIoiB,EAAU7E,EAAU/Q,GACxB,OAAO4V,EAAU,EAAIF,EAAIE,EAAUpiB,EAAQ,GAAKmiB,EAAIC,EAASpiB,K,kCCV/D,4FAIA,SAAS0D,EAAQC,GAWf,OATED,EADoB,mBAAXvE,QAAoD,iBAApBA,OAAOE,SACtC,SAAiBsE,GACzB,cAAcA,GAGN,SAAiBA,GACzB,OAAOA,GAAyB,mBAAXxE,QAAyBwE,EAAIC,cAAgBzE,QAAUwE,IAAQxE,OAAO0E,UAAY,gBAAkBF,IAI9GA,GAGjB,SAASM,EAAgBN,EAAK5B,EAAKmC,GAYjC,OAXInC,KAAO4B,EACTvD,OAAOyB,eAAe8B,EAAK5B,EAAK,CAC9BmC,MAAOA,EACPtD,YAAY,EACZmD,cAAc,EACdC,UAAU,IAGZL,EAAI5B,GAAOmC,EAGNP,EAGT,SAASnC,EAAQgZ,EAAQ6H,GACvB,IAAIhhB,EAAOjB,OAAOiB,KAAKmZ,GAEvB,GAAIpa,OAAOgE,sBAAuB,CAChC,IAAIke,EAAUliB,OAAOgE,sBAAsBoW,GACvC6H,IAAgBC,EAAUA,EAAQhe,QAAO,SAAUC,GACrD,OAAOnE,OAAOD,yBAAyBqa,EAAQjW,GAAK3D,eAEtDS,EAAK+D,KAAKyU,MAAMxY,EAAMihB,GAGxB,OAAOjhB,EAGT,SAASkhB,EAAe5gB,GACtB,IAAK,IAAIG,EAAI,EAAGA,EAAI/B,UAAUC,OAAQ8B,IAAK,CACzC,IAAIF,EAAyB,MAAhB7B,UAAU+B,GAAa/B,UAAU+B,GAAK,GAE/CA,EAAI,EACNN,EAAQpB,OAAOwB,IAAS,GAAM4C,SAAQ,SAAUzC,GAC9CkC,EAAgBtC,EAAQI,EAAKH,EAAOG,OAE7B3B,OAAOoiB,0BAChBpiB,OAAO8Z,iBAAiBvY,EAAQvB,OAAOoiB,0BAA0B5gB,IAEjEJ,EAAQpB,OAAOwB,IAAS4C,SAAQ,SAAUzC,GACxC3B,OAAOyB,eAAeF,EAAQI,EAAK3B,OAAOD,yBAAyByB,EAAQG,OAKjF,OAAOJ,EAkBT,SAAS8gB,EAAyB7gB,EAAQ8gB,GACxC,GAAc,MAAV9gB,EAAgB,MAAO,GAE3B,IAEIG,EAAKD,EAFLH,EAlBN,SAAuCC,EAAQ8gB,GAC7C,GAAc,MAAV9gB,EAAgB,MAAO,GAC3B,IAEIG,EAAKD,EAFLH,EAAS,GACTghB,EAAaviB,OAAOiB,KAAKO,GAG7B,IAAKE,EAAI,EAAGA,EAAI6gB,EAAW3iB,OAAQ8B,IACjCC,EAAM4gB,EAAW7gB,GACb4gB,EAAS3b,QAAQhF,IAAQ,IAC7BJ,EAAOI,GAAOH,EAAOG,IAGvB,OAAOJ,EAMMihB,CAA8BhhB,EAAQ8gB,GAInD,GAAItiB,OAAOgE,sBAAuB,CAChC,IAAIye,EAAmBziB,OAAOgE,sBAAsBxC,GAEpD,IAAKE,EAAI,EAAGA,EAAI+gB,EAAiB7iB,OAAQ8B,IACvCC,EAAM8gB,EAAiB/gB,GACnB4gB,EAAS3b,QAAQhF,IAAQ,GACxB3B,OAAOyD,UAAU3D,qBAAqBI,KAAKsB,EAAQG,KACxDJ,EAAOI,GAAOH,EAAOG,IAIzB,OAAOJ,EAGT,SAASmhB,EAAmBpe,GAC1B,OAGF,SAA4BA,GAC1B,GAAIzC,MAAMC,QAAQwC,GAAM,CACtB,IAAK,IAAI5C,EAAI,EAAGihB,EAAO,IAAI9gB,MAAMyC,EAAI1E,QAAS8B,EAAI4C,EAAI1E,OAAQ8B,IAC5DihB,EAAKjhB,GAAK4C,EAAI5C,GAGhB,OAAOihB,GATFC,CAAmBte,IAa5B,SAA0Bue,GACxB,GAAI9jB,OAAOE,YAAYe,OAAO6iB,IAAkD,uBAAzC7iB,OAAOyD,UAAUqf,SAAS5iB,KAAK2iB,GAAgC,OAAOhhB,MAAMkhB,KAAKF,GAdtFG,CAAiB1e,IAiBrD,WACE,MAAM,IAAIa,UAAU,mDAlBuC8d,GAiE7D,SAASC,EAAStG,GAChB,OAPoBrZ,EAOHqZ,GANjBrZ,GAAY,IAEGA,EAKNqZ,GAITA,EAASA,EAAO/O,QAAQ,iBAAiB,SAAUsV,EAAOC,GACxD,OAAOA,EAAMA,EAAI7V,cAAgB,OAGrB8V,OAAO,EAAG,GAAG3O,cAAgBkI,EAAOyG,OAAO,GAhB3D,IAAsB9f,EAuBtB,SAAS+f,EAAcvW,GACrB,OAAOA,EAAM4H,MAAM,KAAKxN,KAAI,SAAUuP,GACpC,OAAOA,EAAEpC,UACRpQ,QAAO,SAAUwS,GAClB,OAAOA,KACN3I,QAAO,SAAUC,EAAKuV,GACvB,IAVgB7b,EAUZhG,EAAI6hB,EAAK5c,QAAQ,KACjB6c,EAAON,EAASK,EAAKxO,MAAM,EAAGrT,IAC9BoC,EAAQyf,EAAKxO,MAAMrT,EAAI,GAAG4S,OAE9B,OADAkP,EAAKC,WAAW,UAAYzV,GAbZtG,EAa2B8b,EAZtC9b,EAAIgc,OAAO,GAAGnW,cAAgB7F,EAAIqN,MAAM,KAYOjR,EAAQkK,EAAIwV,GAAQ1f,EACjEkK,IACN,IAoDL,IAAI2V,GAAa,EAEjB,IACEA,GAAa,EACb,MAAO7d,IAWT,SAAS8d,EAAkBxS,GAEzB,OAAa,OAATA,EACK,KAIa,WAAlB9N,EAAQ8N,IAAsBA,EAAK1B,QAAU0B,EAAKzB,SAC7CyB,EAILvP,MAAMC,QAAQsP,IAAyB,IAAhBA,EAAKxR,OAEvB,CACL8P,OAAQ0B,EAAK,GACbzB,SAAUyB,EAAK,IAKC,iBAATA,EACF,CACL1B,OAAQ,MACRC,SAAUyB,QAHd,EAWF,SAASyS,EAAcliB,EAAKmC,GAK1B,OAAOjC,MAAMC,QAAQgC,IAAUA,EAAMlE,OAAS,IAAMiC,MAAMC,QAAQgC,IAAUA,EAAQD,EAAgB,GAAIlC,EAAKmC,GAAS,GAGxH,SAASggB,EAAgBvc,GACvB,IAAIwc,EAAexc,EAAKwc,aACpBzhB,EAAQ+f,EAAyB9a,EAAM,CAAC,iBAExCyc,EAAW1hB,EAAM8O,KACjB6S,EAAW3hB,EAAMmN,KACjBG,EAAStN,EAAMsN,OACfvN,EAAYC,EAAMD,UAClBwN,EAAQvN,EAAMuN,MACd0H,EAAaqM,EAAkBI,GAC/BvT,EAAUoT,EAAc,UAAW,GAAG5f,OAAOye,EA5LnD,SAAmBpgB,GACjB,IAAI4hB,EAEAC,EAAO7hB,EAAM6hB,KACbC,EAAQ9hB,EAAM8hB,MACdC,EAAa/hB,EAAM+hB,WACnBC,EAAUhiB,EAAMgiB,QAChBjI,EAAS/Z,EAAM+Z,OACfkI,EAAWjiB,EAAMiiB,SACjBC,EAAOliB,EAAMkiB,KACbjY,EAAOjK,EAAMiK,KACbkY,EAAWniB,EAAMmiB,SACjBC,EAAOpiB,EAAMoiB,KAEbjU,GASD5M,EATYqgB,EAAW,CACxB,UAAWC,EACX,WAAYC,EACZ,QAASC,EACT,aAAcC,EACd,YAAajI,EACb,QAASkI,EACT,qBAA+B,eAATC,GAAkC,SAATA,EAC/C,mBAA6B,aAATA,GAAgC,SAATA,GAChB,MAAMvgB,OAAOsI,GAAO,MAAOA,GAAwC1I,EAAgBqgB,EAAU,aAAajgB,OAAOwgB,GAAW,MAAOA,GAA8D,IAAbA,GAAiB5gB,EAAgBqgB,EAAU,WAAWjgB,OAAOygB,GAAO,MAAOA,GAAwC7gB,EAAgBqgB,EAAU,kBAAmB5hB,EAAMqiB,aAAcT,GAGrY,OAAOlkB,OAAOiB,KAAKwP,GAAStJ,KAAI,SAAUxF,GACxC,OAAO8O,EAAQ9O,GAAOA,EAAM,QAC3BuC,QAAO,SAAUvC,GAClB,OAAOA,KA+J2DijB,CAAUtiB,IAASogB,EAAmBrgB,EAAUsS,MAAM,QACtHxG,EAAY0V,EAAc,YAAwC,iBAApBvhB,EAAM6L,UAAyB,IAAMA,UAAU7L,EAAM6L,WAAa7L,EAAM6L,WACtHsB,EAAOoU,EAAc,OAAQD,EAAkBK,IAC/CY,EAAe,YAAKtN,EAAY4K,EAAe,GAAI1R,EAAS,GAAItC,EAAW,GAAIsB,EAAM,CACvFG,OAAQA,EACRC,MAAOA,KAGT,IAAKgV,EAEH,OArEJ,WAEI,IAAIC,GADDnB,GAAcoB,SAAoC,mBAAlBA,QAAQ5lB,QAG1C2lB,EAAWC,SAAS5lB,MAAMsa,MAAMqL,EAAUnlB,WAgE3CqlB,CAAI,sBAAuBzN,GACpB,KAGT,IAAIvI,EAAW6V,EAAa7V,SACxByM,EAAa,CACfwJ,IAAKlB,GAQP,OANA/jB,OAAOiB,KAAKqB,GAAO8B,SAAQ,SAAUzC,GAE9BmiB,EAAgBhH,aAAalD,eAAejY,KAC/C8Z,EAAW9Z,GAAOW,EAAMX,OAGrBujB,EAAalW,EAAS,GAAIyM,GAGnCqI,EAAgBqB,YAAc,kBAC9BrB,EAAgBnH,UAAY,CAC1BN,OAAQ,IAAU+I,KAClB/iB,UAAW,IAAUua,OACrBnN,KAAM,IAAU4V,UAAU,CAAC,IAAUjL,OAAQ,IAAUkL,MAAO,IAAU1I,SACxEyH,WAAY,IAAUe,KACtBd,QAAS,IAAUc,KACnBZ,KAAM,IAAUe,MAAM,CAAC,aAAc,WAAY,SACjDnU,KAAM,IAAUiU,UAAU,CAAC,IAAUjL,OAAQ,IAAUkL,MAAO,IAAU1I,SACxE2H,SAAU,IAAUa,KACpBV,KAAM,IAAUa,MAAM,CAAC,QAAS,SAChCnB,MAAO,IAAUgB,KACjBX,SAAU,IAAUc,MAAM,CAAC,EAAG,GAAI,IAAK,MACvChZ,KAAM,IAAUgZ,MAAM,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,QAC/FpB,KAAM,IAAUiB,KAChBxV,OAAQ,IAAUyV,UAAU,CAAC,IAAUD,KAAM,IAAUxI,SACvD/M,MAAO,IAAU+M,OACjBzO,UAAW,IAAUkX,UAAU,CAAC,IAAUzI,OAAQ,IAAUxC,SAC5DuK,YAAa,IAAUS,MAEzBtB,EAAgBhH,aAAe,CAC7BT,QAAQ,EACRha,UAAW,GACXoN,KAAM,KACN4U,YAAY,EACZC,SAAS,EACTE,KAAM,KACNpT,KAAM,KACNmT,UAAU,EACVG,KAAM,KACNN,OAAO,EACPK,SAAU,KACVlY,KAAM,KACN4X,MAAM,EACNvU,QAAQ,EACRC,MAAO,GACP1B,UAAW,KACXwW,aAAa,GAEf,IAAIO,EAnLJ,SAASM,EAAQ/e,EAAemB,GAC9B,IAAI6T,EAAa9b,UAAUC,OAAS,QAAsBJ,IAAjBG,UAAU,GAAmBA,UAAU,GAAK,GAErF,GAAuB,iBAAZiI,EACT,OAAOA,EAGT,IAAIgJ,GAAYhJ,EAAQgJ,UAAY,IAAIzJ,KAAI,SAAUkG,GACpD,OAAOmY,EAAQ/e,EAAe4G,MAI5BoY,EAASzlB,OAAOiB,KAAK2G,EAAQsH,YAAc,IAAInB,QAAO,SAAUC,EAAKrM,GACvE,IAAI+F,EAAME,EAAQsH,WAAWvN,GAE7B,OAAQA,GACN,IAAK,QACHqM,EAAI0X,MAAiB,UAAIhe,SAClBE,EAAQsH,WAAkB,MACjC,MAEF,IAAK,QACHlB,EAAI0X,MAAa,MAAIpC,EAAc5b,GACnC,MAEF,QAC+B,IAAzB/F,EAAIgF,QAAQ,UAA2C,IAAzBhF,EAAIgF,QAAQ,SAC5CqH,EAAI0X,MAAM/jB,EAAI+S,eAAiBhN,EAE/BsG,EAAI0X,MAAMxC,EAASvhB,IAAQ+F,EAKjC,OAAOsG,IACN,CACD0X,MAAO,KAGLC,EAAoBlK,EAAW1O,MAC/B6Y,OAAsC,IAAtBD,EAA+B,GAAKA,EACpDxZ,EAAYkW,EAAyB5G,EAAY,CAAC,UAKtD,OAHAgK,EAAOC,MAAa,MAAIvD,EAAe,GAAIsD,EAAOC,MAAa,MAAG,GAAIE,GAG/Dnf,EAAcgT,WAAM,EAAQ,CAAC7R,EAAQmJ,IAAKoR,EAAe,GAAIsD,EAAOC,MAAO,GAAIvZ,IAAYlI,OAAOye,EAAmB9R,MAqInGiV,KAAK,KAAM,IAAMpf,gB,qBC3X5C,IAAI1F,EAAqB,EAAQ,QAG7B+kB,EAFc,EAAQ,QAEG7hB,OAAO,SAAU,aAI9CrF,EAAQwB,EAAIJ,OAAO+lB,qBAAuB,SAA6B7kB,GACrE,OAAOH,EAAmBG,EAAG4kB,K,uBCR/B,IAAIlH,EAAc,EAAQ,QACtBtd,EAAuB,EAAQ,QAC/B0kB,EAAW,EAAQ,QACnBC,EAAa,EAAQ,QAIzBtnB,EAAOC,QAAUggB,EAAc5e,OAAO8Z,iBAAmB,SAA0B5Y,EAAGglB,GACpFF,EAAS9kB,GAKT,IAJA,IAGIS,EAHAV,EAAOglB,EAAWC,GAClBtmB,EAASqB,EAAKrB,OACdwM,EAAQ,EAELxM,EAASwM,GAAO9K,EAAqBlB,EAAEc,EAAGS,EAAMV,EAAKmL,KAAU8Z,EAAWvkB,IACjF,OAAOT,I,kCCZTlB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAETlF,EAAQiiB,qBAAkB,EAE1B,IAEgCtd,EAF5B4iB,GAE4B5iB,EAFQ2c,EAAQ,UAEK3c,EAAIqX,WAAarX,EAAM,CAAE,QAAWA,GAEzF,IAAIsd,EAAkB,CACpBzC,GAAI+H,EAAU,QAAYvJ,OAAOwJ,WACjCvW,MAAOsW,EAAU,QAAYvJ,OAC7Bva,UAAW8jB,EAAU,QAAYvJ,OACjCyB,UAAW8H,EAAU,QAAYf,KACjCxU,SAAUuV,EAAU,QAAYE,MAElCznB,EAAQiiB,gBAAkBA,G,qBChBH,EAAQ,OAE/ByF,CAAiB,S,qBCJjB,IAAIjnB,EAAS,EAAQ,QAErBV,EAAOC,QAAUS,G,qBCFjB,IAAI8f,EAAQ,EAAQ,QAChBvd,EAAU,EAAQ,QAElB+S,EAAQ,GAAGA,MAGfhW,EAAOC,QAAUugB,GAAM,WAGrB,OAAQnf,OAAO,KAAKF,qBAAqB,MACtC,SAAUjB,GACb,MAAsB,UAAf+C,EAAQ/C,GAAkB8V,EAAMzU,KAAKrB,EAAI,IAAMmB,OAAOnB,IAC3DmB,Q,qBCZJ,IAAIumB,EAAkB,EAAQ,QAC1BhR,EAAS,EAAQ,QACjBjU,EAAuB,EAAQ,QAE/BklB,EAAcD,EAAgB,eAC9BE,EAAiB5kB,MAAM4B,UAIQjE,MAA/BinB,EAAeD,IACjBllB,EAAqBlB,EAAEqmB,EAAgBD,EAAa,CAClD7iB,cAAc,EACdG,MAAOyR,EAAO,QAKlB5W,EAAOC,QAAU,SAAU+C,GACzB8kB,EAAeD,GAAa7kB,IAAO,I,qBClBrC,IAAIwd,EAAQ,EAAQ,QAEpBxgB,EAAOC,UAAYoB,OAAOgE,wBAA0Bmb,GAAM,WAGxD,OAAQ4B,OAAOhiB,c,kCCHjBiB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GASf3E,EAAiB,SAAI,EAAIygB,EAAuB,SADnC,IAEb1gB,EAAOC,QAAUA,EAAiB,S,qBClBlC,IAAImgB,EAAkB,EAAQ,QAC1B7B,EAAW,EAAQ,QACnBwJ,EAAkB,EAAQ,QAG1BC,EAAe,SAAUC,GAC3B,OAAO,SAAUC,EAAOC,EAAIC,GAC1B,IAGIjjB,EAHA5C,EAAI6d,EAAgB8H,GACpBjnB,EAASsd,EAAShc,EAAEtB,QACpBwM,EAAQsa,EAAgBK,EAAWnnB,GAIvC,GAAIgnB,GAAeE,GAAMA,GAAI,KAAOlnB,EAASwM,GAG3C,IAFAtI,EAAQ5C,EAAEkL,OAEGtI,EAAO,OAAO,OAEtB,KAAMlE,EAASwM,EAAOA,IAC3B,IAAKwa,GAAexa,KAASlL,IAAMA,EAAEkL,KAAW0a,EAAI,OAAOF,GAAexa,GAAS,EACnF,OAAQwa,IAAgB,IAI9BjoB,EAAOC,QAAU,CAGfooB,SAAUL,GAAa,GAGvBhgB,QAASggB,GAAa,K,qBC9BxB,IAAIxJ,EAAY,EAAQ,QAEpB4E,EAAMthB,KAAKshB,IAIfpjB,EAAOC,QAAU,SAAUqoB,GACzB,OAAOA,EAAW,EAAIlF,EAAI5E,EAAU8J,GAAW,kBAAoB,I,sBCPrE,wEACIxN,EAAQ3Y,SAAS2C,UAAUgW,MAgB/B,SAASyN,EAAQ9kB,EAAI+kB,GACnB5mB,KAAK6mB,IAAMhlB,EACX7B,KAAK8mB,SAAWF,EAhBlBvoB,EAAQkL,WAAa,WACnB,OAAO,IAAIod,EAAQzN,EAAMvZ,KAAK4J,WAAYwd,EAAO3nB,WAAY4nB,eAG/D3oB,EAAQ4oB,YAAc,WACpB,OAAO,IAAIN,EAAQzN,EAAMvZ,KAAKsnB,YAAaF,EAAO3nB,WAAY8nB,gBAGhE7oB,EAAQ2oB,aAAe3oB,EAAQ6oB,cAAgB,SAAUC,GACnDA,GACFA,EAAQC,SASZT,EAAQzjB,UAAUmkB,MAAQV,EAAQzjB,UAAUwhB,IAAM,aAElDiC,EAAQzjB,UAAUkkB,MAAQ,WACxBpnB,KAAK8mB,SAASnnB,KAAKonB,EAAO/mB,KAAK6mB,MAIjCxoB,EAAQipB,OAAS,SAAUC,EAAMC,GAC/BR,aAAaO,EAAKE,gBAClBF,EAAKG,aAAeF,GAGtBnpB,EAAQspB,SAAW,SAAUJ,GAC3BP,aAAaO,EAAKE,gBAClBF,EAAKG,cAAgB,GAGvBrpB,EAAQupB,aAAevpB,EAAQwpB,OAAS,SAAUN,GAChDP,aAAaO,EAAKE,gBAClB,IAAID,EAAQD,EAAKG,aAEbF,GAAS,IACXD,EAAKE,eAAiBle,YAAW,WAC3Bge,EAAKO,YAAYP,EAAKO,eACzBN,KAKP,EAAQ,QAKRnpB,EAAQiL,aAA+B,oBAAThJ,MAAwBA,KAAKgJ,mBAAkC,IAAXxK,GAA0BA,EAAOwK,cAAgBtJ,MAAQA,KAAKsJ,aAChJjL,EAAQ0pB,eAAiC,oBAATznB,MAAwBA,KAAKynB,qBAAoC,IAAXjpB,GAA0BA,EAAOipB,gBAAkB/nB,MAAQA,KAAK+nB,iB,yCCzDtJ,IAAI1O,EAAiB,GAAGA,eAExBjb,EAAOC,QAAU,SAAUC,EAAI8C,GAC7B,OAAOiY,EAAe1Z,KAAKrB,EAAI8C,K,kCCDjC3B,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAoDTlF,EAAiB,QAlDJ,CACX2pB,QAAS,SAAiBvK,GACxB,MAAO,CACLzC,SAAU,QACViN,OAAQ,IACR3Z,MAAO,OACPC,OAAQ,OACRyN,WAAY,qBACZpG,QAAS6H,EAAS,EAAI,EACtBuB,aAAcvB,EAAS,GAAK,0BAC5BwB,YAAaxB,EAAS,GAAK,0BAC3ByB,WAAYzB,EAAS,GAAK,0BAC1B0B,gBAAiB1B,EAAS,GAAK,0BAC/B7P,UAAW6P,EAAS,GAAK,0BACzB6B,WAAY7B,EAAS,eAAiB,oCAG1CyK,SAAU,SAAkBzK,EAAQnP,EAAOgN,GACzC,MAAO,CACLN,SAAU,QACVM,MAAOA,EAAQ,EAAI,UACnB2M,OAAQ,KACR3Z,MAAOA,EACPC,OAAQ,OACRyQ,aAAcvB,EAAS,GAAKnC,EAAQ,0BAA4B,2BAChE2D,YAAaxB,EAAS,GAAKnC,EAAQ,0BAA4B,2BAC/D4D,WAAYzB,EAAS,GAAKnC,EAAQ,0BAA4B,2BAC9D6D,gBAAiB1B,EAAS,GAAKnC,EAAQ,0BAA4B,2BACnE1N,UAAW6P,EAAS,GAAKnC,EAAQ,0BAA4B,2BAC7DgE,WAAY,aAGhB6I,KAAM,WACJ,MAAO,CACL5Z,OAAQ,OACR6Z,UAAW,aACX3I,SAAU,SAGd4I,SAAU,WACR,MAAO,CACL9Z,OAAQ,SAGZgZ,KAAM,WACJ,MAAO,CACLe,QAAS,WAKflqB,EAAOC,QAAUA,EAAiB,S,kCCxDlC,wCAkBO,SAASkqB,EAAgBpmB,EAAuB+b,EAA+B9b,EAA+DomB,GACnJ,OAAO,SAACC,GACN,OAAOA,EAAKC,gBAAgBC,MACzB/hB,KAAI,qBAAEkf,QACNniB,OAAOvB,GACPwE,KAAI,SAAAjF,GACH,MAAsB,WAAlBA,EAASkX,KAET,sBAAIzX,IAAKO,EAASinB,KAAM9mB,UAAU,WAAW4Z,QAAS8M,GACpD,gBAAC,aAAD,CAAY1mB,UAAS,YAAcK,EAAd,KAA+BR,EAASknB,WAAa3K,EAAwB,IAAMJ,WAAW,EAAMD,GAAIlc,EAASinB,KAAMtZ,MAAO3N,EAASiT,MAAOjT,EAASiT,OAGrJ,aAAlBjT,EAASkX,KAEhB,sBAAIzX,IAAKO,EAASinB,KAAM9mB,UAAU,WAAW4Z,QAAS8M,GACpD,gBAAC,OAAD,CAAM1mB,UAAS,YAAcK,EAAd,KAA+BR,EAASknB,WAAa3K,EAAwB,IAAML,GAAIlc,EAASinB,KAAMtZ,MAAO3N,EAASiT,MAAOjT,EAASiT,OAG9H,aAAlBjT,EAASkX,KAEhB,sBAAIzX,IAAKO,EAASinB,KAAM9mB,UAAU,WAAW4Z,QAAS8M,GACpD,qBAAG1mB,UAAS,YAAcK,EAAd,KAA+BR,EAASknB,WAAa3K,EAAwB,IAAMvb,KAAMhB,EAASinB,KAAMtZ,MAAO3N,EAASiT,MAAOjT,EAASiT,YAHnJ,MAuCAkU,IA5B4J,SAAC,GAKtK,IAJJ3mB,EAII,EAJJA,cACA+b,EAGI,EAHJA,sBACA9b,EAEI,EAFJA,eACAC,EACI,EADJA,eAEA,OACE,gBAAC,cAAD,CACE0mB,MAAK,aAeLnnB,OAAQ2mB,EAAgBpmB,EAAc+b,EAAuB9b,EAAgBC,O,qBCtEnF,IAAI2mB,EAAU,EAAQ,QAClBC,EAAQ,EAAQ,SAEnB7qB,EAAOC,QAAU,SAAU+C,EAAKmC,GAC/B,OAAO0lB,EAAM7nB,KAAS6nB,EAAM7nB,QAAiBnC,IAAVsE,EAAsBA,EAAQ,MAChE,WAAY,IAAIkB,KAAK,CACtBykB,QAAS,QACTC,KAAMH,EAAU,OAAS,SACzBI,UAAW,0C,qBCRb,IAAI7I,EAAa,EAAQ,QACrB8I,EAA4B,EAAQ,QACpCC,EAA8B,EAAQ,QACtC7D,EAAW,EAAQ,QAGvBrnB,EAAOC,QAAUkiB,EAAW,UAAW,YAAc,SAAiBjiB,GACpE,IAAIoC,EAAO2oB,EAA0BxpB,EAAE4lB,EAASnnB,IAC5CmF,EAAwB6lB,EAA4BzpB,EACxD,OAAO4D,EAAwB/C,EAAKgD,OAAOD,EAAsBnF,IAAOoC,I,oCCH1E,SAAS0Z,EAAuBpX,GAC9B,OAAOA,GAAOA,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GANfvD,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IAEIgmB,EAAoBnP,EAFD,EAAQ,SAM3B0E,EAAgB1E,EAFD,EAAQ,SAIvByF,EAAS,EAAQ,QAGjBvX,EAAS,CACXkhB,IAAK,CACHC,IAAKF,EAA2B,QAChCG,YAAa,kEACbC,SAAU,4IACVC,QAAS,SAAiB/qB,GACxB,IAAIgrB,EAAM,EACNC,EAAQ9pB,KAAK2pB,SAASvV,MAAM,KAC5B2V,EAAaD,EAAMzqB,OACnB2qB,EAAO3pB,OAAO2pB,MAEH,SAASC,IAClBJ,EAAME,EAAa,IACvBlrB,EAAK+qB,QAAQ,CACX/qB,KAAMirB,EAAMD,IACH,IAARA,EAAY,IAAM,IAAa,IAARA,EAAYG,EAAKE,OAASF,EAAKG,SAAS,WAChEF,OAEFJ,KAGFI,KAGJG,WAAY,SAAoB3M,EAAQnP,EAAOgN,GAC7C,MAAO,CACLN,SAAU,WACV1M,MAAO,OACPC,OAAQ,OACR+M,MAAOA,EAAQ,UAAY,EAC3BK,KAAML,EAAQ,EAAI,UAClB0D,aAAc1D,EAAQ,kBAAoB,gBAC1C2D,YAAa3D,EAAQ,kBAAoB,gBACzC4D,WAAY5D,EAAQ,kBAAoB,gBACxC6D,gBAAiB7D,EAAQ,kBAAoB,gBAC7C1N,UAAW0N,EAAQ,kBAAoB,kBAG3C4M,SAAU,SAAkBzK,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACpF2D,YAAaxB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACnF4D,WAAYzB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BAClF6D,gBAAiB1B,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACvF1N,UAAW6P,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACjFgE,WAAY7B,EAAS,oBAAsB,mBAG/C0K,KAAM,SAAc1K,EAAQnP,EAAOgN,GACjC,IAAI+O,GAAa,EAAIxK,EAAOyK,SAAShc,GAlDtB,IAmDf,MAAO,CACL0M,SAAU,QACVgE,aAAcvB,EAAS,GAAKnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC7GpL,YAAaxB,EAAS,GAAKnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC5GnL,WAAYzB,EAAS,GAAKnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC3GlL,gBAAiB1B,EAAS,GAAKnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAChHzc,UAAW6P,EAAS,GAAKnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC1G/K,WAAY7B,EAAS,2GAA6G,uGAClI7H,QAAS6H,EAAS,EAAI,IAG1B8J,KAAM,SAAc9J,EAAQnP,EAAOgN,EAAOiP,GACxC,IAAIF,GAAa,EAAIxK,EAAOyK,SAAShc,GA/DtB,IAgEf,MAAO,CACL0Q,aAAcvB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UACjIpL,YAAaxB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAChInL,WAAYzB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC/HlL,gBAAiB1B,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UACpIzc,UAAW6P,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC9H/K,WAAY7B,EAAS,yCAA2C,uGAChE7H,QAAS6H,EAAS,EAAI,IAG1B+M,YAAa,SAAqB/M,EAAQnP,EAAOgN,GAC/C,IAAI+O,GAAa,EAAIxK,EAAOyK,SAAShc,GA3EtB,IA4Ef,MAAO,CACL0Q,aAAcvB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UACjIpL,YAAaxB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAChInL,WAAYzB,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC/HlL,gBAAiB1B,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UACpIzc,UAAW6P,EAAS,uBAAyBnC,EAAQ,eAAiB+O,EAAa,UAAY,gBAAkBA,EAAa,UAC9H/K,WAAY7B,EAAS,2GAA6G,uGAClI7H,QAAS6H,EAAS,EAAI,KAI5Bpf,EAAiB,SAAI,EAAIygB,EAAuB,SAAGxW,GACnDlK,EAAOC,QAAUA,EAAiB,S,mBC9GlCD,EAAOC,QAAU,SAAUosB,EAAQlnB,GACjC,MAAO,CACLtD,aAAuB,EAATwqB,GACdrnB,eAAyB,EAATqnB,GAChBpnB,WAAqB,EAATonB,GACZlnB,MAAOA,K,sBCLX,6BACE,aAEA,IAAIzE,EAAOwK,aAAX,CAIA,IAKIohB,EA6IE5T,EAbA6T,EApBAC,EAEAC,EAnHFC,EAAa,EAEbC,EAAgB,GAChBC,GAAwB,EACxBC,EAAMnsB,EAAOsG,SAuKb8lB,EAAWzrB,OAAO0a,gBAAkB1a,OAAO0a,eAAerb,GAC9DosB,EAAWA,GAAYA,EAAS3hB,WAAa2hB,EAAWpsB,EAEf,qBAArC,GAAGyjB,SAAS5iB,KAAKb,EAAOqK,SAzF1BuhB,EAAoB,SAA2BS,GAC7ChiB,EAAQiiB,UAAS,WACfC,EAAaF,QAKnB,WAGE,GAAIrsB,EAAOwsB,cAAgBxsB,EAAOysB,cAAe,CAC/C,IAAIC,GAA4B,EAC5BC,EAAe3sB,EAAO4sB,UAQ1B,OANA5sB,EAAO4sB,UAAY,WACjBF,GAA4B,GAG9B1sB,EAAOwsB,YAAY,GAAI,KACvBxsB,EAAO4sB,UAAYD,EACZD,GAwEAG,GAGA7sB,EAAO8sB,iBA/CZjB,EAAU,IAAIiB,gBAEVC,MAAMH,UAAY,SAAU/N,GAElC0N,EADa1N,EAAM8K,OAIrBiC,EAAoB,SAA2BS,GAC7CR,EAAQmB,MAAMR,YAAYH,KA0CnBF,GAAO,uBAAwBA,EAAI/kB,cAAc,WArCtD4Q,EAAOmU,EAAIllB,gBAEf2kB,EAAoB,SAA2BS,GAG7C,IAAIY,EAASd,EAAI/kB,cAAc,UAE/B6lB,EAAOC,mBAAqB,WAC1BX,EAAaF,GACbY,EAAOC,mBAAqB,KAC5BlV,EAAKmV,YAAYF,GACjBA,EAAS,MAGXjV,EAAKoV,YAAYH,KAKnBrB,EAAoB,SAA2BS,GAC7C5hB,WAAW8hB,EAAc,EAAGF,KArD1BP,EAAgB,gBAAkB1qB,KAAKiN,SAAW,IAElD0d,EAAkB,SAAyBlN,GACzCA,EAAM1c,SAAWnC,GAAgC,iBAAf6e,EAAM8K,MAA2D,IAAtC9K,EAAM8K,KAAKriB,QAAQwkB,IAClFS,GAAc1N,EAAM8K,KAAKjU,MAAMoW,EAAcvrB,UAI7CP,EAAOmH,iBACTnH,EAAOmH,iBAAiB,UAAW4kB,GAAiB,GAEpD/rB,EAAOqtB,YAAY,YAAatB,GAGlCH,EAAoB,SAA2BS,GAC7CrsB,EAAOwsB,YAAYV,EAAgBO,EAAQ,OA+D/CD,EAAS5hB,aAxLT,SAAsBK,GAEI,mBAAbA,IACTA,EAAW,IAAIpJ,SAAS,GAAKoJ,IAM/B,IAFA,IAAI8G,EAAO,IAAInP,MAAMlC,UAAUC,OAAS,GAE/B8B,EAAI,EAAGA,EAAIsP,EAAKpR,OAAQ8B,IAC/BsP,EAAKtP,GAAK/B,UAAU+B,EAAI,GAI1B,IAAIirB,EAAO,CACTziB,SAAUA,EACV8G,KAAMA,GAIR,OAFAsa,EAAcD,GAAcsB,EAC5B1B,EAAkBI,GACXA,KAqKTI,EAASnD,eAAiBA,EAlK1B,SAASA,EAAeoD,UACfJ,EAAcI,GA8BvB,SAASE,EAAaF,GAGpB,GAAIH,EAGFzhB,WAAW8hB,EAAc,EAAGF,OACvB,CACL,IAAIiB,EAAOrB,EAAcI,GAEzB,GAAIiB,EAAM,CACRpB,GAAwB,EAExB,KAxCN,SAAaoB,GACX,IAAIziB,EAAWyiB,EAAKziB,SAChB8G,EAAO2b,EAAK3b,KAEhB,OAAQA,EAAKpR,QACX,KAAK,EACHsK,IACA,MAEF,KAAK,EACHA,EAAS8G,EAAK,IACd,MAEF,KAAK,EACH9G,EAAS8G,EAAK,GAAIA,EAAK,IACvB,MAEF,KAAK,EACH9G,EAAS8G,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAChC,MAEF,QACE9G,EAASuP,WA/DjB,EA+DkCzI,IAmBxB4b,CAAID,GACJ,QACArE,EAAeoD,GACfH,GAAwB,MArFlC,CAwMmB,oBAAT1qB,UAAyC,IAAXxB,EAAyBkB,KAAOlB,EAASwB,Q,kECtMjFb,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAGTlF,EAAiB,QAAI,WACnB,IAAIiuB,OAAOrtB,EAEX,IACEqtB,EAAO,EAAQ,QACf,QACA,OAAOA,IAIXluB,EAAOC,QAAUA,EAAiB,S,qBChBlC,IAAIkuB,EAAW,EAAQ,QACnBhrB,EAAU,EAAQ,QAGlBirB,EAFkB,EAAQ,OAEhBxG,CAAgB,WAI9B5nB,EAAOC,QAAU,SAAUouB,EAAeptB,GACxC,IAAIqtB,EASF,OAREnrB,EAAQkrB,KAGM,mBAFhBC,EAAID,EAAcxpB,cAEaypB,IAAMprB,QAASC,EAAQmrB,EAAExpB,WAC/CqpB,EAASG,IAEN,QADVA,EAAIA,EAAEF,MACUE,OAAIztB,GAH+CytB,OAAIztB,GAKlE,SAAWA,IAANytB,EAAkBprB,MAAQorB,GAAc,IAAXrtB,EAAe,EAAIA,K,qBClBhE,IASIstB,EAAK/V,EAAKhW,EATVgsB,EAAkB,EAAQ,QAC1B9tB,EAAS,EAAQ,QACjBytB,EAAW,EAAQ,QACnB9L,EAA8B,EAAQ,QACtCoM,EAAY,EAAQ,QACpBC,EAAY,EAAQ,QACpBvH,EAAa,EAAQ,QAErBwH,EAAUjuB,EAAOiuB,QAgBrB,GAAIH,EAAiB,CACnB,IAAI3D,EAAQ,IAAI8D,EACZC,EAAQ/D,EAAMrS,IACdqW,EAAQhE,EAAMroB,IACdssB,EAAQjE,EAAM0D,IAClBA,EAAM,SAAUruB,EAAI6uB,GAElB,OADAD,EAAMvtB,KAAKspB,EAAO3qB,EAAI6uB,GACfA,GAETvW,EAAM,SAAUtY,GACd,OAAO0uB,EAAMrtB,KAAKspB,EAAO3qB,IAAO,IAElCsC,EAAM,SAAUtC,GACd,OAAO2uB,EAAMttB,KAAKspB,EAAO3qB,QAEtB,CACL,IAAI8uB,EAAQN,EAAU,SACtBvH,EAAW6H,IAAS,EACpBT,EAAM,SAAUruB,EAAI6uB,GAElB,OADA1M,EAA4BniB,EAAI8uB,EAAOD,GAChCA,GAETvW,EAAM,SAAUtY,GACd,OAAOuuB,EAAUvuB,EAAI8uB,GAAS9uB,EAAG8uB,GAAS,IAE5CxsB,EAAM,SAAUtC,GACd,OAAOuuB,EAAUvuB,EAAI8uB,IAIzBhvB,EAAOC,QAAU,CACfsuB,IAAKA,EACL/V,IAAKA,EACLhW,IAAKA,EACLysB,QA/CY,SAAU/uB,GACtB,OAAOsC,EAAItC,GAAMsY,EAAItY,GAAMquB,EAAIruB,EAAI,KA+CnCgvB,UA5Cc,SAAUC,GACxB,OAAO,SAAUjvB,GACf,IAAI+e,EACJ,IAAKkP,EAASjuB,KAAQ+e,EAAQzG,EAAItY,IAAKua,OAAS0U,EAC9C,MAAM3oB,UAAU,0BAA4B2oB,EAAO,aACnD,OAAOlQ,M,qBCpBb,IAAIve,EAAS,EAAQ,QACjB2hB,EAA8B,EAAQ,QACtC7f,EAAM,EAAQ,QACd+f,EAAY,EAAQ,QACpB6M,EAAgB,EAAQ,QACxBC,EAAsB,EAAQ,QAE9BC,EAAmBD,EAAoB7W,IACvC+W,EAAuBF,EAAoBJ,QAC3CO,EAAWpN,OAAOA,QAAQpM,MAAM,WAEnChW,EAAOC,QAAU,SAAUsC,EAAGS,EAAKmC,EAAOud,GACzC,IAAI+M,IAAS/M,KAAYA,EAAQ+M,OAC7BC,IAAShN,KAAYA,EAAQ7gB,WAC7BohB,IAAcP,KAAYA,EAAQO,YAClB,mBAAT9d,IACS,iBAAPnC,GAAoBR,EAAI2C,EAAO,SAASkd,EAA4Bld,EAAO,OAAQnC,GAC9FusB,EAAqBpqB,GAAOtC,OAAS2sB,EAASzd,KAAmB,iBAAP/O,EAAkBA,EAAM,KAEhFT,IAAM7B,GAIE+uB,GAEAxM,GAAe1gB,EAAES,KAC3B0sB,GAAS,UAFFntB,EAAES,GAIP0sB,EAAQntB,EAAES,GAAOmC,EAChBkd,EAA4B9f,EAAGS,EAAKmC,IATnCuqB,EAAQntB,EAAES,GAAOmC,EAChBod,EAAUvf,EAAKmC,KAUrBhD,SAAS2C,UAAW,YAAY,WACjC,MAAsB,mBAARlD,MAAsB0tB,EAAiB1tB,MAAMiB,QAAUusB,EAAcxtB,U,kCC1BrF,SAASoa,EAAuBpX,GAC9B,OAAOA,GAAOA,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GANfvD,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IAEIgmB,EAAoBnP,EAFD,EAAQ,SAM3B0E,EAAgB1E,EAFD,EAAQ,SAIvByF,EAAS,EAAQ,QAGjBvX,EAAS,CACXkhB,IAAK,CACHC,IAAKF,EAA2B,QAChCG,YAAa,kFACbC,SAAU,kDACVC,QAAS,SAAiB/qB,GACxBA,EAAK+qB,QAAQ,CACX/qB,KAAMmB,KAAK2pB,UACV,IAAKtpB,OAAO2pB,KAAK+D,aAGxB3D,WAAY,SAAoB3M,EAAQnP,EAAOgN,GAC7C,MAAO,CACLN,SAAU,WACV1M,MAfkB,IAgBlBC,OAAQ,OACR+M,MAAOA,EAAQ,UAAY,EAC3BK,KAAML,EAAQ,EAAI,UAClB0D,aAAc1D,EAAQ,kBAAoB,GAC1C2D,YAAa3D,EAAQ,kBAAoB,GACzC4D,WAAY5D,EAAQ,kBAAoB,GACxC6D,gBAAiB7D,EAAQ,kBAAoB,GAC7C1N,UAAW0N,EAAQ,kBAAoB,KAG3C4M,SAAU,SAAkBzK,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACpF2D,YAAaxB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACnF4D,WAAYzB,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BAClF6D,gBAAiB1B,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACvF1N,UAAW6P,EAAS,uBAAyBnC,EAAQ,0BAA4B,2BACjFgE,WAAY,aAGhB6I,KAAM,SAAc1K,EAAQnP,EAAOgN,GACjC,MAAO,CACLN,SAAU,QACVM,MAAOA,EAAQ,EAAI,UACnBhN,OAAO,EAAIuR,EAAOyK,SAAShc,GAxCT,IAyClB0f,WAAY,SACZ5F,UAAW,aACX3I,SAAU,YAGd4I,SAAU,SAAkB5K,EAAQnP,EAAOgN,GACzC,GAAIA,EACF,MAAO,CACLN,SAAU,WACVW,KAAM,SACNrN,MAAO,OACPmR,SAAU,SAIhBV,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,4BAA8B,2BAClE2D,YAAaxB,EAAS,GAAKnC,EAAQ,4BAA8B,2BACjE4D,WAAYzB,EAAS,GAAKnC,EAAQ,4BAA8B,2BAChE6D,gBAAiB1B,EAAS,GAAKnC,EAAQ,4BAA8B,2BACrE1N,UAAW6P,EAAS,GAAKnC,EAAQ,4BAA8B,2BAC/DgE,WAAY7B,EAAS,WAAa,kBAGtC8B,eAAgB,SAAwB9B,GACtC,MAAO,CACLgC,SAAUhC,EAAS,GAAK,YAI9Bpf,EAAiB,SAAI,EAAIygB,EAAuB,SAAGxW,GACnDlK,EAAOC,QAAUA,EAAiB,S,qBC/FlCA,EAAQwB,EAAIJ,OAAOgE,uB,qBCCnBrF,EAAOC,QAAU,CACf,cACA,iBACA,gBACA,uBACA,iBACA,WACA,Y,qBCRF,IAAIF,EAAyB,EAAQ,QAIrCC,EAAOC,QAAU,SAAUqoB,GACzB,OAAOjnB,OAAOtB,EAAuBuoB,M,qBCLvC,IAAI5nB,EAAS,EAAQ,QACjB0uB,EAAgB,EAAQ,QAExBT,EAAUjuB,EAAOiuB,QAErB3uB,EAAOC,QAA6B,mBAAZ0uB,GAA0B,cAAcpkB,KAAK6kB,EAAcT,K,qBCLnF,IAmDIkB,EAnDAxI,EAAW,EAAQ,QACnBlM,EAAmB,EAAQ,QAC3B9Y,EAAc,EAAQ,QACtB8kB,EAAa,EAAQ,QACrBzO,EAAO,EAAQ,QACfoX,EAAwB,EAAQ,QAChCpB,EAAY,EAAQ,QAMpBqB,EAAWrB,EAAU,YAErBsB,EAAmB,aAEnBC,EAAY,SAAUje,GACxB,MAAOke,WAAmBle,EAAnBke,cAmCLC,EAAkB,WACpB,IAEEN,EAAkB7oB,SAASopB,QAAU,IAAIC,cAAc,YACvD,MAAO7vB,IA1BoB,IAIzB8vB,EAFAC,EAyBJJ,EAAkBN,EApCY,SAAUA,GACxCA,EAAgBW,MAAMP,EAAU,KAChCJ,EAAgB7G,QAChB,IAAIyH,EAAOZ,EAAgBa,aAAarvB,OAExC,OADAwuB,EAAkB,KACXY,EA+B6BE,CAA0Bd,KAzB1DU,EAAST,EAAsB,WAG5B1hB,MAAM8b,QAAU,OACvBxR,EAAKoV,YAAYyC,GAEjBA,EAAOK,IAAMxO,OALJ,gBAMTkO,EAAiBC,EAAOM,cAAc7pB,UACvB8pB,OACfR,EAAeE,MAAMP,EAAU,sBAC/BK,EAAetH,QACRsH,EAAeS,GAgBtB,IADA,IAAI9vB,EAASoB,EAAYpB,OAClBA,YAAiBkvB,EAAyB,UAAE9tB,EAAYpB,IAC/D,OAAOkvB,KAGThJ,EAAW4I,IAAY,EAIvB/vB,EAAOC,QAAUoB,OAAOuV,QAAU,SAAgBrU,EAAGglB,GACnD,IAAIvT,EAQJ,OAPU,OAANzR,GACFytB,EAA0B,UAAI3I,EAAS9kB,GACvCyR,EAAS,IAAIgc,EACbA,EAA0B,UAAI,KAE9Bhc,EAAO+b,GAAYxtB,GACdyR,EAASmc,SACMtvB,IAAf0mB,EAA2BvT,EAASmH,EAAiBnH,EAAQuT,K,kCC1EtElmB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAGT,IAAI4V,EAAW1Z,OAAO2Z,QAAU,SAAUpY,GACxC,IAAK,IAAIG,EAAI,EAAGA,EAAI/B,UAAUC,OAAQ8B,IAAK,CACzC,IAAIF,EAAS7B,UAAU+B,GAEvB,IAAK,IAAIC,KAAOH,EACVxB,OAAOyD,UAAUmW,eAAe1Z,KAAKsB,EAAQG,KAC/CJ,EAAOI,GAAOH,EAAOG,IAK3B,OAAOJ,GAGLsY,EAAe,WACjB,SAASC,EAAiBvY,EAAQe,GAChC,IAAK,IAAIZ,EAAI,EAAGA,EAAIY,EAAM1C,OAAQ8B,IAAK,CACrC,IAAIpB,EAAagC,EAAMZ,GACvBpB,EAAWE,WAAaF,EAAWE,aAAc,EACjDF,EAAWqD,cAAe,EACtB,UAAWrD,IAAYA,EAAWsD,UAAW,GACjD5D,OAAOyB,eAAeF,EAAQjB,EAAWqB,IAAKrB,IAIlD,OAAO,SAAUuX,EAAaE,EAAYC,GAGxC,OAFID,GAAY+B,EAAiBjC,EAAYpU,UAAWsU,GACpDC,GAAa8B,EAAiBjC,EAAaG,GACxCH,GAdQ,GAwDnB,SAAS8C,EAAuBpX,GAC9B,OAAOA,GAAOA,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA0Bf,IAAIsX,EAAS,EAAQ,QAEjBC,EAAUH,EAAuBE,GAIjCE,EAAcJ,EAFD,EAAQ,SAIrBgV,EAAa,SAAU1U,GAGzB,SAAS0U,EAAWrtB,IAjCtB,SAAyBsV,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI1S,UAAU,qCAgCpB2S,CAAgBvX,KAAMovB,GA9Ef,SAAa3V,EAAIC,EAAKC,GAGpB,IAFX,IAAIC,GAAS,EAEKA,GAAQ,CACxB,IAAIC,EAASJ,EACTK,EAAWJ,EACXK,EAAWJ,EACfC,GAAS,EACM,OAAXC,IAAiBA,EAAStZ,SAAS2C,WACvC,IAAI8W,EAAOva,OAAOD,yBAAyBqa,EAAQC,GAEnD,QAAa7a,IAAT+a,EAAJ,CAaO,GAAI,UAAWA,EACpB,OAAOA,EAAKzW,MAEZ,IAAI0W,EAASD,EAAKpD,IAElB,QAAe3X,IAAXgb,EACF,OAGF,OAAOA,EAAOta,KAAKoa,GArBnB,IAAIG,EAASza,OAAO0a,eAAeN,GAEnC,GAAe,OAAXK,EACF,OAEAT,EAAKS,EACLR,EAAMI,EACNH,EAAMI,EACNH,GAAS,EACTI,EAAOE,OAASjb,GA2DpBua,CAAK/Z,OAAO0a,eAAeiV,EAAWlsB,WAAY,cAAelD,MAAML,KAAKK,KAAM+B,GAElF/B,KAAKqd,MAAQ,CACXgS,OAAO,GAyFX,OA1HF,SAAmB1U,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIhW,UAAU,kEAAoEgW,GAG1FD,EAASzX,UAAYzD,OAAOuV,OAAO4F,GAAcA,EAAW1X,UAAW,CACrED,YAAa,CACXM,MAAOoX,EACP1a,YAAY,EACZoD,UAAU,EACVD,cAAc,KAGdwX,IAAYnb,OAAOob,eAAiBpb,OAAOob,eAAeF,EAAUC,GAAcD,EAASG,UAAYF,GAY3GG,CAAUqU,EAAY1U,GAYtBpB,EAAa8V,EAAY,CAAC,CACxBhuB,IAAK,eACLmC,MAAO,SAAsBsI,GAC3B,OAAOsN,EAAS,CACd6B,SAAU,WACVzM,OAAQ,MACRoN,KAAM,EACNL,MAAO,EACPD,IAAmB,EAARxP,EAAN,GAAmB,IACxB+J,QAAS5V,KAAKqd,MAAMgS,MAAQ,GAAM,GACjCrvB,KAAKqd,MAAMgS,OAASrvB,KAAK+B,MAAMuG,OAAOgnB,qBAE1C,CACDluB,IAAK,SACLmC,MAAO,WACL,IAAImU,EAAQ1X,KAER6Q,OAAO5R,EAeX,GAAIe,KAAK+B,MAAMkZ,WAAY,CACzB,IAAIC,EAAa,CACfpZ,WAAY,YAAc9B,KAAK+B,MAAMkZ,WAAWlZ,MAAMD,WAAa,KAAKiS,OACxEvH,MAAO2M,EAAS,CACd7K,MAAO,OACPC,OAAQ,QACPvO,KAAK+B,MAAMuG,OAAOinB,SAEvB1e,EAAO0J,EAAiB,QAAEa,aAAapb,KAAK+B,MAAMkZ,WAAYC,QAE9DrK,EAAO0J,EAAiB,QAAErU,cAAc,OAAQ,KAAM,CAAC,EAAG,EAAG,GAAGU,KAAI,SAAU4oB,GAC5E,OAAOjV,EAAiB,QAAErU,cAAc,OAAQ,CAC9C9E,IAAKouB,EACL1tB,WAAY,kBAAoB4V,EAAM3V,MAAM0tB,aAAe,KAAO/X,EAAM2F,MAAMgS,MAAQ,uBAAyB,KAAKtb,OACpHvH,MAAO2M,EAAS,GAAIzB,EAAMgY,aAAaF,GAAM9X,EAAM3V,MAAMuG,OAAOqnB,oBAKtE,OAAOpV,EAAiB,QAAErU,cAAc,MAAO,CAC7CpE,WAAY,oBAAsB9B,KAAK+B,MAAMD,WAAWiS,OACxDvH,MAAO2M,EAAS,CACd8O,OAAQ,KACPjoB,KAAK+B,MAAMuG,OAAOsnB,iBACpB/e,EAAM0J,EAAiB,QAAErU,cAAc,SAAU,CAClDwV,QAAS1b,KAAK+B,MAAM2Z,QACpBmU,YAAa,WACXnY,EAAM8F,SAAS,CACb6R,OAAO,IAGL3X,EAAM3V,MAAM+tB,mBACdpY,EAAM3V,MAAM+tB,kBAAkB,CAC5BC,WAAW,KAIjBC,WAAY,WACVtY,EAAM8F,SAAS,CACb6R,OAAO,IAGL3X,EAAM3V,MAAM+tB,mBACdpY,EAAM3V,MAAM+tB,kBAAkB,CAC5BC,WAAW,KAIjBvjB,MA9DgB,CAChBwO,SAAU,WACVW,KAAM,EACNN,IAAK,EACL/M,MAAO,OACPC,OAAQ,OACRqN,OAAQ,EACRC,QAAS,EACTC,OAAQ,OACRC,SAAU,EACVC,WAAY,cACZC,OAAQ,YAoDP,kBAIAmT,EAlGQ,CAmGf9U,EAAO6B,WAET9d,EAAiB,QAAI+wB,EACrBA,EAAWhT,UAAY,CACrBqT,aAAcjV,EAAqB,QAAE6B,OACrCpB,WAAYT,EAAqB,QAAEnT,QACnCiB,OAAQkS,EAAqB,QAAEX,QAEjCuV,EAAW7S,aAAe,CACxBkT,aAAc,GACd3tB,UAAW,GACXwG,OAAQ,IAEVlK,EAAOC,QAAUA,EAAiB,S,uBChOlC,IAAIugB,EAAQ,EAAQ,QAGpBxgB,EAAOC,SAAWugB,GAAM,WACtB,OAA8E,GAAvEnf,OAAOyB,eAAe,GAAI,EAAG,CAAE0V,IAAK,WAAc,OAAO,KAAQ,O,kCCF1EnX,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA4Bf3E,EAAiB,SAAI,EAAIygB,EAAuB,SApBnC,CACXC,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,gDAAkD,gDACtF2D,YAAaxB,EAAS,GAAKnC,EAAQ,gDAAkD,gDACrF4D,WAAYzB,EAAS,GAAKnC,EAAQ,gDAAkD,gDACpF6D,gBAAiB1B,EAAS,GAAKnC,EAAQ,gDAAkD,gDACzF1N,UAAW6P,EAAS,GAAKnC,EAAQ,gDAAkD,gDACnF+D,eAAgB,cAChBC,WAAY,WACZG,SAAUhC,EAAS,GAAK,WAG5B8B,eAAgB,SAAwB9B,GACtC,MAAO,CACL+B,YAAa,SACbC,SAAUhC,EAAS,GAAK,aAK9Brf,EAAOC,QAAUA,EAAiB,S,qBCrClC,IAAIkuB,EAAW,EAAQ,QAEvBnuB,EAAOC,QAAU,SAAUC,GACzB,IAAKiuB,EAASjuB,GACZ,MAAMsG,UAAU4b,OAAOliB,GAAM,qBAC7B,OAAOA,I,mBCLXF,EAAOC,QAAU,SAAUC,GACzB,MAAqB,iBAAPA,EAAyB,OAAPA,EAA4B,mBAAPA,I,qBCDvD,IAAI2qB,EAAQ,EAAQ,QAEhBgH,EAAmB1vB,SAASgiB,SAGE,mBAAvB0G,EAAMuE,gBACfvE,EAAMuE,cAAgB,SAAUlvB,GAC9B,OAAO2xB,EAAiBtwB,KAAKrB,KAIjCF,EAAOC,QAAU4qB,EAAMuE,e,kCCTvB/tB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAOTlF,EAAQisB,QAJM,SAAiBnjB,GAC7B,OAAO+oB,SAAS/oB,EAAIqN,MAAM,GAAI,GAAI,M,mBCPpC,IAAI3S,EAAK,EACLsuB,EAAUjwB,KAAKiN,SAEnB/O,EAAOC,QAAU,SAAU+C,GACzB,MAAO,UAAYof,YAAevhB,IAARmC,EAAoB,GAAKA,GAAO,QAAUS,EAAKsuB,GAAS5N,SAAS,M,qBCJ7F,IAAIlE,EAAc,EAAQ,QACtBtd,EAAuB,EAAQ,QAC/Bwd,EAA2B,EAAQ,QAEvCngB,EAAOC,QAAUggB,EAAc,SAAUxE,EAAQzY,EAAKmC,GACpD,OAAOxC,EAAqBlB,EAAEga,EAAQzY,EAAKmd,EAAyB,EAAGhb,KACrE,SAAUsW,EAAQzY,EAAKmC,GAEzB,OADAsW,EAAOzY,GAAOmC,EACPsW,I,qBCRT,IAAI+E,EAAQ,EAAQ,QAEhBwR,EAAc,kBAEdvP,EAAW,SAAUwP,EAASC,GAChC,IAAI/sB,EAAQklB,EAAK8H,EAAUF,IAC3B,OAAO9sB,GAASitB,GACZjtB,GAASktB,IACW,mBAAbH,EAA0B1R,EAAM0R,KACrCA,IAGJC,EAAY1P,EAAS0P,UAAY,SAAUlU,GAC7C,OAAOmE,OAAOnE,GAAQ/O,QAAQ8iB,EAAa,KAAKjc,eAG9CsU,EAAO5H,EAAS4H,KAAO,GACvBgI,EAAS5P,EAAS4P,OAAS,IAC3BD,EAAW3P,EAAS2P,SAAW,IAEnCpyB,EAAOC,QAAUwiB,G,uBCpBjB,IAAIxC,EAAc,EAAQ,QACtBK,EAAiB,EAAQ,QACzB+G,EAAW,EAAQ,QACnBhH,EAAc,EAAQ,QAEtBiS,EAAuBjxB,OAAOyB,eAIlC7C,EAAQwB,EAAIwe,EAAcqS,EAAuB,SAAwB/vB,EAAGqK,EAAG2lB,GAI7E,GAHAlL,EAAS9kB,GACTqK,EAAIyT,EAAYzT,GAAG,GACnBya,EAASkL,GACLjS,EAAgB,IAClB,OAAOgS,EAAqB/vB,EAAGqK,EAAG2lB,GAClC,MAAO/xB,IACT,GAAI,QAAS+xB,GAAc,QAASA,EAAY,MAAM/rB,UAAU,2BAEhE,MADI,UAAW+rB,IAAYhwB,EAAEqK,GAAK2lB,EAAWptB,OACtC5C,I,kCChBTlB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAETlF,EAAiB,QAAI,CACnBuyB,MAAO,EAAQ,QACf9b,MAAO,EAAQ,QACfqV,QAAS,EAAQ,QACjB0G,OAAQ,EAAQ,QAChBpsB,KAAM,EAAQ,QACdqsB,WAAY,EAAQ,QACpBC,UAAW,EAAQ,QACnBC,YAAa,EAAQ,QACrBC,SAAU,EAAQ,QAClBC,OAAQ,EAAQ,SAElB9yB,EAAOC,QAAUA,EAAiB,S,kCCflCoB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAET9D,OAAOyB,eAAe7C,EAAS,aAAc,CAC3C4B,YAAY,EACZ2W,IAAK,WACH,OAAOua,EAAYzR,cAIvB,IAAIyR,EAAcxR,EAAQ,S,uBCZ1B,MAkBWyR,EASLC,EACAC,EARA1wB,EACA2wB,EACAC,EAEAC,EAKAC,EAGAC,EAOAC,EASAC,EACAC,EACAvwB,EAaJwwB,EA7CSX,EAwfS,oBAAV/wB,OAAwBA,OAASL,KAtfrCY,EAAM,iBACN2wB,EAAY,SACZC,EAAgB,UAEhBC,EAAU,SAAiBnf,EAAGC,GAChC,OAAOD,EAAIC,GAITmf,EAAS,CACX7qB,EAAG,IAED8qB,EAAe,WACjB,IAAK,IAAIxwB,EAAI,EAAG6wB,EAAKhyB,KAAKX,OAAQ8B,EAAI6wB,EAAI7wB,IACxC,QAAsB,IAAXnB,KAAKmB,GACd,OAAOnB,KAAKmB,IAIdywB,EAAc,WAGhB,IAFA,IAAIzwB,EAAInB,KAAKX,SAEJ8B,GACP,QAAsB,IAAXnB,KAAKmB,GACd,OAAOnB,KAAKmB,IAId0wB,EAASpyB,OAAOyD,UAAUqf,SAC1BuP,EAAMtR,OACNjf,EAAUD,MAAMC,SAAW,SAAU0wB,GACvC,OAAOA,aAAc3wB,OAA4B,kBAAnBuwB,EAAOlyB,KAAKsyB,KAY5CF,EAAM,SAASA,EAAInd,EAAMmS,GACvB,IAIImL,EAJAC,EAAUb,EACV7gB,EAAOnP,MAAM4B,UAAUsR,MAAM7U,KAAKP,UAAW,GAC7CgzB,EAAYL,EAAIK,UAAUxd,GAC1Byd,EAAI,EAEJC,EAAU,GACVC,EAAQ,GACRC,EAAM,GACNC,EAAKpB,EACTmB,EAAIb,aAAeA,EACnBa,EAAIZ,YAAcA,EAClBP,EAAgBzc,EAChB0c,EAAO,EAEP,IAAK,IAAInwB,EAAI,EAAG6wB,EAAKI,EAAU/yB,OAAQ8B,EAAI6wB,EAAI7wB,IACzC,WAAYixB,EAAUjxB,KACxBmxB,EAAQ7tB,KAAK2tB,EAAUjxB,GAAG8mB,QAEtBmK,EAAUjxB,GAAG8mB,OAAS,IACxBsK,EAAMH,EAAUjxB,GAAG8mB,QAAUmK,EAAUjxB,KAO7C,IAFAmxB,EAAQI,KAAKjB,GAENa,EAAQD,GAAK,GAIlB,GAHAH,EAAIK,EAAMD,EAAQD,MAClBG,EAAI/tB,KAAKytB,EAAEhZ,MAAM6N,EAAOtW,IAEpB6gB,EAEF,OADAA,EAAOa,EACAK,EAIX,IAAKrxB,EAAI,EAAGA,EAAI6wB,EAAI7wB,IAGlB,GAAI,WAFJ+wB,EAAIE,EAAUjxB,IAGZ,GAAI+wB,EAAEjK,QAAUqK,EAAQD,GAAI,CAG1B,GAFAG,EAAI/tB,KAAKytB,EAAEhZ,MAAM6N,EAAOtW,IAEpB6gB,EACF,MAGF,GAKE,IAHAY,EAAIK,EAAMD,IADVD,MAEKG,EAAI/tB,KAAKytB,EAAEhZ,MAAM6N,EAAOtW,IAEzB6gB,EACF,YAEKY,QAETK,EAAML,EAAEjK,QAAUiK,OAKpB,GAFAM,EAAI/tB,KAAKytB,EAAEhZ,MAAM6N,EAAOtW,IAEpB6gB,EACF,MAON,OAFAA,EAAOa,EACPd,EAAgBoB,EACTD,IAILG,QAAUjB,EASdK,EAAIK,UAAY,SAAUxd,GACxB,IAEI2S,EACAqL,EACAC,EACA1xB,EACA6wB,EACAc,EACAC,EACAC,EATAC,EAAQ1xB,EAAQqT,GAAQA,EAAOA,EAAKR,MAAMmd,GAC1ChsB,EAAImsB,EASJwB,EAAK,CAAC3tB,GACNitB,EAAM,GAEV,IAAKrxB,EAAI,EAAG6wB,EAAKiB,EAAM5zB,OAAQ8B,EAAI6wB,EAAI7wB,IAAK,CAG1C,IAFA6xB,EAAM,GAEDF,EAAI,EAAGC,EAAKG,EAAG7zB,OAAQyzB,EAAIC,EAAID,IAKlC,IAHAF,EAAQ,EADRrtB,EAAI2tB,EAAGJ,GAAGjsB,GACCosB,EAAM9xB,IAAKoE,EA/Ib,MAgJTstB,EAAI,EAEGA,MACLtL,EAAOqL,EAAMC,MAGXG,EAAIvuB,KAAK8iB,GACTiL,EAAMA,EAAI9uB,OAAO6jB,EAAK1nB,GAAK,KAKjCqzB,EAAKF,EAGP,OAAOR,GAYTT,EAAIR,UAAY,SAAU4B,GACpBA,GAEFA,EAAM,KADNA,EAAMrB,EAAIqB,GAAK7lB,QAAQ,oBAAqB,OAC1B,IAClBikB,EAAY,IAAIlb,OAAO8c,IAEvB5B,EAAY,UA8BhBQ,EAAIqB,GAAK,SAAUxe,EAAM/U,GACvB,GAAgB,mBAALA,EACT,OAAO,aAKT,IAFA,IAAIozB,EAAQ1xB,EAAQqT,GAAQrT,EAAQqT,EAAK,IAAMA,EAAO,CAACA,GAAQkd,EAAIld,GAAMR,MAAMod,GAEtErwB,EAAI,EAAG6wB,EAAKiB,EAAM5zB,OAAQ8B,EAAI6wB,EAAI7wB,KACzC,SAAWyT,GAKT,IAJA,IAEIye,EAFAJ,EAAQ1xB,EAAQqT,GAAQA,EAAOkd,EAAIld,GAAMR,MAAMmd,GAC/ChsB,EAAImsB,EAGCvwB,EAAI,EAAG6wB,EAAKiB,EAAM5zB,OAAQ8B,EAAI6wB,EAAI7wB,IAEzCoE,GADAA,EAAIA,EAAEsB,GACAwS,eAAe4Z,EAAM9xB,KAAOoE,EAAE0tB,EAAM9xB,MAAQoE,EAAE0tB,EAAM9xB,IAAM,CAC9D0F,EAAG,KAMP,IAFAtB,EAAE1F,EAAI0F,EAAE1F,GAAK,GAERsB,EAAI,EAAG6wB,EAAKzsB,EAAE1F,EAAER,OAAQ8B,EAAI6wB,EAAI7wB,IACnC,GAAIoE,EAAE1F,EAAEsB,IAAMtB,EAAG,CACfwzB,GAAQ,EACR,OAIHA,GAAS9tB,EAAE1F,EAAE4E,KAAK5E,GArBrB,CAsBGozB,EAAM9xB,IAGX,OAAO,SAAU8mB,IACVA,IAAWA,IACdpoB,EAAEooB,QAAUA,KAqBlB8J,EAAIlyB,EAAI,SAAU8d,GAChB,IAAIwH,EAAQ,GAAG3Q,MAAM7U,KAAKP,UAAW,GACrC,OAAO,WACL2yB,EAAI7Y,MAAM,KAAM,CAACyE,EAAO,MAAMja,OAAOyhB,GAAOzhB,OAAO,GAAG8Q,MAAM7U,KAAKP,UAAW,OAWhF2yB,EAAIT,KAAO,WACTA,EAAO,GAgBTS,EAAIuB,GAAK,SAAUC,GACjB,IAAIC,EAAMjyB,EAAQ8vB,GAAiBA,EAAclhB,KAAK,KAAOkhB,EAE7D,OAAIkC,EACK,IAAIld,OAAO,gBAAkBkd,EAAU,iBAAiB5qB,KAAK6qB,GAG/DA,GAaTzB,EAAI0B,IAAM,WACR,OAAOlyB,EAAQ8vB,GAAiBA,EAAgBA,EAAcjd,MAAMmd,IAqBtEQ,EAAI2B,IAAM3B,EAAI4B,OAAS,SAAU/e,EAAM/U,GACrC,GAAK+U,EAAL,CAOA,IAAIqe,EAAQ1xB,EAAQqT,GAAQrT,EAAQqT,EAAK,IAAMA,EAAO,CAACA,GAAQkd,EAAIld,GAAMR,MAAMod,GAE/E,GAAIyB,EAAM5zB,OAAS,EACjB,IAAK,IAAI8B,EAAI,EAAG6wB,EAAKiB,EAAM5zB,OAAQ8B,EAAI6wB,EAAI7wB,IACzC4wB,EAAI2B,IAAIT,EAAM9xB,GAAItB,OAFtB,CAQAozB,EAAQ1xB,EAAQqT,GAAQA,EAAOkd,EAAIld,GAAMR,MAAMmd,GAC/C,IAAIhsB,EACAnE,EACAwyB,EAGAd,EACAC,EACAS,EAAM,CAAC9B,GACPmC,EAAS,GAEb,IAAK1yB,EAAI,EAAG6wB,EAAKiB,EAAM5zB,OAAQ8B,EAAI6wB,EAAI7wB,IACrC,IAAK2xB,EAAI,EAAGA,EAAIU,EAAIn0B,OAAQyzB,GAAKc,EAAOv0B,OAAS,EAAG,CAIlD,GAHAu0B,EAAS,CAACd,EAAG,GACbvtB,EAAIiuB,EAAIV,GAAGjsB,EAhXF,KAkXLosB,EAAM9xB,GACJoE,EAAE0tB,EAAM9xB,MACVyyB,EAAOnvB,KAAKc,EAAE0tB,EAAM9xB,KACpB0yB,EAAOC,QAAQ,CACbjtB,EAAGtB,EACHqP,KAAMqe,EAAM9xB,WAIhB,IAAKC,KAAOmE,EACNA,EAAE3E,GAAKQ,KACTwyB,EAAOnvB,KAAKc,EAAEnE,IACdyyB,EAAOC,QAAQ,CACbjtB,EAAGtB,EACHqP,KAAMxT,KAMdoyB,EAAII,OAAO1a,MAAMsa,EAAKI,GAI1B,IAAKzyB,EAAI,EAAG6wB,EAAKwB,EAAIn0B,OAAQ8B,EAAI6wB,EAAI7wB,IAGnC,IAFAoE,EAAIiuB,EAAIryB,GAEDoE,EAAEsB,GAAG,CACV,GAAIhH,EAAG,CACL,GAAI0F,EAAE1F,EAAG,CACP,IAAKizB,EAAI,EAAGC,EAAKxtB,EAAE1F,EAAER,OAAQyzB,EAAIC,EAAID,IACnC,GAAIvtB,EAAE1F,EAAEizB,IAAMjzB,EAAG,CACf0F,EAAE1F,EAAE+zB,OAAOd,EAAG,GACd,OAIHvtB,EAAE1F,EAAER,eAAiBkG,EAAE1F,EAG1B,IAAKuB,KAAOmE,EAAEsB,EACZ,GAAItB,EAAEsB,EAAEjG,GAAKQ,IAAQmE,EAAEsB,EAAEzF,GAAKvB,EAAG,CAC/B,IAAIk0B,EAAQxuB,EAAEsB,EAAEzF,GAAKvB,EAErB,IAAKizB,EAAI,EAAGC,EAAKgB,EAAM10B,OAAQyzB,EAAIC,EAAID,IACrC,GAAIiB,EAAMjB,IAAMjzB,EAAG,CACjBk0B,EAAMH,OAAOd,EAAG,GAChB,OAIHiB,EAAM10B,eAAiBkG,EAAEsB,EAAEzF,GAAKvB,QAMrC,IAAKuB,YAFEmE,EAAE1F,EAEG0F,EAAEsB,EACRtB,EAAEsB,EAAEjG,GAAKQ,IAAQmE,EAAEsB,EAAEzF,GAAKvB,UACrB0F,EAAEsB,EAAEzF,GAAKvB,EAKtB0F,EAAIA,EAAEsB,EAKVmtB,EAAO,IAAK7yB,EAAI,EAAG6wB,EAAK6B,EAAOx0B,OAAQ8B,EAAI6wB,EAAI7wB,IAAK,CAGlD,IAAKC,KAFLmE,EAAIsuB,EAAO1yB,IAEG0F,EAAEtB,EAAEqP,MAAM/U,EAEtB,SAASm0B,EAGX,IAAK5yB,KAAOmE,EAAEsB,EAAEtB,EAAEqP,MAAM/N,EAEtB,SAASmtB,SAIJzuB,EAAEsB,EAAEtB,EAAEqP,aAnHbmd,EAAIY,QAAUjB,EAAS,CACrB7qB,EAAG,KAsITkrB,EAAIkC,KAAO,SAAUrf,EAAM/U,GAMzB,OAAOkyB,EAAIqB,GAAGxe,GALL,SAASsf,IAEhB,OADAnC,EAAI2B,IAAI9e,EAAMsf,GACPr0B,EAAEqZ,MAAMlZ,KAAMZ,eAazB2yB,EAAI7I,QA7eU,QA+ed6I,EAAIxP,SAAW,WACb,MAAO,6BAGT6O,EAAKW,IAAMA,EACqB3zB,EAAOC,QAAUD,EAAOC,QAAU0zB,OAEjE,KAFsI,EAAF,WACnI,OAAOA,GACR,QAFkI,OAElI,c,kCCxgBH,IAAIxwB,EAAU,EAAQ,QAClBob,EAAW,EAAQ,QACnB2I,EAAO,EAAQ,QAIf7I,EAAmB,SAAUzb,EAAQmzB,EAAUlzB,EAAQgc,EAAWmX,EAAOC,EAAOC,EAAQC,GAM1F,IALA,IAGIltB,EAHAmtB,EAAcJ,EACdK,EAAc,EACdC,IAAQJ,GAAShP,EAAKgP,EAAQC,EAAS,GAGpCE,EAAcxX,GAAW,CAC9B,GAAIwX,KAAexzB,EAAQ,CAGzB,GAFAoG,EAAUqtB,EAAQA,EAAMzzB,EAAOwzB,GAAcA,EAAaN,GAAYlzB,EAAOwzB,GAEzEJ,EAAQ,GAAK9yB,EAAQ8F,GACvBmtB,EAAc/X,EAAiBzb,EAAQmzB,EAAU9sB,EAASsV,EAAStV,EAAQhI,QAASm1B,EAAaH,EAAQ,GAAK,MACzG,CACL,GAAIG,GAAe,iBAAkB,MAAM5vB,UAAU,sCACrD5D,EAAOwzB,GAAentB,EAGxBmtB,IAEFC,IAEF,OAAOD,GAGTp2B,EAAOC,QAAUoe,G,mBC/BjB,IAAI1M,EAAO7P,KAAK6P,KACZ4kB,EAAQz0B,KAAKy0B,MAIjBv2B,EAAOC,QAAU,SAAUqoB,GACzB,OAAOhS,MAAMgS,GAAYA,GAAY,GAAKA,EAAW,EAAIiO,EAAQ5kB,GAAM2W,K,yJCKpDkO,E,kGAEZhzB,OAAP,WACE,OACE,uBACEE,UAAS,UAAY9B,KAAK+B,MAAMD,UAAvB,KAAoC9B,KAAK+B,MAAMG,aAAe,yBAA2B,eAAzF,qCACT2yB,WAAS,aACTC,iBAAe,MACfC,oBAAkB,OAClBC,kBAAgB,QAEhB,qBACElzB,UAAWwG,IAAO2sB,WAClBtyB,KAAK,uCACL2M,MAAM,WACNtO,OAAO,UAEP,gBAAC,IAAD,CAAiB6P,KAAMqkB,OAEzB,qBACEpzB,UAAWwG,IAAO2sB,WAClBtyB,KAAK,wCACL2M,MAAM,YACNtO,OAAO,UAEP,gBAAC,IAAD,CAAiB6P,KAAMskB,OAEzB,qBACErzB,UAAWwG,IAAO2sB,WAClBtyB,KAAK,sCACL2M,MAAM,UACNtO,OAAO,UAEP,gBAAC,IAAD,CAAiB6P,KAAMukB,OAEzB,qBACEtzB,UAAWwG,IAAO2sB,WAClBtyB,KAAK,qCACL2M,MAAM,SACNtO,OAAO,UAEP,gBAAC,IAAD,CAAiB6P,KAAMwkB,OAUzB,gBAAC,OAAD,CACExX,GAAG,WACHvO,MAAM,gBACNxN,UAAWwG,IAAO2sB,YAElB,uBAAKnzB,UAAWwG,IAAOgtB,iB,GAxDQxyB,c,kCCTzCrD,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GAyBf3E,EAAiB,SAAI,EAAIygB,EAAuB,SAjBnC,CACXC,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACnG2Q,YAAaxB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAClG4Q,WAAYzB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACjG6Q,gBAAiB1B,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACtGV,UAAW6P,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAChGgR,WAAY,aAGhBC,eAAgB,SAAwB9B,GACtC,MAAO,CACLgC,SAAUhC,EAAS,GAAK,aAK9Brf,EAAOC,QAAUA,EAAiB,S,yJCvBbk3B,E,kGAEZ3zB,OAAP,WACE,OACE,uBACEE,UAAWwG,IAAOktB,eAClBX,WAAS,OACTC,iBAAe,MACfC,oBAAkB,OAClBC,kBAAgB,QAEhB,gBAAC,aAAD,CAAYlzB,UAAWwG,IAAOmtB,UAAW5X,GAAI7d,KAAK+B,MAAMQ,aAAcub,WAAW,GAC7E9d,KAAK+B,MAAMO,eACX,gBAAC,IAAD,CAAiBuO,KAAM6kB,MAEvB,gBAAC,IAAD,CAAiB7kB,KAAM8kB,S,GAfI7yB,c,kCCTvCrD,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA2Bf3E,EAAiB,SAAI,EAAIygB,EAAuB,SAnBnC,CACXC,SAAU,SAAkBtB,EAAQnP,GAClC,MAAO,CACL0Q,aAAcvB,EAAS,GAAK,sBAAwBnP,EAAQ,IAC5D2Q,YAAaxB,EAAS,GAAK,sBAAwBnP,EAAQ,IAC3D4Q,WAAYzB,EAAS,GAAK,sBAAwBnP,EAAQ,IAC1D6Q,gBAAiB1B,EAAS,GAAK,sBAAwBnP,EAAQ,IAC/DV,UAAW6P,EAAS,GAAK,sBAAwBnP,EAAQ,IACzD8Q,gBAAiB,OACjBC,eAAgB,cAChBC,WAAY,aAGhBC,eAAgB,WACd,MAAO,CACLC,YAAa,aAKnBphB,EAAOC,QAAUA,EAAiB,S,kCClClCoB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA8Bf3E,EAAiB,SAAI,EAAIygB,EAAuB,SAtBnC,CACXoJ,SAAU,SAAkBzK,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UACnG2Q,YAAaxB,EAAS,GAAKnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAClG4Q,WAAYzB,EAAS,GAAKnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UACjG6Q,gBAAiB1B,EAAS,GAAKnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UACtGV,UAAW6P,EAAS,GAAKnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAChGgR,WAAY7B,EAAS,8CAAgD,gDAGzE8J,KAAM,SAAc9J,EAAQnP,EAAOgN,EAAOiP,GACxC,MAAO,CACLvL,aAAcvB,EAAS,GAAK,kBAA+B,IAAX8M,EAAiB,SACjEtL,YAAaxB,EAAS,GAAK,kBAA+B,IAAX8M,EAAiB,SAChErL,WAAYzB,EAAS,GAAK,kBAA+B,IAAX8M,EAAiB,SAC/DpL,gBAAiB1B,EAAS,GAAK,kBAA+B,IAAX8M,EAAiB,SACpE3c,UAAW6P,EAAS,GAAK,kBAA+B,IAAX8M,EAAiB,SAC9DjL,WAAY7B,EAAS,8CAAgD,qDAK3Erf,EAAOC,QAAUA,EAAiB,S,kCCrClCoB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA8Df3E,EAAiB,SAAI,EAAIygB,EAAuB,SAtDnC,CACXoJ,SAAU,SAAkBzK,EAAQnP,EAAOgN,GACzC,MAAO,CACLsa,WAAYnY,EAAS,UAAY,SACjCuB,aAAc,uBACdC,YAAa,uBACbC,WAAY,uBACZC,gBAAiB,uBACjBvR,UAAW,uBACXqa,OAAQ,MAGZD,QAAS,SAAiBvK,EAAQnP,EAAOgN,GACvC,MAAO,CACL2M,OAAQ,KACRjJ,aAAcvB,EAASnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC1G2Q,YAAaxB,EAASnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACzG4Q,WAAYzB,EAASnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACxG6Q,gBAAiB1B,EAASnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBAC7GV,UAAW6P,EAASnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAAY,uBACvGgR,WAAY,WACZsW,WAAYnY,EAAS,UAAY,WAGrCsB,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACnG2Q,YAAaxB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAClG4Q,WAAYzB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACjG6Q,gBAAiB1B,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACtGV,UAAW6P,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAChGgR,WAAY,WACZ2I,OAAQ,KACRjN,SAAU,aAGd6a,WAAY,SAAoBpY,EAAQnP,EAAOgN,GAC7C,MAAO,CACL0D,aAAcvB,EAASnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC1G2Q,YAAaxB,EAASnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACzG4Q,WAAYzB,EAASnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACxG6Q,gBAAiB1B,EAASnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBAC7GV,UAAW6P,EAASnC,EAAQ,eAAiBhN,EAAQ,UAAY,gBAAkBA,EAAQ,UAAY,uBACvGgR,WAAY,WACZtE,SAAU,WACViN,OAAQ,OAGZ1I,eAAgB,SAAwB9B,GACtC,MAAO,CACLgC,SAAUhC,EAAS,GAAK,aAK9Brf,EAAOC,QAAUA,EAAiB,S,qBCvElC,IAAIS,EAAS,EAAQ,QACjBia,EAAS,EAAQ,QACjBnY,EAAM,EAAQ,QACdoY,EAAM,EAAQ,QACdza,EAAgB,EAAQ,QACxBu3B,EAAoB,EAAQ,QAE5BC,EAAwBhd,EAAO,OAC/Bva,EAASM,EAAON,OAChBw3B,EAAwBF,EAAoBt3B,EAASA,GAAUA,EAAOy3B,eAAiBjd,EAE3F5a,EAAOC,QAAU,SAAUuW,GAIvB,OAHGhU,EAAIm1B,EAAuBnhB,KAC1BrW,GAAiBqC,EAAIpC,EAAQoW,GAAOmhB,EAAsBnhB,GAAQpW,EAAOoW,GACxEmhB,EAAsBnhB,GAAQohB,EAAsB,UAAYphB,IAC9DmhB,EAAsBnhB,K,oCCbjCnV,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAGT,IAAI4V,EAAW1Z,OAAO2Z,QAAU,SAAUpY,GACxC,IAAK,IAAIG,EAAI,EAAGA,EAAI/B,UAAUC,OAAQ8B,IAAK,CACzC,IAAIF,EAAS7B,UAAU+B,GAEvB,IAAK,IAAIC,KAAOH,EACVxB,OAAOyD,UAAUmW,eAAe1Z,KAAKsB,EAAQG,KAC/CJ,EAAOI,GAAOH,EAAOG,IAK3B,OAAOJ,GAGLsY,EAAe,WACjB,SAASC,EAAiBvY,EAAQe,GAChC,IAAK,IAAIZ,EAAI,EAAGA,EAAIY,EAAM1C,OAAQ8B,IAAK,CACrC,IAAIpB,EAAagC,EAAMZ,GACvBpB,EAAWE,WAAaF,EAAWE,aAAc,EACjDF,EAAWqD,cAAe,EACtB,UAAWrD,IAAYA,EAAWsD,UAAW,GACjD5D,OAAOyB,eAAeF,EAAQjB,EAAWqB,IAAKrB,IAIlD,OAAO,SAAUuX,EAAaE,EAAYC,GAGxC,OAFID,GAAY+B,EAAiBjC,EAAYpU,UAAWsU,GACpDC,GAAa8B,EAAiBjC,EAAaG,GACxCH,GAdQ,GAwDnB,SAAS8C,EAAuBpX,GAC9B,OAAOA,GAAOA,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GA0Bf,IAAIsX,EAAS,EAAQ,QAEjBC,EAAUH,EAAuBE,GAIjC4b,EAAa9b,EAFD,EAAQ,SAMpBI,EAAcJ,EAFD,EAAQ,SAMrB+b,EAAe/b,EAFD,EAAQ,SAMtBgc,EAAehc,EAFD,EAAQ,SAMtBic,EAAcjc,EAFD,EAAQ,SAIzB/b,EAAiB,QAAI,SAAUiK,GAC7B,IAAIguB,EAAO,SAAU5b,GAGnB,SAAS4b,EAAKv0B,GASZ,GA3DN,SAAyBsV,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAI1S,UAAU,qCAiDlB2S,CAAgBvX,KAAMs2B,GA/FjB,SAAa3c,EAAK4c,EAAKC,GAGrB,IAFX,IAAI5c,GAAS,EAEKA,GAAQ,CACxB,IAAIC,EAASF,EACTG,EAAWyc,EACXxc,EAAWyc,EACf5c,GAAS,EACM,OAAXC,IAAiBA,EAAStZ,SAAS2C,WACvC,IAAI8W,EAAOva,OAAOD,yBAAyBqa,EAAQC,GAEnD,QAAa7a,IAAT+a,EAAJ,CAaO,GAAI,UAAWA,EACpB,OAAOA,EAAKzW,MAEZ,IAAI0W,EAASD,EAAKpD,IAElB,QAAe3X,IAAXgb,EACF,OAGF,OAAOA,EAAOta,KAAKoa,GArBnB,IAAIG,EAASza,OAAO0a,eAAeN,GAEnC,GAAe,OAAXK,EACF,OAEAP,EAAMO,EACNqc,EAAMzc,EACN0c,EAAMzc,EACNH,GAAS,EACTI,EAAOE,OAASjb,GA4ElBua,CAAK/Z,OAAO0a,eAAemc,EAAKpzB,WAAY,cAAelD,MAAML,KAAKK,KAAM+B,GAE5E/B,KAAKqd,MAAQ,CACXI,QAAQ,IAGLnV,EACH,MAAM,IAAIyM,MAAM,sBAyTpB,OA/WJ,SAAmB4F,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAIhW,UAAU,kEAAoEgW,GAG1FD,EAASzX,UAAYzD,OAAOuV,OAAO4F,GAAcA,EAAW1X,UAAW,CACrED,YAAa,CACXM,MAAOoX,EACP1a,YAAY,EACZoD,UAAU,EACVD,cAAc,KAGdwX,IAAYnb,OAAOob,eAAiBpb,OAAOob,eAAeF,EAAUC,GAAcD,EAASG,UAAYF,GA6BzGG,CAAUub,EAAM5b,GAgBhBpB,EAAagd,EAAM,CAAC,CAClBl1B,IAAK,aACLmC,MAAO,WACL,IAAImU,EAAQ1X,KAER8gB,EAAU1hB,UAAUC,QAAU,QAAsBJ,IAAjBG,UAAU,GAAmB,GAAKA,UAAU,GAC/Eqe,EAASqD,EAAQrD,OACjBgZ,EAAgB3V,EAAQ2V,cACxBC,EAAW,CACbjZ,YAA0B,IAAXA,EAAyBA,GAAUzd,KAAKqd,MAAMI,QAE/Dzd,KAAK22B,qBACL32B,KAAKwd,SAASkZ,GAAU,WAGtB,IAFCD,GAAiB/e,EAAM3V,MAAMkc,cAAcyY,IAEvChf,EAAM3V,MAAMic,iBAGf,GAAI0Y,EAASjZ,OAAQ,CACnB,IAAImZ,EAAYxxB,SAAS2B,cAAc,YAEnC6vB,GACFA,EAAUC,aAGRzxB,SAAS0xB,cACX1xB,SAAS0xB,cAAcC,OAEvB3xB,SAAS4xB,KAAKD,OAMpBrf,EAAMuf,WAAajQ,aAAatP,EAAMuf,WACtCvf,EAAMuf,UAAY1tB,YAAW,WAC3BmO,EAAMuf,UAAY,KAEbP,EAASjZ,QACZ/F,EAAMif,oBAAmB,KAE1B,UAGN,CACDv1B,IAAK,OACLmC,MAAO,WAC4B,mBAAtBvD,KAAK+B,MAAMm1B,OACpBl3B,KAAK+B,MAAMm1B,SAEXl3B,KAAKm3B,eAGR,CACD/1B,IAAK,QACLmC,MAAO,WAC6B,mBAAvBvD,KAAK+B,MAAMq1B,QACpBp3B,KAAK+B,MAAMq1B,UAEXp3B,KAAKm3B,eAGR,CACD/1B,IAAK,eACLmC,MAAO,YACkC,IAAnCvD,KAAK+B,MAAMs1B,qBAA0E,mBAAnCr3B,KAAK+B,MAAMs1B,qBAAsCr3B,KAAK+B,MAAMs1B,uBAGhHr3B,KAAKonB,UAIR,CACDhmB,IAAK,qBACLmC,MAAO,WACL,IAAIopB,EAAMvtB,UAAUC,QAAU,QAAsBJ,IAAjBG,UAAU,IAA0BA,UAAU,GAE7Ek4B,EAAa,SAAoB/Q,EAAIzkB,GACvC,OAAOykB,EAAGlC,UAAUsI,EAAM,MAAQ,UAAU7qB,IAG1C9B,KAAK+B,MAAMw1B,eACbD,EAAWlyB,SAAS2B,cAAc,QAAS/G,KAAK+B,MAAMw1B,eAGpDv3B,KAAK+B,MAAMy1B,eACbF,EAAWlyB,SAAS2B,cAAc,QAAS/G,KAAK+B,MAAMy1B,eAGpDlvB,EAAOyW,UAAY/e,KAAK+B,MAAM01B,YAChCz3B,KAAK03B,sBAAsB13B,KAAK+B,MAAM01B,WAAYnvB,EAAOyW,SAAU4N,GAGjErkB,EAAOiX,gBAAkBvf,KAAK+B,MAAM41B,kBACtC33B,KAAK03B,sBAAsB13B,KAAK+B,MAAM41B,iBAAkBrvB,EAAOiX,eAAgBoN,KAOlF,CACDvrB,IAAK,wBACLmC,MAAO,SAA+B1B,EAAI+1B,EAAejL,GACvD,IAAIkL,EAAUzyB,SAAS0yB,eAAej2B,GAEtC,GAAKg2B,EAAL,CAKA,IAAIE,EAAc/3B,KAAKg4B,SAASJ,GAEhC,IAAK,IAAI3U,KAAQ8U,EACXA,EAAY1e,eAAe4J,KAC7B4U,EAAQrrB,MAAMyW,GAAQ0J,EAAMoL,EAAY9U,GAAQ,IASpD,IAAIgV,EAAgB,SAAuB1R,GACzC,OAAOA,EAAG/Z,MAAM,cAAgBmgB,EAAM,SAAW,IAG9C3sB,KAAK+B,MAAMw1B,eACdU,EAAc7yB,SAAS2B,cAAc,SAGlC/G,KAAK+B,MAAMy1B,eACdS,EAAc7yB,SAAS2B,cAAc,cA1BrCyd,QAAQ5lB,MAAM,oBAAsBiD,EAAK,iBA8B5C,CACDT,IAAK,YACLmC,MAAO,SAAmBgjB,EAAI1a,EAAOqsB,GACnC,IAAIC,EAAW,KAAO5R,EAAGjZ,QAAQiZ,EAAGpD,OAAO,GAAIoD,EAAGpD,OAAO,GAAGnW,eAExDorB,EAASjC,EAAsB,QAAE5P,GAAMvmB,KAAKg4B,SAAS7B,EAAsB,QAAE5P,IAAO,GAsBxF,OApBIje,EAAOie,KACT6R,EAASjf,EAAS,GAAIif,EAAQp4B,KAAKg4B,SAAS1vB,EAAOie,GAAK1a,EAAQ,KAI9D7L,KAAK+B,MAAMuG,OAAO6vB,KACpBC,EAASjf,EAAS,GAAIif,EAAQp4B,KAAK+B,MAAMuG,OAAO6vB,KAI9CD,IACFE,EAASjf,EAAS,GAAIif,EAAQF,IAK5Bl4B,KAAK+B,MAAMs2B,qBACND,EAAO9Y,WAGT8Y,IAER,CACDh3B,IAAK,WACLmC,MAAO,SAAkBiJ,EAAOX,GAC9B,IAAIyC,EAAQtO,KAAK+B,MAAMuM,MACnBgqB,EAAkC,iBAAVhqB,EAAqBA,EAAQ,KAAOA,EAChE,OAAO9B,EAAMxM,KAAKqd,MAAMI,OAAQ6a,EAAgBt4B,KAAK+B,MAAMuZ,MAAOzP,KAEnE,CACDzK,IAAK,iBACLmC,MAAO,SAAwBgC,GAC7BA,EAAIA,GAAKlF,OAAOsd,MAEX3d,KAAK+B,MAAMw2B,oBAAqBv4B,KAAKqd,MAAMI,QAAqB,WAAVlY,EAAEnE,KAAkC,KAAdmE,EAAEizB,SACjFx4B,KAAKonB,UAGR,CACDhmB,IAAK,oBACLmC,MAAO,WAEDvD,KAAK+B,MAAM02B,gBACbp4B,OAAOq4B,UAAY14B,KAAK+B,MAAM02B,gBAE9Bp4B,OAAOq4B,UAAY14B,KAAK24B,eAAerT,KAAKtlB,MAI1CA,KAAK+B,MAAM0b,QACbzd,KAAKm3B,WAAW,CACd1Z,QAAQ,EACRgZ,eAAe,MAIpB,CACDr1B,IAAK,uBACLmC,MAAO,WACLlD,OAAOq4B,UAAY,KACnB14B,KAAK22B,oBAAmB,GAExB32B,KAAKi3B,WAAajQ,aAAahnB,KAAKi3B,aAErC,CACD71B,IAAK,qBACLmC,MAAO,SAA4Bq1B,GACjC,IAYQxO,EAEAvrB,EAdJg6B,EAAS74B,UAEiC,IAAtBA,KAAK+B,MAAM0b,QAA0Bzd,KAAK+B,MAAM0b,SAAWzd,KAAKqd,MAAMI,QAAUzd,KAAK+B,MAAM0b,SAAWmb,EAAUnb,OAGtIzd,KAAKm3B,aAKH7uB,EAAOkhB,MAEHY,EAAa8L,EAAoB,QAAE4C,YAAYD,EAAQ,kBAEvDh6B,EAAOyJ,EAAOkhB,IAAIC,IAAIW,GAAY2O,OAAO,QAEzCF,EAAOxb,MAAMI,OAEfnV,EAAOkhB,IAAII,QAAQ/qB,GAGnB0K,YAAW,WACT1K,EAAKqI,KAAK,IAAKoB,EAAOkhB,IAAIE,eACzB,QAKV,CACDtoB,IAAK,SACLmC,MAAO,WACL,IAAIy1B,EAASh5B,KAEb,OAAOua,EAAiB,QAAErU,cAAc,MAAO,MAAOlG,KAAK+B,MAAMk3B,WAAa1e,EAAiB,QAAErU,cAAc,MAAO,CACpHpE,WAAY,cAAgB9B,KAAK+B,MAAMm3B,kBAAkBnlB,OACzD2H,QAAS,WACP,OAAOsd,EAAOG,gBAEhB3sB,MAAOxM,KAAKo5B,UAAU,aACpB7e,EAAiB,QAAErU,cAAc,MAAO,CAC1CrE,GAAI7B,KAAK+B,MAAMF,GACfC,WAAY,gBAAkB9B,KAAK+B,MAAMD,WAAWiS,OACpDvH,MAAOxM,KAAKo5B,UAAU,aACrB9wB,EAAOkhB,KAAOjP,EAAiB,QAAErU,cAAc,MAAO,CACvDpE,WAAY,kBAAoB9B,KAAK+B,MAAMs3B,qBAAqBtlB,OAChEvH,MAAOxM,KAAKo5B,UAAU,eACrB7e,EAAiB,QAAErU,cAAc,MAAO,CACzCoI,MAAO,OACPC,OAAQ,OACR+qB,QAAS,cACTC,oBAAqB,QACpBhf,EAAiB,QAAErU,cAAc,OAAQ,CAC1CsM,EAAGlK,EAAOkhB,IAAIE,gBACVnP,EAAiB,QAAErU,cAAc,MAAO,CAC5CpE,WAAY,WAAa9B,KAAK+B,MAAMy3B,eAAezlB,OACnDvH,MAAOxM,KAAKo5B,UAAU,SACrB7e,EAAiB,QAAErU,cAAc,MAAO,CACzCpE,WAAY,gBAAkB9B,KAAK+B,MAAM03B,mBAAmB1lB,OAC5DvH,MAAOxM,KAAKo5B,UAAU,aACrB7e,EAAiB,QAAEmf,SAAS9yB,IAAI5G,KAAK+B,MAAMsO,UAAU,SAAUkX,EAAM1b,GACtE,GAAI0b,EAAM,CACR,IAGIrM,EAAa,CACf9Z,IAAKyK,EACL/J,UALc,CAAC,UAAWk3B,EAAOj3B,MAAM43B,cAAepS,EAAKxlB,MAAMD,WAAW6B,QAAO,SAAU7B,GAC7F,QAASA,KACRqO,KAAK,KAIN3D,MAAOwsB,EAAOI,UAAU,OAAQvtB,EAAO0b,EAAKxlB,MAAMyK,OAClD0P,SAAU8c,EAAO3b,MAAMI,OAAS,GAAK,GAEvC,OAAOlD,EAAiB,QAAEa,aAAamM,EAAMrM,UAEZ,IAA/Blb,KAAK+B,MAAMgc,iBAA6BxD,EAAiB,QAAErU,cAAc,MAAO,CACpFsG,MAAOxM,KAAKo5B,UAAU,gBACrB7e,EAAiB,QAAErU,cAAcmwB,EAAqB,QAAG,CAC1D3a,QAAS,WACP,OAAOsd,EAAO5R,SAEhB9e,OAAQtI,KAAK+B,MAAMuG,OACnB2S,WAAYjb,KAAK+B,MAAMgc,gBACvBjc,UAAW9B,KAAK+B,MAAM63B,qBACtBre,eAAgBvb,KAAK+B,MAAMwZ,eAC3BW,SAAUlc,KAAKqd,MAAMI,OAAS,GAAK,OACC,IAAhCzd,KAAK+B,MAAM83B,kBAA8Btf,EAAiB,QAAErU,cAAc,MAAO,CACrFsG,MAAOxM,KAAKo5B,UAAU,eACrB7e,EAAiB,QAAErU,cAAckwB,EAAsB,QAAG,CAC3D1a,QAAS,WACP,OAAOsd,EAAO9J,QAEhB5mB,OAAQtI,KAAK+B,MAAMuG,OACnB2S,WAAYjb,KAAK+B,MAAM83B,iBACvB/3B,UAAW9B,KAAK+B,MAAM+3B,sBACtBrK,aAAczvB,KAAK+B,MAAMg4B,mBACzBC,kBAAmBh6B,KAAK+B,MAAMi4B,0BAK7B1D,EAtUE,CAuUThc,EAAO6B,WA4DT,OA1DAma,EAAKla,UAAY,CACfob,cAAehd,EAAqB,QAAE6B,OACtC0d,mBAAoBvf,EAAqB,QAAE6B,OAC3Cyd,sBAAuBtf,EAAqB,QAAE6B,OAC9Cva,UAAW0Y,EAAqB,QAAE6B,OAClCud,qBAAsBpf,EAAqB,QAAE6B,OAC7Cd,eAAgBf,EAAqB,QAAE6B,OACvCwd,iBAAkBrf,EAAqB,QAAEsK,UAAU,CAACtK,EAAqB,QAAEnT,QAASmT,EAAqB,QAAEwK,MAAM,EAAC,MAClHjH,gBAAiBvD,EAAqB,QAAEsK,UAAU,CAACtK,EAAqB,QAAEnT,QAASmT,EAAqB,QAAEwK,MAAM,EAAC,MACjHyT,gBAAiBje,EAAqB,QAAEnI,KACxC2L,iBAAkBxD,EAAqB,QAAEqK,KACzC0T,kBAAmB/d,EAAqB,QAAEqK,KAC1CwS,oBAAqB7c,EAAqB,QAAEsK,UAAU,CAACtK,EAAqB,QAAEqK,KAAMrK,EAAqB,QAAEnI,OAC3GklB,cAAe/c,EAAqB,QAAE6B,OACtCxa,GAAI2Y,EAAqB,QAAE6B,OAC3BoB,OAAQjD,EAAqB,QAAEqK,KAC/B8U,cAAenf,EAAqB,QAAE6B,OACtCod,kBAAmBjf,EAAqB,QAAE6B,OAC1Cmd,cAAehf,EAAqB,QAAE6B,OACtCgd,oBAAqB7e,EAAqB,QAAE6B,OAC5C4c,UAAWze,EAAqB,QAAEqK,KAClCwT,aAAc7d,EAAqB,QAAEqK,KACrCuS,QAAS5c,EAAqB,QAAEnI,KAChCyd,kBAAmBtV,EAAqB,QAAEnI,KAC1C6kB,OAAQ1c,EAAqB,QAAEnI,KAC/B4L,cAAezD,EAAqB,QAAEnI,KACtCslB,iBAAkBrvB,GAAUA,EAAOiX,eAAiB/E,EAAqB,QAAE6B,OAAOwJ,WAAarL,EAAqB,QAAE6B,OACtH6c,iBAAkB1e,EAAqB,QAAE6B,OACzCob,WAAYnvB,GAAUA,EAAOyW,SAAWvE,EAAqB,QAAE6B,OAAOwJ,WAAarL,EAAqB,QAAE6B,OAC1Gf,MAAOd,EAAqB,QAAEqK,KAC9Bvc,OAAQkS,EAAqB,QAAEX,OAC/BvL,MAAOkM,EAAqB,QAAEsK,UAAU,CAACtK,EAAqB,QAAE8B,OAAQ9B,EAAqB,QAAE6B,UAEjGia,EAAK/Z,aAAe,CAClBib,cAAe,GACfuC,mBAAoB,GACpBD,sBAAuB,GACvBh4B,UAAW,GACX83B,qBAAsB,GACtBre,eAAgB,GAChByC,kBAAkB,EAClBua,mBAAmB,EACnBhB,cAAe,GACf11B,GAAI,GACJ83B,cAAe,GACfF,kBAAmB,GACnBD,cAAe,GACfH,oBAAqB,GACrBJ,WAAW,EACXZ,cAAc,EACdpa,cAAe,aACf0Z,iBAAkB,GAClBuB,iBAAkB,GAClBzB,WAAY,GACZnvB,OAAQ,GACRgG,MAAO,IACPwhB,kBAAmB,cAEdwG,GAGTl4B,EAAOC,QAAUA,EAAiB,S,qBCvgBlC,IAAIkuB,EAAW,EAAQ,QAMvBnuB,EAAOC,QAAU,SAAU47B,EAAOC,GAChC,IAAK3N,EAAS0N,GAAQ,OAAOA,EAC7B,IAAIlxB,EAAI5B,EACR,GAAI+yB,GAAoD,mBAAxBnxB,EAAKkxB,EAAM1X,YAA4BgK,EAASplB,EAAM4B,EAAGpJ,KAAKs6B,IAAS,OAAO9yB,EAC9G,GAAmC,mBAAvB4B,EAAKkxB,EAAME,WAA2B5N,EAASplB,EAAM4B,EAAGpJ,KAAKs6B,IAAS,OAAO9yB,EACzF,IAAK+yB,GAAoD,mBAAxBnxB,EAAKkxB,EAAM1X,YAA4BgK,EAASplB,EAAM4B,EAAGpJ,KAAKs6B,IAAS,OAAO9yB,EAC/G,MAAMvC,UAAU,6C,qBCXlBxG,EAAOC,QAAU,CAAC,UAAY,sCAAsC,eAAiB,2CAA2C,YAAc,0C,mBCD9ID,EAAOC,SAAU,G,kCCEjBoB,OAAOyB,eAAe7C,EAAS,aAAc,CAC3CkF,OAAO,IAST,IANgCP,EAM5B6b,EAAe,EAAQ,QAEvBC,GAR4B9b,EAQW6b,IAP3B7b,EAAIqX,WAAarX,EAAM,CACnC,QAAWA,GAqCf3E,EAAiB,SAAI,EAAIygB,EAAuB,SA7BnC,CACXoJ,SAAU,SAAkBzK,GAC1B,MAAO,CACLuB,aAAcvB,EAAS,GAAK,2BAC5BwB,YAAaxB,EAAS,GAAK,2BAC3ByB,WAAYzB,EAAS,GAAK,2BAC1B0B,gBAAiB1B,EAAS,GAAK,2BAC/B7P,UAAW6P,EAAS,GAAK,2BACzB6B,WAAY,yBAGhBP,SAAU,SAAkBtB,EAAQnP,EAAOgN,GACzC,MAAO,CACL0D,aAAcvB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACnG2Q,YAAaxB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAClG4Q,WAAYzB,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACjG6Q,gBAAiB1B,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UACtGV,UAAW6P,EAAS,GAAKnC,EAAQ,gBAAkBhN,EAAQ,UAAY,eAAiBA,EAAQ,UAChGgR,WAAY,aAGhBC,eAAgB,SAAwB9B,GACtC,MAAO,CACL+B,YAAa,SACb4a,kBAAmB,SACnB3a,SAAUhC,EAAS,GAAK,aAK9Brf,EAAOC,QAAUA,EAAiB,S,mBC9ClC,IAAIkkB,EAAW,GAAGA,SAElBnkB,EAAOC,QAAU,SAAUC,GACzB,OAAOikB,EAAS5iB,KAAKrB,GAAIkW,MAAM,GAAI,K,qBCHrC,IAAI1V,EAAS,EAAQ,QACjB6hB,EAAY,EAAQ,QAGpBsI,EAAQnqB,EADC,uBACiB6hB,EADjB,qBACmC,IAEhDviB,EAAOC,QAAU4qB,G,qBCNjB,IAAIroB,EAAM,EAAQ,QACd4d,EAAkB,EAAQ,QAC1BpY,EAAU,EAAQ,QAA+BA,QACjDmf,EAAa,EAAQ,QAEzBnnB,EAAOC,QAAU,SAAUwb,EAAQoZ,GACjC,IAGI7xB,EAHAT,EAAI6d,EAAgB3E,GACpB1Y,EAAI,EACJiR,EAAS,GAEb,IAAKhR,KAAOT,GAAIC,EAAI2kB,EAAYnkB,IAAQR,EAAID,EAAGS,IAAQgR,EAAO3N,KAAKrD,GAEnE,KAAO6xB,EAAM5zB,OAAS8B,GAAOP,EAAID,EAAGS,EAAM6xB,EAAM9xB,SAC7CiF,EAAQgM,EAAQhR,IAAQgR,EAAO3N,KAAKrD,IAEvC,OAAOgR,I,qBCfT,IAAItT,EAAS,EAAQ,QACjBytB,EAAW,EAAQ,QAEnBnnB,EAAWtG,EAAOsG,SAElBi1B,EAAS9N,EAASnnB,IAAamnB,EAASnnB,EAASc,eAErD9H,EAAOC,QAAU,SAAUC,GACzB,OAAO+7B,EAASj1B,EAASc,cAAc5H,GAAM,K,qBCR/C,IAAIQ,EAAS,EAAQ,QACjB2hB,EAA8B,EAAQ,QAE1CriB,EAAOC,QAAU,SAAU+C,EAAKmC,GAC9B,IACEkd,EAA4B3hB,EAAQsC,EAAKmC,GACzC,MAAO3E,GACPE,EAAOsC,GAAOmC,EACd,OAAOA","file":"commons-bd33df5d6e92a24143e3.js","sourcesContent":["// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n // eslint-disable-next-line no-undef\n && !Symbol.sham\n // eslint-disable-next-line no-undef\n && typeof Symbol.iterator == 'symbol';\n","module.exports = {};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line no-undef\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func\n Function('return this')();\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.github.io/ecma262/#sec-object.keys\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.github.io/ecma262/#sec-isarray\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","import * as React from 'react';\r\nimport SocialIcons from './social-icons';\r\nimport MenuItems, { MenuItem } from './menuItems';\r\nimport ArrowIcon from './arrow-icon';\r\n\r\ninterface FooterProps {\r\n isFixedBottom?: boolean\r\n isSitemapHidden?: boolean\r\n isAddressInfoHidden?: boolean\r\n location: any;\r\n}\r\n\r\nexport default class Footer extends React.Component {\r\n private menuItemFilterFunction = (menuItem: MenuItem) => !!menuItem;\r\n\r\n public render() {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","/*!\n * Font Awesome Free 5.15.0 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _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\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\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\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\n\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY].concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\n\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\n\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\n\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\n\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\n\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\n\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\n\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n mask = _ref.mask,\n explicitMaskId = _ref.maskId,\n transform = _ref.transform;\n var mainWidth = main.width,\n mainPath = main.icon;\n var maskWidth = mask.width,\n maskPath = mask.icon;\n var trans = transformForSvg({\n transform: transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n var maskRect = {\n tag: 'rect',\n attributes: _objectSpread({}, ALL_SPACE, {\n fill: 'white'\n })\n };\n var maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n var maskInnerGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [maskInnerGroup]\n };\n var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n var maskTag = {\n tag: 'mask',\n attributes: _objectSpread({}, ALL_SPACE, {\n id: maskId,\n maskUnits: 'userSpaceOnUse',\n maskContentUnits: 'userSpaceOnUse'\n }),\n children: [maskRect, maskOuterGroup]\n };\n var defs = {\n tag: 'defs',\n children: [{\n tag: 'clipPath',\n attributes: {\n id: clipId\n },\n children: deGroup(maskPath)\n }, maskTag]\n };\n children.push(defs, {\n tag: 'rect',\n attributes: _objectSpread({\n fill: 'currentColor',\n 'clip-path': \"url(#\".concat(clipId, \")\"),\n mask: \"url(#\".concat(maskId, \")\")\n }, ALL_SPACE)\n });\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction makeIconStandard(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon(_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol(_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].filter(function (c) {\n return extra.classes.indexOf(c) === -1;\n }).filter(function (c) {\n return c !== '' || !!c;\n }).concat(extra.classes).join(' ');\n var content = {\n children: [],\n attributes: _objectSpread({}, extra.attributes, {\n 'data-prefix': prefix,\n 'data-icon': iconName,\n 'class': attrClass,\n 'role': extra.attributes.role || 'img',\n 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\n children = _ref2.children,\n attributes = _ref2.attributes;\n\n args.children = children;\n args.attributes = attributes;\n\n if (symbol) {\n return asSymbol(args);\n } else {\n return asIcon(args);\n }\n}\n\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread({}, extra.styles);\n\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform: transform,\n startCentered: true,\n width: width,\n height: height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.0\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction codePointAt(string, index) {\n /*! https://mths.be/codepointat v0.2.0 by @mathias */\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\n}\n/**\n * Used to check that the character is between the E000..F8FF private unicode\n * range\n */\n\n\nfunction isPrivateUnicode(iconName) {\n if (iconName.length !== 1) {\n return false;\n } else {\n var cp = codePointAt(iconName, 0);\n return cp >= 57344 && cp <= 63743;\n }\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = Object.keys(icons).reduce(function (acc, iconName) {\n var icon = icons[iconName];\n var expanded = !!icon.icon;\n\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\n\n if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, namespace.styles[prefix] || {}, normalized);\n }\n /**\n * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n * for `fas` so we'll easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = ('far' in styles);\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\n\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\n\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\n\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\n\nvar disabled = false;\n\nfunction disableObservation() {\n disabled = true;\n}\n\nfunction enableObservation() {\n disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\n _options$observeMutat = options.observeMutationsRoot,\n observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n mo = new MUTATION_OBSERVER(function (objects) {\n if (disabled) return;\n toArray(objects).forEach(function (mutationRecord) {\n if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n if (config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target);\n }\n\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\n\n if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n if (mutationRecord.attributeName === 'class') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\n nodeCallback(mutationRecord.target);\n }\n }\n });\n });\n if (!IS_DOM) return;\n mo.observe(observeMutationsRoot, {\n childList: true,\n attributes: true,\n characterData: true,\n subtree: true\n });\n}\n\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser(node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser(node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\n return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n var parts = n.toLowerCase().split('-');\n var first = parts[0];\n var rest = parts.slice(1).join('-');\n\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\n\n return acc;\n }, transform);\n }\n};\n\nfunction transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser(node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser(node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\n\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n })\n};\n\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '1',\n d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, FILL, {\n opacity: '0',\n d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\nvar styles$2 = namespace.styles;\n\nfunction resolveCustomIconVersion() {\n var kitConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var iconName = arguments.length > 1 ? arguments[1] : undefined;\n\n if (iconName && isPrivateUnicode(iconName)) {\n if (kitConfig && kitConfig.iconUploads) {\n var iconUploads = kitConfig.iconUploads;\n var descriptiveIconName = Object.keys(iconUploads).find(function (key) {\n return iconUploads[key] && iconUploads[key].u && iconUploads[key].u === toHex(iconName);\n });\n\n if (descriptiveIconName) {\n return iconUploads[descriptiveIconName].v;\n }\n }\n } else {\n if (kitConfig && kitConfig.iconUploads && kitConfig.iconUploads[iconName] && kitConfig.iconUploads[iconName].v) {\n return kitConfig.iconUploads[iconName].v;\n }\n }\n}\n\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n fill: 'currentColor',\n d: vectorData[1]\n }\n }]\n };\n } else {\n element = {\n tag: 'path',\n attributes: {\n fill: 'currentColor',\n d: vectorData\n }\n };\n }\n\n return {\n found: true,\n width: width,\n height: height,\n icon: element\n };\n}\n\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n var kitToken = null;\n var iconVersion = resolveCustomIconVersion(WINDOW.FontAwesomeKitConfig, iconName);\n\n if (WINDOW.FontAwesomeKitConfig && WINDOW.FontAwesomeKitConfig.token) {\n kitToken = WINDOW.FontAwesomeKitConfig.token;\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\n prefix = nodeMeta.prefix,\n transform = nodeMeta.transform,\n symbol = nodeMeta.symbol,\n mask = nodeMeta.mask,\n maskId = nodeMeta.maskId,\n extra = nodeMeta.extra;\n return new picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).then(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n main = _ref2[0],\n mask = _ref2[1];\n\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main: main,\n mask: mask\n },\n prefix: prefix,\n iconName: iconName,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(node, nodeMeta) {\n var title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\n if (IS_IE) {\n var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n var boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return picked.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n}\n\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\n var htmlClassList = DOCUMENT.documentElement.classList;\n\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return;\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return;\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.all(mutations).then(function (resolvedMutations) {\n perform(resolvedMutations, function () {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(function () {\n mark();\n reject();\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(function (resolve, reject) {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\n // If we've already processed it but the current computed style does not result in a font-family,\n // that probably means that a class name that was previously present to make the icon has been\n // removed. So we now should delete the icon.\n node.removeChild(alreadyProcessedPseudoElement);\n return resolve();\n } else if (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // Only convert the pseudo element in this :before/:after position into an icon if we haven't\n // already done so with the same prefix and iconName\n\n if (iconName && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\n\n var meta = blankMeta();\n var extra = meta.extra;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(function (main) {\n var abstract = makeInlineSvgAbstract(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css() {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n\n var additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(function (key) {\n _this.definitions[key] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, additions[key]);\n build();\n });\n }\n }, {\n key: \"reset\",\n value: function reset() {\n this.definitions = {};\n }\n }, {\n key: \"_pullDefinitions\",\n value: function _pullDefinitions(additions, definition) {\n var normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(function (key) {\n var _normalized$key = normalized[key],\n prefix = _normalized$key.prefix,\n iconName = _normalized$key.iconName,\n icon = _normalized$key.icon;\n if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\n\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node,\n _params$callback = params.callback,\n callback = _params$callback === void 0 ? function () {} : _params$callback;\n\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\n\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n\n config.observeMutations = true;\n domready(function () {\n autoReplace({\n autoReplaceSvgRoot: autoReplaceSvgRoot\n });\n observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (iconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform = params.transform,\n transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n _params$symbol = params.symbol,\n symbol = _params$symbol === void 0 ? false : _params$symbol,\n _params$mask = params.mask,\n mask = _params$mask === void 0 ? null : _params$mask,\n _params$maskId = params.maskId,\n maskId = _params$maskId === void 0 ? null : _params$maskId,\n _params$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\n _params$classes = params.classes,\n classes = _params$classes === void 0 ? [] : _params$classes,\n _params$attributes = params.attributes,\n attributes = _params$attributes === void 0 ? {} : _params$attributes,\n _params$styles = params.styles,\n styles = _params$styles === void 0 ? {} : _params$styles;\n if (!iconDefinition) return;\n var prefix = iconDefinition.prefix,\n iconName = iconDefinition.iconName,\n icon = iconDefinition.icon;\n return apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\n\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\n\n return makeInlineSvgAbstract({\n icons: {\n main: asFoundIcon(icon),\n mask: mask ? asFoundIcon(mask.icon) : {\n found: false,\n width: null,\n height: null,\n icon: {}\n }\n },\n prefix: prefix,\n iconName: iconName,\n transform: _objectSpread({}, meaninglessTransform, transform),\n symbol: symbol,\n title: title,\n maskId: maskId,\n titleId: titleId,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: classes\n }\n });\n });\n});\n\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\n var children = [];\n assembler(function (args) {\n Array.isArray(args) ? args.map(function (a) {\n children = children.concat(a.abstract);\n }) : children = children.concat(args.abstract);\n });\n return [{\n tag: 'span',\n attributes: {\n class: [\"\".concat(config.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\n\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\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 _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 _get = function get(_x, _x2, _x3) {\n var _again = true;\n\n _function: while (_again) {\n var object = _x,\n property = _x2,\n receiver = _x3;\n _again = false;\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n _x = parent;\n _x2 = property;\n _x3 = receiver;\n _again = true;\n desc = parent = undefined;\n continue _function;\n }\n } else if ('value' in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n }\n};\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError('Cannot call a class as a function');\n }\n}\n\nfunction _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 _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar CrossIcon = function (_Component) {\n _inherits(CrossIcon, _Component);\n\n function CrossIcon() {\n _classCallCheck(this, CrossIcon);\n\n _get(Object.getPrototypeOf(CrossIcon.prototype), 'constructor', this).apply(this, arguments);\n }\n\n _createClass(CrossIcon, [{\n key: 'getCrossStyle',\n value: function getCrossStyle(type) {\n return {\n position: 'absolute',\n width: 3,\n height: 14,\n transform: type === 'before' ? 'rotate(45deg)' : 'rotate(-45deg)'\n };\n }\n }, {\n key: 'render',\n value: function render() {\n var _this = this;\n\n var icon;\n var buttonWrapperStyle = {\n position: 'absolute',\n width: 24,\n height: 24,\n right: 8,\n top: 8\n };\n var buttonStyle = {\n position: 'absolute',\n left: 0,\n top: 0,\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n border: 'none',\n fontSize: 0,\n background: 'transparent',\n cursor: 'pointer'\n };\n\n if (this.props.customIcon) {\n var extraProps = {\n className: ('bm-cross ' + (this.props.customIcon.props.className || '')).trim(),\n style: _extends({\n width: '100%',\n height: '100%'\n }, this.props.styles.bmCross)\n };\n icon = _react2['default'].cloneElement(this.props.customIcon, extraProps);\n } else {\n icon = _react2['default'].createElement('span', {\n style: {\n position: 'absolute',\n top: '6px',\n right: '14px'\n }\n }, ['before', 'after'].map(function (type, i) {\n return _react2['default'].createElement('span', {\n key: i,\n className: ('bm-cross ' + _this.props.crossClassName).trim(),\n style: _extends({}, _this.getCrossStyle(type), _this.props.styles.bmCross)\n });\n }));\n }\n\n return _react2['default'].createElement('div', {\n className: ('bm-cross-button ' + this.props.className).trim(),\n style: _extends({}, buttonWrapperStyle, this.props.styles.bmCrossButton)\n }, icon, _react2['default'].createElement('button', {\n onClick: this.props.onClick,\n style: buttonStyle,\n tabIndex: this.props.tabIndex\n }, 'Close Menu'));\n }\n }]);\n\n return CrossIcon;\n}(_react.Component);\n\nexports['default'] = CrossIcon;\nCrossIcon.propTypes = {\n crossClassName: _propTypes2['default'].string,\n customIcon: _propTypes2['default'].element,\n styles: _propTypes2['default'].object,\n tabIndex: _propTypes2['default'].number\n};\nCrossIcon.defaultProps = {\n crossClassName: '',\n className: '',\n styles: {},\n tabIndex: 0\n};\nmodule.exports = exports['default'];","// extracted by mini-css-extract-plugin\nmodule.exports = {\"socialIcon\":\"social-icons-module--socialIcon--13Jbc\",\"flitsenIcon\":\"social-icons-module--flitsenIcon--2ipKU\"};","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://github.com/tc39/proposal-flatMap\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n","import * as React from 'react';\r\nimport { AnchorLink } from 'gatsby-plugin-anchor-links';\r\nimport { stack as Menu, State } from 'react-burger-menu';\r\nimport { Link } from 'gatsby';\r\nimport MenuItems, { MenuItem } from './menuItems';\r\n\r\ninterface HeaderState {\r\n isMenuOpen: boolean\r\n}\r\n\r\nclass Header extends React.Component<{}, HeaderState> {\r\n constructor (props: any) {\r\n super(props)\r\n this.state = {\r\n isMenuOpen: false\r\n }\r\n }\r\n\r\n private menuItemFilterFunction = (menuItem: MenuItem) => menuItem.isMainNavigation;\r\n\r\n // Keeps state in sync with the opening/closing of the menu\r\n // via the default means (for instance hitting the ESC button).\r\n private handleMenuStateChange(): ((state: State) => void) {\r\n return (state) => this.setState({isMenuOpen: state.isOpen});\r\n }\r\n\r\n private closeMenu(): ((event: any) => void) {\r\n return (event: any) => {\r\n this.setState(_ => ({ isMenuOpen: false }))\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Header;","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return nativeGetOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {\n pageWrap: function pageWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n MsTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n OTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transform: isOpen ? '' : right ? 'translate3d(-' + width + ', 0, 0) rotateY(15deg)' : 'translate3d(' + width + ', 0, 0) rotateY(-15deg)',\n transformOrigin: right ? '100% 50%' : '0% 50%',\n transformStyle: 'preserve-3d',\n transition: 'all 0.5s'\n };\n },\n outerContainer: function outerContainer(isOpen) {\n return {\n perspective: '1500px',\n overflow: isOpen ? '' : 'hidden'\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnchorLink = AnchorLink;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _gatsby = require(\"gatsby\");\n\nvar _utils = require(\"../utils\");\n\nvar _types = require(\"../types\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction AnchorLink(_ref) {\n var to = _ref.to,\n title = _ref.title,\n children = _ref.children,\n className = _ref.className,\n _ref$stripHash = _ref.stripHash,\n stripHash = _ref$stripHash === void 0 ? false : _ref$stripHash;\n var linkProps = {\n to: stripHash ? (0, _utils.stripHashedLocation)(to) : to,\n onClick: function onClick(e) {\n return stripHash ? (0, _utils.handleStrippedLinkClick)(to, e) : (0, _utils.handleLinkClick)(to, e);\n }\n };\n /**\n * Optional props\n */\n\n if (title) linkProps.title = title;\n if (className) linkProps.className = className;\n return _react[\"default\"].createElement(_gatsby.Link, linkProps, Boolean(children) ? children : title);\n}\n\nAnchorLink.propTypes = _types.anchorLinkTypes;","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","import { parse, icon } from '@fortawesome/fontawesome-svg-core';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\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\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _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}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n} // Get CSS class list from a props object\n\n\nfunction classList(props) {\n var _classes;\n\n var spin = props.spin,\n pulse = props.pulse,\n fixedWidth = props.fixedWidth,\n inverse = props.inverse,\n border = props.border,\n listItem = props.listItem,\n flip = props.flip,\n size = props.size,\n rotation = props.rotation,\n pull = props.pull; // map of CSS class names to properties\n\n var classes = (_classes = {\n 'fa-spin': spin,\n 'fa-pulse': pulse,\n 'fa-fw': fixedWidth,\n 'fa-inverse': inverse,\n 'fa-border': border,\n 'fa-li': listItem,\n 'fa-flip-horizontal': flip === 'horizontal' || flip === 'both',\n 'fa-flip-vertical': flip === 'vertical' || flip === 'both'\n }, _defineProperty(_classes, \"fa-\".concat(size), typeof size !== 'undefined' && size !== null), _defineProperty(_classes, \"fa-rotate-\".concat(rotation), typeof rotation !== 'undefined' && rotation !== null && rotation !== 0), _defineProperty(_classes, \"fa-pull-\".concat(pull), typeof pull !== 'undefined' && pull !== null), _defineProperty(_classes, 'fa-swap-opacity', props.swapOpacity), _classes); // map over all the keys in the classes object\n // return an array of the keys where the value for the key is not null\n\n return Object.keys(classes).map(function (key) {\n return classes[key] ? key : null;\n }).filter(function (key) {\n return key;\n });\n} // Camelize taken from humps\n// humps is copyright © 2012+ Dom Christie\n// Released under the MIT license.\n// Performant way to determine if object coerces to a number\n\n\nfunction _isNumerical(obj) {\n obj = obj - 0; // eslint-disable-next-line no-self-compare\n\n return obj === obj;\n}\n\nfunction camelize(string) {\n if (_isNumerical(string)) {\n return string;\n } // eslint-disable-next-line no-useless-escape\n\n\n string = string.replace(/[\\-_\\s]+(.)?/g, function (match, chr) {\n return chr ? chr.toUpperCase() : '';\n }); // Ensure 1st char is always lowercase\n\n return string.substr(0, 1).toLowerCase() + string.substr(1);\n}\n\nfunction capitalize(val) {\n return val.charAt(0).toUpperCase() + val.slice(1);\n}\n\nfunction styleToObject(style) {\n return style.split(';').map(function (s) {\n return s.trim();\n }).filter(function (s) {\n return s;\n }).reduce(function (acc, pair) {\n var i = pair.indexOf(':');\n var prop = camelize(pair.slice(0, i));\n var value = pair.slice(i + 1).trim();\n prop.startsWith('webkit') ? acc[capitalize(prop)] = value : acc[prop] = value;\n return acc;\n }, {});\n}\n\nfunction convert(createElement, element) {\n var extraProps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (typeof element === 'string') {\n return element;\n }\n\n var children = (element.children || []).map(function (child) {\n return convert(createElement, child);\n });\n /* eslint-disable dot-notation */\n\n var mixins = Object.keys(element.attributes || {}).reduce(function (acc, key) {\n var val = element.attributes[key];\n\n switch (key) {\n case 'class':\n acc.attrs['className'] = val;\n delete element.attributes['class'];\n break;\n\n case 'style':\n acc.attrs['style'] = styleToObject(val);\n break;\n\n default:\n if (key.indexOf('aria-') === 0 || key.indexOf('data-') === 0) {\n acc.attrs[key.toLowerCase()] = val;\n } else {\n acc.attrs[camelize(key)] = val;\n }\n\n }\n\n return acc;\n }, {\n attrs: {}\n });\n\n var _extraProps$style = extraProps.style,\n existingStyle = _extraProps$style === void 0 ? {} : _extraProps$style,\n remaining = _objectWithoutProperties(extraProps, [\"style\"]);\n\n mixins.attrs['style'] = _objectSpread2({}, mixins.attrs['style'], {}, existingStyle);\n /* eslint-enable */\n\n return createElement.apply(void 0, [element.tag, _objectSpread2({}, mixins.attrs, {}, remaining)].concat(_toConsumableArray(children)));\n}\n\nvar PRODUCTION = false;\n\ntry {\n PRODUCTION = process.env.NODE_ENV === 'production';\n} catch (e) {}\n\nfunction log() {\n if (!PRODUCTION && console && typeof console.error === 'function') {\n var _console;\n\n (_console = console).error.apply(_console, arguments);\n }\n} // Normalize icon arguments\n\n\nfunction normalizeIconArgs(icon) {\n // if the icon is null, there's nothing to do\n if (icon === null) {\n return null;\n } // if the icon is an object and has a prefix and an icon name, return it\n\n\n if (_typeof(icon) === 'object' && icon.prefix && icon.iconName) {\n return icon;\n } // if it's an array with length of two\n\n\n if (Array.isArray(icon) && icon.length === 2) {\n // use the first item as prefix, second as icon name\n return {\n prefix: icon[0],\n iconName: icon[1]\n };\n } // if it's a string, use it as the icon name\n\n\n if (typeof icon === 'string') {\n return {\n prefix: 'fas',\n iconName: icon\n };\n }\n} // creates an object with a key of key\n// and a value of value\n// if certain conditions are met\n\n\nfunction objectWithKey(key, value) {\n // if the value is a non-empty array\n // or it's not an array but it is truthy\n // then create the object with the key and the value\n // if not, return an empty array\n return Array.isArray(value) && value.length > 0 || !Array.isArray(value) && value ? _defineProperty({}, key, value) : {};\n}\n\nfunction FontAwesomeIcon(_ref) {\n var forwardedRef = _ref.forwardedRef,\n props = _objectWithoutProperties(_ref, [\"forwardedRef\"]);\n\n var iconArgs = props.icon,\n maskArgs = props.mask,\n symbol = props.symbol,\n className = props.className,\n title = props.title;\n var iconLookup = normalizeIconArgs(iconArgs);\n var classes = objectWithKey('classes', [].concat(_toConsumableArray(classList(props)), _toConsumableArray(className.split(' '))));\n var transform = objectWithKey('transform', typeof props.transform === 'string' ? parse.transform(props.transform) : props.transform);\n var mask = objectWithKey('mask', normalizeIconArgs(maskArgs));\n var renderedIcon = icon(iconLookup, _objectSpread2({}, classes, {}, transform, {}, mask, {\n symbol: symbol,\n title: title\n }));\n\n if (!renderedIcon) {\n log('Could not find icon', iconLookup);\n return null;\n }\n\n var abstract = renderedIcon.abstract;\n var extraProps = {\n ref: forwardedRef\n };\n Object.keys(props).forEach(function (key) {\n // eslint-disable-next-line no-prototype-builtins\n if (!FontAwesomeIcon.defaultProps.hasOwnProperty(key)) {\n extraProps[key] = props[key];\n }\n });\n return convertCurry(abstract[0], extraProps);\n}\n\nFontAwesomeIcon.displayName = 'FontAwesomeIcon';\nFontAwesomeIcon.propTypes = {\n border: PropTypes.bool,\n className: PropTypes.string,\n mask: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n fixedWidth: PropTypes.bool,\n inverse: PropTypes.bool,\n flip: PropTypes.oneOf(['horizontal', 'vertical', 'both']),\n icon: PropTypes.oneOfType([PropTypes.object, PropTypes.array, PropTypes.string]),\n listItem: PropTypes.bool,\n pull: PropTypes.oneOf(['right', 'left']),\n pulse: PropTypes.bool,\n rotation: PropTypes.oneOf([0, 90, 180, 270]),\n size: PropTypes.oneOf(['lg', 'xs', 'sm', '1x', '2x', '3x', '4x', '5x', '6x', '7x', '8x', '9x', '10x']),\n spin: PropTypes.bool,\n symbol: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n title: PropTypes.string,\n transform: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n swapOpacity: PropTypes.bool\n};\nFontAwesomeIcon.defaultProps = {\n border: false,\n className: '',\n mask: null,\n fixedWidth: false,\n inverse: false,\n flip: null,\n icon: null,\n listItem: false,\n pull: null,\n pulse: false,\n rotation: null,\n size: null,\n spin: false,\n symbol: false,\n title: '',\n transform: null,\n swapOpacity: false\n};\nvar convertCurry = convert.bind(null, React.createElement);\nexport { FontAwesomeIcon };","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.anchorLinkTypes = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar anchorLinkTypes = {\n to: _propTypes[\"default\"].string.isRequired,\n title: _propTypes[\"default\"].string,\n className: _propTypes[\"default\"].string,\n stripHash: _propTypes[\"default\"].bool,\n children: _propTypes[\"default\"].node\n};\nexports.anchorLinkTypes = anchorLinkTypes;","// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\naddToUnscopables('flat');\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n // Chrome 38 Symbol has incorrect toString conversion\n // eslint-disable-next-line no-undef\n return !String(Symbol());\n});\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar styles = {};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.github.io/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.github.io/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","var hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\nvar styles = {\n overlay: function overlay(isOpen) {\n return {\n position: 'fixed',\n zIndex: 1000,\n width: '100%',\n height: '100%',\n background: 'rgba(0, 0, 0, 0.3)',\n opacity: isOpen ? 1 : 0,\n MozTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n MsTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n OTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n WebkitTransform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transform: isOpen ? '' : 'translate3d(100%, 0, 0)',\n transition: isOpen ? 'opacity 0.3s' : 'opacity 0.3s, transform 0s 0.3s'\n };\n },\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n position: 'fixed',\n right: right ? 0 : 'inherit',\n zIndex: 1100,\n width: width,\n height: '100%',\n MozTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: 'all 0.5s'\n };\n },\n menu: function menu() {\n return {\n height: '100%',\n boxSizing: 'border-box',\n overflow: 'auto'\n };\n },\n itemList: function itemList() {\n return {\n height: '100%'\n };\n },\n item: function item() {\n return {\n display: 'block'\n };\n }\n};\nexports['default'] = styles;\nmodule.exports = exports['default'];","import * as React from 'react';\r\nimport { AnchorLink } from 'gatsby-plugin-anchor-links';\r\nimport { StaticQuery, graphql, Link } from 'gatsby';\r\n\r\nexport interface Menudata {\r\n edges: ({\r\n node: MenuItem\r\n })[]\r\n}\r\n\r\nexport interface MenuItem {\r\n name: string,\r\n link: string,\r\n type: string,\r\n isMainNavigation: boolean,\r\n isFeatured: boolean,\r\n}\r\n\r\nexport function renderMenuItems(menuItemClass: string, menuItemFeaturedClass: string, menuItemFilter: ((value: MenuItem, index: number) => boolean), itemClick: any) {\r\n return (data: {allMenudataJson: Menudata}) => {\r\n return data.allMenudataJson.edges\r\n .map(({node}) => node)\r\n .filter(menuItemFilter)\r\n .map(menuItem => {\r\n if (menuItem.type === 'anchor') {\r\n return (\r\n
  • \r\n {menuItem.name}\r\n
  • \r\n )\r\n } else if (menuItem.type === 'internal') {\r\n return (\r\n
  • \r\n {menuItem.name}\r\n
  • \r\n )\r\n } else if (menuItem.type === 'external') {\r\n return (\r\n
  • \r\n {menuItem.name}\r\n
  • \r\n )\r\n }\r\n })\r\n }\r\n}\r\n\r\nconst MenuItems: React.SFC<{menuItemClass?: string, menuItemFeaturedClass?: string, menuItemFilter: ((value: MenuItem, index: number) => boolean), itemClickEvent: any}> = ({\r\n menuItemClass,\r\n menuItemFeaturedClass,\r\n menuItemFilter,\r\n itemClickEvent\r\n}) => {\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default MenuItems;\r\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.6.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n 'default': obj\n };\n}\n\nvar _snapsvgImporter = require('../snapsvgImporter');\n\nvar _snapsvgImporter2 = _interopRequireDefault(_snapsvgImporter);\n\nvar _menuFactory = require('../menuFactory');\n\nvar _menuFactory2 = _interopRequireDefault(_menuFactory);\n\nvar _utils = require('../utils');\n\nvar BUBBLE_WIDTH = 140;\nvar styles = {\n svg: {\n lib: _snapsvgImporter2['default'],\n pathInitial: 'M-7.312,0H0c0,0,0,113.839,0,400c0,264.506,0,400,0,400h-7.312V0z',\n pathOpen: 'M-7.312,0H15c0,0,66,113.339,66,399.5C81,664.006,15,800,15,800H-7.312V0z;M-7.312,0H100c0,0,0,113.839,0,400c0,264.506,0,400,0,400H-7.312V0z',\n animate: function animate(path) {\n var pos = 0;\n var steps = this.pathOpen.split(';');\n var stepsTotal = steps.length;\n var mina = window.mina;\n\n var nextStep = function nextStep() {\n if (pos > stepsTotal - 1) return;\n path.animate({\n path: steps[pos]\n }, pos === 0 ? 400 : 500, pos === 0 ? mina.easein : mina.elastic, function () {\n nextStep();\n });\n pos++;\n };\n\n nextStep();\n }\n },\n morphShape: function morphShape(isOpen, width, right) {\n return {\n position: 'absolute',\n width: '100%',\n height: '100%',\n right: right ? 'inherit' : 0,\n left: right ? 0 : 'inherit',\n MozTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n MsTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n OTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n WebkitTransform: right ? 'rotateY(180deg)' : 'rotateY(0deg)',\n transform: right ? 'rotateY(180deg)' : 'rotateY(0deg)'\n };\n },\n menuWrap: function menuWrap(isOpen, width, right) {\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(100%, 0, 0)' : 'translate3d(-100%, 0, 0)',\n transition: isOpen ? 'transform 0.4s 0s' : 'transform 0.4s'\n };\n },\n menu: function menu(isOpen, width, right) {\n var finalWidth = (0, _utils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n position: 'fixed',\n MozTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? '' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.1s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n item: function item(isOpen, width, right, nthChild) {\n var finalWidth = (0, _utils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s, transform 0.3s 0.4s' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n },\n closeButton: function closeButton(isOpen, width, right) {\n var finalWidth = (0, _utils.pxToNum)(width) - BUBBLE_WIDTH;\n return {\n MozTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n MsTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n OTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n WebkitTransform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transform: isOpen ? 'translate3d(0, 0, 0)' : right ? 'translate3d(' + finalWidth + ', 0, 0)' : 'translate3d(-' + finalWidth + ', 0, 0)',\n transition: isOpen ? 'opacity 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27), transform 0.3s 0.4s cubic-bezier(.17, .67, .1, 1.27)' : 'opacity 0s 0.3s cubic-bezier(.17, .67, .1, 1.27), transform 0s 0.3s cubic-bezier(.17, .67, .1, 1.27)',\n opacity: isOpen ? 1 : 0\n };\n }\n};\nexports['default'] = (0, _menuFactory2['default'])(styles);\nmodule.exports = exports['default'];","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a