{"version":3,"sources":["node_modules/custom-event-polyfill/polyfill.js","plyr.polyfilled.mjs","node_modules/rangetouch/dist/rangetouch.mjs","node_modules/url-polyfill/url-polyfill.js","src/js/utils/is.js","src/js/utils/animation.js","src/js/utils/browser.js","src/js/utils/objects.js","src/js/utils/elements.js","src/js/support.js","src/js/utils/events.js","src/js/utils/promise.js","src/js/utils/arrays.js","src/js/utils/style.js","src/js/html5.js","src/js/utils/strings.js","src/js/utils/i18n.js","src/js/storage.js","src/js/utils/fetch.js","src/js/utils/load-sprite.js","src/js/utils/time.js","src/js/controls.js","src/js/utils/urls.js","src/js/captions.js","src/js/config/defaults.js","src/js/config/states.js","src/js/config/types.js","src/js/console.js","src/js/fullscreen.js","src/js/utils/load-image.js","src/js/ui.js","src/js/listeners.js","node_modules/loadjs/dist/loadjs.umd.js","src/js/utils/load-script.js","src/js/plugins/vimeo.js","src/js/plugins/youtube.js","src/js/media.js","src/js/plugins/ads.js","src/js/plugins/preview-thumbnails.js","src/js/source.js","src/js/utils/numbers.js","src/js/plyr.js"],"names":["window","ce","CustomEvent","cancelable","preventDefault","defaultPrevented","Error","e","event","params","evt","origPrevent","bubbles","document","createEvent","initCustomEvent","detail","call","this","Object","defineProperty","get","prototype","Event","commonjsGlobal","globalThis","global","self","createCommonjsModule","fn","module","exports","_defineProperty$1","obj","key","value","enumerable","configurable","writable","_classCallCheck","t","TypeError","_defineProperties","n","length","r","_createClass","_defineProperty","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","forEach","getOwnPropertyDescriptors","defineProperties","iteratorSupported","Symbol","iterator","error","checkIfIteratorIsSupported","createIterator","items","next","shift","done","serializeParam","encodeURIComponent","replace","deserializeParam","decodeURIComponent","String","URLSearchParams","toString","set","entries","checkIfURLSearchParamsSupported","searchString","typeofSearchString","_fromString","_this","name","append","i","entry","hasOwnProperty","proto","_entries","delete","getAll","slice","has","callback","thisArg","values","searchArray","join","polyfillURLSearchParams","sort","a","b","attribute","attributes","split","u","URL","pathname","href","searchParams","checkIfURLIsSupported","_URL","url","base","baseElement","doc","location","toLowerCase","implementation","createHTMLDocument","createElement","head","appendChild","indexOf","err","anchorElement","body","inputElement","type","protocol","test","checkValidity","search","enableSearchUpdate","enableSearchParamsUpdate","methodName","method","attributeName","_anchorElement","linkURLWithAnchorAttribute","_updateSearchParams","origin","expectedPort","addPortToOrigin","port","hostname","password","username","createObjectURL","blob","revokeObjectURL","polyfillURL","getOrigin","setInterval","defaults","addCSS","thumbWidth","watch","matches","Array","from","querySelectorAll","includes","trigger","dispatchEvent","getConstructor","constructor","instanceOf","isNullOrUndefined","isObject","isNumber","Number","isNaN","isString","isBoolean","Boolean","isFunction","Function","isArray","isNodeList","NodeList","isElement","Element","isEvent","isEmpty","is","nullOrUndefined","object","number","string","boolean","function","array","nodeList","element","empty","getDecimalPlaces","concat","match","Math","max","round","parseFloat","toFixed","RangeTouch","querySelector","rangeTouch","config","init","enabled","style","userSelect","webKitUserSelect","touchAction","listeners","target","changedTouches","o","getAttribute","s","c","getBoundingClientRect","width","clientX","left","disabled","MutationObserver","addedNodes","observe","childList","subtree","map","documentElement","input","isWeakMap","WeakMap","isTextNode","Text","isKeyboardEvent","KeyboardEvent","isCue","TextTrackCue","VTTCue","isTrack","TextTrack","kind","isPromise","Promise","then","nodeType","ownerDocument","isUrl","startsWith","_","weakMap","textNode","keyboardEvent","cue","track","promise","transitionEndEvent","events","WebkitTransition","MozTransition","OTransition","transition","find","undefined","repaint","delay","setTimeout","hidden","offsetHeight","browser","isIE","documentMode","isEdge","navigator","userAgent","isWebkit","isIPhone","platform","isIos","maxTouchPoints","cloneDeep","JSON","parse","stringify","getDeep","path","reduce","extend","sources","source","assign","wrap","elements","wrapper","targets","reverse","index","child","cloneNode","parent","parentNode","sibling","nextSibling","insertBefore","setAttributes","setAttribute","text","innerText","insertAfter","insertElement","removeElement","removeChild","emptyElement","childNodes","lastChild","replaceElement","newChild","oldChild","replaceChild","getAttributesFromSelector","sel","existingAttributes","existing","selector","trim","className","parts","charAt","class","id","toggleHidden","hide","toggleClass","force","classList","contains","hasClass","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","closest","el","parentElement","getElements","container","getElement","setFocus","tabFocus","focus","preventScroll","classNames","defaultCodecs","support","audio","video","check","provider","playsinline","canPlayInline","api","ui","rangeInput","pip","webkitSetPresentationMode","pictureInPictureEnabled","disablePictureInPicture","airplay","WebKitPlaybackTargetAvailabilityEvent","mime","mediaType","isHTML5","media","canPlayType","textTracks","range","touch","transitions","reducedMotion","matchMedia","supportsPassiveListeners","supported","options","addEventListener","removeEventListener","toggleListener","toggle","passive","capture","eventListeners","on","off","once","onceCallback","args","triggerEvent","plyr","unbindListeners","item","ready","resolve","silencePromise","dedupe","prev","curr","abs","supportsCSS","declaration","CSS","supports","standardRatios","out","x","y","validateAspectRatio","every","reduceAspectRatio","ratio","height","getDivider","w","h","divider","getAspectRatio","embed","videoWidth","videoHeight","setAspectRatio","isVideo","padding","aspectRatio","paddingBottom","isVimeo","vimeo","premium","offsetWidth","parseInt","getComputedStyle","offset","fullscreen","active","transform","add","videoFixedRatio","roundAspectRatio","tolerance","closestRatio","getViewportSize","clientWidth","innerWidth","clientHeight","innerHeight","html5","getSources","getQualityOptions","quality","forced","setup","player","speed","onChange","currentTime","paused","preload","readyState","playbackRate","src","play","load","cancelRequests","blankVideo","debug","log","generateId","prefix","floor","random","format","getPercentage","current","replaceAll","RegExp","toTitleCase","toUpperCase","substr","toPascalCase","toCamelCase","stripHTML","fragment","createDocumentFragment","innerHTML","firstChild","getHTML","resources","youtube","i18n","seekTime","title","k","v","Storage","store","localStorage","getItem","json","storage","setItem","removeItem","fetch","responseType","reject","request","XMLHttpRequest","responseText","response","status","open","send","loadSprite","hasId","isCached","exists","getElementById","update","data","insertAdjacentElement","useStorage","cached","content","result","catch","getHours","trunc","getMinutes","getSeconds","formatTime","time","displayHours","inverted","hours","mins","secs","controls","getIconUrl","iconUrl","host","top","cors","svg4everybody","findElements","selectors","buttons","pause","restart","rewind","fastForward","mute","settings","captions","progress","inputs","seek","volume","display","buffer","duration","seekTooltip","tooltip","warn","toggleNativeControls","createIcon","namespace","iconPath","iconPrefix","icon","createElementNS","focusable","use","setAttributeNS","createLabel","attr","createBadge","badge","menu","createButton","buttonType","props","label","labelPressed","iconPressed","some","control","button","createRange","min","step","autocomplete","role","updateRangeFill","createProgress","suffixKey","played","suffix","createTime","attrs","bindMenuItemShortcuts","menuItem","which","stopPropagation","isRadioButton","showMenuPanel","nextElementSibling","firstElementChild","previousElementSibling","lastElementChild","focusFirstMenuItem","createMenuItem","list","checked","flex","children","node","bind","currentTrack","updateTimeDisplay","updateVolume","setRange","muted","pressed","updateProgress","setProgress","val","getElementsByTagName","nodeValue","buffered","percent","setProperty","updateSeekTooltip","tooltips","visible","show","clientRect","pageX","timeUpdate","invert","invertTime","seeking","durationUpdate","hasDuration","displayDuration","toggleMenuButton","setting","updateSetting","pane","panels","default","getLabel","setQualityMenu","checkMenu","getBadge","sorting","setCaptionsMenu","tracks","getTracks","toggled","language","unshift","setSpeedMenu","minimumSpeed","maximumSpeed","popup","p","firstItem","toggleMenu","composedPath","isMenuItem","getMenuSize","tab","clone","position","opacity","removeAttribute","scrollWidth","scrollHeight","size","restore","propertyName","setDownloadUrl","download","create","defaultAttributes","progressContainer","inner","home","backButton","urls","isEmbed","inject","seektime","addProperty","controlPressed","labels","parseUrl","safe","parser","buildUrlParams","isYouTube","languages","userLanguage","trackEvents","meta","currentTrackNode","languageExists","mode","updateCues","setLanguage","activeClass","findTrack","enableTextTrack","sortIsDefault","sorted","getCurrentTrack","cues","activeCues","getCueAsHTML","cueText","caption","autoplay","autopause","toggleInvert","clickToPlay","hideControls","resetOnEnd","disableContextMenu","loop","selected","keyboard","focused","fallback","iosNative","seekLabel","unmute","enableCaptions","disableCaptions","enterFullscreen","exitFullscreen","frameTitle","menuBack","normal","start","end","all","reset","advertisement","qualityBadge","sdk","iframe","googleIMA","editable","embedContainer","poster","posterEnabled","ads","playing","stopped","loading","hover","isTouch","uiSupported","noTransition","previewThumbnails","thumbContainer","thumbContainerShown","imageContainer","timeContainer","scrubbingContainer","scrubbingContainerShown","hash","publisherId","tagUrl","byline","portrait","transparent","customControls","referrerPolicy","rel","showinfo","iv_load_policy","modestbranding","noCookie","inactive","providers","types","getProviderByUrl","noop","Console","console","Fullscreen","scrollPosition","scrollX","scrollY","scrollTo","overflow","viewport","property","hasProperty","cleanupViewport","part","keyCode","activeElement","first","last","shiftKey","forceFallback","native","requestFullscreen","webkitEnterFullscreen","toggleFallback","navigationUI","webkitExitFullscreen","action","cancelFullScreen","exit","enter","proxy","trapFocus","fullscreenEnabled","webkitFullscreenEnabled","mozFullScreenEnabled","msFullscreenEnabled","usingNative","pre","getRootNode","fullscreenElement","shadowRoot","loadImage","minWidth","image","Image","handler","onload","onerror","naturalWidth","addStyleHook","build","checkPlaying","setTitle","setPoster","togglePoster","enable","backgroundImage","backgroundSize","toggleControls","checkLoading","clearTimeout","timers","controlsElement","recentTouchSeek","lastSeekTime","Date","now","migrateStyles","getPropertyValue","removeProperty","Listeners","focusTimer","lastKeyDown","timeStamp","wasKeyDown","removeCurrent","handleKey","firstTouch","setTabFocus","setGutter","useNativeAspectRatio","maxWidth","margin","viewportWidth","viewportHeight","resized","isAudio","ended","togglePlay","proxyEvents","defaultHandler","customHandlerKey","customHandler","returned","hasCustomHandler","inputEvent","forward","toggleCaptions","code","rect","currentTarget","hasAttribute","seekTo","loaded","startMove","endMove","startScrubbing","endScrubbing","webkitDirectionInvertedFromDevice","deltaX","deltaY","direction","sign","increaseVolume","lastKey","repeat","altKey","ctrlKey","metaKey","decreaseVolume","loadjs_umd","devnull","bundleIdCache","bundleResultCache","bundleCallbackQueue","subscribe","bundleIds","callbackFn","bundleId","depsNotFound","numWaiting","pathsNotFound","publish","q","splice","executeCallbacks","success","loadFile","numTries","isLegacyIECss","async","maxTries","numRetries","beforeCallbackFn","before","pathStripped","relList","as","onbeforeload","ev","sheet","cssText","loadFiles","paths","loadjs","arg1","arg2","loadFn","returnPromise","deps","isDefined","factory","loadScript","parseId","$2","parseHash","found","groups","assurePlaybackState","hasPlayed","Vimeo","frameParams","hashParam","sidedock","gesture","thumbnail_url","Player","disableTextTrack","stop","restorePause","setVolume","setCurrentTime","setPlaybackRate","currentSrc","setLoop","getVideoUrl","getVideoWidth","getVideoHeight","dimensions","setAutopause","state","getVideoTitle","getCurrentTime","getDuration","getTextTracks","strippedCues","getPaused","seconds","getHost","YT","onYouTubeIframeAPIReady","getTitle","videoId","currentId","posterSrc","playerVars","hl","disablekb","cc_load_policy","cc_lang_pref","widget_referrer","onError","message","onPlaybackRateChange","instance","getPlaybackRate","onReady","playVideo","pauseVideo","stopVideo","speeds","getAvailablePlaybackRates","clearInterval","buffering","getVideoLoadedFraction","lastBuffered","onStateChange","unMute","destroy","manager","displayContainer","remove","Ads","google","ima","startSafetyTimer","managerPromise","clearSafetyTimer","setupIMA","setVpaidMode","ImaSdkSettings","VpaidMode","ENABLED","setLocale","setDisableCustomPlaybackForIOS10Plus","AdDisplayContainer","loader","AdsLoader","AdsManagerLoadedEvent","Type","ADS_MANAGER_LOADED","onAdsManagerLoaded","AdErrorEvent","AD_ERROR","onAdError","requestAds","AdsRequest","adTagUrl","linearAdSlotWidth","linearAdSlotHeight","nonLinearAdSlotWidth","nonLinearAdSlotHeight","forceNonLinearFullSlot","setAdWillPlayMuted","countdownTimer","getRemainingTime","AdsRenderingSettings","restoreCustomPlaybackStateOnAdBreakComplete","enablePreloading","getAdsManager","cuePoints","getCuePoints","AdEvent","onAdEvent","cuePoint","seekElement","cuePercentage","ad","getAd","adData","getAdData","LOADED","pollCountdown","isLinear","STARTED","ALL_ADS_COMPLETED","loadAds","contentComplete","CONTENT_PAUSE_REQUESTED","pauseContent","CONTENT_RESUME_REQUESTED","resumeContent","LOG","adError","getMessage","cancel","addCuePoints","seekedTime","discardAdBreak","resize","ViewMode","NORMAL","initialize","initialized","zIndex","handlers","safetyTimer","AV_PUBLISHERID","AV_CHANNELID","AV_URL","cb","AV_WIDTH","AV_HEIGHT","AV_CDIM2","parseVtt","vttDataString","processedList","frame","line","startTime","lineSplit","matchTimes","endTime","fitRatio","outer","PreviewThumbnails","getThumbnails","render","determineContainerAutoSizing","sortAndResolve","thumbnails","promises","getThumbnail","thumbnail","frames","urlPrefix","substring","lastIndexOf","tempImage","naturalHeight","percentage","mousePosX","thumb","showImageAtCurrentTime","toggleThumbContainer","mouseDown","toggleScrubbingContainer","ceil","lastTime","scrubbing","setScrubbingContainerSize","setThumbContainerSizeAndPos","thumbNum","findIndex","hasThumb","qualityIndex","loadedImages","showingThumb","thumbFilename","thumbUrl","currentImageElement","dataset","filename","showImage","removeOldImages","loadingImage","usingSprites","previewImage","showingThumbFilename","newImage","setImageSizeAndOffset","currentImageContainer","preloadNearby","getHigherQuality","currentImage","tagName","removeDelay","deleting","oldThumbFilename","thumbnailsClone","foundOne","newThumbFilename","thumbURL","currentQualityIndex","previewImageHeight","thumbContainerHeight","clearShowing","sizeSpecifiedInCSS","thumbAspectRatio","thumbHeight","setThumbContainerPos","seekbarRect","plyrRect","minVal","maxVal","right","previewPos","multiplier","lastMouseMoveTime","currentScrubbingImageElement","currentThumbnailImageElement","insertElements","change","crossorigin","clamp","Plyr","webkitShowPlaybackTargetPicker","isHidden","hiding","eventName","soft","original","unload","failed","jQuery","truthy","tabindex","inputIsValid","fauxDuration","realDuration","Infinity","hasAudio","mozHasAudio","webkitAudioDecodedByteCount","audioTracks","updateStorage","requestPictureInPicture","exitPictureInPicture","webkitPresentationMode","pictureInPictureElement","setPreviewThumbnails","thumbnailSource","static","inline"],"mappings":"CAMA,WACE,GAAsB,oBAAXA,OAIX,IACE,IAAIC,EAAK,IAAID,OAAOE,YAAY,OAAQ,CAAEC,YAAY,IAEtD,GADAF,EAAGG,kBACyB,IAAxBH,EAAGI,iBAGL,MAAM,IAAIC,MAAM,6BAElB,MAAOC,GACP,IAAIL,EAAc,SAASM,EAAOC,GAChC,IAAIC,EAAKC,EAyBT,OAxBAF,EAASA,GAAU,IACZG,UAAYH,EAAOG,QAC1BH,EAAON,aAAeM,EAAON,YAE7BO,EAAMG,SAASC,YAAY,gBACvBC,gBACFP,EACAC,EAAOG,QACPH,EAAON,WACPM,EAAOO,QAETL,EAAcD,EAAIN,eAClBM,EAAIN,eAAiB,WACnBO,EAAYM,KAAKC,MACjB,IACEC,OAAOC,eAAeF,KAAM,mBAAoB,CAC9CG,IAAK,WACH,OAAO,KAGX,MAAOd,GACPW,KAAKb,kBAAmB,IAGrBK,GAGTR,EAAYoB,UAAYtB,OAAOuB,MAAMD,UACrCtB,OAAOE,YAAcA,GA5CzB,GC8CA,IAAIsB,eAAuC,oBAAfC,WAA6BA,WAA+B,oBAAXzB,OAAyBA,OAA2B,oBAAX0B,OAAyBA,OAAyB,oBAATC,KAAuBA,KAAO,GAE7L,SAASC,qBAAqBC,EAAIC,GACjC,OAAiCD,EAA1BC,EAAS,CAAEC,QAAS,IAAiBD,EAAOC,SAAUD,EAAOC,QAserE,SAASC,kBAAkBC,EAAKC,EAAKC,GAYnC,OAXID,KAAOD,EACTd,OAAOC,eAAea,EAAKC,EAAK,CAC9BC,MAAOA,EACPC,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZL,EAAIC,GAAOC,EAGNF,ECziBT,SAASM,gBAAgBhC,EAAEiC,GAAG,KAAKjC,aAAaiC,GAAG,MAAM,IAAIC,UAAU,qCAAqC,SAASC,kBAAkBnC,EAAEiC,GAAG,IAAI,IAAIG,EAAE,EAAEA,EAAEH,EAAEI,OAAOD,IAAI,CAAC,IAAIE,EAAEL,EAAEG,GAAGE,EAAET,WAAWS,EAAET,aAAY,EAAGS,EAAER,cAAa,EAAG,UAAUQ,IAAIA,EAAEP,UAAS,GAAInB,OAAOC,eAAeb,EAAEsC,EAAEX,IAAIW,IAAI,SAASC,aAAavC,EAAEiC,EAAEG,GAAG,OAAOH,GAAGE,kBAAkBnC,EAAEe,UAAUkB,GAAGG,GAAGD,kBAAkBnC,EAAEoC,GAAGpC,EAAE,SAASwC,gBAAgBxC,EAAEiC,EAAEG,GAAG,OAAOH,KAAKjC,EAAEY,OAAOC,eAAeb,EAAEiC,EAAE,CAACL,MAAMQ,EAAEP,YAAW,EAAGC,cAAa,EAAGC,UAAS,IAAK/B,EAAEiC,GAAGG,EAAEpC,EAAE,SAASyC,QAAQzC,EAAEiC,GAAG,IAAIG,EAAExB,OAAO8B,KAAK1C,GAAG,GAAGY,OAAO+B,sBAAsB,CAAC,IAAIL,EAAE1B,OAAO+B,sBAAsB3C,GAAGiC,IAAIK,EAAEA,EAAEM,QAAQ,SAASX,GAAG,OAAOrB,OAAOiC,yBAAyB7C,EAAEiC,GAAGJ,eAAeO,EAAEU,KAAKC,MAAMX,EAAEE,GAAG,OAAOF,EAAE,SAASY,eAAehD,GAAG,IAAI,IAAIiC,EAAE,EAAEA,EAAEgB,UAAUZ,OAAOJ,IAAI,CAAC,IAAIG,EAAE,MAAMa,UAAUhB,GAAGgB,UAAUhB,GAAG,GAAGA,EAAE,EAAEQ,QAAQ7B,OAAOwB,IAAG,GAAIc,SAAS,SAASjB,GAAGO,gBAAgBxC,EAAEiC,EAAEG,EAAEH,OAAOrB,OAAOuC,0BAA0BvC,OAAOwC,iBAAiBpD,EAAEY,OAAOuC,0BAA0Bf,IAAIK,QAAQ7B,OAAOwB,IAAIc,SAAS,SAASjB,GAAGrB,OAAOC,eAAeb,EAAEiC,EAAErB,OAAOiC,yBAAyBT,EAAEH,OAAO,OAAOjC,GCAtnC,SAAUmB,GAOR,IASIkC,EAT6B,WAC/B,IACE,QAASC,OAAOC,SAChB,MAAOC,GACP,OAAO,GAKaC,GAEpBC,EAAiB,SAASC,GAC5B,IAAIJ,EAAW,CACbK,KAAM,WACJ,IAAIhC,EAAQ+B,EAAME,QAClB,MAAO,CAAEC,UAAgB,IAAVlC,EAAkBA,MAAOA,KAU5C,OANIyB,IACFE,EAASD,OAAOC,UAAY,WAC1B,OAAOA,IAIJA,GAOLQ,EAAiB,SAASnC,GAC5B,OAAOoC,mBAAmBpC,GAAOqC,QAAQ,OAAQ,MAG/CC,EAAmB,SAAStC,GAC9B,OAAOuC,mBAAmBC,OAAOxC,GAAOqC,QAAQ,MAAO,QA4HnB,WACpC,IACE,IAAII,EAAkBlD,EAAOkD,gBAE7B,MAC8C,QAA3C,IAAIA,EAAgB,QAAQC,YACa,mBAAlCD,EAAgBtD,UAAUwD,KACY,mBAAtCF,EAAgBtD,UAAUyD,QAEpC,MAAOxE,GACP,OAAO,IAINyE,IAvIyB,WAE5B,IAAIJ,EAAkB,SAASK,GAC7B9D,OAAOC,eAAeF,KAAM,WAAY,CAAEoB,UAAU,EAAMH,MAAO,KACjE,IAAI+C,SAA4BD,EAEhC,GAA2B,cAAvBC,QAEG,GAA2B,WAAvBA,EACY,KAAjBD,GACF/D,KAAKiE,YAAYF,QAEd,GAAIA,aAAwBL,EAAiB,CAClD,IAAIQ,EAAQlE,KACZ+D,EAAaxB,SAAQ,SAAStB,EAAOkD,GACnCD,EAAME,OAAOD,EAAMlD,UAEhB,CAAA,GAAsB,OAAjB8C,GAAkD,WAAvBC,EAkBrC,MAAM,IAAIzC,UAAU,gDAjBpB,GAAqD,mBAAjDtB,OAAOG,UAAUuD,SAAS5D,KAAKgE,GACjC,IAAK,IAAIM,EAAI,EAAGA,EAAIN,EAAarC,OAAQ2C,IAAK,CAC5C,IAAIC,EAAQP,EAAaM,GACzB,GAA+C,mBAA1CpE,OAAOG,UAAUuD,SAAS5D,KAAKuE,IAAkD,IAAjBA,EAAM5C,OAGzE,MAAM,IAAIH,UAAU,4CAA8C8C,EAAI,+BAFtErE,KAAKoE,OAAOE,EAAM,GAAIA,EAAM,SAMhC,IAAK,IAAItD,KAAO+C,EACVA,EAAaQ,eAAevD,IAC9BhB,KAAKoE,OAAOpD,EAAK+C,EAAa/C,MASpCwD,EAAQd,EAAgBtD,UAE5BoE,EAAMJ,OAAS,SAASD,EAAMlD,GACxBkD,KAAQnE,KAAKyE,SACfzE,KAAKyE,SAASN,GAAMhC,KAAKsB,OAAOxC,IAEhCjB,KAAKyE,SAASN,GAAQ,CAACV,OAAOxC,KAIlCuD,EAAME,OAAS,SAASP,UACfnE,KAAKyE,SAASN,IAGvBK,EAAMrE,IAAM,SAASgE,GACnB,OAAQA,KAAQnE,KAAKyE,SAAYzE,KAAKyE,SAASN,GAAM,GAAK,MAG5DK,EAAMG,OAAS,SAASR,GACtB,OAAQA,KAAQnE,KAAKyE,SAAYzE,KAAKyE,SAASN,GAAMS,MAAM,GAAK,IAGlEJ,EAAMK,IAAM,SAASV,GACnB,OAAQA,KAAQnE,KAAKyE,UAGvBD,EAAMZ,IAAM,SAASO,EAAMlD,GACzBjB,KAAKyE,SAASN,GAAQ,CAACV,OAAOxC,KAGhCuD,EAAMjC,QAAU,SAASuC,EAAUC,GACjC,IAAIlB,EACJ,IAAK,IAAIM,KAAQnE,KAAKyE,SACpB,GAAIzE,KAAKyE,SAASF,eAAeJ,GAAO,CACtCN,EAAU7D,KAAKyE,SAASN,GACxB,IAAK,IAAIE,EAAI,EAAGA,EAAIR,EAAQnC,OAAQ2C,IAClCS,EAAS/E,KAAKgF,EAASlB,EAAQQ,GAAIF,EAAMnE,QAMjDwE,EAAMzC,KAAO,WACX,IAAIiB,EAAQ,GAIZ,OAHAhD,KAAKuC,SAAQ,SAAStB,EAAOkD,GAC3BnB,EAAMb,KAAKgC,MAENpB,EAAeC,IAGxBwB,EAAMQ,OAAS,WACb,IAAIhC,EAAQ,GAIZ,OAHAhD,KAAKuC,SAAQ,SAAStB,GACpB+B,EAAMb,KAAKlB,MAEN8B,EAAeC,IAGxBwB,EAAMX,QAAU,WACd,IAAIb,EAAQ,GAIZ,OAHAhD,KAAKuC,SAAQ,SAAStB,EAAOkD,GAC3BnB,EAAMb,KAAK,CAACgC,EAAMlD,OAEb8B,EAAeC,IAGpBN,IACF8B,EAAM7B,OAAOC,UAAY4B,EAAMX,SAGjCW,EAAMb,SAAW,WACf,IAAIsB,EAAc,GAIlB,OAHAjF,KAAKuC,SAAQ,SAAStB,EAAOkD,GAC3Bc,EAAY9C,KAAKiB,EAAee,GAAQ,IAAMf,EAAenC,OAExDgE,EAAYC,KAAK,MAI1B1E,EAAOkD,gBAAkBA,EAkBzByB,GAGF,IAAIX,EAAQhE,EAAOkD,gBAAgBtD,UAET,mBAAfoE,EAAMY,OACfZ,EAAMY,KAAO,WACX,IAAIlB,EAAQlE,KACRgD,EAAQ,GACZhD,KAAKuC,SAAQ,SAAStB,EAAOkD,GAC3BnB,EAAMb,KAAK,CAACgC,EAAMlD,IACbiD,EAAMO,UACTP,EAAMQ,OAAOP,MAGjBnB,EAAMoC,MAAK,SAASC,EAAGC,GACrB,OAAID,EAAE,GAAKC,EAAE,IACH,EACCD,EAAE,GAAKC,EAAE,GACX,EAEA,KAGPpB,EAAMO,WACRP,EAAMO,SAAW,IAEnB,IAAK,IAAIJ,EAAI,EAAGA,EAAIrB,EAAMtB,OAAQ2C,IAChCrE,KAAKoE,OAAOpB,EAAMqB,GAAG,GAAIrB,EAAMqB,GAAG,MAKP,mBAAtBG,EAAMP,aACfhE,OAAOC,eAAesE,EAAO,cAAe,CAC1CtD,YAAY,EACZC,cAAc,EACdC,UAAU,EACVH,MAAO,SAAS8C,GACd,GAAI/D,KAAKyE,SACPzE,KAAKyE,SAAW,OACX,CACL,IAAI1C,EAAO,GACX/B,KAAKuC,SAAQ,SAAStB,EAAOkD,GAC3BpC,EAAKI,KAAKgC,MAEZ,IAAK,IAAIE,EAAI,EAAGA,EAAItC,EAAKL,OAAQ2C,IAC/BrE,KAAK0E,OAAO3C,EAAKsC,IAKrB,IACIkB,EADAC,GADJzB,EAAeA,EAAaT,QAAQ,MAAO,KACbmC,MAAM,KAEpC,IAASpB,EAAI,EAAGA,EAAImB,EAAW9D,OAAQ2C,IACrCkB,EAAYC,EAAWnB,GAAGoB,MAAM,KAChCzF,KAAKoE,OACHb,EAAiBgC,EAAU,IAC1BA,EAAU7D,OAAS,EAAK6B,EAAiBgC,EAAU,IAAM,OAjPtE,MA2PqB,IAAX/E,eAA0BA,eACV,oBAAX1B,OAA0BA,OACjB,oBAAT2B,KAAwBA,KAAOT,gBAG9C,SAAUQ,GAuNR,GAhN4B,WAC1B,IACE,IAAIkF,EAAI,IAAIlF,EAAOmF,IAAI,IAAK,YAE5B,OADAD,EAAEE,SAAW,MACM,mBAAXF,EAAEG,MAA8BH,EAAEI,aAC1C,MAAOzG,GACP,OAAO,GAsMN0G,IAjMa,WAChB,IAAIC,EAAOxF,EAAOmF,IAEdA,EAAM,SAASM,EAAKC,GACH,iBAARD,IAAkBA,EAAMxC,OAAOwC,IACtCC,GAAwB,iBAATA,IAAmBA,EAAOzC,OAAOyC,IAGpD,IAAoBC,EAAhBC,EAAMzG,SACV,GAAIuG,SAA6B,IAApB1F,EAAO6F,UAAuBH,IAAS1F,EAAO6F,SAASR,MAAO,CACzEK,EAAOA,EAAKI,eAEZH,GADAC,EAAMzG,SAAS4G,eAAeC,mBAAmB,KAC/BC,cAAc,SACpBZ,KAAOK,EACnBE,EAAIM,KAAKC,YAAYR,GACrB,IACE,GAAuC,IAAnCA,EAAYN,KAAKe,QAAQV,GAAa,MAAM,IAAI9G,MAAM+G,EAAYN,MACtE,MAAOgB,GACP,MAAM,IAAIzH,MAAM,0BAA4B8G,EAAO,WAAaW,IAIpE,IAAIC,EAAgBV,EAAIK,cAAc,KACtCK,EAAcjB,KAAOI,EACjBE,IACFC,EAAIW,KAAKJ,YAAYG,GACrBA,EAAcjB,KAAOiB,EAAcjB,MAGrC,IAAImB,EAAeZ,EAAIK,cAAc,SAIrC,GAHAO,EAAaC,KAAO,MACpBD,EAAa/F,MAAQgF,EAEU,MAA3Ba,EAAcI,WAAqB,IAAIC,KAAKL,EAAcjB,QAAWmB,EAAaI,kBAAoBlB,EACxG,MAAM,IAAI3E,UAAU,eAGtBtB,OAAOC,eAAeF,KAAM,iBAAkB,CAC5CiB,MAAO6F,IAKT,IAAIhB,EAAe,IAAItF,EAAOkD,gBAAgB1D,KAAKqH,QAC/CC,GAAqB,EACrBC,GAA2B,EAC3BrD,EAAQlE,KACZ,CAAC,SAAU,SAAU,OAAOuC,SAAQ,SAASiF,GAC3C,IAAIC,EAAS3B,EAAa0B,GAC1B1B,EAAa0B,GAAc,WACzBC,EAAOrF,MAAM0D,EAAcxD,WACvBgF,IACFC,GAA2B,EAC3BrD,EAAMmD,OAASvB,EAAanC,WAC5B4D,GAA2B,OAKjCtH,OAAOC,eAAeF,KAAM,eAAgB,CAC1CiB,MAAO6E,EACP5E,YAAY,IAGd,IAAImG,OAAS,EACbpH,OAAOC,eAAeF,KAAM,sBAAuB,CACjDkB,YAAY,EACZC,cAAc,EACdC,UAAU,EACVH,MAAO,WACDjB,KAAKqH,SAAWA,IAClBA,EAASrH,KAAKqH,OACVE,IACFD,GAAqB,EACrBtH,KAAK8F,aAAa7B,YAAYjE,KAAKqH,QACnCC,GAAqB,QAO3B9C,EAAQmB,EAAIvF,UAchB,CAAC,OAAQ,OAAQ,WAAY,OAAQ,YAClCmC,SAAQ,SAASmF,IAba,SAASA,GACxCzH,OAAOC,eAAesE,EAAOkD,EAAe,CAC1CvH,IAAK,WACH,OAAOH,KAAK2H,eAAeD,IAE7B9D,IAAK,SAAS3C,GACZjB,KAAK2H,eAAeD,GAAiBzG,GAEvCC,YAAY,IAMZ0G,CAA2BF,MAG/BzH,OAAOC,eAAesE,EAAO,SAAU,CACrCrE,IAAK,WACH,OAAOH,KAAK2H,eAAL,QAET/D,IAAK,SAAS3C,GACZjB,KAAK2H,eAAL,OAAgC1G,EAChCjB,KAAK6H,uBAEP3G,YAAY,IAGdjB,OAAOwC,iBAAiB+B,EAAO,CAE7Bb,SAAY,CACVxD,IAAK,WACH,IAAI+D,EAAQlE,KACZ,OAAO,WACL,OAAOkE,EAAM2B,QAKnBA,KAAQ,CACN1F,IAAK,WACH,OAAOH,KAAK2H,eAAe9B,KAAKvC,QAAQ,MAAO,KAEjDM,IAAK,SAAS3C,GACZjB,KAAK2H,eAAe9B,KAAO5E,EAC3BjB,KAAK6H,uBAEP3G,YAAY,GAGd0E,SAAY,CACVzF,IAAK,WACH,OAAOH,KAAK2H,eAAe/B,SAAStC,QAAQ,SAAU,MAExDM,IAAK,SAAS3C,GACZjB,KAAK2H,eAAe/B,SAAW3E,GAEjCC,YAAY,GAGd4G,OAAU,CACR3H,IAAK,WAEH,IAAI4H,EAAe,CAAE,QAAS,GAAI,SAAU,IAAK,OAAQ,IAAK/H,KAAK2H,eAAeT,UAI9Ec,EAAkBhI,KAAK2H,eAAeM,MAAQF,GACnB,KAA7B/H,KAAK2H,eAAeM,KAEtB,OAAOjI,KAAK2H,eAAeT,SACzB,KACAlH,KAAK2H,eAAeO,UACnBF,EAAmB,IAAMhI,KAAK2H,eAAeM,KAAQ,KAE1D/G,YAAY,GAGdiH,SAAY,CACVhI,IAAK,WACH,MAAO,IAETyD,IAAK,SAAS3C,KAEdC,YAAY,GAGdkH,SAAY,CACVjI,IAAK,WACH,MAAO,IAETyD,IAAK,SAAS3C,KAEdC,YAAY,KAIhByE,EAAI0C,gBAAkB,SAASC,GAC7B,OAAOtC,EAAKqC,gBAAgBjG,MAAM4D,EAAM1D,YAG1CqD,EAAI4C,gBAAkB,SAAStC,GAC7B,OAAOD,EAAKuC,gBAAgBnG,MAAM4D,EAAM1D,YAG1C9B,EAAOmF,IAAMA,EAKb6C,QAGuB,IAApBhI,EAAO6F,YAA0B,WAAY7F,EAAO6F,UAAW,CAClE,IAAIoC,EAAY,WACd,OAAOjI,EAAO6F,SAASa,SAAW,KAAO1G,EAAO6F,SAAS6B,UAAY1H,EAAO6F,SAAS4B,KAAQ,IAAMzH,EAAO6F,SAAS4B,KAAQ,KAG7H,IACEhI,OAAOC,eAAeM,EAAO6F,SAAU,SAAU,CAC/ClG,IAAKsI,EACLvH,YAAY,IAEd,MAAO7B,GACPqJ,aAAY,WACVlI,EAAO6F,SAASyB,OAASW,MACxB,OApOT,MAyOqB,IAAXjI,eAA0BA,eACV,oBAAX1B,OAA0BA,OACjB,oBAAT2B,KAAwBA,KAAOT,gBD3e0kC,IAAI2I,WAAS,CAACC,QAAO,EAAGC,WAAW,GAAGC,OAAM,GAAI,SAASC,UAAQ1J,EAAEiC,GAAG,OAAO,WAAW,OAAO0H,MAAMC,KAAKtJ,SAASuJ,iBAAiB5H,IAAI6H,SAASnJ,OAAOD,KAAKV,EAAEiC,GAAG,SAAS8H,QAAQ/J,EAAEiC,GAAG,GAAGjC,GAAGiC,EAAE,CAAC,IAAIG,EAAE,IAAIpB,MAAMiB,EAAE,CAAC5B,SAAQ,IAAKL,EAAEgK,cAAc5H,IAAI,IAAI6H,iBAAe,SAASjK,GAAG,OAAO,MAAMA,EAAEA,EAAEkK,YAAY,MAAMC,aAAW,SAASnK,EAAEiC,GAAG,SAASjC,GAAGiC,GAAGjC,aAAaiC,IAAImI,oBAAkB,SAASpK,GAAG,OAAO,MAAMA,GAAGqK,WAAS,SAASrK,GAAG,OAAOiK,iBAAejK,KAAKY,QAAQ0J,WAAS,SAAStK,GAAG,OAAOiK,iBAAejK,KAAKuK,SAASA,OAAOC,MAAMxK,IAAIyK,WAAS,SAASzK,GAAG,OAAOiK,iBAAejK,KAAKoE,QAAQsG,YAAU,SAAS1K,GAAG,OAAOiK,iBAAejK,KAAK2K,SAASC,aAAW,SAAS5K,GAAG,OAAOiK,iBAAejK,KAAK6K,UAAUC,UAAQ,SAAS9K,GAAG,OAAO2J,MAAMmB,QAAQ9K,IAAI+K,aAAW,SAAS/K,GAAG,OAAOmK,aAAWnK,EAAEgL,WAAWC,YAAU,SAASjL,GAAG,OAAOmK,aAAWnK,EAAEkL,UAAUC,UAAQ,SAASnL,GAAG,OAAOmK,aAAWnK,EAAEgB,QAAQoK,UAAQ,SAASpL,GAAG,OAAOoK,oBAAkBpK,KAAKyK,WAASzK,IAAI8K,UAAQ9K,IAAI+K,aAAW/K,MAAMA,EAAEqC,QAAQgI,WAASrK,KAAKY,OAAO8B,KAAK1C,GAAGqC,QAAQgJ,KAAG,CAACC,gBAAgBlB,oBAAkBmB,OAAOlB,WAASmB,OAAOlB,WAASmB,OAAOhB,WAASiB,QAAQhB,YAAUiB,SAASf,aAAWgB,MAAMd,UAAQe,SAASd,aAAWe,QAAQb,YAAUhL,MAAMkL,UAAQY,MAAMX,WAAS,SAASY,iBAAiBhM,GAAG,IAAIiC,EAAE,GAAGgK,OAAOjM,GAAGkM,MAAM,oCAAoC,OAAOjK,EAAEkK,KAAKC,IAAI,GAAGnK,EAAE,GAAGA,EAAE,GAAGI,OAAO,IAAIJ,EAAE,IAAIA,EAAE,GAAG,IAAI,EAAE,SAASoK,MAAMrM,EAAEiC,GAAG,GAAG,EAAEA,EAAE,CAAC,IAAIG,EAAE4J,iBAAiB/J,GAAG,OAAOqK,WAAWtM,EAAEuM,QAAQnK,IAAI,OAAO+J,KAAKE,MAAMrM,EAAEiC,GAAGA,EAAE,IAAIuK,WAAW,WAAW,SAASxM,EAAEiC,EAAEG,GAAGJ,gBAAgBrB,KAAKX,GAAGqL,KAAGS,QAAQ7J,GAAGtB,KAAKmL,QAAQ7J,EAAEoJ,KAAGI,OAAOxJ,KAAKtB,KAAKmL,QAAQxL,SAASmM,cAAcxK,IAAIoJ,KAAGS,QAAQnL,KAAKmL,UAAUT,KAAGU,MAAMpL,KAAKmL,QAAQY,cAAc/L,KAAKgM,OAAO3J,eAAe,GAAGsG,WAAS,GAAGlH,GAAGzB,KAAKiM,QAAQ,OAAOrK,aAAavC,EAAE,CAAC,CAAC2B,IAAI,OAAOC,MAAM,WAAW5B,EAAE6M,UAAUlM,KAAKgM,OAAOpD,SAAS5I,KAAKmL,QAAQgB,MAAMC,WAAW,OAAOpM,KAAKmL,QAAQgB,MAAME,iBAAiB,OAAOrM,KAAKmL,QAAQgB,MAAMG,YAAY,gBAAgBtM,KAAKuM,WAAU,GAAIvM,KAAKmL,QAAQY,WAAW/L,QAAQ,CAACgB,IAAI,UAAUC,MAAM,WAAW5B,EAAE6M,UAAUlM,KAAKgM,OAAOpD,SAAS5I,KAAKmL,QAAQgB,MAAMC,WAAW,GAAGpM,KAAKmL,QAAQgB,MAAME,iBAAiB,GAAGrM,KAAKmL,QAAQgB,MAAMG,YAAY,IAAItM,KAAKuM,WAAU,GAAIvM,KAAKmL,QAAQY,WAAW,QAAQ,CAAC/K,IAAI,YAAYC,MAAM,SAAS5B,GAAG,IAAIiC,EAAEtB,KAAKyB,EAAEpC,EAAE,mBAAmB,sBAAsB,CAAC,aAAa,YAAY,YAAYkD,SAAS,SAASlD,GAAGiC,EAAE6J,QAAQ1J,GAAGpC,GAAG,SAASA,GAAG,OAAOiC,EAAEsC,IAAIvE,MAAK,QAAS,CAAC2B,IAAI,MAAMC,MAAM,SAASK,GAAG,IAAIjC,EAAE6M,UAAUxB,KAAGpL,MAAMgC,GAAG,OAAO,KAAK,IAAIG,EAAEE,EAAEL,EAAEkL,OAAOnI,EAAE/C,EAAEmL,eAAe,GAAGC,EAAEf,WAAWhK,EAAEgL,aAAa,SAAS,EAAEC,EAAEjB,WAAWhK,EAAEgL,aAAa,SAAS,IAAIjH,EAAEiG,WAAWhK,EAAEgL,aAAa,UAAU,EAAEE,EAAElL,EAAEmL,wBAAwBzH,EAAE,IAAIwH,EAAEE,OAAO/M,KAAKgM,OAAOnD,WAAW,GAAG,IAAI,OAAO,GAAGpH,EAAE,IAAIoL,EAAEE,OAAO1I,EAAE2I,QAAQH,EAAEI,OAAOxL,EAAE,EAAE,IAAIA,IAAIA,EAAE,KAAK,GAAGA,EAAEA,IAAI,IAAI,EAAEA,GAAG4D,EAAE,GAAG5D,IAAIA,GAAG,GAAGA,EAAE,IAAI4D,GAAGqH,EAAEhB,MAAMjK,EAAE,KAAKmL,EAAEF,GAAGhH,KAAK,CAAC1E,IAAI,MAAMC,MAAM,SAASK,GAAGjC,EAAE6M,SAASxB,KAAGpL,MAAMgC,KAAKA,EAAEkL,OAAOU,WAAW5L,EAAEpC,iBAAiBoC,EAAEkL,OAAOvL,MAAMjB,KAAKG,IAAImB,GAAG8H,QAAQ9H,EAAEkL,OAAO,aAAalL,EAAE2F,KAAK,SAAS,aAAa,CAAC,CAACjG,IAAI,QAAQC,MAAM,SAASK,GAAG,IAAIG,EAAE,EAAEa,UAAUZ,aAAQ,IAASY,UAAU,GAAGA,UAAU,GAAG,GAAGX,EAAE,KAAK,GAAG+I,KAAGU,MAAM9J,IAAIoJ,KAAGI,OAAOxJ,GAAGK,EAAEqH,MAAMC,KAAKtJ,SAASuJ,iBAAiBwB,KAAGI,OAAOxJ,GAAGA,EAAE,wBAAwBoJ,KAAGS,QAAQ7J,GAAGK,EAAE,CAACL,GAAGoJ,KAAGQ,SAAS5J,GAAGK,EAAEqH,MAAMC,KAAK3H,GAAGoJ,KAAGO,MAAM3J,KAAKK,EAAEL,EAAEW,OAAOyI,KAAGS,UAAUT,KAAGU,MAAMzJ,GAAG,OAAO,KAAK,IAAI0C,EAAEhC,eAAe,GAAGsG,WAAS,GAAGlH,GAAG,GAAGiJ,KAAGI,OAAOxJ,IAAI+C,EAAEyE,MAAM,CAAC,IAAI4D,EAAE,IAAIS,kBAAkB,SAAS1L,GAAGuH,MAAMC,KAAKxH,GAAGc,SAAS,SAASd,GAAGuH,MAAMC,KAAKxH,EAAE2L,YAAY7K,SAAS,SAASd,GAAGiJ,KAAGS,QAAQ1J,IAAIsH,UAAQtH,EAAEH,IAAI,IAAIjC,EAAEoC,EAAE4C,YAAYqI,EAAEW,QAAQ1N,SAASoH,KAAK,CAACuG,WAAU,EAAGC,SAAQ,IAAK,OAAO5L,EAAE6L,KAAK,SAASlM,GAAG,OAAO,IAAIjC,EAAEiC,EAAEG,QAAQ,CAACT,IAAI,UAAUb,IAAI,WAAW,MAAM,iBAAiBR,SAAS8N,oBAAoBpO,EAAxvE,GEIxnF,MAAMiK,eAAkBoE,GAAWA,MAAAA,EAAiDA,EAAMnE,YAAc,KAClGC,WAAa,CAACkE,EAAOnE,IAAgBS,QAAQ0D,GAASnE,GAAemE,aAAiBnE,GACtFE,kBAAqBiE,GAAUA,MAAAA,EAC/BhE,SAAYgE,GAAUpE,eAAeoE,KAAWzN,OAChD0J,SAAY+D,GAAUpE,eAAeoE,KAAW9D,SAAWA,OAAOC,MAAM6D,GACxE5D,SAAY4D,GAAUpE,eAAeoE,KAAWjK,OAChDsG,UAAa2D,GAAUpE,eAAeoE,KAAW1D,QACjDC,WAAcyD,GAAUpE,eAAeoE,KAAWxD,SAClDC,QAAWuD,GAAU1E,MAAMmB,QAAQuD,GACnCC,UAAaD,GAAUlE,WAAWkE,EAAOE,SACzCxD,WAAcsD,GAAUlE,WAAWkE,EAAOrD,UAC1CwD,WAAcH,GAAUpE,eAAeoE,KAAWI,KAClDtD,QAAWkD,GAAUlE,WAAWkE,EAAOrN,OACvC0N,gBAAmBL,GAAUlE,WAAWkE,EAAOM,eAC/CC,MAASP,GAAUlE,WAAWkE,EAAO5O,OAAOoP,eAAiB1E,WAAWkE,EAAO5O,OAAOqP,QACtFC,QAAWV,GAAUlE,WAAWkE,EAAOW,aAAgB5E,kBAAkBiE,IAAU5D,SAAS4D,EAAMY,MAClGC,UAAab,GAAUlE,WAAWkE,EAAOc,UAAYvE,WAAWyD,EAAMe,MAEtEnE,UAAaoD,GACP,OAAVA,GACiB,iBAAVA,GACY,IAAnBA,EAAMgB,UACiB,iBAAhBhB,EAAMvB,OACkB,iBAAxBuB,EAAMiB,cAETlE,QAAWiD,GACfjE,kBAAkBiE,KAChB5D,SAAS4D,IAAUvD,QAAQuD,IAAUtD,WAAWsD,MAAYA,EAAMhM,QACnEgI,SAASgE,KAAWzN,OAAO8B,KAAK2L,GAAOhM,OAEpCkN,MAASlB,IAEb,GAAIlE,WAAWkE,EAAO5O,OAAO6G,KAC3B,OAAO,EAIT,IAAKmE,SAAS4D,GACZ,OAAO,EAIT,IAAI5C,EAAS4C,EACRA,EAAMmB,WAAW,YAAenB,EAAMmB,WAAW,cACpD/D,EAAU,UAAS4C,KAGrB,IACE,OAAQjD,QAAQ,IAAI9E,IAAImF,GAAQ5C,UAChC,MAAO4G,GACP,OAAO,IAIX,IAAApE,GAAe,CACbC,gBAAiBlB,kBACjBmB,OAAQlB,SACRmB,OAAQlB,SACRmB,OAAQhB,SACRiB,QAAShB,UACTiB,SAAUf,WACVgB,MAAOd,QACP4E,QAASpB,UACTzC,SAAUd,WACVe,QAASb,UACT0E,SAAUnB,WACVvO,MAAOkL,QACPyE,cAAelB,gBACfmB,IAAKjB,MACLkB,MAAOf,QACPgB,QAASb,UACTtI,IAAK2I,MACLxD,MAAOX,SCtEF,MAAM4E,mBAAqB,MAChC,MAAMlE,EAAUxL,SAAS8G,cAAc,QAEjC6I,EAAS,CACbC,iBAAkB,sBAClBC,cAAe,gBACfC,YAAa,gCACbC,WAAY,iBAGRzI,EAAOhH,OAAO8B,KAAKuN,GAAQK,MAAMrQ,QAAmCsQ,IAAzBzE,EAAQgB,MAAM7M,KAE/D,QAAOoL,GAAGI,OAAO7D,IAAQqI,EAAOrI,IAZA,GAgB3B,SAAS4I,QAAQ1E,EAAS2E,GAC/BC,YAAW,KACT,IAEE5E,EAAQ6E,QAAS,EAGjB7E,EAAQ8E,aAGR9E,EAAQ6E,QAAS,EACjB,MAAOlB,OAGRgB,GC/BL,MAAMI,QAAU,CACdC,KAAMnG,QAAQlL,OAAOa,SAASyQ,cAC9BC,OAAQvR,OAAOwR,UAAUC,UAAUpH,SAAS,QAC5CqH,SAAU,qBAAsB7Q,SAAS8N,gBAAgBtB,QAAU,OAAOhF,KAAKmJ,UAAUC,WACzFE,SAAU,kBAAkBtJ,KAAKmJ,UAAUI,UAC3CC,MAC0B,aAAvBL,UAAUI,UAA2BJ,UAAUM,eAAiB,GACjE,uBAAuBzJ,KAAKmJ,UAAUI,WCLnC,SAASG,UAAUjG,GACxB,OAAOkG,KAAKC,MAAMD,KAAKE,UAAUpG,IAI5B,SAASqG,QAAQrG,EAAQsG,GAC9B,OAAOA,EAAKzL,MAAM,KAAK0L,QAAO,CAACpQ,EAAKC,IAAQD,GAAOA,EAAIC,IAAM4J,GAIxD,SAASwG,OAAO5E,EAAS,MAAO6E,GACrC,IAAKA,EAAQ3P,OACX,OAAO8K,EAGT,MAAM8E,EAASD,EAAQnO,QAEvB,OAAKwH,GAAGE,OAAO0G,IAIfrR,OAAO8B,KAAKuP,GAAQ/O,SAASvB,IACvB0J,GAAGE,OAAO0G,EAAOtQ,KACdf,OAAO8B,KAAKyK,GAAQrD,SAASnI,IAChCf,OAAOsR,OAAO/E,EAAQ,CAAExL,CAACA,GAAM,KAGjCoQ,OAAO5E,EAAOxL,GAAMsQ,EAAOtQ,KAE3Bf,OAAOsR,OAAO/E,EAAQ,CAAExL,CAACA,GAAMsQ,EAAOtQ,QAInCoQ,OAAO5E,KAAW6E,IAfhB7E,ECjBJ,SAASgF,KAAKC,EAAUC,GAE7B,MAAMC,EAAUF,EAAS/P,OAAS+P,EAAW,CAACA,GAI9CzI,MAAMC,KAAK0I,GACRC,UACArP,SAAQ,CAAC4I,EAAS0G,KACjB,MAAMC,EAAQD,EAAQ,EAAIH,EAAQK,WAAU,GAAQL,EAE9CM,EAAS7G,EAAQ8G,WACjBC,EAAU/G,EAAQgH,YAIxBL,EAAMnL,YAAYwE,GAKd+G,EACFF,EAAOI,aAAaN,EAAOI,GAE3BF,EAAOrL,YAAYmL,MAMpB,SAASO,cAAclH,EAAS3F,GAChCkF,GAAGS,QAAQA,KAAYT,GAAGU,MAAM5F,IAMrCvF,OAAO4D,QAAQ2B,GACZvD,QAAO,EAAC,CAAGhB,MAAYyJ,GAAGC,gBAAgB1J,KAC1CsB,SAAQ,EAAEvB,EAAKC,KAAWkK,EAAQmH,aAAatR,EAAKC,KAIlD,SAASwF,cAAcQ,EAAMzB,EAAY+M,GAE9C,MAAMpH,EAAUxL,SAAS8G,cAAcQ,GAavC,OAVIyD,GAAGE,OAAOpF,IACZ6M,cAAclH,EAAS3F,GAIrBkF,GAAGI,OAAOyH,KACZpH,EAAQqH,UAAYD,GAIfpH,EAIF,SAASsH,YAAYtH,EAASqB,GAC9B9B,GAAGS,QAAQA,IAAaT,GAAGS,QAAQqB,IAIxCA,EAAOyF,WAAWG,aAAajH,EAASqB,EAAO2F,aAI1C,SAASO,cAAczL,EAAM+K,EAAQxM,EAAY+M,GACjD7H,GAAGS,QAAQ6G,IAIhBA,EAAOrL,YAAYF,cAAcQ,EAAMzB,EAAY+M,IAI9C,SAASI,cAAcxH,GACxBT,GAAGQ,SAASC,IAAYT,GAAGO,MAAME,GACnCnC,MAAMC,KAAKkC,GAAS5I,QAAQoQ,eAIzBjI,GAAGS,QAAQA,IAAaT,GAAGS,QAAQA,EAAQ8G,aAIhD9G,EAAQ8G,WAAWW,YAAYzH,GAI1B,SAAS0H,aAAa1H,GAC3B,IAAKT,GAAGS,QAAQA,GACd,OAGF,IAAIzJ,OAAEA,GAAWyJ,EAAQ2H,WAEzB,KAAOpR,EAAS,GACdyJ,EAAQyH,YAAYzH,EAAQ4H,WAC5BrR,GAAU,EAKP,SAASsR,eAAeC,EAAUC,GACvC,OAAKxI,GAAGS,QAAQ+H,IAAcxI,GAAGS,QAAQ+H,EAASjB,aAAgBvH,GAAGS,QAAQ8H,IAI7EC,EAASjB,WAAWkB,aAAaF,EAAUC,GAEpCD,GALE,KASJ,SAASG,0BAA0BC,EAAKC,GAM7C,IAAK5I,GAAGI,OAAOuI,IAAQ3I,GAAGU,MAAMiI,GAC9B,MAAO,GAGT,MAAM7N,EAAa,GACb+N,EAAWnC,OAAO,GAAIkC,GAwC5B,OAtCAD,EAAI5N,MAAM,KAAKlD,SAASqK,IAEtB,MAAM4G,EAAW5G,EAAE6G,OACbC,EAAYF,EAASlQ,QAAQ,IAAK,IAGlCqQ,EAFWH,EAASlQ,QAAQ,SAAU,IAErBmC,MAAM,MACtBzE,GAAO2S,EACR1S,EAAQ0S,EAAMjS,OAAS,EAAIiS,EAAM,GAAGrQ,QAAQ,QAAS,IAAM,GAIjE,OAFckQ,EAASI,OAAO,IAG5B,IAAK,IAEClJ,GAAGI,OAAOyI,EAASM,OACrBrO,EAAWqO,MAAS,GAAEN,EAASM,SAASH,IAExClO,EAAWqO,MAAQH,EAErB,MAEF,IAAK,IAEHlO,EAAWsO,GAAKN,EAASlQ,QAAQ,IAAK,IACtC,MAEF,IAAK,IAEHkC,EAAWxE,GAAOC,MASjBmQ,OAAOmC,EAAU/N,GAInB,SAASuO,aAAa5I,EAAS6E,GACpC,IAAKtF,GAAGS,QAAQA,GACd,OAGF,IAAI6I,EAAOhE,EAENtF,GAAGK,QAAQiJ,KACdA,GAAQ7I,EAAQ6E,QAIlB7E,EAAQ6E,OAASgE,EAIZ,SAASC,YAAY9I,EAASuI,EAAWQ,GAC9C,GAAIxJ,GAAGQ,SAASC,GACd,OAAOnC,MAAMC,KAAKkC,GAASqC,KAAKnO,GAAM4U,YAAY5U,EAAGqU,EAAWQ,KAGlE,GAAIxJ,GAAGS,QAAQA,GAAU,CACvB,IAAI1D,EAAS,SAMb,YALqB,IAAVyM,IACTzM,EAASyM,EAAQ,MAAQ,UAG3B/I,EAAQgJ,UAAU1M,GAAQiM,GACnBvI,EAAQgJ,UAAUC,SAASV,GAGpC,OAAO,EAIF,SAASW,SAASlJ,EAASuI,GAChC,OAAOhJ,GAAGS,QAAQA,IAAYA,EAAQgJ,UAAUC,SAASV,GAIpD,SAAS3K,QAAQoC,EAASqI,GAC/B,MAAMpT,UAAEA,GAAcmK,QAatB,OANEnK,EAAU2I,SACV3I,EAAUkU,uBACVlU,EAAUmU,oBACVnU,EAAUoU,mBARZ,WACE,OAAOxL,MAAMC,KAAKtJ,SAASuJ,iBAAiBsK,IAAWrK,SAASnJ,QAUpDD,KAAKoL,EAASqI,GAIvB,SAASiB,UAAQtJ,EAASqI,GAC/B,MAAMpT,UAAEA,GAAcmK,QAetB,OAFenK,EAAUqU,SAVzB,WACE,IAAIC,EAAK1U,KAET,EAAG,CACD,GAAI+I,QAAQA,QAAQ2L,EAAIlB,GAAW,OAAOkB,EAC1CA,EAAKA,EAAGC,eAAiBD,EAAGzC,iBACd,OAAPyC,GAA+B,IAAhBA,EAAGhG,UAC3B,OAAO,OAKK3O,KAAKoL,EAASqI,GAIvB,SAASoB,YAAYpB,GAC1B,OAAOxT,KAAKyR,SAASoD,UAAU3L,iBAAiBsK,GAI3C,SAASsB,WAAWtB,GACzB,OAAOxT,KAAKyR,SAASoD,UAAU/I,cAAc0H,GAIxC,SAASuB,SAAS5J,EAAU,KAAM6J,GAAW,GAC7CtK,GAAGS,QAAQA,KAKhBA,EAAQ8J,MAAM,CAAEC,eAAe,IAG3BF,GACFf,YAAY9I,EAASnL,KAAKgM,OAAOmJ,WAAWH,WC9QhD,MAAMI,cAAgB,CACpB,YAAa,SACb,YAAa,IACb,aAAc,cACd,YAAa,yBACb,YAAa,UAITC,QAAU,CAEdC,MAAO,gBAAiB3V,SAAS8G,cAAc,SAC/C8O,MAAO,gBAAiB5V,SAAS8G,cAAc,SAI/C+O,MAAMvO,EAAMwO,EAAUC,GACpB,MAAMC,EAAgBzF,QAAQO,UAAYiF,GAAeL,QAAQK,YAC3DE,EAAMP,QAAQpO,IAAsB,UAAbwO,EAG7B,MAAO,CACLG,IAAAA,EACAC,GAJSD,GAAOP,QAAQS,aAAwB,UAAT7O,IAAqBiJ,QAAQO,UAAYkF,KAUpFI,MACM7F,QAAQO,WAMR/F,GAAGM,SAASvE,cAAc,SAASuP,8BAMnCrW,SAASsW,yBAA4BxP,cAAc,SAASyP,0BASlEC,QAASzL,GAAGM,SAASlM,OAAOsX,uCAI5BV,YAAa,gBAAiB/V,SAAS8G,cAAc,SAKrD4P,KAAK3I,GACH,GAAIhD,GAAGU,MAAMsC,GACX,OAAO,EAGT,MAAO4I,GAAa5I,EAAMjI,MAAM,KAChC,IAAIwB,EAAOyG,EAGX,IAAK1N,KAAKuW,SAAWD,IAActW,KAAKiH,KACtC,OAAO,EAILhH,OAAO8B,KAAKqT,eAAejM,SAASlC,KACtCA,GAAS,aAAYmO,cAAc1H,OAGrC,IACE,OAAO1D,QAAQ/C,GAAQjH,KAAKwW,MAAMC,YAAYxP,GAAM3D,QAAQ,KAAM,KAClE,MAAOwL,GACP,OAAO,IAKX4H,WAAY,eAAgB/W,SAAS8G,cAAc,SAGnDqP,WAAY,MACV,MAAMa,EAAQhX,SAAS8G,cAAc,SAErC,OADAkQ,EAAM1P,KAAO,QACS,UAAf0P,EAAM1P,MAHH,GAQZ2P,MAAO,iBAAkBjX,SAAS8N,gBAGlCoJ,aAAoC,IAAvBxH,mBAIbyH,cAAe,eAAgBhY,QAAUA,OAAOiY,WAAW,4BAA4BhO,SCzGnFiO,yBAA2B,MAE/B,IAAIC,GAAY,EAChB,IACE,MAAMC,EAAUjX,OAAOC,eAAe,GAAI,UAAW,CACnDC,IAAG,KACD8W,GAAY,EACL,QAGXnY,OAAOqY,iBAAiB,OAAQ,KAAMD,GACtCpY,OAAOsY,oBAAoB,OAAQ,KAAMF,GACzC,MAAOpI,IAIT,OAAOmI,GAhBwB,GAoB1B,SAASI,eAAelM,EAAS7L,EAAOwF,EAAUwS,GAAS,EAAOC,GAAU,EAAMC,GAAU,GAEjG,IAAKrM,KAAa,qBAAsBA,IAAYT,GAAGU,MAAM9L,KAAWoL,GAAGM,SAASlG,GAClF,OAIF,MAAMwK,EAAShQ,EAAMmG,MAAM,KAG3B,IAAIyR,EAAUM,EAGVR,2BACFE,EAAU,CAERK,QAAAA,EAEAC,QAAAA,IAKJlI,EAAO/M,SAAS0E,IACVjH,MAAQA,KAAKyX,gBAAkBH,GAEjCtX,KAAKyX,eAAetV,KAAK,CAAEgJ,QAAAA,EAASlE,KAAAA,EAAMnC,SAAAA,EAAUoS,QAAAA,IAGtD/L,EAAQmM,EAAS,mBAAqB,uBAAuBrQ,EAAMnC,EAAUoS,MAK1E,SAASQ,GAAGvM,EAASmE,EAAS,GAAIxK,EAAUyS,GAAU,EAAMC,GAAU,GAC3EH,eAAetX,KAAKC,KAAMmL,EAASmE,EAAQxK,GAAU,EAAMyS,EAASC,GAI/D,SAASG,IAAIxM,EAASmE,EAAS,GAAIxK,EAAUyS,GAAU,EAAMC,GAAU,GAC5EH,eAAetX,KAAKC,KAAMmL,EAASmE,EAAQxK,GAAU,EAAOyS,EAASC,GAIhE,SAASI,KAAKzM,EAASmE,EAAS,GAAIxK,EAAUyS,GAAU,EAAMC,GAAU,GAC7E,MAAMK,EAAe,IAAIC,KACvBH,IAAIxM,EAASmE,EAAQuI,EAAcN,EAASC,GAC5C1S,EAAS1C,MAAMpC,KAAM8X,IAGvBT,eAAetX,KAAKC,KAAMmL,EAASmE,EAAQuI,GAAc,EAAMN,EAASC,GAInE,SAASO,aAAa5M,EAASlE,EAAO,GAAIvH,GAAU,EAAOI,EAAS,IAEzE,IAAK4K,GAAGS,QAAQA,IAAYT,GAAGU,MAAMnE,GACnC,OAIF,MAAM3H,EAAQ,IAAIN,YAAYiI,EAAM,CAClCvH,QAAAA,EACAI,OAAQ,IAAKA,EAAQkY,KAAMhY,QAI7BmL,EAAQ9B,cAAc/J,GAIjB,SAAS2Y,kBACVjY,MAAQA,KAAKyX,iBACfzX,KAAKyX,eAAelV,SAAS2V,IAC3B,MAAM/M,QAAEA,EAAFlE,KAAWA,EAAXnC,SAAiBA,EAAjBoS,QAA2BA,GAAYgB,EAC7C/M,EAAQiM,oBAAoBnQ,EAAMnC,EAAUoS,MAG9ClX,KAAKyX,eAAiB,IAKnB,SAASU,QACd,OAAO,IAAI3J,SAAS4J,GAClBpY,KAAKmY,MAAQpI,WAAWqI,EAAS,GAAKV,GAAG3X,KAAKC,KAAMA,KAAKyR,SAASoD,UAAW,QAASuD,KACtF3J,MAAK,SC5GF,SAAS4J,eAAepX,GACzByJ,GAAG0E,QAAQnO,IACbA,EAAMwN,KAAK,MAAM,SCFd,SAAS6J,OAAOrN,GACrB,OAAKP,GAAGO,MAAMA,GAIPA,EAAMhJ,QAAO,CAACiW,EAAMrG,IAAU5G,EAAMrE,QAAQsR,KAAUrG,IAHpD5G,EAOJ,SAASwJ,QAAQxJ,EAAOhK,GAC7B,OAAKyJ,GAAGO,MAAMA,IAAWA,EAAMvJ,OAIxBuJ,EAAMkG,QAAO,CAACoH,EAAMC,IAAUhN,KAAKiN,IAAID,EAAOvX,GAASuK,KAAKiN,IAAIF,EAAOtX,GAASuX,EAAOD,IAHrF,KCVJ,SAASG,YAAYC,GAC1B,SAAK7Z,SAAWA,OAAO8Z,MAIhB9Z,OAAO8Z,IAAIC,SAASF,GAI7B,MAAMG,eAAiB,CACrB,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,EAAG,GACJ,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,GACL,CAAC,EAAG,IACJ,CAAC,GAAI,GACL,CAAC,EAAG,IACJ,CAAC,GAAI,GACL,CAAC,EAAG,KACJ3H,QAAO,CAAC4H,GAAMC,EAAGC,MAAV,IAAuBF,EAAK,CAACC,EAAIC,GAAI,CAACD,EAAGC,MAAO,IAGlD,SAASC,oBAAoBxL,GAClC,KAAKhD,GAAGO,MAAMyC,IAAYhD,GAAGI,OAAO4C,IAAWA,EAAMvE,SAAS,MAC5D,OAAO,EAKT,OAFcuB,GAAGO,MAAMyC,GAASA,EAAQA,EAAMjI,MAAM,MAEvC+H,IAAI5D,QAAQuP,MAAMzO,GAAGG,QAI7B,SAASuO,kBAAkBC,GAChC,IAAK3O,GAAGO,MAAMoO,KAAWA,EAAMF,MAAMzO,GAAGG,QACtC,OAAO,KAGT,MAAOkC,EAAOuM,GAAUD,EAClBE,EAAa,CAACC,EAAGC,IAAa,IAANA,EAAUD,EAAID,EAAWE,EAAGD,EAAIC,GACxDC,EAAUH,EAAWxM,EAAOuM,GAElC,MAAO,CAACvM,EAAQ2M,EAASJ,EAASI,GAI7B,SAASC,eAAejM,GAC7B,MAAMqD,EAASsI,GAAWH,oBAAoBG,GAASA,EAAM5T,MAAM,KAAK+H,IAAI5D,QAAU,KAEtF,IAAIyP,EAAQtI,EAAMrD,GAalB,GAVc,OAAV2L,IACFA,EAAQtI,EAAM/Q,KAAKgM,OAAOqN,QAId,OAAVA,IAAmB3O,GAAGU,MAAMpL,KAAK4Z,QAAUlP,GAAGO,MAAMjL,KAAK4Z,MAAMP,UAC9DA,MAAAA,GAAUrZ,KAAK4Z,OAIN,OAAVP,GAAkBrZ,KAAKuW,QAAS,CAClC,MAAMsD,WAAEA,EAAFC,YAAcA,GAAgB9Z,KAAKwW,MACzC6C,EAAQ,CAACQ,EAAYC,GAGvB,OAAOV,kBAAkBC,GAIpB,SAASU,eAAerM,GAC7B,IAAK1N,KAAKga,QACR,MAAO,GAGT,MAAMtI,QAAEA,GAAY1R,KAAKyR,SACnB4H,EAAQM,eAAe5Z,KAAKC,KAAM0N,GAExC,IAAKhD,GAAGO,MAAMoO,GACZ,MAAO,GAGT,MAAOL,EAAGC,GAAKG,kBAAkBC,GAE3BY,EAAW,IAAMjB,EAAKC,EAS5B,GAVkBP,YAAa,iBAAgBM,KAAKC,KAIlDvH,EAAQvF,MAAM+N,YAAe,GAAElB,KAAKC,IAEpCvH,EAAQvF,MAAMgO,cAAiB,GAAEF,KAI/Bja,KAAKoa,UAAYpa,KAAKgM,OAAOqO,MAAMC,SAAWta,KAAKiX,UAAUpB,GAAI,CACnE,MAAMyD,EAAU,IAAMtZ,KAAKwW,MAAM+D,YAAeC,SAAS1b,OAAO2b,iBAAiBza,KAAKwW,OAAO2D,cAAe,IACtGO,GAAUpB,EAASW,IAAYX,EAAS,IAE1CtZ,KAAK2a,WAAWC,OAClBlJ,EAAQvF,MAAMgO,cAAgB,KAE9Bna,KAAKwW,MAAMrK,MAAM0O,UAAa,eAAcH,WAErC1a,KAAKuW,SACd7E,EAAQyC,UAAU2G,IAAI9a,KAAKgM,OAAOmJ,WAAW4F,iBAG/C,MAAO,CAAEd,QAAAA,EAASZ,MAAAA,GAIb,SAAS2B,iBAAiBhC,EAAGC,EAAGgC,EAAY,KACjD,MAAM5B,EAAQL,EAAIC,EACZiC,EAAezG,QAAQxU,OAAO8B,KAAK+W,gBAAiBO,GAG1D,OAAI7N,KAAKiN,IAAIyC,EAAe7B,IAAU4B,EAC7BnC,eAAeoC,GAIjB,CAAClC,EAAGC,GAKN,SAASkC,kBAGd,MAAO,CAFO3P,KAAKC,IAAI9L,SAAS8N,gBAAgB2N,aAAe,EAAGtc,OAAOuc,YAAc,GACxE7P,KAAKC,IAAI9L,SAAS8N,gBAAgB6N,cAAgB,EAAGxc,OAAOyc,aAAe,ICnI5F,MAAMC,MAAQ,CACZC,aACE,IAAKzb,KAAKuW,QACR,MAAO,GAMT,OAHgBvN,MAAMC,KAAKjJ,KAAKwW,MAAMtN,iBAAiB,WAGxCjH,QAAQqP,IACrB,MAAMrK,EAAOqK,EAAO3E,aAAa,QAEjC,QAAIjC,GAAGU,MAAMnE,IAINoO,QAAQgB,KAAKtW,KAAKC,KAAMiH,OAKnCyU,oBAEE,OAAI1b,KAAKgM,OAAO2P,QAAQC,OACf5b,KAAKgM,OAAO2P,QAAQzE,QAItBsE,MAAMC,WACV1b,KAAKC,MACLwN,KAAK8D,GAAW1H,OAAO0H,EAAO3E,aAAa,eAC3C1K,OAAO+H,UAGZ6R,QACE,IAAK7b,KAAKuW,QACR,OAGF,MAAMuF,EAAS9b,KAGf8b,EAAO5E,QAAQ6E,MAAQD,EAAO9P,OAAO+P,MAAM7E,QAGtCxM,GAAGU,MAAMpL,KAAKgM,OAAOqN,QACxBU,eAAeha,KAAK+b,GAItB7b,OAAOC,eAAe4b,EAAOtF,MAAO,UAAW,CAC7CrW,MAEE,MACMmR,EADUkK,MAAMC,WAAW1b,KAAK+b,GACfnM,MAAM/C,GAAMA,EAAED,aAAa,SAAWmP,EAAOxK,SAGpE,OAAOA,GAAU1H,OAAO0H,EAAO3E,aAAa,cAE9C/I,IAAI8J,GACF,GAAIoO,EAAOH,UAAYjO,EAAvB,CAKA,GAAIoO,EAAO9P,OAAO2P,QAAQC,QAAUlR,GAAGM,SAAS8Q,EAAO9P,OAAO2P,QAAQK,UACpEF,EAAO9P,OAAO2P,QAAQK,SAAStO,OAC1B,CAEL,MAEM4D,EAFUkK,MAAMC,WAAW1b,KAAK+b,GAEfnM,MAAM/C,GAAMhD,OAAOgD,EAAED,aAAa,eAAiBe,IAG1E,IAAK4D,EACH,OAIF,MAAM2K,YAAEA,EAAFC,OAAeA,EAAfC,QAAuBA,EAAvBC,WAAgCA,EAAhCC,aAA4CA,GAAiBP,EAAOtF,MAG1EsF,EAAOtF,MAAM8F,IAAMhL,EAAO3E,aAAa,QAGvB,SAAZwP,GAAsBC,KAExBN,EAAOlE,KAAK,kBAAkB,KAC5BkE,EAAOC,MAAQM,EACfP,EAAOG,YAAcA,EAGhBC,GACH7D,eAAeyD,EAAOS,WAK1BT,EAAOtF,MAAMgG,QAKjBzE,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,iBAAiB,EAAO,CAC9DmF,QAASjO,SAQjB+O,iBACOzc,KAAKuW,UAKV5D,cAAc6I,MAAMC,WAAW1b,KAAKC,OAKpCA,KAAKwW,MAAMlE,aAAa,MAAOtS,KAAKgM,OAAO0Q,YAK3C1c,KAAKwW,MAAMgG,OAGXxc,KAAK2c,MAAMC,IAAI,iCCvIZ,SAASC,WAAWC,GACzB,MAAQ,GAAEA,KAAUtR,KAAKuR,MAAsB,IAAhBvR,KAAKwR,YAI/B,SAASC,OAAOvP,KAAUoK,GAC/B,OAAIpN,GAAGU,MAAMsC,GACJA,EAGFA,EAAM/J,WAAWL,QAAQ,YAAY,CAACiI,EAAOlH,IAAMyT,EAAKzT,GAAGV,aAI7D,SAASuZ,cAAcC,EAAS1R,GACrC,OAAgB,IAAZ0R,GAAyB,IAAR1R,GAAa7B,OAAOC,MAAMsT,IAAYvT,OAAOC,MAAM4B,GAC/D,GAGA0R,EAAU1R,EAAO,KAAKG,QAAQ,GAIlC,MAAMwR,WAAa,CAAC1P,EAAQ,GAAIiC,EAAO,GAAIrM,EAAU,KAC1DoK,EAAMpK,QAAQ,IAAI+Z,OAAO1N,EAAKhM,WAAWL,QAAQ,4BAA6B,QAAS,KAAMA,EAAQK,YAG1F2Z,YAAc,CAAC5P,EAAQ,KAClCA,EAAM/J,WAAWL,QAAQ,UAAWiP,GAASA,EAAKqB,OAAO,GAAG2J,cAAgBhL,EAAKiL,OAAO,GAAGlX,gBAGtF,SAASmX,aAAa/P,EAAQ,IACnC,IAAI5C,EAAS4C,EAAM/J,WAYnB,OATAmH,EAASsS,WAAWtS,EAAQ,IAAK,KAGjCA,EAASsS,WAAWtS,EAAQ,IAAK,KAGjCA,EAASwS,YAAYxS,GAGdsS,WAAWtS,EAAQ,IAAK,IAI1B,SAAS4S,YAAYhQ,EAAQ,IAClC,IAAI5C,EAAS4C,EAAM/J,WAMnB,OAHAmH,EAAS2S,aAAa3S,GAGfA,EAAO8I,OAAO,GAAGtN,cAAgBwE,EAAOlG,MAAM,GAIhD,SAAS+Y,UAAUrM,GACxB,MAAMsM,EAAWje,SAASke,yBACpB1S,EAAUxL,SAAS8G,cAAc,OAGvC,OAFAmX,EAASjX,YAAYwE,GACrBA,EAAQ2S,UAAYxM,EACbsM,EAASG,WAAWvL,UAItB,SAASwL,QAAQ7S,GACtB,MAAMuG,EAAU/R,SAAS8G,cAAc,OAEvC,OADAiL,EAAQ/K,YAAYwE,GACbuG,EAAQoM,UCrEjB,MAAMG,UAAY,CAChBlI,IAAK,MACLI,QAAS,UACTqF,MAAO,QACPnB,MAAO,QACP6D,QAAS,WAGLC,KAAO,CACXhe,IAAIa,EAAM,GAAIgL,EAAS,IACrB,GAAItB,GAAGU,MAAMpK,IAAQ0J,GAAGU,MAAMY,GAC5B,MAAO,GAGT,IAAIlB,EAASmG,QAAQjF,EAAOmS,KAAMnd,GAElC,GAAI0J,GAAGU,MAAMN,GACX,OAAI7K,OAAO8B,KAAKkc,WAAW9U,SAASnI,GAC3Bid,UAAUjd,GAGZ,GAGT,MAAMsC,EAAU,CACd,aAAc0I,EAAOoS,SACrB,UAAWpS,EAAOqS,OAOpB,OAJApe,OAAO4D,QAAQP,GAASf,SAAQ,EAAE+b,EAAGC,MACnCzT,EAASsS,WAAWtS,EAAQwT,EAAGC,MAG1BzT,ICnCX,MAAM0T,QACJjV,YAAYuS,GAAQhb,kBAAAd,KAAA,OAyBbgB,IACL,IAAKwd,QAAQvH,YAAcjX,KAAKkM,QAC9B,OAAO,KAGT,MAAMuS,EAAQ3f,OAAO4f,aAAaC,QAAQ3e,KAAKgB,KAE/C,GAAI0J,GAAGU,MAAMqT,GACX,OAAO,KAGT,MAAMG,EAAO9N,KAAKC,MAAM0N,GAExB,OAAO/T,GAAGI,OAAO9J,IAAQA,EAAIU,OAASkd,EAAK5d,GAAO4d,KAtChC9d,kBAAAd,KAAA,OAyCb4K,IAEL,IAAK4T,QAAQvH,YAAcjX,KAAKkM,QAC9B,OAIF,IAAKxB,GAAGE,OAAOA,GACb,OAIF,IAAIiU,EAAU7e,KAAKG,MAGfuK,GAAGU,MAAMyT,KACXA,EAAU,IAIZzN,OAAOyN,EAASjU,GAGhB,IACE9L,OAAO4f,aAAaI,QAAQ9e,KAAKgB,IAAK8P,KAAKE,UAAU6N,IACrD,MAAO/P,QAjET9O,KAAKkM,QAAU4P,EAAO9P,OAAO6S,QAAQ3S,QACrClM,KAAKgB,IAAM8a,EAAO9P,OAAO6S,QAAQ7d,IAIxBiW,uBACT,IACE,KAAM,iBAAkBnY,QACtB,OAAO,EAGT,MAAMqI,EAAO,UAOb,OAHArI,OAAO4f,aAAaI,QAAQ3X,EAAMA,GAClCrI,OAAO4f,aAAaK,WAAW5X,IAExB,EACP,MAAO2H,GACP,OAAO,ICxBE,SAASkQ,MAAM/Y,EAAKgZ,EAAe,QAChD,OAAO,IAAIzQ,SAAQ,CAAC4J,EAAS8G,KAC3B,IACE,MAAMC,EAAU,IAAIC,eAGpB,KAAM,oBAAqBD,GACzB,OAGFA,EAAQhI,iBAAiB,QAAQ,KAC/B,GAAqB,SAAjB8H,EACF,IACE7G,EAAQtH,KAAKC,MAAMoO,EAAQE,eAC3B,MAAOvQ,GACPsJ,EAAQ+G,EAAQE,mBAGlBjH,EAAQ+G,EAAQG,aAIpBH,EAAQhI,iBAAiB,SAAS,KAChC,MAAM,IAAI/X,MAAM+f,EAAQI,WAG1BJ,EAAQK,KAAK,MAAOvZ,GAAK,GAGzBkZ,EAAQF,aAAeA,EAEvBE,EAAQM,OACR,MAAO5c,GACPqc,EAAOrc,OC7BE,SAAS6c,WAAWzZ,EAAK6N,GACtC,IAAKpJ,GAAGI,OAAO7E,GACb,OAGF,MACM0Z,EAAQjV,GAAGI,OAAOgJ,GACxB,IAAI8L,GAAW,EACf,MAAMC,EAAS,IAAsC,OAAhClgB,SAASmgB,eAAehM,GAEvCiM,EAAS,CAAClL,EAAWmL,KAEzBnL,EAAUiJ,UAAYkC,EAGlBL,GAASE,KAKblgB,SAASoH,KAAKkZ,sBAAsB,aAAcpL,IAIpD,IAAK8K,IAAUE,IAAU,CACvB,MAAMK,EAAa1B,QAAQvH,UAErBpC,EAAYlV,SAAS8G,cAAc,OAQzC,GAPAoO,EAAUvC,aAAa,SAAU,IAE7BqN,GACF9K,EAAUvC,aAAa,KAAMwB,GAI3BoM,EAAY,CACd,MAAMC,EAASrhB,OAAO4f,aAAaC,QAAS,SAAY7K,KAGxD,GAFA8L,EAAsB,OAAXO,EAEPP,EAAU,CACZ,MAAMI,EAAOlP,KAAKC,MAAMoP,GACxBJ,EAAOlL,EAAWmL,EAAKI,UAK3BpB,MAAM/Y,GACHwI,MAAM4R,IACL,IAAI3V,GAAGU,MAAMiV,GAAb,CAIA,GAAIH,EACF,IACEphB,OAAO4f,aAAaI,QACjB,SAAYhL,IACbhD,KAAKE,UAAU,CACboP,QAASC,KAGb,MAAOvR,IAKXiR,EAAOlL,EAAWwL,OAEnBC,OAAM,UCrEN,MAAMC,SAAYtf,GAAUuK,KAAKgV,MAAOvf,EAAQ,GAAK,GAAM,GAAI,IACzDwf,WAAcxf,GAAUuK,KAAKgV,MAAOvf,EAAQ,GAAM,GAAI,IACtDyf,WAAczf,GAAUuK,KAAKgV,MAAMvf,EAAQ,GAAI,IAGrD,SAAS0f,WAAWC,EAAO,EAAGC,GAAe,EAAOC,GAAW,GAEpE,IAAKpW,GAAGG,OAAO+V,GACb,OAAOD,gBAAW/Q,EAAWiR,EAAcC,GAI7C,MAAM7D,EAAUhc,GAAW,IAAGA,IAAQ2D,OAAO,GAE7C,IAAImc,EAAQR,SAASK,GACrB,MAAMI,GAdmB/f,EAcD2f,EAdWpV,KAAKgV,MAAOvf,EAAQ,GAAM,GAAI,KAAxCA,IAAAA,EAezB,MAAMggB,EAAOP,WAAWE,GAUxB,OANEG,EADEF,GAAgBE,EAAQ,EACjB,GAAEA,KAEH,GAIF,GAAED,GAAYF,EAAO,EAAI,IAAM,KAAKG,IAAQ9D,EAAO+D,MAAS/D,EAAOgE,KCG7E,MAAMC,SAAW,CAEfC,aACE,MAAMlb,EAAM,IAAIN,IAAI3F,KAAKgM,OAAOoV,QAAStiB,OAAOuH,UAC1Cgb,EAAOviB,OAAOuH,SAASgb,KAAOviB,OAAOuH,SAASgb,KAAOviB,OAAOwiB,IAAIjb,SAASgb,KACzEE,EAAOtb,EAAIob,OAASA,GAASnR,QAAQC,OAASrR,OAAO0iB,cAE3D,MAAO,CACLvb,IAAKjG,KAAKgM,OAAOoV,QACjBG,KAAAA,IAKJE,eACE,IAuCE,OAtCAzhB,KAAKyR,SAASyP,SAAWpM,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUR,SAASxP,SAG9E1R,KAAKyR,SAASkQ,QAAU,CACtBpF,KAAM3H,YAAY7U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQpF,MAC3DqF,MAAO9M,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQC,OAC3DC,QAAS/M,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQE,SAC7DC,OAAQhN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQG,QAC5DC,YAAajN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQI,aACjEC,KAAMlN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQK,MAC1DjM,IAAKjB,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQ5L,KACzDI,QAASrB,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQxL,SAC7D8L,SAAUnN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQM,UAC9DC,SAAUpN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQO,UAC9DvH,WAAY7F,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUC,QAAQhH,aAIlE3a,KAAKyR,SAAS0Q,SAAWrN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUS,UAGrEniB,KAAKyR,SAAS2Q,OAAS,CACrBC,KAAMvN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUU,OAAOC,MACzDC,OAAQxN,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUU,OAAOE,SAI7DtiB,KAAKyR,SAAS8Q,QAAU,CACtBC,OAAQ1N,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUa,QAAQC,QAC5DvG,YAAanH,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUa,QAAQtG,aACjEwG,SAAU3N,WAAW/U,KAAKC,KAAMA,KAAKgM,OAAO0V,UAAUa,QAAQE,WAI5D/X,GAAGS,QAAQnL,KAAKyR,SAAS0Q,YAC3BniB,KAAKyR,SAAS8Q,QAAQG,YAAc1iB,KAAKyR,SAAS0Q,SAASrW,cAAe,IAAG9L,KAAKgM,OAAOmJ,WAAWwN,aAG/F,EACP,MAAO9f,GAOP,OALA7C,KAAK2c,MAAMiG,KAAK,kEAAmE/f,GAGnF7C,KAAK6iB,sBAAqB,IAEnB,IAKXC,WAAW7b,EAAMzB,GACf,MAAMud,EAAY,6BACZ3B,EAAUF,SAASC,WAAWphB,KAAKC,MACnCgjB,EAAY,GAAG5B,EAAQG,KAAqB,GAAdH,EAAQnb,OAAYjG,KAAKgM,OAAOiX,aAE9DC,EAAOvjB,SAASwjB,gBAAgBJ,EAAW,OACjD1Q,cACE6Q,EACA9R,OAAO5L,EAAY,CACjB,cAAe,OACf4d,UAAW,WAKf,MAAMC,EAAM1jB,SAASwjB,gBAAgBJ,EAAW,OAC1C7R,EAAQ,GAAE8R,KAAY/b,IAe5B,MAVI,SAAUoc,GACZA,EAAIC,eAAe,+BAAgC,OAAQpS,GAI7DmS,EAAIC,eAAe,+BAAgC,aAAcpS,GAGjEgS,EAAKvc,YAAY0c,GAEVH,GAITK,YAAYviB,EAAKwiB,EAAO,IACtB,MAAMjR,EAAO4L,KAAKhe,IAAIa,EAAKhB,KAAKgM,QAGhC,OAAOvF,cAAc,OAFF,IAAK+c,EAAM3P,MAAO,CAAC2P,EAAK3P,MAAO7T,KAAKgM,OAAOmJ,WAAWnF,QAAQ/N,OAAO+H,SAAS9E,KAAK,MAE7DqN,IAI3CkR,YAAYlR,GACV,GAAI7H,GAAGU,MAAMmH,GACX,OAAO,KAGT,MAAMmR,EAAQjd,cAAc,OAAQ,CAClCoN,MAAO7T,KAAKgM,OAAOmJ,WAAWwO,KAAK1iB,QAarC,OAVAyiB,EAAM/c,YACJF,cACE,OACA,CACEoN,MAAO7T,KAAKgM,OAAOmJ,WAAWwO,KAAKD,OAErCnR,IAIGmR,GAITE,aAAaC,EAAYL,GACvB,MAAMhe,EAAa4L,OAAO,GAAIoS,GAC9B,IAAIvc,EAAOyW,YAAYmG,GAEvB,MAAMC,EAAQ,CACZ3Y,QAAS,SACTmM,QAAQ,EACRyM,MAAO,KACPb,KAAM,KACNc,aAAc,KACdC,YAAa,MA2Bf,OAxBA,CAAC,UAAW,OAAQ,SAAS1hB,SAASvB,IAChCf,OAAO8B,KAAKyD,GAAY2D,SAASnI,KACnC8iB,EAAM9iB,GAAOwE,EAAWxE,UACjBwE,EAAWxE,OAKA,WAAlB8iB,EAAM3Y,SAAyBlL,OAAO8B,KAAKyD,GAAY2D,SAAS,UAClE3D,EAAWyB,KAAO,UAIhBhH,OAAO8B,KAAKyD,GAAY2D,SAAS,SAC9B3D,EAAWqO,MAAMpO,MAAM,KAAKye,MAAMrX,GAAMA,IAAM7M,KAAKgM,OAAOmJ,WAAWgP,WACxE/S,OAAO5L,EAAY,CACjBqO,MAAQ,GAAErO,EAAWqO,SAAS7T,KAAKgM,OAAOmJ,WAAWgP,YAIzD3e,EAAWqO,MAAQ7T,KAAKgM,OAAOmJ,WAAWgP,QAIpCN,GACN,IAAK,OACHC,EAAMxM,QAAS,EACfwM,EAAMC,MAAQ,OACdD,EAAME,aAAe,QACrBF,EAAMZ,KAAO,OACbY,EAAMG,YAAc,QACpB,MAEF,IAAK,OACHH,EAAMxM,QAAS,EACfwM,EAAMC,MAAQ,OACdD,EAAME,aAAe,SACrBF,EAAMZ,KAAO,SACbY,EAAMG,YAAc,QACpB,MAEF,IAAK,WACHH,EAAMxM,QAAS,EACfwM,EAAMC,MAAQ,iBACdD,EAAME,aAAe,kBACrBF,EAAMZ,KAAO,eACbY,EAAMG,YAAc,cACpB,MAEF,IAAK,aACHH,EAAMxM,QAAS,EACfwM,EAAMC,MAAQ,kBACdD,EAAME,aAAe,iBACrBF,EAAMZ,KAAO,mBACbY,EAAMG,YAAc,kBACpB,MAEF,IAAK,aACHze,EAAWqO,OAAU,IAAG7T,KAAKgM,OAAOmJ,WAAWgP,oBAC/Cld,EAAO,OACP6c,EAAMC,MAAQ,OACdD,EAAMZ,KAAO,OACb,MAEF,QACMxY,GAAGU,MAAM0Y,EAAMC,SACjBD,EAAMC,MAAQ9c,GAEZyD,GAAGU,MAAM0Y,EAAMZ,QACjBY,EAAMZ,KAAOW,GAInB,MAAMO,EAAS3d,cAAcqd,EAAM3Y,SA+CnC,OA5CI2Y,EAAMxM,QAER8M,EAAOzd,YACLua,SAAS4B,WAAW/iB,KAAKC,KAAM8jB,EAAMG,YAAa,CAChDpQ,MAAO,mBAGXuQ,EAAOzd,YACLua,SAAS4B,WAAW/iB,KAAKC,KAAM8jB,EAAMZ,KAAM,CACzCrP,MAAO,uBAKXuQ,EAAOzd,YACLua,SAASqC,YAAYxjB,KAAKC,KAAM8jB,EAAME,aAAc,CAClDnQ,MAAO,oBAGXuQ,EAAOzd,YACLua,SAASqC,YAAYxjB,KAAKC,KAAM8jB,EAAMC,MAAO,CAC3ClQ,MAAO,0BAIXuQ,EAAOzd,YAAYua,SAAS4B,WAAW/iB,KAAKC,KAAM8jB,EAAMZ,OACxDkB,EAAOzd,YAAYua,SAASqC,YAAYxjB,KAAKC,KAAM8jB,EAAMC,SAI3D3S,OAAO5L,EAAY4N,0BAA0BpT,KAAKgM,OAAO0V,UAAUC,QAAQ1a,GAAOzB,IAClF6M,cAAc+R,EAAQ5e,GAGT,SAATyB,GACGyD,GAAGO,MAAMjL,KAAKyR,SAASkQ,QAAQ1a,MAClCjH,KAAKyR,SAASkQ,QAAQ1a,GAAQ,IAGhCjH,KAAKyR,SAASkQ,QAAQ1a,GAAM9E,KAAKiiB,IAEjCpkB,KAAKyR,SAASkQ,QAAQ1a,GAAQmd,EAGzBA,GAITC,YAAYpd,EAAMzB,GAEhB,MAAMkI,EAAQjH,cACZ,QACA2K,OACEgC,0BAA0BpT,KAAKgM,OAAO0V,UAAUU,OAAOnb,IACvD,CACEA,KAAM,QACNqd,IAAK,EACL7Y,IAAK,IACL8Y,KAAM,IACNtjB,MAAO,EACPujB,aAAc,MAEdC,KAAM,SACN,aAActG,KAAKhe,IAAI8G,EAAMjH,KAAKgM,QAClC,gBAAiB,EACjB,gBAAiB,IACjB,gBAAiB,GAEnBxG,IAYJ,OARAxF,KAAKyR,SAAS2Q,OAAOnb,GAAQyG,EAG7BwT,SAASwD,gBAAgB3kB,KAAKC,KAAM0N,GAGpC7B,WAAWgQ,MAAMnO,GAEVA,GAITiX,eAAe1d,EAAMzB,GACnB,MAAM2c,EAAW1b,cACf,WACA2K,OACEgC,0BAA0BpT,KAAKgM,OAAO0V,UAAUa,QAAQtb,IACxD,CACEqd,IAAK,EACL7Y,IAAK,IACLxK,MAAO,EACPwjB,KAAM,cACN,eAAe,GAEjBjf,IAKJ,GAAa,WAATyB,EAAmB,CACrBkb,EAASxb,YAAYF,cAAc,OAAQ,KAAM,MAEjD,MAAMme,EAAY,CAChBC,OAAQ,SACRrC,OAAQ,YACRvb,GACI6d,EAASF,EAAYzG,KAAKhe,IAAIykB,EAAW5kB,KAAKgM,QAAU,GAE9DmW,EAAS3P,UAAa,KAAIsS,EAAOxe,gBAKnC,OAFAtG,KAAKyR,SAAS8Q,QAAQtb,GAAQkb,EAEvBA,GAIT4C,WAAW9d,EAAM+d,GACf,MAAMxf,EAAa4N,0BAA0BpT,KAAKgM,OAAO0V,UAAUa,QAAQtb,GAAO+d,GAE5EnQ,EAAYpO,cAChB,MACA2K,OAAO5L,EAAY,CACjBqO,MAAQ,GAAErO,EAAWqO,MAAQrO,EAAWqO,MAAQ,MAAM7T,KAAKgM,OAAOmJ,WAAWoN,QAAQ3B,QAAQnN,OAC7F,aAAc0K,KAAKhe,IAAI8G,EAAMjH,KAAKgM,UAEpC,SAMF,OAFAhM,KAAKyR,SAAS8Q,QAAQtb,GAAQ4N,EAEvBA,GAMToQ,sBAAsBC,EAAUje,GAE9ByQ,GAAG3X,KACDC,KACAklB,EACA,iBACC5lB,IAEC,IAAK,CAAC,GAAI,GAAI,GAAI,IAAI6J,SAAS7J,EAAM6lB,OACnC,OAQF,GAJA7lB,EAAMJ,iBACNI,EAAM8lB,kBAGa,YAAf9lB,EAAM2H,KACR,OAGF,MAAMoe,EAAgBtc,QAAQmc,EAAU,0BAGxC,IAAKG,GAAiB,CAAC,GAAI,IAAIlc,SAAS7J,EAAM6lB,OAC5CjE,SAASoE,cAAcvlB,KAAKC,KAAMiH,GAAM,OACnC,CACL,IAAIuF,EAEgB,KAAhBlN,EAAM6lB,QACY,KAAhB7lB,EAAM6lB,OAAiBE,GAAiC,KAAhB/lB,EAAM6lB,OAChD3Y,EAAS0Y,EAASK,mBAEb7a,GAAGS,QAAQqB,KACdA,EAAS0Y,EAASjT,WAAWuT,qBAG/BhZ,EAAS0Y,EAASO,uBAEb/a,GAAGS,QAAQqB,KACdA,EAAS0Y,EAASjT,WAAWyT,mBAIjC3Q,SAAShV,KAAKC,KAAMwM,GAAQ,QAIlC,GAKFkL,GAAG3X,KAAKC,KAAMklB,EAAU,SAAU5lB,IACZ,KAAhBA,EAAM6lB,OAIVjE,SAASyE,mBAAmB5lB,KAAKC,KAAM,MAAM,OAKjD4lB,gBAAe3kB,MAAEA,EAAF4kB,KAASA,EAAT5e,KAAeA,EAAfoX,MAAqBA,EAArBqF,MAA4BA,EAAQ,KAApCoC,QAA0CA,GAAU,IACjE,MAAMtgB,EAAa4N,0BAA0BpT,KAAKgM,OAAO0V,UAAUU,OAAOnb,IAEpEie,EAAWze,cACf,SACA2K,OAAO5L,EAAY,CACjByB,KAAM,SACNwd,KAAM,gBACN5Q,MAAQ,GAAE7T,KAAKgM,OAAOmJ,WAAWgP,WAAW3e,EAAWqO,MAAQrO,EAAWqO,MAAQ,KAAKJ,OACvF,eAAgBqS,EAChB7kB,MAAAA,KAIE8kB,EAAOtf,cAAc,QAG3Bsf,EAAKjI,UAAYO,EAEb3T,GAAGS,QAAQuY,IACbqC,EAAKpf,YAAY+c,GAGnBwB,EAASve,YAAYof,GAGrB9lB,OAAOC,eAAeglB,EAAU,UAAW,CACzChkB,YAAY,EACZf,IAAG,IACgD,SAA1C+kB,EAASvY,aAAa,gBAE/B/I,IAAI4R,GAEEA,GACFxM,MAAMC,KAAKic,EAASjT,WAAW+T,UAC5B/jB,QAAQgkB,GAASld,QAAQkd,EAAM,4BAC/B1jB,SAAS0jB,GAASA,EAAK3T,aAAa,eAAgB,WAGzD4S,EAAS5S,aAAa,eAAgBkD,EAAQ,OAAS,YAI3DxV,KAAKuM,UAAU2Z,KACbhB,EACA,eACC5lB,IACC,IAAIoL,GAAGuE,cAAc3P,IAA0B,KAAhBA,EAAM6lB,MAArC,CASA,OALA7lB,EAAMJ,iBACNI,EAAM8lB,kBAENF,EAASY,SAAU,EAEX7e,GACN,IAAK,WACHjH,KAAKmmB,aAAevc,OAAO3I,GAC3B,MAEF,IAAK,UACHjB,KAAK2b,QAAU1a,EACf,MAEF,IAAK,QACHjB,KAAK+b,MAAQpQ,WAAW1K,GAO5BigB,SAASoE,cAAcvlB,KAAKC,KAAM,OAAQ0K,GAAGuE,cAAc3P,OAE7D2H,GACA,GAGFia,SAAS+D,sBAAsBllB,KAAKC,KAAMklB,EAAUje,GAEpD4e,EAAKlf,YAAYue,IAInBvE,WAAWC,EAAO,EAAGE,GAAW,GAE9B,IAAKpW,GAAGG,OAAO+V,GACb,OAAOA,EAMT,OAAOD,WAAWC,EAFCL,SAASvgB,KAAKyiB,UAAY,EAET3B,IAItCsF,kBAAkB5Z,EAAS,KAAMoU,EAAO,EAAGE,GAAW,GAE/CpW,GAAGS,QAAQqB,IAAY9B,GAAGG,OAAO+V,KAKtCpU,EAAOgG,UAAY0O,SAASP,WAAWC,EAAME,KAI/CuF,eACOrmB,KAAKiX,UAAUpB,KAKhBnL,GAAGS,QAAQnL,KAAKyR,SAAS2Q,OAAOE,SAClCpB,SAASoF,SAASvmB,KAAKC,KAAMA,KAAKyR,SAAS2Q,OAAOE,OAAQtiB,KAAKumB,MAAQ,EAAIvmB,KAAKsiB,QAI9E5X,GAAGS,QAAQnL,KAAKyR,SAASkQ,QAAQK,QACnChiB,KAAKyR,SAASkQ,QAAQK,KAAKwE,QAAUxmB,KAAKumB,OAAyB,IAAhBvmB,KAAKsiB,UAK5DgE,SAAS9Z,EAAQvL,EAAQ,GAClByJ,GAAGS,QAAQqB,KAKhBA,EAAOvL,MAAQA,EAGfigB,SAASwD,gBAAgB3kB,KAAKC,KAAMwM,KAItCia,eAAennB,GACb,IAAKU,KAAKiX,UAAUpB,KAAOnL,GAAGpL,MAAMA,GAClC,OAGF,IAAI2B,EAAQ,EAEZ,MAAMylB,EAAc,CAACla,EAAQkB,KAC3B,MAAMiZ,EAAMjc,GAAGG,OAAO6C,GAASA,EAAQ,EACjCyU,EAAWzX,GAAGS,QAAQqB,GAAUA,EAASxM,KAAKyR,SAAS8Q,QAAQC,OAGrE,GAAI9X,GAAGS,QAAQgX,GAAW,CACxBA,EAASlhB,MAAQ0lB,EAGjB,MAAM5C,EAAQ5B,EAASyE,qBAAqB,QAAQ,GAChDlc,GAAGS,QAAQ4Y,KACbA,EAAMjR,WAAW,GAAG+T,UAAYF,KAKtC,GAAIrnB,EACF,OAAQA,EAAM2H,MAEZ,IAAK,aACL,IAAK,UACL,IAAK,SACHhG,EAAQic,cAAcld,KAAKic,YAAajc,KAAKyiB,UAG1B,eAAfnjB,EAAM2H,MACRia,SAASoF,SAASvmB,KAAKC,KAAMA,KAAKyR,SAAS2Q,OAAOC,KAAMphB,GAG1D,MAGF,IAAK,UACL,IAAK,WACHylB,EAAY1mB,KAAKyR,SAAS8Q,QAAQC,OAAwB,IAAhBxiB,KAAK8mB,YAWvDpC,gBAAgBlY,GAEd,MAAMmK,EAAQjM,GAAGpL,MAAMkN,GAAUA,EAAOA,OAASA,EAGjD,GAAK9B,GAAGS,QAAQwL,IAAyC,UAA/BA,EAAMhK,aAAa,QAA7C,CAKA,GAAI5D,QAAQ4N,EAAO3W,KAAKgM,OAAO0V,UAAUU,OAAOC,MAAO,CACrD1L,EAAMrE,aAAa,gBAAiBtS,KAAKic,aACzC,MAAMA,EAAciF,SAASP,WAAW3gB,KAAKic,aACvCwG,EAAWvB,SAASP,WAAW3gB,KAAKyiB,UACpCxF,EAASkB,KAAKhe,IAAI,YAAaH,KAAKgM,QAC1C2K,EAAMrE,aACJ,iBACA2K,EAAO3Z,QAAQ,gBAAiB2Y,GAAa3Y,QAAQ,aAAcmf,SAEhE,GAAI1Z,QAAQ4N,EAAO3W,KAAKgM,OAAO0V,UAAUU,OAAOE,QAAS,CAC9D,MAAMyE,EAAwB,IAAdpQ,EAAM1V,MACtB0V,EAAMrE,aAAa,gBAAiByU,GACpCpQ,EAAMrE,aAAa,iBAAmB,GAAEyU,EAAQnb,QAAQ,YAExD+K,EAAMrE,aAAa,gBAAiBqE,EAAM1V,OAIvCiP,QAAQM,UAKbmG,EAAMxK,MAAM6a,YAAY,UAAerQ,EAAM1V,MAAQ0V,EAAMlL,IAAO,IAA9B,OAItCwb,kBAAkB3nB,GAEhB,IACGU,KAAKgM,OAAOkb,SAAS7E,OACrB3X,GAAGS,QAAQnL,KAAKyR,SAAS2Q,OAAOC,QAChC3X,GAAGS,QAAQnL,KAAKyR,SAAS8Q,QAAQG,cAChB,IAAlB1iB,KAAKyiB,SAEL,OAGF,MAAM0E,EAAW,GAAEnnB,KAAKgM,OAAOmJ,WAAWwN,mBACpCrL,EAAU8P,GAASnT,YAAYjU,KAAKyR,SAAS8Q,QAAQG,YAAayE,EAASC,GAGjF,GAAIpnB,KAAK4W,MAEP,YADAU,GAAO,GAKT,IAAIyP,EAAU,EACd,MAAMM,EAAarnB,KAAKyR,SAAS0Q,SAASrV,wBAE1C,GAAIpC,GAAGpL,MAAMA,GACXynB,EAAW,IAAMM,EAAWta,OAAUzN,EAAMgoB,MAAQD,EAAWpa,UAC1D,CAAA,IAAIoH,SAASrU,KAAKyR,SAAS8Q,QAAQG,YAAayE,GAGrD,OAFAJ,EAAUpb,WAAW3L,KAAKyR,SAAS8Q,QAAQG,YAAYvW,MAAMc,KAAM,IAMjE8Z,EAAU,EACZA,EAAU,EACDA,EAAU,MACnBA,EAAU,KAIZ7F,SAASkF,kBAAkBrmB,KAAKC,KAAMA,KAAKyR,SAAS8Q,QAAQG,YAAc1iB,KAAKyiB,SAAW,IAAOsE,GAGjG/mB,KAAKyR,SAAS8Q,QAAQG,YAAYvW,MAAMc,KAAQ,GAAE8Z,KAI9Crc,GAAGpL,MAAMA,IAAU,CAAC,aAAc,cAAc6J,SAAS7J,EAAM2H,OACjEqQ,EAAsB,eAAfhY,EAAM2H,OAKjBsgB,WAAWjoB,GAET,MAAMkoB,GAAU9c,GAAGS,QAAQnL,KAAKyR,SAAS8Q,QAAQE,WAAaziB,KAAKgM,OAAOyb,WAG1EvG,SAASkF,kBAAkBrmB,KACzBC,KACAA,KAAKyR,SAAS8Q,QAAQtG,YACtBuL,EAASxnB,KAAKyiB,SAAWziB,KAAKic,YAAcjc,KAAKic,YACjDuL,GAIEloB,GAAwB,eAAfA,EAAM2H,MAAyBjH,KAAKwW,MAAMkR,SAKvDxG,SAASuF,eAAe1mB,KAAKC,KAAMV,IAIrCqoB,iBAEE,IAAK3nB,KAAKiX,UAAUpB,KAAQ7V,KAAKgM,OAAOyb,YAAcznB,KAAKic,YACzD,OAOF,GAAIjc,KAAKyiB,UAAY,GAAK,GAGxB,OAFA1O,aAAa/T,KAAKyR,SAAS8Q,QAAQtG,aAAa,QAChDlI,aAAa/T,KAAKyR,SAAS0Q,UAAU,GAKnCzX,GAAGS,QAAQnL,KAAKyR,SAAS2Q,OAAOC,OAClCriB,KAAKyR,SAAS2Q,OAAOC,KAAK/P,aAAa,gBAAiBtS,KAAKyiB,UAI/D,MAAMmF,EAAcld,GAAGS,QAAQnL,KAAKyR,SAAS8Q,QAAQE,WAGhDmF,GAAe5nB,KAAKgM,OAAO6b,iBAAmB7nB,KAAKkc,QACtDgF,SAASkF,kBAAkBrmB,KAAKC,KAAMA,KAAKyR,SAAS8Q,QAAQtG,YAAajc,KAAKyiB,UAI5EmF,GACF1G,SAASkF,kBAAkBrmB,KAAKC,KAAMA,KAAKyR,SAAS8Q,QAAQE,SAAUziB,KAAKyiB,UAI7EvB,SAAS+F,kBAAkBlnB,KAAKC,OAIlC8nB,iBAAiBC,EAASzQ,GACxBvD,aAAa/T,KAAKyR,SAASwQ,SAASN,QAAQoG,IAAWzQ,IAIzD0Q,cAAcD,EAASlT,EAAWnH,GAChC,MAAMua,EAAOjoB,KAAKyR,SAASwQ,SAASiG,OAAOH,GAC3C,IAAI9mB,EAAQ,KACR4kB,EAAOhR,EAEX,GAAgB,aAAZkT,EACF9mB,EAAQjB,KAAKmmB,iBACR,CASL,GARAllB,EAASyJ,GAAGU,MAAMsC,GAAiB1N,KAAK+nB,GAAbra,EAGvBhD,GAAGU,MAAMnK,KACXA,EAAQjB,KAAKgM,OAAO+b,GAASI,UAI1Bzd,GAAGU,MAAMpL,KAAKkX,QAAQ6Q,MAAc/nB,KAAKkX,QAAQ6Q,GAAS5e,SAASlI,GAEtE,YADAjB,KAAK2c,MAAMiG,KAAM,yBAAwB3hB,UAAc8mB,KAKzD,IAAK/nB,KAAKgM,OAAO+b,GAAS7Q,QAAQ/N,SAASlI,GAEzC,YADAjB,KAAK2c,MAAMiG,KAAM,sBAAqB3hB,UAAc8mB,KAWxD,GALKrd,GAAGS,QAAQ0a,KACdA,EAAOoC,GAAQA,EAAKnc,cAAc,mBAI/BpB,GAAGS,QAAQ0a,GACd,OAIY7lB,KAAKyR,SAASwQ,SAASN,QAAQoG,GAASjc,cAAe,IAAG9L,KAAKgM,OAAOmJ,WAAWwO,KAAK1iB,SAC9F6c,UAAYoD,SAASkH,SAASroB,KAAKC,KAAM+nB,EAAS9mB,GAGxD,MAAMuL,EAASqZ,GAAQA,EAAK/Z,cAAe,WAAU7K,OAEjDyJ,GAAGS,QAAQqB,KACbA,EAAOsZ,SAAU,IAKrBsC,SAASL,EAAS9mB,GAChB,OAAQ8mB,GACN,IAAK,QACH,OAAiB,IAAV9mB,EAAckd,KAAKhe,IAAI,SAAUH,KAAKgM,QAAW,GAAE/K,WAE5D,IAAK,UACH,GAAIyJ,GAAGG,OAAO5J,GAAQ,CACpB,MAAM8iB,EAAQ5F,KAAKhe,IAAK,gBAAec,IAASjB,KAAKgM,QAErD,OAAK+X,EAAMriB,OAIJqiB,EAHG,GAAE9iB,KAMd,OAAOqc,YAAYrc,GAErB,IAAK,WACH,OAAOihB,SAASkG,SAASroB,KAAKC,MAEhC,QACE,OAAO,OAKbqoB,eAAenR,GAEb,IAAKxM,GAAGS,QAAQnL,KAAKyR,SAASwQ,SAASiG,OAAOvM,SAC5C,OAGF,MAAM1U,EAAO,UACP4e,EAAO7lB,KAAKyR,SAASwQ,SAASiG,OAAOvM,QAAQ7P,cAAc,iBAG7DpB,GAAGO,MAAMiM,KACXlX,KAAKkX,QAAQyE,QAAUrD,OAAOpB,GAASjV,QAAQ0Z,GAAY3b,KAAKgM,OAAO2P,QAAQzE,QAAQ/N,SAASwS,MAIlG,MAAMrE,GAAU5M,GAAGU,MAAMpL,KAAKkX,QAAQyE,UAAY3b,KAAKkX,QAAQyE,QAAQja,OAAS,EAUhF,GATAwf,SAAS4G,iBAAiB/nB,KAAKC,KAAMiH,EAAMqQ,GAG3CzE,aAAagT,GAGb3E,SAASoH,UAAUvoB,KAAKC,OAGnBsX,EACH,OAIF,MAAMiR,EAAY5M,IAChB,MAAMoI,EAAQ5F,KAAKhe,IAAK,gBAAewb,IAAW3b,KAAKgM,QAEvD,OAAK+X,EAAMriB,OAIJwf,SAASuC,YAAY1jB,KAAKC,KAAM+jB,GAH9B,MAOX/jB,KAAKkX,QAAQyE,QACVvW,MAAK,CAACC,EAAGC,KACR,MAAMkjB,EAAUxoB,KAAKgM,OAAO2P,QAAQzE,QACpC,OAAOsR,EAAQ5hB,QAAQvB,GAAKmjB,EAAQ5hB,QAAQtB,GAAK,GAAK,KAEvD/C,SAASoZ,IACRuF,SAAS0E,eAAe7lB,KAAKC,KAAM,CACjCiB,MAAO0a,EACPkK,KAAAA,EACA5e,KAAAA,EACAoX,MAAO6C,SAASkH,SAASroB,KAAKC,KAAM,UAAW2b,GAC/C+H,MAAO6E,EAAS5M,QAItBuF,SAAS8G,cAAcjoB,KAAKC,KAAMiH,EAAM4e,IAmD1C4C,kBAEE,IAAK/d,GAAGS,QAAQnL,KAAKyR,SAASwQ,SAASiG,OAAOhG,UAC5C,OAIF,MAAMjb,EAAO,WACP4e,EAAO7lB,KAAKyR,SAASwQ,SAASiG,OAAOhG,SAASpW,cAAc,iBAC5D4c,EAASxG,SAASyG,UAAU5oB,KAAKC,MACjCsX,EAAStN,QAAQ0e,EAAOhnB,QAY9B,GATAwf,SAAS4G,iBAAiB/nB,KAAKC,KAAMiH,EAAMqQ,GAG3CzE,aAAagT,GAGb3E,SAASoH,UAAUvoB,KAAKC,OAGnBsX,EACH,OAIF,MAAMJ,EAAUwR,EAAOlb,KAAI,CAAC2B,EAAOlO,KAAR,CACzBA,MAAAA,EACA6kB,QAAS9lB,KAAKkiB,SAAS0G,SAAW5oB,KAAKmmB,eAAiBllB,EACxDod,MAAO6D,SAASkG,SAASroB,KAAKC,KAAMmP,GACpCuU,MAAOvU,EAAM0Z,UAAY3H,SAASuC,YAAY1jB,KAAKC,KAAMmP,EAAM0Z,SAAStL,eACxEsI,KAAAA,EACA5e,KAAM,eAIRiQ,EAAQ4R,QAAQ,CACd7nB,OAAQ,EACR6kB,SAAU9lB,KAAKkiB,SAAS0G,QACxBvK,MAAOF,KAAKhe,IAAI,WAAYH,KAAKgM,QACjC6Z,KAAAA,EACA5e,KAAM,aAIRiQ,EAAQ3U,QAAQ2e,SAAS0E,eAAeM,KAAKlmB,OAE7CkhB,SAAS8G,cAAcjoB,KAAKC,KAAMiH,EAAM4e,IAI1CkD,eAEE,IAAKre,GAAGS,QAAQnL,KAAKyR,SAASwQ,SAASiG,OAAOnM,OAC5C,OAGF,MAAM9U,EAAO,QACP4e,EAAO7lB,KAAKyR,SAASwQ,SAASiG,OAAOnM,MAAMjQ,cAAc,iBAG/D9L,KAAKkX,QAAQ6E,MAAQ/b,KAAKkX,QAAQ6E,MAAM9Z,QAAQyK,GAAMA,GAAK1M,KAAKgpB,cAAgBtc,GAAK1M,KAAKipB,eAG1F,MAAM3R,GAAU5M,GAAGU,MAAMpL,KAAKkX,QAAQ6E,QAAU/b,KAAKkX,QAAQ6E,MAAMra,OAAS,EAC5Ewf,SAAS4G,iBAAiB/nB,KAAKC,KAAMiH,EAAMqQ,GAG3CzE,aAAagT,GAGb3E,SAASoH,UAAUvoB,KAAKC,MAGnBsX,IAKLtX,KAAKkX,QAAQ6E,MAAMxZ,SAASwZ,IAC1BmF,SAAS0E,eAAe7lB,KAAKC,KAAM,CACjCiB,MAAO8a,EACP8J,KAAAA,EACA5e,KAAAA,EACAoX,MAAO6C,SAASkH,SAASroB,KAAKC,KAAM,QAAS+b,QAIjDmF,SAAS8G,cAAcjoB,KAAKC,KAAMiH,EAAM4e,KAI1CyC,YACE,MAAM3G,QAAEA,GAAY3hB,KAAKyR,SAASwQ,SAC5BkF,GAAWzc,GAAGU,MAAMuW,IAAY1hB,OAAO+E,OAAO2c,GAASuC,MAAME,IAAYA,EAAOpU,SAEtF+D,aAAa/T,KAAKyR,SAASwQ,SAAS0B,MAAOwD,IAI7CxB,mBAAmBsC,EAAMjT,GAAW,GAClC,GAAIhV,KAAKyR,SAASwQ,SAASiH,MAAMlZ,OAC/B,OAGF,IAAIxD,EAASyb,EAERvd,GAAGS,QAAQqB,KACdA,EAASvM,OAAO+E,OAAOhF,KAAKyR,SAASwQ,SAASiG,QAAQvY,MAAMwZ,IAAOA,EAAEnZ,UAGvE,MAAMoZ,EAAY5c,EAAOV,cAAc,sBAEvCiJ,SAAShV,KAAKC,KAAMopB,EAAWpU,IAIjCqU,WAAW3b,GACT,MAAMwb,MAAEA,GAAUlpB,KAAKyR,SAASwQ,SAC1BmC,EAASpkB,KAAKyR,SAASkQ,QAAQM,SAGrC,IAAKvX,GAAGS,QAAQ+d,KAAWxe,GAAGS,QAAQiZ,GACpC,OAIF,MAAMpU,OAAEA,GAAWkZ,EACnB,IAAI9B,EAAOpX,EAEX,GAAItF,GAAGK,QAAQ2C,GACb0Z,EAAO1Z,OACF,GAAIhD,GAAGuE,cAAcvB,IAA0B,KAAhBA,EAAMyX,MAC1CiC,GAAO,OACF,GAAI1c,GAAGpL,MAAMoO,GAAQ,CAG1B,MAAMlB,EAAS9B,GAAGM,SAAS0C,EAAM4b,cAAgB5b,EAAM4b,eAAe,GAAK5b,EAAMlB,OAC3E+c,EAAaL,EAAM9U,SAAS5H,GAKlC,GAAI+c,IAAgBA,GAAc7b,EAAMlB,SAAW4X,GAAUgD,EAC3D,OAKJhD,EAAO9R,aAAa,gBAAiB8U,GAGrCrT,aAAamV,GAAQ9B,GAGrBnT,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWwO,KAAKnE,KAAM4H,GAGnEA,GAAQ1c,GAAGuE,cAAcvB,GAC3BwT,SAASyE,mBAAmB5lB,KAAKC,KAAM,MAAM,GACnConB,GAASpX,GAEnB+E,SAAShV,KAAKC,KAAMokB,EAAQ1Z,GAAGuE,cAAcvB,KAKjD8b,YAAYC,GACV,MAAMC,EAAQD,EAAI1X,WAAU,GAC5B2X,EAAMvd,MAAMwd,SAAW,WACvBD,EAAMvd,MAAMyd,QAAU,EACtBF,EAAMG,gBAAgB,UAGtBJ,EAAIxX,WAAWtL,YAAY+iB,GAG3B,MAAM3c,EAAQ2c,EAAMI,YACdxQ,EAASoQ,EAAMK,aAKrB,OAFApX,cAAc+W,GAEP,CACL3c,MAAAA,EACAuM,OAAAA,IAKJgM,cAAcre,EAAO,GAAI+N,GAAW,GAClC,MAAMxI,EAASxM,KAAKyR,SAASoD,UAAU/I,cAAe,kBAAiB9L,KAAK8T,MAAM7M,KAGlF,IAAKyD,GAAGS,QAAQqB,GACd,OAIF,MAAMqI,EAAYrI,EAAOyF,WACnBkL,EAAUnU,MAAMC,KAAK4L,EAAUmR,UAAUrW,MAAMsW,IAAUA,EAAKjW,SAGpE,GAAIqF,QAAQwB,cAAgBxB,QAAQyB,cAAe,CAEjDjC,EAAU1I,MAAMY,MAAS,GAAEoQ,EAAQ2M,gBACnCjV,EAAU1I,MAAMmN,OAAU,GAAE6D,EAAQ4M,iBAGpC,MAAMC,EAAO9I,SAASsI,YAAYzpB,KAAKC,KAAMwM,GAGvCyd,EAAW3qB,IAEXA,EAAMkN,SAAWqI,GAAc,CAAC,QAAS,UAAU1L,SAAS7J,EAAM4qB,gBAKtErV,EAAU1I,MAAMY,MAAQ,GACxB8H,EAAU1I,MAAMmN,OAAS,GAGzB3B,IAAI5X,KAAKC,KAAM6U,EAAWxF,mBAAoB4a,KAIhDvS,GAAG3X,KAAKC,KAAM6U,EAAWxF,mBAAoB4a,GAG7CpV,EAAU1I,MAAMY,MAAS,GAAEid,EAAKjd,UAChC8H,EAAU1I,MAAMmN,OAAU,GAAE0Q,EAAK1Q,WAInCvF,aAAaoJ,GAAS,GAGtBpJ,aAAavH,GAAQ,GAGrB0U,SAASyE,mBAAmB5lB,KAAKC,KAAMwM,EAAQwI,IAIjDmV,iBACE,MAAM/F,EAASpkB,KAAKyR,SAASkQ,QAAQyI,SAGhC1f,GAAGS,QAAQiZ,IAKhBA,EAAO9R,aAAa,OAAQtS,KAAKoqB,WAInCC,OAAOrK,GACL,MAAMiF,sBACJA,EADIrB,aAEJA,EAFIe,eAGJA,EAHIN,YAIJA,EAJIU,WAKJA,EALIsD,eAMJA,EANIU,aAOJA,EAPIzD,cAQJA,GACEpE,SACJlhB,KAAKyR,SAASyP,SAAW,KAGrBxW,GAAGO,MAAMjL,KAAKgM,OAAOkV,WAAalhB,KAAKgM,OAAOkV,SAAS/X,SAAS,eAClEnJ,KAAKyR,SAASoD,UAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,eAI9D,MAAM6U,EAAYpO,cAAc,MAAO2M,0BAA0BpT,KAAKgM,OAAO0V,UAAUR,SAASxP,UAChG1R,KAAKyR,SAASyP,SAAWrM,EAGzB,MAAMyV,EAAoB,CAAEzW,MAAO,wBA2UnC,OAxUAyE,OAAO5N,GAAGO,MAAMjL,KAAKgM,OAAOkV,UAAYlhB,KAAKgM,OAAOkV,SAAW,IAAI3e,SAAS4hB,IAsB1E,GApBgB,YAAZA,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,UAAWsqB,IAI3C,WAAZnG,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,SAAUsqB,IAI1C,SAAZnG,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,OAAQsqB,IAIxC,iBAAZnG,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,eAAgBsqB,IAIhD,aAAZnG,EAAwB,CAC1B,MAAMoG,EAAoB9jB,cAAc,MAAO,CAC7CoN,MAAQ,GAAEyW,EAAkBzW,oCAGxBsO,EAAW1b,cAAc,MAAO2M,0BAA0BpT,KAAKgM,OAAO0V,UAAUS,WAetF,GAZAA,EAASxb,YACP0d,EAAYtkB,KAAKC,KAAM,OAAQ,CAC7B8T,GAAK,aAAYkM,EAAKlM,QAK1BqO,EAASxb,YAAYge,EAAe5kB,KAAKC,KAAM,WAK3CA,KAAKgM,OAAOkb,SAAS7E,KAAM,CAC7B,MAAMM,EAAUlc,cACd,OACA,CACEoN,MAAO7T,KAAKgM,OAAOmJ,WAAWwN,SAEhC,SAGFR,EAASxb,YAAYgc,GACrB3iB,KAAKyR,SAAS8Q,QAAQG,YAAcC,EAGtC3iB,KAAKyR,SAAS0Q,SAAWA,EACzBoI,EAAkB5jB,YAAY3G,KAAKyR,SAAS0Q,UAC5CtN,EAAUlO,YAAY4jB,GAcxB,GAVgB,iBAAZpG,GACFtP,EAAUlO,YAAYoe,EAAWhlB,KAAKC,KAAM,cAAesqB,IAI7C,aAAZnG,GACFtP,EAAUlO,YAAYoe,EAAWhlB,KAAKC,KAAM,WAAYsqB,IAI1C,SAAZnG,GAAkC,WAAZA,EAAsB,CAC9C,IAAI7B,OAAEA,GAAWtiB,KAAKyR,SAwBtB,GArBK/G,GAAGS,QAAQmX,IAAYzN,EAAUT,SAASkO,KAC7CA,EAAS7b,cACP,MACA2K,OAAO,GAAIkZ,EAAmB,CAC5BzW,MAAQ,GAAEyW,EAAkBzW,qBAAqBJ,UAIrDzT,KAAKyR,SAAS6Q,OAASA,EAEvBzN,EAAUlO,YAAY2b,IAIR,SAAZ6B,GACF7B,EAAO3b,YAAYid,EAAa7jB,KAAKC,KAAM,SAM7B,WAAZmkB,IAAyBjU,QAAQS,MAAO,CAE1C,MAAMnL,EAAa,CACjBiG,IAAK,EACL8Y,KAAM,IACNtjB,MAAOjB,KAAKgM,OAAOsW,QAIrBA,EAAO3b,YACL0d,EAAYtkB,KACVC,KACA,SACAoR,OAAO5L,EAAY,CACjBsO,GAAK,eAAckM,EAAKlM,UAalC,GALgB,aAAZqQ,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,WAAYsqB,IAI5C,aAAZnG,IAA2BzZ,GAAGU,MAAMpL,KAAKgM,OAAOiW,UAAW,CAC7D,MAAMvQ,EAAUjL,cACd,MACA2K,OAAO,GAAIkZ,EAAmB,CAC5BzW,MAAQ,GAAEyW,EAAkBzW,mBAAmBJ,OAC/CzD,OAAQ,MAIZ0B,EAAQ/K,YACNid,EAAa7jB,KAAKC,KAAM,WAAY,CAClC,iBAAiB,EACjB,gBAAkB,iBAAgBggB,EAAKlM,KACvC,iBAAiB,KAIrB,MAAMoV,EAAQziB,cAAc,MAAO,CACjCoN,MAAO,wBACPC,GAAK,iBAAgBkM,EAAKlM,KAC1B9D,OAAQ,KAGJwa,EAAQ/jB,cAAc,OAEtBgkB,EAAOhkB,cAAc,MAAO,CAChCqN,GAAK,iBAAgBkM,EAAKlM,YAItB6P,EAAOld,cAAc,MAAO,CAChCge,KAAM,SAGRgG,EAAK9jB,YAAYgd,GACjB6G,EAAM7jB,YAAY8jB,GAClBzqB,KAAKyR,SAASwQ,SAASiG,OAAOuC,KAAOA,EAGrCzqB,KAAKgM,OAAOiW,SAAS1f,SAAS0E,IAE5B,MAAMie,EAAWze,cACf,SACA2K,OAAOgC,0BAA0BpT,KAAKgM,OAAO0V,UAAUC,QAAQM,UAAW,CACxEhb,KAAM,SACN4M,MAAQ,GAAE7T,KAAKgM,OAAOmJ,WAAWgP,WAAWnkB,KAAKgM,OAAOmJ,WAAWgP,mBACnEM,KAAM,WACN,iBAAiB,EACjBzU,OAAQ,MAKZiV,EAAsBllB,KAAKC,KAAMklB,EAAUje,GAG3CyQ,GAAG3X,KAAKC,KAAMklB,EAAU,SAAS,KAC/BI,EAAcvlB,KAAKC,KAAMiH,GAAM,MAGjC,MAAM8e,EAAOtf,cAAc,OAAQ,KAAM0X,KAAKhe,IAAI8G,EAAMjH,KAAKgM,SAEvD/K,EAAQwF,cAAc,OAAQ,CAClCoN,MAAO7T,KAAKgM,OAAOmJ,WAAWwO,KAAK1iB,QAIrCA,EAAM6c,UAAYkC,EAAK/Y,GAEvB8e,EAAKpf,YAAY1F,GACjBikB,EAASve,YAAYof,GACrBpC,EAAKhd,YAAYue,GAGjB,MAAM+C,EAAOxhB,cAAc,MAAO,CAChCqN,GAAK,iBAAgBkM,EAAKlM,MAAM7M,IAChC+I,OAAQ,KAIJ0a,EAAajkB,cAAc,SAAU,CACzCQ,KAAM,SACN4M,MAAQ,GAAE7T,KAAKgM,OAAOmJ,WAAWgP,WAAWnkB,KAAKgM,OAAOmJ,WAAWgP,kBAIrEuG,EAAW/jB,YACTF,cACE,OACA,CACE,eAAe,GAEjB0X,KAAKhe,IAAI8G,EAAMjH,KAAKgM,UAKxB0e,EAAW/jB,YACTF,cACE,OACA,CACEoN,MAAO7T,KAAKgM,OAAOmJ,WAAWnF,QAEhCmO,KAAKhe,IAAI,WAAYH,KAAKgM,UAK9B0L,GAAG3X,KACDC,KACAioB,EACA,WACC3oB,IAEqB,KAAhBA,EAAM6lB,QAKV7lB,EAAMJ,iBACNI,EAAM8lB,kBAGNE,EAAcvlB,KAAKC,KAAM,QAAQ,OAEnC,GAIF0X,GAAG3X,KAAKC,KAAM0qB,EAAY,SAAS,KACjCpF,EAAcvlB,KAAKC,KAAM,QAAQ,MAInCioB,EAAKthB,YAAY+jB,GAGjBzC,EAAKthB,YACHF,cAAc,MAAO,CACnBge,KAAM,UAIV+F,EAAM7jB,YAAYshB,GAElBjoB,KAAKyR,SAASwQ,SAASN,QAAQ1a,GAAQie,EACvCllB,KAAKyR,SAASwQ,SAASiG,OAAOjhB,GAAQghB,KAGxCiB,EAAMviB,YAAY6jB,GAClB9Y,EAAQ/K,YAAYuiB,GACpBrU,EAAUlO,YAAY+K,GAEtB1R,KAAKyR,SAASwQ,SAASiH,MAAQA,EAC/BlpB,KAAKyR,SAASwQ,SAAS0B,KAAOjS,EAchC,GAVgB,QAAZyS,GAAqB9O,QAAQU,KAC/BlB,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,MAAOsqB,IAIvC,YAAZnG,GAAyB9O,QAAQc,SACnCtB,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,UAAWsqB,IAI3C,aAAZnG,EAAwB,CAC1B,MAAM3e,EAAa4L,OAAO,GAAIkZ,EAAmB,CAC/Cnf,QAAS,IACTtF,KAAM7F,KAAKoqB,SACX5d,OAAQ,WAINxM,KAAKuW,UACP/Q,EAAW4kB,SAAW,IAGxB,MAAMA,SAAEA,GAAapqB,KAAKgM,OAAO2e,MAE5BjgB,GAAGzE,IAAImkB,IAAapqB,KAAK4qB,SAC5BxZ,OAAO5L,EAAY,CACjB0d,KAAO,QAAOljB,KAAKyV,WACnBsO,MAAO/jB,KAAKyV,WAIhBZ,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,WAAYwF,IAI5C,eAAZ2e,GACFtP,EAAUlO,YAAYid,EAAa7jB,KAAKC,KAAM,aAAcsqB,OAK5DtqB,KAAKuW,SACP8R,EAAetoB,KAAKC,KAAMwb,MAAME,kBAAkB3b,KAAKC,OAGzD+oB,EAAahpB,KAAKC,MAEX6U,GAITgW,SAEE,GAAI7qB,KAAKgM,OAAO0T,WAAY,CAC1B,MAAMwD,EAAOhC,SAASC,WAAWphB,KAAKC,MAGlCkjB,EAAK3B,MACP7B,WAAWwD,EAAKjd,IAAK,eAKzBjG,KAAK8T,GAAKtI,KAAKuR,MAAsB,IAAhBvR,KAAKwR,UAG1B,IAAInI,EAAY,KAChB7U,KAAKyR,SAASyP,SAAW,KAGzB,MAAM4C,EAAQ,CACZhQ,GAAI9T,KAAK8T,GACTgX,SAAU9qB,KAAKgM,OAAOoS,SACtBC,MAAOre,KAAKgM,OAAOqS,OAErB,IAAI0B,GAAS,EAGTrV,GAAGM,SAAShL,KAAKgM,OAAOkV,YAC1BlhB,KAAKgM,OAAOkV,SAAWlhB,KAAKgM,OAAOkV,SAASnhB,KAAKC,KAAM8jB,IAIpD9jB,KAAKgM,OAAOkV,WACflhB,KAAKgM,OAAOkV,SAAW,IAGrBxW,GAAGS,QAAQnL,KAAKgM,OAAOkV,WAAaxW,GAAGI,OAAO9K,KAAKgM,OAAOkV,UAE5DrM,EAAY7U,KAAKgM,OAAOkV,UAGxBrM,EAAYqM,SAASmJ,OAAOtqB,KAAKC,KAAM,CACrC8T,GAAI9T,KAAK8T,GACTgX,SAAU9qB,KAAKgM,OAAOoS,SACtBrC,MAAO/b,KAAK+b,MACZJ,QAAS3b,KAAK2b,QACduG,SAAUA,SAASkG,SAASroB,KAAKC,QAInC+f,GAAS,GAsBX,IAAIvT,EAPAuT,GACErV,GAAGI,OAAO9K,KAAKgM,OAAOkV,YACxBrM,EAbanH,CAAAA,IACf,IAAI2S,EAAS3S,EAMb,OAJAzN,OAAO4D,QAAQigB,GAAOvhB,SAAQ,EAAEvB,EAAKC,MACnCof,EAASjD,WAAWiD,EAAS,IAAGrf,KAAQC,MAGnCof,GAMO/c,CAAQuR,IAQpBnK,GAAGI,OAAO9K,KAAKgM,OAAO0V,UAAUR,SAASrM,aAC3CrI,EAAS7M,SAASmM,cAAc9L,KAAKgM,OAAO0V,UAAUR,SAASrM,YAI5DnK,GAAGS,QAAQqB,KACdA,EAASxM,KAAKyR,SAASoD,WAazB,GARArI,EADqB9B,GAAGS,QAAQ0J,GAAa,wBAA0B,sBAClD,aAAcA,GAG9BnK,GAAGS,QAAQnL,KAAKyR,SAASyP,WAC5BA,SAASO,aAAa1hB,KAAKC,OAIxB0K,GAAGU,MAAMpL,KAAKyR,SAASkQ,SAAU,CACpC,MAAMoJ,EAAe3G,IACnB,MAAM1Q,EAAY1T,KAAKgM,OAAOmJ,WAAW6V,eACzC/qB,OAAOC,eAAekkB,EAAQ,UAAW,CACvCljB,YAAY,EACZf,IAAG,IACMkU,SAAS+P,EAAQ1Q,GAE1B9P,IAAI4iB,GAAU,GACZvS,YAAYmQ,EAAQ1Q,EAAW8S,OAMrCvmB,OAAO+E,OAAOhF,KAAKyR,SAASkQ,SACzB1f,OAAO+H,SACPzH,SAAS6hB,IACJ1Z,GAAGO,MAAMmZ,IAAW1Z,GAAGQ,SAASkZ,GAClCpb,MAAMC,KAAKmb,GAAQniB,OAAO+H,SAASzH,QAAQwoB,GAE3CA,EAAY3G,MAWpB,GALIlU,QAAQG,QACVR,QAAQrD,GAINxM,KAAKgM,OAAOkb,SAAShG,SAAU,CACjC,MAAM/L,WAAEA,EAAFuM,UAAcA,GAAc1hB,KAAKgM,OACjCwH,EAAY,GAAEkO,EAAUR,SAASxP,WAAWgQ,EAAUuJ,WAAW9V,EAAWnF,SAC5Eib,EAASrW,YAAY7U,KAAKC,KAAMwT,GAEtCxK,MAAMC,KAAKgiB,GAAQ1oB,SAASwhB,IAC1B9P,YAAY8P,EAAO/jB,KAAKgM,OAAOmJ,WAAWnF,QAAQ,GAClDiE,YAAY8P,EAAO/jB,KAAKgM,OAAOmJ,WAAWwN,SAAS,SCpsDpD,SAASuI,SAASxd,EAAOyd,GAAO,GACrC,IAAIllB,EAAMyH,EAEV,GAAIyd,EAAM,CACR,MAAMC,EAASzrB,SAAS8G,cAAc,KACtC2kB,EAAOvlB,KAAOI,EACdA,EAAMmlB,EAAOvlB,KAGf,IACE,OAAO,IAAIF,IAAIM,GACf,MAAO6I,GACP,OAAO,MAKJ,SAASuc,eAAe3d,GAC7B,MAAMnO,EAAS,IAAImE,gBAQnB,OANIgH,GAAGE,OAAO8C,IACZzN,OAAO4D,QAAQ6J,GAAOnL,SAAQ,EAAEvB,EAAKC,MACnC1B,EAAOqE,IAAI5C,EAAKC,MAIb1B,ECbT,MAAM2iB,SAAW,CAEfrG,QAEE,IAAK7b,KAAKiX,UAAUpB,GAClB,OAIF,IAAK7V,KAAKga,SAAWha,KAAKsrB,WAActrB,KAAKuW,UAAYlB,QAAQqB,WAU/D,YAPEhM,GAAGO,MAAMjL,KAAKgM,OAAOkV,WACrBlhB,KAAKgM,OAAOkV,SAAS/X,SAAS,aAC9BnJ,KAAKgM,OAAOiW,SAAS9Y,SAAS,aAE9B+X,SAASuH,gBAAgB1oB,KAAKC,OAelC,GARK0K,GAAGS,QAAQnL,KAAKyR,SAASyQ,YAC5BliB,KAAKyR,SAASyQ,SAAWzb,cAAc,MAAO2M,0BAA0BpT,KAAKgM,OAAO0V,UAAUQ,WAE9FzP,YAAYzS,KAAKyR,SAASyQ,SAAUliB,KAAKyR,SAASC,UAKhDxB,QAAQC,MAAQrR,OAAO6G,IAAK,CAC9B,MAAM8L,EAAWzR,KAAKwW,MAAMtN,iBAAiB,SAE7CF,MAAMC,KAAKwI,GAAUlP,SAAS4M,IAC5B,MAAMmN,EAAMnN,EAAMxC,aAAa,OACzB1G,EAAMilB,SAAS5O,GAGX,OAARrW,GACAA,EAAIiC,WAAapJ,OAAOuH,SAASR,KAAKqC,UACtC,CAAC,QAAS,UAAUiB,SAASlD,EAAIiB,WAEjC8X,MAAM1C,EAAK,QACR7N,MAAMnG,IACL6G,EAAMmD,aAAa,MAAOxT,OAAO6G,IAAI0C,gBAAgBC,OAEtDgY,OAAM,KACL3N,cAAcxD,SAaxB,MACMoc,EAAYjT,QADOhI,UAAUib,WAAa,CAACjb,UAAUuY,UAAYvY,UAAUkb,cAAgB,OACvDhe,KAAKqb,GAAaA,EAASpjB,MAAM,KAAK,MAChF,IAAIojB,GAAY7oB,KAAK6e,QAAQ1e,IAAI,aAAeH,KAAKgM,OAAOkW,SAAS2G,UAAY,QAAQviB,cAGxE,SAAbuiB,KACDA,GAAY0C,GAGf,IAAI3Q,EAAS5a,KAAK6e,QAAQ1e,IAAI,YAa9B,GAZKuK,GAAGK,QAAQ6P,MACXA,OAAAA,GAAW5a,KAAKgM,OAAOkW,UAG5BjiB,OAAOsR,OAAOvR,KAAKkiB,SAAU,CAC3B0G,SAAS,EACThO,OAAAA,EACAiO,SAAAA,EACA0C,UAAAA,IAIEvrB,KAAKuW,QAAS,CAChB,MAAMkV,EAAczrB,KAAKgM,OAAOkW,SAASnC,OAAS,uBAAyB,cAC3ErI,GAAG3X,KAAKC,KAAMA,KAAKwW,MAAME,WAAY+U,EAAavJ,SAASnC,OAAOmG,KAAKlmB,OAIzE+P,WAAWmS,SAASnC,OAAOmG,KAAKlmB,MAAO,IAIzC+f,SACE,MAAM2I,EAASxG,SAASyG,UAAU5oB,KAAKC,MAAM,IAEvC4a,OAAEA,EAAFiO,SAAUA,EAAV6C,KAAoBA,EAApBC,iBAA0BA,GAAqB3rB,KAAKkiB,SACpD0J,EAAiB5hB,QAAQ0e,EAAO/Y,MAAMR,GAAUA,EAAM0Z,WAAaA,KAGrE7oB,KAAKuW,SAAWvW,KAAKga,SACvB0O,EACGzmB,QAAQkN,IAAWuc,EAAKvrB,IAAIgP,KAC5B5M,SAAS4M,IACRnP,KAAK2c,MAAMC,IAAI,cAAezN,GAG9Buc,EAAK9nB,IAAIuL,EAAO,CACdgZ,QAAwB,YAAfhZ,EAAM0c,OAOE,YAAf1c,EAAM0c,OAER1c,EAAM0c,KAAO,UAIfnU,GAAG3X,KAAKC,KAAMmP,EAAO,aAAa,IAAM+S,SAAS4J,WAAW/rB,KAAKC,YAKlE4rB,GAAkB5rB,KAAK6oB,WAAaA,IAAcH,EAAOvf,SAASwiB,MACrEzJ,SAAS6J,YAAYhsB,KAAKC,KAAM6oB,GAChC3G,SAAS5K,OAAOvX,KAAKC,KAAM4a,GAAUgR,IAInC5rB,KAAKyR,UACPwC,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW+M,SAAShW,SAAUxB,GAAGU,MAAMsd,IAKxFhe,GAAGO,MAAMjL,KAAKgM,OAAOkV,WACrBlhB,KAAKgM,OAAOkV,SAAS/X,SAAS,aAC9BnJ,KAAKgM,OAAOiW,SAAS9Y,SAAS,aAE9B+X,SAASuH,gBAAgB1oB,KAAKC,OAMlCsX,OAAO5J,EAAO6J,GAAU,GAEtB,IAAKvX,KAAKiX,UAAUpB,GAClB,OAGF,MAAM+S,QAAEA,GAAY5oB,KAAKkiB,SACnB8J,EAAchsB,KAAKgM,OAAOmJ,WAAW+M,SAAStH,OAG9CA,EAASlQ,GAAGC,gBAAgB+C,IAAUkb,EAAUlb,EAGtD,GAAIkN,IAAWgO,EAAS,CAQtB,GANKrR,IACHvX,KAAKkiB,SAAStH,OAASA,EACvB5a,KAAK6e,QAAQjb,IAAI,CAAEse,SAAUtH,MAI1B5a,KAAK6oB,UAAYjO,IAAWrD,EAAS,CACxC,MAAMmR,EAASxG,SAASyG,UAAU5oB,KAAKC,MACjCmP,EAAQ+S,SAAS+J,UAAUlsB,KAAKC,KAAM,CAACA,KAAKkiB,SAAS2G,YAAa7oB,KAAKkiB,SAASqJ,YAAY,GAOlG,OAJAvrB,KAAKkiB,SAAS2G,SAAW1Z,EAAM0Z,cAG/B3G,SAASte,IAAI7D,KAAKC,KAAM0oB,EAAO9hB,QAAQuI,IAKrCnP,KAAKyR,SAASkQ,QAAQO,WACxBliB,KAAKyR,SAASkQ,QAAQO,SAASsE,QAAU5L,GAI3C3G,YAAYjU,KAAKyR,SAASoD,UAAWmX,EAAapR,GAElD5a,KAAKkiB,SAAS0G,QAAUhO,EAGxBsG,SAAS8G,cAAcjoB,KAAKC,KAAM,YAGlC+X,aAAahY,KAAKC,KAAMA,KAAKwW,MAAOoE,EAAS,kBAAoB,oBAKnE7K,YAAW,KACL6K,GAAU5a,KAAKkiB,SAAS0G,UAC1B5oB,KAAKkiB,SAASyJ,iBAAiBE,KAAO,cAO5CjoB,IAAIiO,EAAO0F,GAAU,GACnB,MAAMmR,EAASxG,SAASyG,UAAU5oB,KAAKC,MAGvC,IAAe,IAAX6R,EAKJ,GAAKnH,GAAGG,OAAOgH,GAKf,GAAMA,KAAS6W,EAAf,CAKA,GAAI1oB,KAAKkiB,SAASiE,eAAiBtU,EAAO,CACxC7R,KAAKkiB,SAASiE,aAAetU,EAC7B,MAAM1C,EAAQuZ,EAAO7W,IACfgX,SAAEA,GAAa1Z,GAAS,GAG9BnP,KAAKkiB,SAASyJ,iBAAmBxc,EAGjC+R,SAAS8G,cAAcjoB,KAAKC,KAAM,YAG7BuX,IACHvX,KAAKkiB,SAAS2G,SAAWA,EACzB7oB,KAAK6e,QAAQjb,IAAI,CAAEilB,SAAAA,KAIjB7oB,KAAKoa,SACPpa,KAAK4Z,MAAMsS,gBAAgBrD,GAI7B9Q,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO,kBAItC0L,SAAS5K,OAAOvX,KAAKC,MAAM,EAAMuX,GAE7BvX,KAAKuW,SAAWvW,KAAKga,SAEvBkI,SAAS4J,WAAW/rB,KAAKC,WAnCzBA,KAAK2c,MAAMiG,KAAK,kBAAmB/Q,QALnC7R,KAAK2c,MAAMiG,KAAK,2BAA4B/Q,QAL5CqQ,SAAS5K,OAAOvX,KAAKC,MAAM,EAAOuX,IAmDtCwU,YAAYre,EAAO6J,GAAU,GAC3B,IAAK7M,GAAGI,OAAO4C,GAEb,YADA1N,KAAK2c,MAAMiG,KAAK,4BAA6BlV,GAI/C,MAAMmb,EAAWnb,EAAMpH,cACvBtG,KAAKkiB,SAAS2G,SAAWA,EAGzB,MAAMH,EAASxG,SAASyG,UAAU5oB,KAAKC,MACjCmP,EAAQ+S,SAAS+J,UAAUlsB,KAAKC,KAAM,CAAC6oB,IAC7C3G,SAASte,IAAI7D,KAAKC,KAAM0oB,EAAO9hB,QAAQuI,GAAQoI,IAMjDoR,UAAU5I,GAAS,GAKjB,OAHe/W,MAAMC,MAAMjJ,KAAKwW,OAAS,IAAIE,YAAc,IAIxDzU,QAAQkN,IAAWnP,KAAKuW,SAAWwJ,GAAU/f,KAAKkiB,SAASwJ,KAAK7mB,IAAIsK,KACpElN,QAAQkN,GAAU,CAAC,WAAY,aAAahG,SAASgG,EAAMb,SAIhE2d,UAAUV,EAAWrX,GAAQ,GAC3B,MAAMwU,EAASxG,SAASyG,UAAU5oB,KAAKC,MACjCmsB,EAAiBhd,GAAUvF,QAAQ5J,KAAKkiB,SAASwJ,KAAKvrB,IAAIgP,IAAU,IAAIgZ,SACxEiE,EAASpjB,MAAMC,KAAKyf,GAAQtjB,MAAK,CAACC,EAAGC,IAAM6mB,EAAc7mB,GAAK6mB,EAAc9mB,KAClF,IAAI8J,EAQJ,OANAoc,EAAUpS,OAAO0P,IACf1Z,EAAQid,EAAOzc,MAAMrO,GAAMA,EAAEunB,WAAaA,KAClC1Z,KAIHA,IAAU+E,EAAQkY,EAAO,QAAKxc,IAIvCyc,kBACE,OAAOnK,SAASyG,UAAU5oB,KAAKC,MAAMA,KAAKmmB,eAI5CiC,SAASjZ,GACP,IAAIgX,EAAehX,EAMnB,OAJKzE,GAAGyE,MAAMgX,IAAiB9Q,QAAQqB,YAAc1W,KAAKkiB,SAAS0G,UACjEzC,EAAejE,SAASmK,gBAAgBtsB,KAAKC,OAG3C0K,GAAGyE,MAAMgX,GACNzb,GAAGU,MAAM+a,EAAapC,OAItBrZ,GAAGU,MAAM+a,EAAa0C,UAIpB1K,KAAKhe,IAAI,UAAWH,KAAKgM,QAHvBmD,EAAM0Z,SAAStL,cAJf4I,EAAapC,MAUjB5F,KAAKhe,IAAI,WAAYH,KAAKgM,SAKnC8f,WAAWpe,GAET,IAAK1N,KAAKiX,UAAUpB,GAClB,OAGF,IAAKnL,GAAGS,QAAQnL,KAAKyR,SAASyQ,UAE5B,YADAliB,KAAK2c,MAAMiG,KAAK,oCAKlB,IAAKlY,GAAGC,gBAAgB+C,KAAW1E,MAAMmB,QAAQuD,GAE/C,YADA1N,KAAK2c,MAAMiG,KAAK,4BAA6BlV,GAI/C,IAAI4e,EAAO5e,EAGX,IAAK4e,EAAM,CACT,MAAMnd,EAAQ+S,SAASmK,gBAAgBtsB,KAAKC,MAE5CssB,EAAOtjB,MAAMC,MAAMkG,GAAS,IAAIod,YAAc,IAC3C/e,KAAK0B,GAAQA,EAAIsd,iBACjBhf,IAAIwQ,SAIT,MAAMoC,EAAUkM,EAAK9e,KAAKif,GAAYA,EAAQhZ,SAAQvO,KAAK,MAG3D,GAFgBkb,IAAYpgB,KAAKyR,SAASyQ,SAASpE,UAEtC,CAEXjL,aAAa7S,KAAKyR,SAASyQ,UAC3B,MAAMwK,EAAUjmB,cAAc,OAAQ2M,0BAA0BpT,KAAKgM,OAAO0V,UAAUgL,UACtFA,EAAQ5O,UAAYsC,EACpBpgB,KAAKyR,SAASyQ,SAASvb,YAAY+lB,GAGnC3U,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO,gBC/YpC7N,SAAW,CAEfuD,SAAS,EAGTmS,MAAO,GAGP1B,OAAO,EAGPgQ,UAAU,EAGVC,WAAW,EAIXlX,aAAa,EAGb0I,SAAU,GAGVkE,OAAQ,EACRiE,OAAO,EAGP9D,SAAU,KAIVoF,iBAAiB,EAGjBJ,YAAY,EAGZoF,cAAc,EAIdxT,MAAO,KAGPyT,aAAa,EAGbC,cAAc,EAGdC,YAAY,EAGZC,oBAAoB,EAGpBvN,YAAY,EACZuD,WAAY,OACZ7B,QAAS,sCAGT1E,WAAY,uCAGZf,QAAS,CACPwM,QAAS,IAETjR,QAAS,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,IAAK,KAC5D0E,QAAQ,EACRI,SAAU,MAIZkR,KAAM,CACJtS,QAAQ,GAMVmB,MAAO,CACLoR,SAAU,EAEVjW,QAAS,CAAC,GAAK,IAAM,EAAG,KAAM,IAAK,KAAM,EAAG,IAI9CkW,SAAU,CACRC,SAAS,EACT7sB,QAAQ,GAIV0mB,SAAU,CACRhG,UAAU,EACVmB,MAAM,GAIRH,SAAU,CACRtH,QAAQ,EACRiO,SAAU,OAGV9I,QAAQ,GAIVpF,WAAY,CACVzO,SAAS,EACTohB,UAAU,EACVC,WAAW,GAOb1O,QAAS,CACP3S,SAAS,EACTlL,IAAK,QAIPkgB,SAAU,CACR,aAGA,OAEA,WACA,eAEA,OACA,SACA,WACA,WACA,MACA,UAEA,cAEFe,SAAU,CAAC,WAAY,UAAW,SAGlC9D,KAAM,CACJ0D,QAAS,UACTC,OAAQ,qBACRvF,KAAM,OACNqF,MAAO,QACPG,YAAa,sBACbM,KAAM,OACNmL,UAAW,8BACX3I,OAAQ,SACRiC,SAAU,WACV7K,YAAa,eACbwG,SAAU,WACVH,OAAQ,SACRN,KAAM,OACNyL,OAAQ,SACRC,eAAgB,kBAChBC,gBAAiB,mBACjBvD,SAAU,WACVwD,gBAAiB,mBACjBC,eAAgB,kBAChBC,WAAY,qBACZ5L,SAAU,WACVD,SAAU,WACVlM,IAAK,MACLgY,SAAU,2BACVhS,MAAO,QACPiS,OAAQ,SACRrS,QAAS,UACTuR,KAAM,OACNe,MAAO,QACPC,IAAK,MACLC,IAAK,MACLC,MAAO,QACPlhB,SAAU,WACVhB,QAAS,UACTmiB,cAAe,KACfC,aAAc,CACZ,KAAM,KACN,KAAM,KACN,KAAM,KACN,IAAK,KACL,IAAK,KACL,IAAK,OAKT3D,KAAM,CACJP,SAAU,KACV/P,MAAO,CACLkU,IAAK,yCACLC,OAAQ,yCACR5Y,IAAK,6CAEPsI,QAAS,CACPqQ,IAAK,qCACL3Y,IAAK,qEAEP6Y,UAAW,CACTF,IAAK,uDAKThiB,UAAW,CACT8V,KAAM,KACN9F,KAAM,KACNqF,MAAO,KACPC,QAAS,KACTC,OAAQ,KACRC,YAAa,KACbC,KAAM,KACNM,OAAQ,KACRJ,SAAU,KACVkI,SAAU,KACVzP,WAAY,KACZ5E,IAAK,KACLI,QAAS,KACT4F,MAAO,KACPJ,QAAS,KACTuR,KAAM,KACNrE,SAAU,MAIZvZ,OAAQ,CAGN,QACA,WACA,UACA,UACA,UACA,UACA,iBACA,YACA,aACA,iBACA,aACA,eACA,OACA,QACA,QACA,UACA,SACA,UACA,aACA,YAGA,WACA,kBACA,iBACA,kBACA,mBACA,iBACA,iBACA,gBACA,QAGA,cAGA,gBAGA,YACA,kBACA,mBACA,YACA,cACA,cACA,iBACA,gBACA,YAKFoS,UAAW,CACTgN,SAAU,6CACV7Z,UAAW,QACXqM,SAAU,CACRrM,UAAW,KACXnD,QAAS,mBAEXuZ,OAAQ,cACRtJ,QAAS,CACPpF,KAAM,qBACNqF,MAAO,sBACPC,QAAS,wBACTC,OAAQ,uBACRC,YAAa,6BACbC,KAAM,qBACNE,SAAU,yBACVkI,SAAU,yBACVzP,WAAY,2BACZ5E,IAAK,oBACLI,QAAS,wBACT8L,SAAU,yBACViL,KAAM,sBAER9K,OAAQ,CACNC,KAAM,qBACNC,OAAQ,uBACRvG,MAAO,sBACP8M,SAAU,yBACVlN,QAAS,yBAEX4G,QAAS,CACPtG,YAAa,uBACbwG,SAAU,wBACVD,OAAQ,0BACR0K,KAAM,wBACN5K,OAAQ,0BAEVH,SAAU,kBACVD,SAAU,kBACVwK,QAAS,kBAIXvX,WAAY,CACVlO,KAAM,YACNwO,SAAU,YACVF,MAAO,sBACPqE,MAAO,oBACPmB,gBAAiB,mCACjB4T,eAAgB,+BAChBC,OAAQ,eACRC,cAAe,uBACfC,IAAK,YACL3K,QAAS,gBACT6G,eAAgB,yBAChB+D,QAAS,gBACT7S,OAAQ,eACR8S,QAAS,gBACTC,QAAS,gBACTC,MAAO,cACPvM,QAAS,gBACT2J,KAAM,aACNtc,OAAQ,gBACR+c,aAAc,sBACdpc,MAAO,eACPwe,QAAS,iBACTC,YAAa,gBACbC,aAAc,sBACd9M,QAAS,CACP3B,KAAM,cAER+C,KAAM,CACJ1iB,MAAO,oBACPyiB,MAAO,cACPlE,KAAM,mBAER0C,SAAU,CACRhW,QAAS,yBACT0O,OAAQ,yBAEVD,WAAY,CACVzO,QAAS,2BACTohB,SAAU,6BAEZvX,IAAK,CACHkB,UAAW,sBACX2D,OAAQ,oBAEVzE,QAAS,CACPc,UAAW,0BACX2D,OAAQ,wBAEV5F,SAAU,kBACVsa,kBAAmB,CAEjBC,eAAgB,sBAChBC,oBAAqB,gCACrBC,eAAgB,uCAChBC,cAAe,sCAEfC,mBAAoB,0BACpBC,wBAAyB,sCAK7BpqB,WAAY,CACVoU,MAAO,CACLnE,SAAU,qBACV3B,GAAI,qBACJ+b,KAAM,yBAMVf,IAAK,CACH5iB,SAAS,EACT4jB,YAAa,GACbC,OAAQ,IAIVT,kBAAmB,CACjBpjB,SAAS,EACToQ,IAAK,IAIPjC,MAAO,CACL2V,QAAQ,EACRC,UAAU,EACV5R,OAAO,EACPtC,OAAO,EACPmU,aAAa,EAEbC,gBAAgB,EAChBC,eAAgB,KAGhB9V,SAAS,GAIX4D,QAAS,CACPmS,IAAK,EACLC,SAAU,EACVC,eAAgB,EAChBC,eAAgB,EAEhBL,gBAAgB,EAChBM,UAAU,ICrbD1a,IAAM,CACjB6E,OAAQ,qBACR8V,SAAU,UCFCC,UAAY,CACvBnV,MAAO,QACP0C,QAAS,UACT7D,MAAO,SAGIuW,MAAQ,CACnBtb,MAAO,QACPC,MAAO,SAOF,SAASsb,iBAAiB5qB,GAE/B,MAAI,8EAA8EkB,KAAKlB,GAC9E0qB,UAAUzS,QAIf,wDAAwD/W,KAAKlB,GACxD0qB,UAAUtW,MAGZ,KC1BT,MAAMyW,KAAO,OAEE,MAAMC,QACnBxnB,YAAY2C,GAAU,GACpBlM,KAAKkM,QAAUpN,OAAOkyB,SAAW9kB,EAE7BlM,KAAKkM,SACPlM,KAAK4c,IAAI,qBAITA,UAEF,OAAO5c,KAAKkM,QAAUhC,SAAS9J,UAAU8lB,KAAKnmB,KAAKixB,QAAQpU,IAAKoU,SAAWF,KAGzElO,WAEF,OAAO5iB,KAAKkM,QAAUhC,SAAS9J,UAAU8lB,KAAKnmB,KAAKixB,QAAQpO,KAAMoO,SAAWF,KAG1EjuB,YAEF,OAAO7C,KAAKkM,QAAUhC,SAAS9J,UAAU8lB,KAAKnmB,KAAKixB,QAAQnuB,MAAOmuB,SAAWF,MCfjF,MAAMG,WACJ1nB,YAAYuS,GAAQhb,kBAAAd,KAAA,YA+HT,KACT,IAAKA,KAAKkM,QACR,OAIF,MAAMkY,EAASpkB,KAAK8b,OAAOrK,SAASkQ,QAAQhH,WACxCjQ,GAAGS,QAAQiZ,KACbA,EAAOoC,QAAUxmB,KAAK4a,QAIxB,MAAMpO,EAASxM,KAAKwM,SAAWxM,KAAK8b,OAAOtF,MAAQxW,KAAKwM,OAASxM,KAAK8b,OAAOrK,SAASoD,UAEtFkD,aAAahY,KAAKC,KAAK8b,OAAQtP,EAAQxM,KAAK4a,OAAS,kBAAoB,kBAAkB,MA7IzE9Z,kBAAAd,KAAA,kBAgJH,CAACsX,GAAS,KAkBzB,GAhBIA,EACFtX,KAAKkxB,eAAiB,CACpBlY,EAAGla,OAAOqyB,SAAW,EACrBlY,EAAGna,OAAOsyB,SAAW,GAGvBtyB,OAAOuyB,SAASrxB,KAAKkxB,eAAelY,EAAGhZ,KAAKkxB,eAAejY,GAI7DtZ,SAASoH,KAAKoF,MAAMmlB,SAAWha,EAAS,SAAW,GAGnDrD,YAAYjU,KAAKwM,OAAQxM,KAAK8b,OAAO9P,OAAOmJ,WAAWwF,WAAW2S,SAAUhW,GAGxEpH,QAAQS,MAAO,CACjB,IAAI4gB,EAAW5xB,SAAS+G,KAAKoF,cAAc,yBAC3C,MAAM0lB,EAAW,qBAGZD,IACHA,EAAW5xB,SAAS8G,cAAc,QAClC8qB,EAASjf,aAAa,OAAQ,aAIhC,MAAMmf,EAAc/mB,GAAGI,OAAOymB,EAASnR,UAAYmR,EAASnR,QAAQjX,SAASqoB,GAEzEla,GACFtX,KAAK0xB,iBAAmBD,EAEnBA,IACHF,EAASnR,SAAY,IAAGoR,MAEjBxxB,KAAK0xB,kBACdH,EAASnR,QAAUmR,EAASnR,QACzB3a,MAAM,KACNxD,QAAQ0vB,GAASA,EAAKle,SAAW+d,IACjCtsB,KAAK,MAKZlF,KAAKgc,cA9Lalb,kBAAAd,KAAA,aAkMPV,IAEX,GAAI4Q,QAAQS,QAAU3Q,KAAK4a,QAAwB,QAAdtb,EAAM0B,KAAmC,IAAlB1B,EAAMsyB,QAChE,OAIF,MAAMvE,EAAU1tB,SAASkyB,cACnBzO,EAAYxO,YAAY7U,KAAKC,KAAK8b,OAAQ,qEACzCgW,GAAS1O,EACV2O,EAAO3O,EAAUA,EAAU1hB,OAAS,GAEtC2rB,IAAY0E,GAASzyB,EAAM0yB,SAIpB3E,IAAYyE,GAASxyB,EAAM0yB,WAEpCD,EAAK9c,QACL3V,EAAMJ,mBALN4yB,EAAM7c,QACN3V,EAAMJ,qBAjNU4B,kBAAAd,KAAA,UA0NX,KACP,GAAIA,KAAKkM,QAAS,CAChB,IAAI2f,EAGFA,EADE7rB,KAAKiyB,cACA,oBACEhB,WAAWiB,OACb,SAEA,WAGTlyB,KAAK8b,OAAOa,MAAMC,IAAK,GAAEiP,6BAEzB7rB,KAAK8b,OAAOa,MAAMC,IAAI,kDAIxB3I,YAAYjU,KAAK8b,OAAOrK,SAASoD,UAAW7U,KAAK8b,OAAO9P,OAAOmJ,WAAWwF,WAAWzO,QAASlM,KAAKkM,YA5OjFpL,kBAAAd,KAAA,SAgPZ,KACDA,KAAKkM,UAKNgE,QAAQS,OAAS3Q,KAAK8b,OAAO9P,OAAO2O,WAAW4S,UAC7CvtB,KAAK8b,OAAO1B,QACdpa,KAAK8b,OAAOlC,MAAMuY,oBAElBnyB,KAAKwM,OAAO4lB,yBAEJnB,WAAWiB,QAAUlyB,KAAKiyB,cACpCjyB,KAAKqyB,gBAAe,GACVryB,KAAK8c,OAELpS,GAAGU,MAAMpL,KAAK8c,SACxB9c,KAAKwM,OAAQ,GAAExM,KAAK8c,gBAAgB9c,KAAKwxB,cAFzCxxB,KAAKwM,OAAO2lB,kBAAkB,CAAEG,aAAc,aA/P9BxxB,kBAAAd,KAAA,QAsQb,KACL,GAAKA,KAAKkM,QAKV,GAAIgE,QAAQS,OAAS3Q,KAAK8b,OAAO9P,OAAO2O,WAAW4S,UACjDvtB,KAAKwM,OAAO+lB,uBACZla,eAAerY,KAAK8b,OAAOS,aACtB,IAAK0U,WAAWiB,QAAUlyB,KAAKiyB,cACpCjyB,KAAKqyB,gBAAe,QACf,GAAKryB,KAAK8c,QAEV,IAAKpS,GAAGU,MAAMpL,KAAK8c,QAAS,CACjC,MAAM0V,EAAyB,QAAhBxyB,KAAK8c,OAAmB,SAAW,OAClDnd,SAAU,GAAEK,KAAK8c,SAAS0V,IAASxyB,KAAKwxB,oBAHvC7xB,SAAS8yB,kBAAoB9yB,SAASkuB,gBAAgB9tB,KAAKJ,aAlR5CmB,kBAAAd,KAAA,UA0RX,KACFA,KAAK4a,OAGR5a,KAAK0yB,OAFL1yB,KAAK2yB,WA1RP3yB,KAAK8b,OAASA,EAGd9b,KAAK8c,OAASmU,WAAWnU,OACzB9c,KAAKwxB,SAAWP,WAAWO,SAG3BxxB,KAAKkxB,eAAiB,CAAElY,EAAG,EAAGC,EAAG,GAGjCjZ,KAAKiyB,cAAsD,UAAtCnW,EAAO9P,OAAO2O,WAAW2S,SAI9CttB,KAAK8b,OAAOrK,SAASkJ,WACnBmB,EAAO9P,OAAO2O,WAAW9F,WAAaJ,UAAQzU,KAAK8b,OAAOrK,SAASoD,UAAWiH,EAAO9P,OAAO2O,WAAW9F,WAIzG6C,GAAG3X,KACDC,KAAK8b,OACLnc,SACgB,OAAhBK,KAAK8c,OAAkB,qBAAwB,GAAE9c,KAAK8c,0BACtD,KAEE9c,KAAKgc,cAKTtE,GAAG3X,KAAKC,KAAK8b,OAAQ9b,KAAK8b,OAAOrK,SAASoD,UAAW,YAAavV,IAE5DoL,GAAGS,QAAQnL,KAAK8b,OAAOrK,SAASyP,WAAalhB,KAAK8b,OAAOrK,SAASyP,SAAS9M,SAAS9U,EAAMkN,SAI9FxM,KAAK8b,OAAOvP,UAAUqmB,MAAMtzB,EAAOU,KAAKsX,OAAQ,iBAIlDI,GAAG3X,KAAKC,KAAMA,KAAK8b,OAAOrK,SAASoD,UAAW,WAAYvV,GAAUU,KAAK6yB,UAAUvzB,KAGnFU,KAAK+f,SAMImS,oBACT,SACEvyB,SAASmzB,mBACTnzB,SAASozB,yBACTpzB,SAASqzB,sBACTrzB,SAASszB,qBAKTC,kBACF,OAAOjC,WAAWiB,SAAWlyB,KAAKiyB,cAIzBnV,oBAET,GAAIpS,GAAGM,SAASrL,SAASkuB,gBACvB,MAAO,GAIT,IAAI5sB,EAAQ,GAYZ,MAXiB,CAAC,SAAU,MAAO,MAE1BijB,MAAMiP,MACTzoB,GAAGM,SAASrL,SAAU,GAAEwzB,sBAAyBzoB,GAAGM,SAASrL,SAAU,GAAEwzB,yBAC3ElyB,EAAQkyB,GACD,KAMJlyB,EAGEuwB,sBACT,MAAuB,QAAhBxxB,KAAK8c,OAAmB,aAAe,aAI5C5Q,cACF,OACG+kB,WAAWiB,QAAUlyB,KAAK8b,OAAO9P,OAAO2O,WAAW2S,WACpDttB,KAAK8b,OAAO9P,OAAO2O,WAAWzO,SAC9BlM,KAAK8b,OAAO7E,UAAUpB,IACtB7V,KAAK8b,OAAO9B,QAKZY,aACF,IAAK5a,KAAKkM,QACR,OAAO,EAIT,IAAK+kB,WAAWiB,QAAUlyB,KAAKiyB,cAC7B,OAAO5d,SAASrU,KAAKwM,OAAQxM,KAAK8b,OAAO9P,OAAOmJ,WAAWwF,WAAW2S,UAGxE,MAAMniB,EAAWnL,KAAK8c,OAElB9c,KAAKwM,OAAO4mB,cAAe,GAAEpzB,KAAK8c,SAAS9c,KAAKwxB,mBADhDxxB,KAAKwM,OAAO4mB,cAAcC,kBAG9B,OAAOloB,GAAWA,EAAQmoB,WAAanoB,IAAYnL,KAAKwM,OAAO4mB,cAAc/R,KAAOlW,IAAYnL,KAAKwM,OAInGA,aACF,OAAO0D,QAAQS,OAAS3Q,KAAK8b,OAAO9P,OAAO2O,WAAW4S,UAClDvtB,KAAK8b,OAAOtF,MACZxW,KAAK8b,OAAOrK,SAASkJ,YAAc3a,KAAK8b,OAAOrK,SAASoD,WCnIjD,SAAS0e,UAAUjX,EAAKkX,EAAW,GAChD,OAAO,IAAIhlB,SAAQ,CAAC4J,EAAS8G,KAC3B,MAAMuU,EAAQ,IAAIC,MAEZC,EAAU,YACPF,EAAMG,cACNH,EAAMI,SACZJ,EAAMK,cAAgBN,EAAWpb,EAAU8G,GAAQuU,IAGtDxzB,OAAOsR,OAAOkiB,EAAO,CAAEG,OAAQD,EAASE,QAASF,EAASrX,IAAAA,OCF9D,MAAMzG,GAAK,CACTke,eACE9f,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAO0V,UAAU7M,UAAUvR,QAAQ,IAAK,KAAK,GACvF2Q,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWia,YAAapvB,KAAKiX,UAAUpB,KAI1FgN,qBAAqBvL,GAAS,GACxBA,GAAUtX,KAAKuW,QACjBvW,KAAKwW,MAAMlE,aAAa,WAAY,IAEpCtS,KAAKwW,MAAMqT,gBAAgB,aAK/BmK,QAME,GAHAh0B,KAAKuM,UAAUiK,SAGVxW,KAAKiX,UAAUpB,GAOlB,OANA7V,KAAK2c,MAAMiG,KAAM,0BAAyB5iB,KAAKyV,YAAYzV,KAAKiH,aAGhE4O,GAAGgN,qBAAqB9iB,KAAKC,MAAM,GAOhC0K,GAAGS,QAAQnL,KAAKyR,SAASyP,YAE5BA,SAAS2J,OAAO9qB,KAAKC,MAGrBA,KAAKuM,UAAU2U,YAIjBrL,GAAGgN,qBAAqB9iB,KAAKC,MAGzBA,KAAKuW,SACP2L,SAASrG,MAAM9b,KAAKC,MAItBA,KAAKsiB,OAAS,KAGdtiB,KAAKumB,MAAQ,KAGbvmB,KAAKktB,KAAO,KAGZltB,KAAK2b,QAAU,KAGf3b,KAAK+b,MAAQ,KAGbmF,SAASmF,aAAatmB,KAAKC,MAG3BkhB,SAASqG,WAAWxnB,KAAKC,MAGzBkhB,SAASyG,eAAe5nB,KAAKC,MAG7B6V,GAAGoe,aAAal0B,KAAKC,MAGrBiU,YACEjU,KAAKyR,SAASoD,UACd7U,KAAKgM,OAAOmJ,WAAWY,IAAIkB,UAC3B5B,QAAQU,KAAO/V,KAAKuW,SAAWvW,KAAKga,SAItC/F,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWgB,QAAQc,UAAW5B,QAAQc,SAAWnW,KAAKuW,SAGvGtC,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWxE,MAAOT,QAAQS,OAG3EsD,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWga,QAASnvB,KAAK4W,OAG1E5W,KAAKmY,OAAQ,EAGbpI,YAAW,KACTgI,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO,WACnC,GAGHX,GAAGqe,SAASn0B,KAAKC,MAGbA,KAAK4uB,QACP/Y,GAAGse,UAAUp0B,KAAKC,KAAMA,KAAK4uB,QAAQ,GAAOtO,OAAM,SAKhDtgB,KAAKgM,OAAOyW,UACdvB,SAASyG,eAAe5nB,KAAKC,OAKjCk0B,WAEE,IAAInQ,EAAQ5F,KAAKhe,IAAI,OAAQH,KAAKgM,QAclC,GAXItB,GAAGI,OAAO9K,KAAKgM,OAAOqS,SAAW3T,GAAGU,MAAMpL,KAAKgM,OAAOqS,SACxD0F,GAAU,KAAI/jB,KAAKgM,OAAOqS,SAI5BrV,MAAMC,KAAKjJ,KAAKyR,SAASkQ,QAAQpF,MAAQ,IAAIha,SAAS6hB,IACpDA,EAAO9R,aAAa,aAAcyR,MAKhC/jB,KAAK4qB,QAAS,CAChB,MAAM4D,EAAS1Z,WAAW/U,KAAKC,KAAM,UAErC,IAAK0K,GAAGS,QAAQqjB,GACd,OAIF,MAAMnQ,EAAS3T,GAAGU,MAAMpL,KAAKgM,OAAOqS,OAA6B,QAApBre,KAAKgM,OAAOqS,MACnDpB,EAASkB,KAAKhe,IAAI,aAAcH,KAAKgM,QAE3CwiB,EAAOlc,aAAa,QAAS2K,EAAO3Z,QAAQ,UAAW+a,MAK3D+V,aAAaC,GACXpgB,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW0Z,cAAewF,IAK7EF,UAAUvF,EAAQrX,GAAU,GAE1B,OAAIA,GAAWvX,KAAK4uB,OACXpgB,QAAQ0Q,OAAO,IAAI9f,MAAM,wBAIlCY,KAAKwW,MAAMlE,aAAa,cAAesc,GAGvC5uB,KAAKyR,SAASmd,OAAO/E,gBAAgB,UAInC1R,MACGpY,KAAKC,MAELyO,MAAK,IAAM8kB,UAAU3E,KACrBtO,OAAOzd,IAMN,MAJI+rB,IAAW5uB,KAAK4uB,QAClB/Y,GAAGue,aAAar0B,KAAKC,MAAM,GAGvB6C,KAEP4L,MAAK,KAEJ,GAAImgB,IAAW5uB,KAAK4uB,OAClB,MAAM,IAAIxvB,MAAM,qDAGnBqP,MAAK,KACJxO,OAAOsR,OAAOvR,KAAKyR,SAASmd,OAAOziB,MAAO,CACxCmoB,gBAAkB,QAAO1F,MAEzB2F,eAAgB,KAGlB1e,GAAGue,aAAar0B,KAAKC,MAAM,GAEpB4uB,OAMfqF,aAAa30B,GAEX2U,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW4Z,QAAS/uB,KAAK+uB,SAC1E9a,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW+G,OAAQlc,KAAKkc,QACzEjI,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW6Z,QAAShvB,KAAKgvB,SAG1EhmB,MAAMC,KAAKjJ,KAAKyR,SAASkQ,QAAQpF,MAAQ,IAAIha,SAASiK,IACpDvM,OAAOsR,OAAO/E,EAAQ,CAAEga,QAASxmB,KAAK+uB,UACtCviB,EAAO8F,aAAa,aAAc6L,KAAKhe,IAAIH,KAAK+uB,QAAU,QAAU,OAAQ/uB,KAAKgM,YAI/EtB,GAAGpL,MAAMA,IAAyB,eAAfA,EAAM2H,MAK7B4O,GAAG2e,eAAez0B,KAAKC,OAIzBy0B,aAAan1B,GACXU,KAAKivB,QAAU,CAAC,UAAW,WAAW9lB,SAAS7J,EAAM2H,MAGrDytB,aAAa10B,KAAK20B,OAAO1F,SAGzBjvB,KAAK20B,OAAO1F,QAAUlf,YACpB,KAEEkE,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW8Z,QAASjvB,KAAKivB,SAG1EpZ,GAAG2e,eAAez0B,KAAKC,QAEzBA,KAAKivB,QAAU,IAAM,IAKzBuF,eAAetgB,GACb,MAAQgN,SAAU0T,GAAoB50B,KAAKyR,SAE3C,GAAImjB,GAAmB50B,KAAKgM,OAAO+gB,aAAc,CAE/C,MAAM8H,EAAkB70B,KAAK4W,OAAS5W,KAAK80B,aAAe,IAAOC,KAAKC,MAGtEh1B,KAAKw0B,eACHxqB,QACEkK,GAASlU,KAAKivB,SAAWjvB,KAAKkc,QAAU0Y,EAAgBpO,SAAWoO,EAAgB1F,OAAS2F,MAOpGI,gBAEEh1B,OAAO+E,OAAO,IAAKhF,KAAKwW,MAAMrK,QAE3BlK,QAAQjB,IAAS0J,GAAGU,MAAMpK,IAAQ0J,GAAGI,OAAO9J,IAAQA,EAAI6N,WAAW,YACnEtM,SAASvB,IAERhB,KAAKyR,SAASoD,UAAU1I,MAAM6a,YAAYhmB,EAAKhB,KAAKwW,MAAMrK,MAAM+oB,iBAAiBl0B,IAGjFhB,KAAKwW,MAAMrK,MAAMgpB,eAAen0B,MAIhC0J,GAAGU,MAAMpL,KAAKwW,MAAMrK,QACtBnM,KAAKwW,MAAMqT,gBAAgB,WCnRjC,MAAMuL,UACJ7rB,YAAYuS,GAAQhb,kBAAAd,KAAA,cA0KP,KACX,MAAM8b,OAAEA,GAAW9b,MACbyR,SAAEA,GAAaqK,EAErBA,EAAOlF,OAAQ,EAGf3C,YAAYxC,EAASoD,UAAWiH,EAAO9P,OAAOmJ,WAAWga,SAAS,MAjLhDruB,kBAAAd,KAAA,eAoLLV,IACb,MAAMwc,OAAEA,GAAW9b,MACbyR,SAAEA,GAAaqK,EAKrB,GAHA4Y,aAAa10B,KAAKq1B,YAGC,YAAf/1B,EAAM2H,MAAsC,IAAhB3H,EAAM6lB,MACpC,OAIiB,YAAf7lB,EAAM2H,OACRjH,KAAKs1B,YAAch2B,EAAMi2B,WAI3B,MAOMC,EAAal2B,EAAMi2B,UAAYv1B,KAAKs1B,aAAe,IAGtC,UAAfh2B,EAAM2H,MAAqBuuB,KAVT,MACpB,MAAM9hB,EAAYoI,EAAO9P,OAAOmJ,WAAWH,SAE3Cf,YADgBW,YAAY7U,KAAK+b,EAAS,IAAGpI,KACxBA,GAAW,IAYlC+hB,GAImB,aAAfn2B,EAAM2H,OACRjH,KAAKq1B,WAAatlB,YAAW,KAC3B,MAAMsd,EAAU1tB,SAASkyB,cAGpBpgB,EAASoD,UAAUT,SAASiZ,IAIjCpZ,YAAYtU,SAASkyB,cAAe/V,EAAO9P,OAAOmJ,WAAWH,UAAU,KACtE,SAlOalU,kBAAAd,KAAA,UAuOX,CAACsX,GAAS,KACjB,MAAMwE,OAAEA,GAAW9b,KAGf8b,EAAO9P,OAAOohB,SAAS5sB,QACzB6W,eAAetX,KAAK+b,EAAQhd,OAAQ,gBAAiBkB,KAAK01B,UAAWpe,GAAQ,GAI/ED,eAAetX,KAAK+b,EAAQnc,SAASoH,KAAM,QAAS/G,KAAKqpB,WAAY/R,GAGrEM,KAAK7X,KAAK+b,EAAQnc,SAASoH,KAAM,aAAc/G,KAAK21B,YAGpDte,eAAetX,KAAK+b,EAAQnc,SAASoH,KAAM,8BAA+B/G,KAAK41B,YAAate,GAAQ,GAAO,MAtPzFxW,kBAAAd,KAAA,aA0PR,KACV,MAAM8b,OAAEA,GAAW9b,MACbgM,OAAEA,EAAFyF,SAAUA,EAAVkjB,OAAoBA,GAAW7Y,GAGhC9P,EAAOohB,SAAS5sB,QAAUwL,EAAOohB,SAASC,SAC7C3V,GAAG3X,KAAK+b,EAAQrK,EAASoD,UAAW,gBAAiB7U,KAAK01B,WAAW,GAIvEhe,GAAG3X,KACD+b,EACArK,EAASoD,UACT,4EACCvV,IACC,MAAQ4hB,SAAU0T,GAAoBnjB,EAGlCmjB,GAAkC,oBAAft1B,EAAM2H,OAC3B2tB,EAAgBpO,SAAU,EAC1BoO,EAAgB1F,OAAQ,GAK1B,IAAIpf,EAAQ,EADC,CAAC,aAAc,YAAa,aAAa3G,SAAS7J,EAAM2H,QAInE4O,GAAG2e,eAAez0B,KAAK+b,GAAQ,GAE/BhM,EAAQgM,EAAOlF,MAAQ,IAAO,KAIhC8d,aAAaC,EAAOzT,UAGpByT,EAAOzT,SAAWnR,YAAW,IAAM8F,GAAG2e,eAAez0B,KAAK+b,GAAQ,IAAQhM,MAK9E,MAAM+lB,EAAY,KAChB,IAAK/Z,EAAO1B,SAAW0B,EAAO9P,OAAOqO,MAAMC,QACzC,OAGF,MAAM9N,EAASiF,EAASC,SAClBkJ,OAAEA,GAAWkB,EAAOnB,YACnBd,EAAYC,GAAeH,eAAe5Z,KAAK+b,GAChDga,EAAuBpd,YAAa,iBAAgBmB,OAAgBC,KAG1E,IAAKc,EAQH,YAPIkb,GACFtpB,EAAOL,MAAMY,MAAQ,KACrBP,EAAOL,MAAMmN,OAAS,OAEtB9M,EAAOL,MAAM4pB,SAAW,KACxBvpB,EAAOL,MAAM6pB,OAAS,OAM1B,MAAOC,EAAeC,GAAkB/a,kBAClCmW,EAAW2E,EAAgBC,EAAiBrc,EAAaC,EAE3Dgc,GACFtpB,EAAOL,MAAMY,MAAQukB,EAAW,OAAS,OACzC9kB,EAAOL,MAAMmN,OAASgY,EAAW,OAAS,SAE1C9kB,EAAOL,MAAM4pB,SAAWzE,EAAe4E,EAAiBpc,EAAeD,EAAnC,KAAoD,KACxFrN,EAAOL,MAAM6pB,OAAS1E,EAAW,SAAW,OAK1C6E,EAAU,KACdzB,aAAaC,EAAOwB,SACpBxB,EAAOwB,QAAUpmB,WAAW8lB,EAAW,KAGzCne,GAAG3X,KAAK+b,EAAQrK,EAASoD,UAAW,kCAAmCvV,IACrE,MAAMkN,OAAEA,GAAWsP,EAAOnB,WAG1B,GAAInO,IAAWiF,EAASoD,UACtB,OAIF,IAAKiH,EAAO8O,SAAWlgB,GAAGU,MAAM0Q,EAAO9P,OAAOqN,OAC5C,OAIFwc,KAG8B,oBAAfv2B,EAAM2H,KAA6ByQ,GAAKC,KAChD5X,KAAK+b,EAAQhd,OAAQ,SAAUq3B,SA/VtBr1B,kBAAAd,KAAA,SAoWZ,KACN,MAAM8b,OAAEA,GAAW9b,MACbyR,SAAEA,GAAaqK,EAuCrB,GApCApE,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,6BAA8BlX,GAAU4hB,SAASqG,WAAWxnB,KAAK+b,EAAQxc,KAGvGoY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,4CAA6ClX,GACzE4hB,SAASyG,eAAe5nB,KAAK+b,EAAQxc,KAIvCoY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,SAAS,KAEjCsF,EAAOvF,SAAWuF,EAAO9B,SAAW8B,EAAO9P,OAAOghB,aAEpDlR,EAAO+F,UAGP/F,EAAO8F,YAKXlK,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,mCAAoClX,GAChE4hB,SAASuF,eAAe1mB,KAAK+b,EAAQxc,KAIvCoY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,gBAAiBlX,GAAU4hB,SAASmF,aAAatmB,KAAK+b,EAAQxc,KAG5FoY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,+CAAgDlX,GAC5EuW,GAAGoe,aAAal0B,KAAK+b,EAAQxc,KAI/BoY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,kCAAmClX,GAAUuW,GAAG4e,aAAa10B,KAAK+b,EAAQxc,KAGpGwc,EAAO7E,UAAUpB,IAAMiG,EAAO9P,OAAO8gB,cAAgBhR,EAAOsa,QAAS,CAEvE,MAAM1kB,EAAUoD,WAAW/U,KAAK+b,EAAS,IAAGA,EAAO9P,OAAOmJ,WAAWI,SAGrE,IAAK7K,GAAGS,QAAQuG,GACd,OAIFgG,GAAG3X,KAAK+b,EAAQrK,EAASoD,UAAW,SAAUvV,KAC5B,CAACmS,EAASoD,UAAWnD,GAGxBvI,SAAS7J,EAAMkN,SAAYkF,EAAQ0C,SAAS9U,EAAMkN,WAK3DsP,EAAOlF,OAASkF,EAAO9P,OAAO+gB,eAI9BjR,EAAOua,OACTr2B,KAAK4yB,MAAMtzB,EAAOwc,EAAO+F,QAAS,WAClC7hB,KAAK4yB,MACHtzB,GACA,KACE+Y,eAAeyD,EAAOS,UAExB,SAGFvc,KAAK4yB,MACHtzB,GACA,KACE+Y,eAAeyD,EAAOwa,gBAExB,aAOJxa,EAAO7E,UAAUpB,IAAMiG,EAAO9P,OAAOihB,oBACvCvV,GAAG3X,KACD+b,EACArK,EAASC,QACT,eACCpS,IACCA,EAAMJ,oBAER,GAKJwY,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,gBAAgB,KAE5CsF,EAAO+C,QAAQjb,IAAI,CACjB0e,OAAQxG,EAAOwG,OACfiE,MAAOzK,EAAOyK,WAKlB7O,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,cAAc,KAE1C0K,SAAS8G,cAAcjoB,KAAK+b,EAAQ,SAGpCA,EAAO+C,QAAQjb,IAAI,CAAEmY,MAAOD,EAAOC,WAIrCrE,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,iBAAkBlX,IAE9C4hB,SAAS8G,cAAcjoB,KAAK+b,EAAQ,UAAW,KAAMxc,EAAMQ,OAAO6b,YAIpEjE,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO,uBAAuB,KACnD0K,SAASiJ,eAAepqB,KAAK+b,MAK/B,MAAMya,EAAcza,EAAO9P,OAAOsD,OAAOhE,OAAO,CAAC,QAAS,YAAYpG,KAAK,KAE3EwS,GAAG3X,KAAK+b,EAAQA,EAAOtF,MAAO+f,GAAcj3B,IAC1C,IAAIQ,OAAEA,EAAS,IAAOR,EAGH,UAAfA,EAAM2H,OACRnH,EAASgc,EAAOtF,MAAM3T,OAGxBkV,aAAahY,KAAK+b,EAAQrK,EAASoD,UAAWvV,EAAM2H,MAAM,EAAMnH,SA/ehDgB,kBAAAd,KAAA,SAofZ,CAACV,EAAOk3B,EAAgBC,KAC9B,MAAM3a,OAAEA,GAAW9b,KACb02B,EAAgB5a,EAAO9P,OAAOO,UAAUkqB,GAE9C,IAAIE,GAAW,EADUjsB,GAAGM,SAAS0rB,KAKnCC,EAAWD,EAAc32B,KAAK+b,EAAQxc,KAIvB,IAAbq3B,GAAsBjsB,GAAGM,SAASwrB,IACpCA,EAAez2B,KAAK+b,EAAQxc,MAjgBZwB,kBAAAd,KAAA,QAsgBb,CAACmL,EAASlE,EAAMuvB,EAAgBC,EAAkBlf,GAAU,KACjE,MAAMuE,OAAEA,GAAW9b,KACb02B,EAAgB5a,EAAO9P,OAAOO,UAAUkqB,GACxCG,EAAmBlsB,GAAGM,SAAS0rB,GAErChf,GAAG3X,KACD+b,EACA3Q,EACAlE,GACC3H,GAAUU,KAAK4yB,MAAMtzB,EAAOk3B,EAAgBC,IAC7Clf,IAAYqf,MAhhBI91B,kBAAAd,KAAA,YAqhBT,KACT,MAAM8b,OAAEA,GAAW9b,MACbyR,SAAEA,GAAaqK,EAEf+a,EAAa3mB,QAAQC,KAAO,SAAW,QAsL7C,GAnLIsB,EAASkQ,QAAQpF,MACnBvT,MAAMC,KAAKwI,EAASkQ,QAAQpF,MAAMha,SAAS6hB,IACzCpkB,KAAKkmB,KACH9B,EACA,SACA,KACE/L,eAAeyD,EAAOwa,gBAExB,WAMNt2B,KAAKkmB,KAAKzU,EAASkQ,QAAQE,QAAS,QAAS/F,EAAO+F,QAAS,WAG7D7hB,KAAKkmB,KACHzU,EAASkQ,QAAQG,OACjB,SACA,KAEEhG,EAAOgZ,aAAeC,KAAKC,MAC3BlZ,EAAOgG,WAET,UAIF9hB,KAAKkmB,KACHzU,EAASkQ,QAAQI,YACjB,SACA,KAEEjG,EAAOgZ,aAAeC,KAAKC,MAC3BlZ,EAAOgb,YAET,eAIF92B,KAAKkmB,KACHzU,EAASkQ,QAAQK,KACjB,SACA,KACElG,EAAOyK,OAASzK,EAAOyK,QAEzB,QAIFvmB,KAAKkmB,KAAKzU,EAASkQ,QAAQO,SAAU,SAAS,IAAMpG,EAAOib,mBAG3D/2B,KAAKkmB,KACHzU,EAASkQ,QAAQyI,SACjB,SACA,KACErS,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAE1C,YAIFxW,KAAKkmB,KACHzU,EAASkQ,QAAQhH,WACjB,SACA,KACEmB,EAAOnB,WAAWrD,WAEpB,cAIFtX,KAAKkmB,KACHzU,EAASkQ,QAAQ5L,IACjB,SACA,KACE+F,EAAO/F,IAAM,WAEf,OAIF/V,KAAKkmB,KAAKzU,EAASkQ,QAAQxL,QAAS,QAAS2F,EAAO3F,QAAS,WAG7DnW,KAAKkmB,KACHzU,EAASkQ,QAAQM,SACjB,SACC3iB,IAECA,EAAM8lB,kBACN9lB,EAAMJ,iBAENgiB,SAASmI,WAAWtpB,KAAK+b,EAAQxc,KAEnC,MACA,GAMFU,KAAKkmB,KACHzU,EAASkQ,QAAQM,SACjB,SACC3iB,IACC,MAAM03B,EAAO13B,EAAM6lB,MAGd,CAAC,GAAI,IAAIhc,SAAS6tB,KAKV,KAATA,GAMJ13B,EAAMJ,iBAGNI,EAAM8lB,kBAGNlE,SAASmI,WAAWtpB,KAAK+b,EAAQxc,IAX/B4hB,SAASyE,mBAAmB5lB,KAAK+b,EAAQ,MAAM,MAanD,MACA,GAIF9b,KAAKkmB,KAAKzU,EAASwQ,SAAS0B,KAAM,WAAYrkB,IACxB,KAAhBA,EAAM6lB,OACRjE,SAASmI,WAAWtpB,KAAK+b,EAAQxc,MAKrCU,KAAKkmB,KAAKzU,EAAS2Q,OAAOC,KAAM,uBAAwB/iB,IACtD,MAAM23B,EAAOxlB,EAAS0Q,SAASrV,wBACzBia,EAAW,IAAMkQ,EAAKlqB,OAAUzN,EAAMgoB,MAAQ2P,EAAKhqB,MACzD3N,EAAM43B,cAAc5kB,aAAa,aAAcyU,MAIjD/mB,KAAKkmB,KAAKzU,EAAS2Q,OAAOC,KAAM,uDAAwD/iB,IACtF,MAAM+iB,EAAO/iB,EAAM43B,cACbF,EAAO13B,EAAMsyB,QAAUtyB,EAAMsyB,QAAUtyB,EAAM6lB,MAC7C5f,EAAY,iBAElB,GAAImF,GAAGuE,cAAc3P,IAAmB,KAAT03B,GAAwB,KAATA,EAC5C,OAIFlb,EAAOgZ,aAAeC,KAAKC,MAG3B,MAAMzY,EAAO8F,EAAK8U,aAAa5xB,GAEzBpC,EAAO,CAAC,UAAW,WAAY,SAASgG,SAAS7J,EAAM2H,MAGzDsV,GAAQpZ,GACVkf,EAAKwH,gBAAgBtkB,GACrB8S,eAAeyD,EAAOS,UACZpZ,GAAQ2Y,EAAOiT,UACzB1M,EAAK/P,aAAa/M,EAAW,IAC7BuW,EAAO8F,YAOP1R,QAAQS,MAAO,CACjB,MAAMyR,EAASxN,YAAY7U,KAAK+b,EAAQ,uBACxC9S,MAAMC,KAAKmZ,GAAQ7f,SAASmL,GAAU1N,KAAKkmB,KAAKxY,EAAOmpB,GAAav3B,GAAUuQ,QAAQvQ,EAAMkN,YAI9FxM,KAAKkmB,KACHzU,EAAS2Q,OAAOC,KAChBwU,GACCv3B,IACC,MAAM+iB,EAAO/iB,EAAM43B,cAEnB,IAAIE,EAAS/U,EAAK1V,aAAa,cAE3BjC,GAAGU,MAAMgsB,KACXA,EAAS/U,EAAKphB,OAGhBohB,EAAKwH,gBAAgB,cAErB/N,EAAOG,YAAemb,EAAS/U,EAAK5W,IAAOqQ,EAAO2G,WAEpD,QAIFziB,KAAKkmB,KAAKzU,EAAS0Q,SAAU,mCAAoC7iB,GAC/D4hB,SAAS+F,kBAAkBlnB,KAAK+b,EAAQxc,KAK1CU,KAAKkmB,KAAKzU,EAAS0Q,SAAU,uBAAwB7iB,IACnD,MAAMgwB,kBAAEA,GAAsBxT,EAE1BwT,GAAqBA,EAAkB+H,QACzC/H,EAAkBgI,UAAUh4B,MAKhCU,KAAKkmB,KAAKzU,EAAS0Q,SAAU,6BAA6B,KACxD,MAAMmN,kBAAEA,GAAsBxT,EAE1BwT,GAAqBA,EAAkB+H,QACzC/H,EAAkBiI,SAAQ,GAAO,MAKrCv3B,KAAKkmB,KAAKzU,EAAS0Q,SAAU,wBAAyB7iB,IACpD,MAAMgwB,kBAAEA,GAAsBxT,EAE1BwT,GAAqBA,EAAkB+H,QACzC/H,EAAkBkI,eAAel4B,MAIrCU,KAAKkmB,KAAKzU,EAAS0Q,SAAU,oBAAqB7iB,IAChD,MAAMgwB,kBAAEA,GAAsBxT,EAE1BwT,GAAqBA,EAAkB+H,QACzC/H,EAAkBmI,aAAan4B,MAK/B4Q,QAAQM,UACVxH,MAAMC,KAAK2L,YAAY7U,KAAK+b,EAAQ,wBAAwBvZ,SAAS4I,IACnEnL,KAAKkmB,KAAK/a,EAAS,SAAU7L,GAAU4hB,SAASwD,gBAAgB3kB,KAAK+b,EAAQxc,EAAMkN,aAMnFsP,EAAO9P,OAAO6gB,eAAiBniB,GAAGS,QAAQsG,EAAS8Q,QAAQE,WAC7DziB,KAAKkmB,KAAKzU,EAAS8Q,QAAQtG,YAAa,SAAS,KAEpB,IAAvBH,EAAOG,cAIXH,EAAO9P,OAAOyb,YAAc3L,EAAO9P,OAAOyb,WAE1CvG,SAASqG,WAAWxnB,KAAK+b,OAK7B9b,KAAKkmB,KACHzU,EAAS2Q,OAAOE,OAChBuU,GACCv3B,IACCwc,EAAOwG,OAAShjB,EAAMkN,OAAOvL,QAE/B,UAIFjB,KAAKkmB,KAAKzU,EAASyP,SAAU,yBAA0B5hB,IACrDmS,EAASyP,SAASgO,OAASpT,EAAOlF,OAAwB,eAAftX,EAAM2H,QAI/CwK,EAASkJ,YACX3R,MAAMC,KAAKwI,EAASkJ,WAAWqL,UAC5B/jB,QAAQ4K,IAAOA,EAAEuH,SAAS3C,EAASoD,aACnCtS,SAASuP,IACR9R,KAAKkmB,KAAKpU,EAAO,yBAA0BxS,IACrCmS,EAASyP,WACXzP,EAASyP,SAASgO,OAASpT,EAAOlF,OAAwB,eAAftX,EAAM2H,YAO3DjH,KAAKkmB,KAAKzU,EAASyP,SAAU,qDAAsD5hB,IACjFmS,EAASyP,SAASsF,QAAU,CAAC,YAAa,cAAcrd,SAAS7J,EAAM2H,SAIzEjH,KAAKkmB,KAAKzU,EAASyP,SAAU,WAAW,KACtC,MAAMlV,OAAEA,EAAF2oB,OAAUA,GAAW7Y,EAG3B7H,YAAYxC,EAASyP,SAAUlV,EAAOmJ,WAAWka,cAAc,GAG/DxZ,GAAG2e,eAAez0B,KAAK+b,GAAQ,GAG/B/L,YAAW,KACTkE,YAAYxC,EAASyP,SAAUlV,EAAOmJ,WAAWka,cAAc,KAC9D,GAGH,MAAMvf,EAAQ9P,KAAK4W,MAAQ,IAAO,IAGlC8d,aAAaC,EAAOzT,UAGpByT,EAAOzT,SAAWnR,YAAW,IAAM8F,GAAG2e,eAAez0B,KAAK+b,GAAQ,IAAQhM,MAI5E9P,KAAKkmB,KACHzU,EAAS2Q,OAAOE,OAChB,SACChjB,IAGC,MAAMwhB,EAAWxhB,EAAMo4B,mCAEhB1e,EAAGC,GAAK,CAAC3Z,EAAMq4B,QAASr4B,EAAMs4B,QAAQpqB,KAAKvM,GAAW6f,GAAY7f,EAAQA,IAE3E42B,EAAYrsB,KAAKssB,KAAKtsB,KAAKiN,IAAIO,GAAKxN,KAAKiN,IAAIQ,GAAKD,EAAIC,GAG5D6C,EAAOic,eAAeF,EAAY,IAGlC,MAAMvV,OAAEA,GAAWxG,EAAOtF,OACP,IAAdqhB,GAAmBvV,EAAS,IAAsB,IAAfuV,GAAoBvV,EAAS,IACnEhjB,EAAMJ,mBAGV,UACA,MAv3BFc,KAAK8b,OAASA,EACd9b,KAAKg4B,QAAU,KACfh4B,KAAKq1B,WAAa,KAClBr1B,KAAKs1B,YAAc,KAEnBt1B,KAAK01B,UAAY11B,KAAK01B,UAAUxP,KAAKlmB,MACrCA,KAAKqpB,WAAarpB,KAAKqpB,WAAWnD,KAAKlmB,MACvCA,KAAK41B,YAAc51B,KAAK41B,YAAY1P,KAAKlmB,MACzCA,KAAK21B,WAAa31B,KAAK21B,WAAWzP,KAAKlmB,MAIzC01B,UAAUp2B,GACR,MAAMwc,OAAEA,GAAW9b,MACbyR,SAAEA,GAAaqK,EACfkb,EAAO13B,EAAMsyB,QAAUtyB,EAAMsyB,QAAUtyB,EAAM6lB,MAC7CqB,EAAyB,YAAflnB,EAAM2H,KAChBgxB,EAASzR,GAAWwQ,IAASh3B,KAAKg4B,QAGxC,GAAI14B,EAAM44B,QAAU54B,EAAM64B,SAAW74B,EAAM84B,SAAW94B,EAAM0yB,SAC1D,OAKF,IAAKtnB,GAAGG,OAAOmsB,GACb,OAWF,GAAIxQ,EAAS,CAIX,MAAM6G,EAAU1tB,SAASkyB,cACzB,GAAInnB,GAAGS,QAAQkiB,GAAU,CACvB,MAAMqB,SAAEA,GAAa5S,EAAO9P,OAAO0V,WAC7BW,KAAEA,GAAS5Q,EAAS2Q,OAE1B,GAAIiL,IAAYhL,GAAQtZ,QAAQskB,EAASqB,GACvC,OAGF,GAAoB,KAAhBpvB,EAAM6lB,OAAgBpc,QAAQskB,EAAS,8BACzC,OAaJ,OARuB,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAGrFlkB,SAAS6tB,KAC1B13B,EAAMJ,iBACNI,EAAM8lB,mBAGA4R,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GAEEiB,IA5CTnc,EAAOG,YAAeH,EAAO2G,SAAW,IAAOuU,EAAO,KA+ClD,MAEF,KAAK,GACL,KAAK,GAEEiB,GACH5f,eAAeyD,EAAOwa,cAExB,MAEF,KAAK,GAEHxa,EAAOic,eAAe,IACtB,MAEF,KAAK,GAEHjc,EAAOuc,eAAe,IACtB,MAEF,KAAK,GAEEJ,IACHnc,EAAOyK,OAASzK,EAAOyK,OAEzB,MAEF,KAAK,GAEHzK,EAAOgb,UACP,MAEF,KAAK,GAEHhb,EAAOgG,SACP,MAEF,KAAK,GAEHhG,EAAOnB,WAAWrD,SAClB,MAEF,KAAK,GAEE2gB,GACHnc,EAAOib,iBAET,MAEF,KAAK,GAEHjb,EAAOoR,MAAQpR,EAAOoR,KAqBb,KAAT8J,IAAgBlb,EAAOnB,WAAWuY,aAAepX,EAAOnB,WAAWC,QACrEkB,EAAOnB,WAAWrD,SAIpBtX,KAAKg4B,QAAUhB,OAEfh3B,KAAKg4B,QAAU,KAKnB3O,WAAW/pB,GACT4hB,SAASmI,WAAWtpB,KAAKC,KAAK8b,OAAQxc,I9BywK1C,IAAIg5B,WAAa53B,sBAAqB,SAAUE,EAAQC,G+B17KpDD,EAAAA,QAII,WAMR,IAAI23B,EAAU,aACVC,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,GAQ1B,SAASC,EAAUC,EAAWC,GAE5BD,EAAYA,EAAUz2B,KAAOy2B,EAAY,CAACA,GAE1C,IAGIj4B,EACAm4B,EACAn3B,EALAo3B,EAAe,GACf10B,EAAIu0B,EAAUl3B,OACds3B,EAAa30B,EAejB,IARA1D,EAAK,SAAUm4B,EAAUG,GACnBA,EAAcv3B,QAAQq3B,EAAa52B,KAAK22B,KAE5CE,GACiBH,EAAWE,IAIvB10B,KACLy0B,EAAWF,EAAUv0B,IAGrB1C,EAAI82B,EAAkBK,IAEpBn4B,EAAGm4B,EAAUn3B,IAKX+2B,EAAoBI,GAAYJ,EAAoBI,IAAa,IACnE32B,KAAKxB,GAUX,SAASu4B,EAAQJ,EAAUG,GAEzB,GAAKH,EAAL,CAEA,IAAIK,EAAIT,EAAoBI,GAM5B,GAHAL,EAAkBK,GAAYG,EAGzBE,EAGL,KAAOA,EAAEz3B,QACPy3B,EAAE,GAAGL,EAAUG,GACfE,EAAEC,OAAO,EAAG,IAUhB,SAASC,EAAiBvhB,EAAMihB,GAE1BjhB,EAAK/X,OAAM+X,EAAO,CAACwhB,QAASxhB,IAG5BihB,EAAar3B,QAASoW,EAAKjV,OAAS01B,GAASQ,IAC3CjhB,EAAKwhB,SAAWf,GAASzgB,GASjC,SAASyhB,EAASroB,EAAM2nB,EAAY/gB,EAAM0hB,GACxC,IAMIC,EACAp6B,EAPA+G,EAAMzG,SACN+5B,EAAQ5hB,EAAK4hB,MACbC,GAAY7hB,EAAK8hB,YAAc,GAAK,EACpCC,EAAmB/hB,EAAKgiB,QAAUvB,EAClC3yB,EAAWsL,EAAK5N,QAAQ,YAAa,IACrCy2B,EAAe7oB,EAAK5N,QAAQ,cAAe,IAI/Ck2B,EAAWA,GAAY,EAEnB,iBAAiBryB,KAAKvB,KAExBvG,EAAI+G,EAAIK,cAAc,SACpB4pB,IAAM,aACRhxB,EAAEwG,KAAOk0B,GAGTN,EAAgB,cAAep6B,IAGVA,EAAE26B,UACrBP,EAAgB,EAChBp6B,EAAEgxB,IAAM,UACRhxB,EAAE46B,GAAK,UAEA,oCAAoC9yB,KAAKvB,IAElDvG,EAAI+G,EAAIK,cAAc,QACpB6V,IAAMyd,IAGR16B,EAAI+G,EAAIK,cAAc,WACpB6V,IAAMpL,EACR7R,EAAEq6B,WAAkB9pB,IAAV8pB,GAA6BA,GAGzCr6B,EAAEu0B,OAASv0B,EAAEw0B,QAAUx0B,EAAE66B,aAAe,SAAUC,GAChD,IAAI9Z,EAAS8Z,EAAGlzB,KAAK,GAIrB,GAAIwyB,EACF,IACOp6B,EAAE+6B,MAAMC,QAAQ34B,SAAQ2e,EAAS,KACtC,MAAOrH,GAGO,IAAVA,EAAEge,OAAY3W,EAAS,KAK/B,GAAc,KAAVA,GAKF,IAHAmZ,GAAY,GAGGG,EACb,OAAOJ,EAASroB,EAAM2nB,EAAY/gB,EAAM0hB,QAErC,GAAa,WAATn6B,EAAEgxB,KAA4B,SAARhxB,EAAE46B,GAEjC,OAAO56B,EAAEgxB,IAAM,aAIjBwI,EAAW3nB,EAAMmP,EAAQ8Z,EAAGh7B,oBAII,IAA9B06B,EAAiB3oB,EAAM7R,IAAc+G,EAAIM,KAAKC,YAAYtH,GAShE,SAASi7B,EAAUC,EAAO1B,EAAY/gB,GAIpC,IAGInX,EACA0D,EAJA20B,GAFJuB,EAAQA,EAAMp4B,KAAOo4B,EAAQ,CAACA,IAEP74B,OACnBsX,EAAIggB,EACJC,EAAgB,GAqBpB,IAhBAt4B,EAAK,SAASuQ,EAAMmP,EAAQlhB,GAM1B,GAJc,KAAVkhB,GAAe4Y,EAAc92B,KAAK+O,GAIxB,KAAVmP,EAAe,CACjB,IAAIlhB,EACC,OADiB85B,EAAc92B,KAAK+O,KAI3C8nB,GACiBH,EAAWI,IAIzB50B,EAAE,EAAGA,EAAI2U,EAAG3U,IAAKk1B,EAASgB,EAAMl2B,GAAI1D,EAAImX,GAa/C,SAAS0iB,EAAOD,EAAOE,EAAMC,GAC3B,IAAI5B,EACAhhB,EASJ,GANI2iB,GAAQA,EAAKhnB,OAAMqlB,EAAW2B,GAGlC3iB,GAAQghB,EAAW4B,EAAOD,IAAS,GAG/B3B,EAAU,CACZ,GAAIA,KAAYN,EACd,KAAM,SAENA,EAAcM,IAAY,EAI9B,SAAS6B,EAAOviB,EAAS8G,GACvBob,EAAUC,GAAO,SAAUtB,GAEzBI,EAAiBvhB,EAAMmhB,GAGnB7gB,GACFihB,EAAiB,CAACC,QAASlhB,EAASvV,MAAOqc,GAAS+Z,GAItDC,EAAQJ,EAAUG,KACjBnhB,GAGL,GAAIA,EAAK8iB,cAAe,OAAO,IAAIpsB,QAAQmsB,GACtCA,IAiDP,OAxCAH,EAAOriB,MAAQ,SAAe0iB,EAAM/iB,GAOlC,OALA6gB,EAAUkC,GAAM,SAAU9B,GAExBM,EAAiBvhB,EAAMihB,MAGlByB,GAQTA,EAAOr3B,KAAO,SAAc21B,GAC1BI,EAAQJ,EAAU,KAOpB0B,EAAOpM,MAAQ,WACboK,EAAgB,GAChBC,EAAoB,GACpBC,EAAsB,IAQxB8B,EAAOM,UAAY,SAAmBhC,GACpC,OAAOA,KAAYN,GAKdgC,EArTcO,MCEN,SAASC,WAAW/0B,GACjC,OAAO,IAAIuI,SAAQ,CAAC4J,EAAS8G,KAC3Bsb,WAAOv0B,EAAK,CACVqzB,QAASlhB,EACTvV,MAAOqc,OCOb,SAAS+b,UAAQh1B,GACf,GAAIyE,GAAGU,MAAMnF,GACX,OAAO,KAGT,GAAIyE,GAAGG,OAAOjB,OAAO3D,IACnB,OAAOA,EAIT,OAAOA,EAAIsF,MADG,mCACY8R,OAAO6d,GAAKj1B,EAIxC,SAASk1B,UAAUl1B,GAQjB,MACMm1B,EAAQn1B,EAAIsF,MADJ,uEAGd,OAAO6vB,EAAQA,EAAMC,OAAOxL,KAAO,KAIrC,SAASyL,sBAAoB/e,GACvBA,IAASvc,KAAK4Z,MAAM2hB,YACtBv7B,KAAK4Z,MAAM2hB,WAAY,GAErBv7B,KAAKwW,MAAM0F,SAAWK,IACxBvc,KAAKwW,MAAM0F,QAAUK,EACrBxE,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO+F,EAAO,OAAS,UAIxD,MAAMlC,MAAQ,CACZwB,QACE,MAAMC,EAAS9b,KAGfiU,YAAY6H,EAAOrK,SAASC,QAASoK,EAAO9P,OAAOmJ,WAAWyE,OAAO,GAGrEkC,EAAO5E,QAAQ6E,MAAQD,EAAO9P,OAAO+P,MAAM7E,QAG3C6C,eAAeha,KAAK+b,GAGfpR,GAAGE,OAAO9L,OAAO08B,OASpBnhB,MAAMlC,MAAMpY,KAAK+b,GARjBkf,WAAWlf,EAAO9P,OAAO2e,KAAKtQ,MAAMkU,KACjC9f,MAAK,KACJ4L,MAAMlC,MAAMpY,KAAK+b,MAElBwE,OAAOzd,IACNiZ,EAAOa,MAAMiG,KAAK,uCAAwC/f,OAQlEsV,QACE,MAAM2D,EAAS9b,KACTgM,EAAS8P,EAAO9P,OAAOqO,OACvBC,QAAEA,EAAF8V,eAAWA,KAAmBqL,GAAgBzvB,EAEpD,IAAIsF,EAASwK,EAAOtF,MAAM7J,aAAa,OACnCkjB,EAAO,GAEPnlB,GAAGU,MAAMkG,IACXA,EAASwK,EAAOtF,MAAM7J,aAAamP,EAAO9P,OAAOxG,WAAWoU,MAAM9F,IAElE+b,EAAO/T,EAAOtF,MAAM7J,aAAamP,EAAO9P,OAAOxG,WAAWoU,MAAMiW,OAEhEA,EAAOsL,UAAU7pB,GAEnB,MAAMoqB,EAAY7L,EAAO,CAAEpW,EAAGoW,GAAS,GAGnCvV,GACFra,OAAOsR,OAAOkqB,EAAa,CACzBva,UAAU,EACVya,UAAU,IAKd,MAAMp8B,EAAS8rB,eAAe,CAC5B6B,KAAMpR,EAAO9P,OAAOkhB,KAAKtS,OACzB+R,SAAU7Q,EAAO6Q,SACjBpG,MAAOzK,EAAOyK,MACdqV,QAAS,QACTlmB,aAAc1V,KAAKgM,OAAO2O,WAAW4S,aAElCmO,KACAD,IAGC3nB,EAAKmnB,UAAQ3pB,GAEbkd,EAAS/nB,cAAc,UACvB6V,EAAMW,OAAOnB,EAAO9P,OAAO2e,KAAKtQ,MAAMmU,OAAQ1a,EAAIvU,GAcxD,GAbAivB,EAAOlc,aAAa,MAAOgK,GAC3BkS,EAAOlc,aAAa,kBAAmB,IACvCkc,EAAOlc,aACL,QACA,CAAC,WAAY,aAAc,qBAAsB,kBAAmB,gBAAiB,aAAapN,KAAK,OAIpGwF,GAAGU,MAAMglB,IACZ5B,EAAOlc,aAAa,iBAAkB8d,GAIpC9V,IAAYtO,EAAOmkB,eACrB3B,EAAOlc,aAAa,cAAewJ,EAAO8S,QAC1C9S,EAAOtF,MAAQxD,eAAewb,EAAQ1S,EAAOtF,WACxC,CACL,MAAM9E,EAAUjL,cAAc,MAAO,CACnCoN,MAAOiI,EAAO9P,OAAOmJ,WAAWwZ,eAChC,cAAe7S,EAAO8S,SAExBld,EAAQ/K,YAAY6nB,GACpB1S,EAAOtF,MAAQxD,eAAetB,EAASoK,EAAOtF,OAI3CxK,EAAOmkB,gBACVnR,MAAM/B,OAAOnB,EAAO9P,OAAO2e,KAAKtQ,MAAMzE,IAAK0G,IAAM7N,MAAM6Q,KACjD5U,GAAGU,MAAMkU,IAAcA,EAASuc,eAKpChmB,GAAGse,UAAUp0B,KAAK+b,EAAQwD,EAASuc,eAAevb,OAAM,YAM5DxE,EAAOlC,MAAQ,IAAI9a,OAAO08B,MAAMM,OAAOtN,EAAQ,CAC7C5B,UAAW9Q,EAAO9P,OAAO4gB,UACzBrG,MAAOzK,EAAOyK,QAGhBzK,EAAOtF,MAAM0F,QAAS,EACtBJ,EAAOtF,MAAMyF,YAAc,EAGvBH,EAAO7E,UAAUpB,IACnBiG,EAAOlC,MAAMmiB,mBAIfjgB,EAAOtF,MAAM+F,KAAO,KAClB+e,sBAAoBv7B,KAAK+b,GAAQ,GAC1BA,EAAOlC,MAAM2C,QAGtBT,EAAOtF,MAAMoL,MAAQ,KACnB0Z,sBAAoBv7B,KAAK+b,GAAQ,GAC1BA,EAAOlC,MAAMgI,SAGtB9F,EAAOtF,MAAMwlB,KAAO,KAClBlgB,EAAO8F,QACP9F,EAAOG,YAAc,GAIvB,IAAIA,YAAEA,GAAgBH,EAAOtF,MAC7BvW,OAAOC,eAAe4b,EAAOtF,MAAO,cAAe,CACjDrW,IAAG,IACM8b,EAETrY,IAAIgd,GAIF,MAAMhH,MAAEA,EAAFpD,MAASA,EAAT0F,OAAgBA,EAAhBoG,OAAwBA,GAAWxG,EACnCmgB,EAAe/f,IAAWtC,EAAM2hB,UAGtC/kB,EAAMkR,SAAU,EAChB3P,aAAahY,KAAK+b,EAAQtF,EAAO,WAGjChI,QAAQ4J,QAAQ6jB,GAAgBriB,EAAMsiB,UAAU,IAE7CztB,MAAK,IAAMmL,EAAMuiB,eAAevb,KAEhCnS,MAAK,IAAMwtB,GAAgBriB,EAAMgI,UAEjCnT,MAAK,IAAMwtB,GAAgBriB,EAAMsiB,UAAU5Z,KAC3ChC,OAAM,YAOb,IAAIvE,EAAQD,EAAO9P,OAAO+P,MAAMoR,SAChCltB,OAAOC,eAAe4b,EAAOtF,MAAO,eAAgB,CAClDrW,IAAG,IACM4b,EAETnY,IAAI8J,GACFoO,EAAOlC,MACJwiB,gBAAgB1uB,GAChBe,MAAK,KACJsN,EAAQrO,EACRqK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,iBAEzC8J,OAAM,KAELxE,EAAO5E,QAAQ6E,MAAQ,CAAC,SAMhC,IAAIuG,OAAEA,GAAWxG,EAAO9P,OACxB/L,OAAOC,eAAe4b,EAAOtF,MAAO,SAAU,CAC5CrW,IAAG,IACMmiB,EAET1e,IAAI8J,GACFoO,EAAOlC,MAAMsiB,UAAUxuB,GAAOe,MAAK,KACjC6T,EAAS5U,EACTqK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,sBAM9C,IAAI+P,MAAEA,GAAUzK,EAAO9P,OACvB/L,OAAOC,eAAe4b,EAAOtF,MAAO,QAAS,CAC3CrW,IAAG,IACMomB,EAET3iB,IAAI8J,GACF,MAAM4J,IAAS5M,GAAGK,QAAQ2C,IAASA,EAEnCoO,EAAOlC,MAAMsiB,UAAU5kB,EAAS,EAAIwE,EAAO9P,OAAOsW,QAAQ7T,MAAK,KAC7D8X,EAAQjP,EACRS,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,sBAM9C,IAeI6lB,GAfAnP,KAAEA,GAASpR,EAAO9P,OACtB/L,OAAOC,eAAe4b,EAAOtF,MAAO,OAAQ,CAC1CrW,IAAG,IACM+sB,EAETtpB,IAAI8J,GACF,MAAM4J,EAAS5M,GAAGK,QAAQ2C,GAASA,EAAQoO,EAAO9P,OAAOkhB,KAAKtS,OAE9DkB,EAAOlC,MAAM0iB,QAAQhlB,GAAQ7I,MAAK,KAChCye,EAAO5V,QAObwE,EAAOlC,MACJ2iB,cACA9tB,MAAMxN,IACLo7B,EAAap7B,EACbigB,SAASiJ,eAAepqB,KAAK+b,MAE9BwE,OAAOzd,IACN7C,KAAK2c,MAAMiG,KAAK/f,MAGpB5C,OAAOC,eAAe4b,EAAOtF,MAAO,aAAc,CAChDrW,IAAG,IACMk8B,IAKXp8B,OAAOC,eAAe4b,EAAOtF,MAAO,QAAS,CAC3CrW,IAAG,IACM2b,EAAOG,cAAgBH,EAAO2G,WAKzCjU,QAAQ2f,IAAI,CAACrS,EAAOlC,MAAM4iB,gBAAiB1gB,EAAOlC,MAAM6iB,mBAAmBhuB,MAAMiuB,IAC/E,MAAO3vB,EAAOuM,GAAUojB,EACxB5gB,EAAOlC,MAAMP,MAAQ2B,iBAAiBjO,EAAOuM,GAC7CS,eAAeha,KAAKC,SAItB8b,EAAOlC,MAAM+iB,aAAa7gB,EAAO9P,OAAO4gB,WAAWne,MAAMmuB,IACvD9gB,EAAO9P,OAAO4gB,UAAYgQ,KAI5B9gB,EAAOlC,MAAMijB,gBAAgBpuB,MAAM4P,IACjCvC,EAAO9P,OAAOqS,MAAQA,EACtBxI,GAAGqe,SAASn0B,KAAKC,SAInB8b,EAAOlC,MAAMkjB,iBAAiBruB,MAAMxN,IAClCgb,EAAchb,EACd8W,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,iBAI1CsF,EAAOlC,MAAMmjB,cAActuB,MAAMxN,IAC/B6a,EAAOtF,MAAMiM,SAAWxhB,EACxB8W,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,qBAI1CsF,EAAOlC,MAAMojB,gBAAgBvuB,MAAMia,IACjC5M,EAAOtF,MAAME,WAAagS,EAC1BxG,SAASrG,MAAM9b,KAAK+b,MAGtBA,EAAOlC,MAAMlC,GAAG,aAAa,EAAG4U,KAAAA,EAAO,OACrC,MAAM2Q,EAAe3Q,EAAK9e,KAAK0B,GAAQyO,UAAUzO,EAAIqD,QACrD2P,SAAS4J,WAAW/rB,KAAK+b,EAAQmhB,MAGnCnhB,EAAOlC,MAAMlC,GAAG,UAAU,KASxB,GAPAoE,EAAOlC,MAAMsjB,YAAYzuB,MAAMyN,IAC7Bof,sBAAoBv7B,KAAK+b,GAASI,GAC7BA,GACHnE,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAIxC9L,GAAGS,QAAQ2Q,EAAOlC,MAAMzO,UAAY2Q,EAAO7E,UAAUpB,GAAI,CAC7CiG,EAAOlC,MAAMzO,QAIrBmH,aAAa,YAAa,OAIpCwJ,EAAOlC,MAAMlC,GAAG,eAAe,KAC7BK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAG1CsF,EAAOlC,MAAMlC,GAAG,aAAa,KAC3BK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAG1CsF,EAAOlC,MAAMlC,GAAG,QAAQ,KACtB4jB,sBAAoBv7B,KAAK+b,GAAQ,GACjC/D,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAG1CsF,EAAOlC,MAAMlC,GAAG,SAAS,KACvB4jB,sBAAoBv7B,KAAK+b,GAAQ,MAGnCA,EAAOlC,MAAMlC,GAAG,cAAesI,IAC7BlE,EAAOtF,MAAMkR,SAAU,EACvBzL,EAAc+D,EAAKmd,QACnBplB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,iBAG1CsF,EAAOlC,MAAMlC,GAAG,YAAasI,IAC3BlE,EAAOtF,MAAMsQ,SAAW9G,EAAK+G,QAC7BhP,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,YAGL,IAA/BgE,SAASwF,EAAK+G,QAAS,KACzBhP,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,kBAK1CsF,EAAOlC,MAAMmjB,cAActuB,MAAMxN,IAC3BA,IAAU6a,EAAOtF,MAAMiM,WACzB3G,EAAOtF,MAAMiM,SAAWxhB,EACxB8W,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,yBAK9CsF,EAAOlC,MAAMlC,GAAG,UAAU,KACxBoE,EAAOtF,MAAMkR,SAAU,EACvB3P,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,aAG1CsF,EAAOlC,MAAMlC,GAAG,SAAS,KACvBoE,EAAOtF,MAAM0F,QAAS,EACtBnE,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,YAG1CsF,EAAOlC,MAAMlC,GAAG,SAAU5X,IACxBgc,EAAOtF,MAAM3T,MAAQ/C,EACrBiY,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,YAItCxK,EAAOmkB,gBACTpgB,YAAW,IAAM8F,GAAGme,MAAMj0B,KAAK+b,IAAS,KCha9C,SAASmf,QAAQh1B,GACf,GAAIyE,GAAGU,MAAMnF,GACX,OAAO,KAIT,OAAOA,EAAIsF,MADG,gEACY8R,OAAO6d,GAAKj1B,EAIxC,SAASq1B,oBAAoB/e,GACvBA,IAASvc,KAAK4Z,MAAM2hB,YACtBv7B,KAAK4Z,MAAM2hB,WAAY,GAErBv7B,KAAKwW,MAAM0F,SAAWK,IACxBvc,KAAKwW,MAAM0F,QAAUK,EACrBxE,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO+F,EAAO,OAAS,UAIxD,SAAS6gB,QAAQpxB,GACf,OAAIA,EAAOykB,SACF,mCAGwB,UAA7B3xB,OAAOuH,SAASa,SACX,8BADT,EAQF,MAAMgX,QAAU,CACdrC,QAKE,GAHA5H,YAAYjU,KAAKyR,SAASC,QAAS1R,KAAKgM,OAAOmJ,WAAWyE,OAAO,GAG7DlP,GAAGE,OAAO9L,OAAOu+B,KAAO3yB,GAAGM,SAASlM,OAAOu+B,GAAGvB,QAChD5d,QAAQ/F,MAAMpY,KAAKC,UACd,CAEL,MAAM8E,EAAWhG,OAAOw+B,wBAGxBx+B,OAAOw+B,wBAA0B,KAE3B5yB,GAAGM,SAASlG,IACdA,IAGFoZ,QAAQ/F,MAAMpY,KAAKC,OAIrBg7B,WAAWh7B,KAAKgM,OAAO2e,KAAKzM,QAAQqQ,KAAKjO,OAAOzd,IAC9C7C,KAAK2c,MAAMiG,KAAK,6BAA8B/f,QAMpD06B,SAASC,GAGPxe,MAFY/B,OAAOjd,KAAKgM,OAAO2e,KAAKzM,QAAQtI,IAAK4nB,IAG9C/uB,MAAMuR,IACL,GAAItV,GAAGE,OAAOoV,GAAO,CACnB,MAAM3B,MAAEA,EAAF/E,OAASA,EAATvM,MAAiBA,GAAUiT,EAGjChgB,KAAKgM,OAAOqS,MAAQA,EACpBxI,GAAGqe,SAASn0B,KAAKC,MAGjBA,KAAK4Z,MAAMP,MAAQ2B,iBAAiBjO,EAAOuM,GAG7CS,eAAeha,KAAKC,SAErBsgB,OAAM,KAELvG,eAAeha,KAAKC,UAK1BmY,QACE,MAAM2D,EAAS9b,KACTgM,EAAS8P,EAAO9P,OAAOkS,QAEvBuf,EAAY3hB,EAAOtF,OAASsF,EAAOtF,MAAM7J,aAAa,MAC5D,IAAKjC,GAAGU,MAAMqyB,IAAcA,EAAU5uB,WAAW,YAC/C,OAIF,IAAIyC,EAASwK,EAAOtF,MAAM7J,aAAa,OAGnCjC,GAAGU,MAAMkG,KACXA,EAASwK,EAAOtF,MAAM7J,aAAa3M,KAAKgM,OAAOxG,WAAWoU,MAAM9F,KAIlE,MAAM0pB,EAAUvC,QAAQ3pB,GAGlBuD,EAAYpO,cAAc,MAAO,CAAEqN,GAF9B+I,WAAWf,EAAOrG,UAEgB,cAAezJ,EAAOmkB,eAAiBrU,EAAO8S,YAAShf,IAIpG,GAHAkM,EAAOtF,MAAQxD,eAAe6B,EAAWiH,EAAOtF,OAG5CxK,EAAOmkB,eAAgB,CACzB,MAAMuN,EAAa9wB,GAAO,0BAAyB4wB,KAAW5wB,eAG9D2mB,UAAUmK,EAAU,UAAW,KAC5Bpd,OAAM,IAAMiT,UAAUmK,EAAU,MAAO,OACvCpd,OAAM,IAAMiT,UAAUmK,EAAU,SAChCjvB,MAAMglB,GAAU5d,GAAGse,UAAUp0B,KAAK+b,EAAQ2X,EAAMnX,OAChD7N,MAAM6N,IAEAA,EAAInT,SAAS,YAChB2S,EAAOrK,SAASmd,OAAOziB,MAAMooB,eAAiB,YAGjDjU,OAAM,SAKXxE,EAAOlC,MAAQ,IAAI9a,OAAOu+B,GAAGvB,OAAOhgB,EAAOtF,MAAO,CAChDgnB,QAAAA,EACAnc,KAAM+b,QAAQpxB,GACd2xB,WAAYvsB,OACV,GACA,CAEEub,SAAU7Q,EAAO9P,OAAO2gB,SAAW,EAAI,EAEvCiR,GAAI9hB,EAAO9P,OAAO4xB,GAElB1c,SAAUpF,EAAO7E,UAAUpB,IAAM7J,EAAOmkB,eAAiB,EAAI,EAE7D0N,UAAW,EAEXnoB,YAAcoG,EAAO9P,OAAO2O,WAAW4S,UAAgB,EAAJ,EAEnDuQ,eAAgBhiB,EAAOoG,SAAStH,OAAS,EAAI,EAC7CmjB,aAAcjiB,EAAO9P,OAAOkW,SAAS2G,SAErCmV,gBAAiBl/B,OAASA,OAAOuH,SAASR,KAAO,MAEnDmG,GAEFsD,OAAQ,CACN2uB,QAAQ3+B,GAEN,IAAKwc,EAAOtF,MAAM3T,MAAO,CACvB,MAAMm0B,EAAO13B,EAAM0gB,KAEbke,EACJ,CACE,EAAG,uOACH,EAAG,uHACH,IAAK,qIACL,IAAK,uFACL,IAAK,wFACLlH,IAAS,2BAEblb,EAAOtF,MAAM3T,MAAQ,CAAEm0B,KAAAA,EAAMkH,QAAAA,GAE7BnmB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,WAG5C2nB,qBAAqB7+B,GAEnB,MAAM8+B,EAAW9+B,EAAMkN,OAGvBsP,EAAOtF,MAAM6F,aAAe+hB,EAASC,kBAErCtmB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,eAE1C8nB,QAAQh/B,GAEN,GAAIoL,GAAGM,SAAS8Q,EAAOtF,MAAM+F,MAC3B,OAGF,MAAM6hB,EAAW9+B,EAAMkN,OAGvB0R,QAAQqf,SAASx9B,KAAK+b,EAAQ0hB,GAG9B1hB,EAAOtF,MAAM+F,KAAO,KAClB+e,oBAAoBv7B,KAAK+b,GAAQ,GACjCsiB,EAASG,aAGXziB,EAAOtF,MAAMoL,MAAQ,KACnB0Z,oBAAoBv7B,KAAK+b,GAAQ,GACjCsiB,EAASI,cAGX1iB,EAAOtF,MAAMwlB,KAAO,KAClBoC,EAASK,aAGX3iB,EAAOtF,MAAMiM,SAAW2b,EAASrB,cACjCjhB,EAAOtF,MAAM0F,QAAS,EAGtBJ,EAAOtF,MAAMyF,YAAc,EAC3Bhc,OAAOC,eAAe4b,EAAOtF,MAAO,cAAe,CACjDrW,IAAG,IACMyJ,OAAOw0B,EAAStB,kBAEzBl5B,IAAIgd,GAEE9E,EAAOI,SAAWJ,EAAOlC,MAAM2hB,WACjCzf,EAAOlC,MAAMoI,OAIflG,EAAOtF,MAAMkR,SAAU,EACvB3P,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,WAGxC4nB,EAAShH,OAAOxW,MAKpB3gB,OAAOC,eAAe4b,EAAOtF,MAAO,eAAgB,CAClDrW,IAAG,IACMi+B,EAASC,kBAElBz6B,IAAI8J,GACF0wB,EAAShC,gBAAgB1uB,MAK7B,IAAI4U,OAAEA,GAAWxG,EAAO9P,OACxB/L,OAAOC,eAAe4b,EAAOtF,MAAO,SAAU,CAC5CrW,IAAG,IACMmiB,EAET1e,IAAI8J,GACF4U,EAAS5U,EACT0wB,EAASlC,UAAmB,IAAT5Z,GACnBvK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,mBAK5C,IAAI+P,MAAEA,GAAUzK,EAAO9P,OACvB/L,OAAOC,eAAe4b,EAAOtF,MAAO,QAAS,CAC3CrW,IAAG,IACMomB,EAET3iB,IAAI8J,GACF,MAAM4J,EAAS5M,GAAGK,QAAQ2C,GAASA,EAAQ6Y,EAC3CA,EAAQjP,EACR8mB,EAAS9mB,EAAS,OAAS,YAC3B8mB,EAASlC,UAAmB,IAAT5Z,GACnBvK,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,mBAK5CvW,OAAOC,eAAe4b,EAAOtF,MAAO,aAAc,CAChDrW,IAAG,IACMi+B,EAAS7B,gBAKpBt8B,OAAOC,eAAe4b,EAAOtF,MAAO,QAAS,CAC3CrW,IAAG,IACM2b,EAAOG,cAAgBH,EAAO2G,WAKzC,MAAMic,EAASN,EAASO,4BAExB7iB,EAAO5E,QAAQ6E,MAAQ2iB,EAAOz8B,QAAQ2K,GAAMkP,EAAO9P,OAAO+P,MAAM7E,QAAQ/N,SAASyD,KAG7EkP,EAAO7E,UAAUpB,IAAM7J,EAAOmkB,gBAChCrU,EAAOtF,MAAMlE,aAAa,YAAa,GAGzCyF,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cACxCuB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,kBAGxCooB,cAAc9iB,EAAO6Y,OAAOkK,WAG5B/iB,EAAO6Y,OAAOkK,UAAYn2B,aAAY,KAEpCoT,EAAOtF,MAAMsQ,SAAWsX,EAASU,0BAGC,OAA9BhjB,EAAOtF,MAAMuoB,cAAyBjjB,EAAOtF,MAAMuoB,aAAejjB,EAAOtF,MAAMsQ,WACjF/O,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,YAI1CsF,EAAOtF,MAAMuoB,aAAejjB,EAAOtF,MAAMsQ,SAGX,IAA1BhL,EAAOtF,MAAMsQ,WACf8X,cAAc9iB,EAAO6Y,OAAOkK,WAG5B9mB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,qBAEzC,KAGCxK,EAAOmkB,gBACTpgB,YAAW,IAAM8F,GAAGme,MAAMj0B,KAAK+b,IAAS,KAG5CkjB,cAAc1/B,GAEZ,MAAM8+B,EAAW9+B,EAAMkN,OAGvBoyB,cAAc9iB,EAAO6Y,OAAO5F,SAiB5B,OAfejT,EAAOtF,MAAMkR,SAAW,CAAC,EAAG,GAAGve,SAAS7J,EAAM0gB,QAI3DlE,EAAOtF,MAAMkR,SAAU,EACvB3P,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,WAUlClX,EAAM0gB,MACZ,KAAM,EAEJjI,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,cAGxCsF,EAAOtF,MAAMsQ,SAAWsX,EAASU,yBACjC/mB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,YAExC,MAEF,KAAK,EACH8kB,oBAAoBv7B,KAAK+b,GAAQ,GAG7BA,EAAOtF,MAAM0W,MAEfkR,EAASK,YACTL,EAASG,aAETxmB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,SAG1C,MAEF,KAAK,EAECxK,EAAOmkB,iBAAmBrU,EAAO9P,OAAO2gB,UAAY7Q,EAAOtF,MAAM0F,SAAWJ,EAAOlC,MAAM2hB,UAC3Fzf,EAAOtF,MAAMoL,SAEb0Z,oBAAoBv7B,KAAK+b,GAAQ,GAEjC/D,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,WAGxCsF,EAAO6Y,OAAO5F,QAAUrmB,aAAY,KAClCqP,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,gBACvC,IAKCsF,EAAOtF,MAAMiM,WAAa2b,EAASrB,gBACrCjhB,EAAOtF,MAAMiM,SAAW2b,EAASrB,cACjChlB,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,oBAI5C,MAEF,KAAK,EAEEsF,EAAOyK,OACVzK,EAAOlC,MAAMqlB,SAEf3D,oBAAoBv7B,KAAK+b,GAAQ,GAEjC,MAEF,KAAK,EAEH/D,aAAahY,KAAK+b,EAAQA,EAAOtF,MAAO,WAQ5CuB,aAAahY,KAAK+b,EAAQA,EAAOrK,SAASoD,UAAW,eAAe,EAAO,CACzEmiB,KAAM13B,EAAM0gB,aC7alBxJ,MAAQ,CAEZqF,QAEO7b,KAAKwW,OAMVvC,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWlO,KAAK3D,QAAQ,MAAOtD,KAAKiH,OAAO,GAG5FgN,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWM,SAASnS,QAAQ,MAAOtD,KAAKyV,WAAW,GAIhGzV,KAAK4qB,SACP3W,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAWlO,KAAK3D,QAAQ,MAAO,UAAU,GAIxFtD,KAAKga,UAEPha,KAAKyR,SAASC,QAAUjL,cAAc,MAAO,CAC3CoN,MAAO7T,KAAKgM,OAAOmJ,WAAWI,QAIhC/D,KAAKxR,KAAKwW,MAAOxW,KAAKyR,SAASC,SAG/B1R,KAAKyR,SAASmd,OAASnoB,cAAc,MAAO,CAC1CoN,MAAO7T,KAAKgM,OAAOmJ,WAAWyZ,SAGhC5uB,KAAKyR,SAASC,QAAQ/K,YAAY3G,KAAKyR,SAASmd,SAG9C5uB,KAAKuW,QACPiF,MAAMK,MAAM9b,KAAKC,MACRA,KAAKsrB,UACdpN,QAAQrC,MAAM9b,KAAKC,MACVA,KAAKoa,SACdC,MAAMwB,MAAM9b,KAAKC,OAvCjBA,KAAK2c,MAAMiG,KAAK,6BCGhBsc,QAAWd,IAEXA,EAASe,SACXf,EAASe,QAAQD,UAIfd,EAAS3sB,SAAS2tB,kBACpBhB,EAAS3sB,SAAS2tB,iBAAiBF,UAGrCd,EAAS3sB,SAASoD,UAAUwqB,UAG9B,MAAMC,IAMJ/1B,YAAYuS,GAAQhb,kBAAAd,KAAA,QA0Cb,KACAA,KAAKkM,UAKLxB,GAAGE,OAAO9L,OAAOygC,SAAY70B,GAAGE,OAAO9L,OAAOygC,OAAOC,KAUxDx/B,KAAKmY,QATL6iB,WAAWh7B,KAAK8b,OAAO9P,OAAO2e,KAAK8D,UAAUF,KAC1C9f,MAAK,KACJzO,KAAKmY,WAENmI,OAAM,KAELtgB,KAAKoJ,QAAQ,QAAS,IAAIhK,MAAM,yCAvDpB0B,kBAAAd,KAAA,SAiEZ,KArFOo+B,IAAAA,EAuFRp+B,KAAKkM,WAvFGkyB,EAwFHp+B,MAtFCm/B,SACXf,EAASe,QAAQD,UAIfd,EAAS3sB,SAAS2tB,kBACpBhB,EAAS3sB,SAAS2tB,iBAAiBF,UAGrCd,EAAS3sB,SAASoD,UAAUwqB,UAkF1Br/B,KAAKy/B,iBAAiB,KAAO,WAG7Bz/B,KAAK0/B,eAAejxB,MAAK,KACvBzO,KAAK2/B,iBAAiB,2BAIxB3/B,KAAKuM,YAGLvM,KAAK4/B,cApFa9+B,kBAAAd,KAAA,YAsHT,KAETA,KAAKyR,SAASoD,UAAYpO,cAAc,MAAO,CAC7CoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAW2Z,MAGvC9uB,KAAK8b,OAAOrK,SAASoD,UAAUlO,YAAY3G,KAAKyR,SAASoD,WAGzD0qB,OAAOC,IAAIvd,SAAS4d,aAAaN,OAAOC,IAAIM,eAAeC,UAAUC,SAGrET,OAAOC,IAAIvd,SAASge,UAAUjgC,KAAK8b,OAAO9P,OAAO8iB,IAAIjG,UAGrD0W,OAAOC,IAAIvd,SAASie,qCAAqClgC,KAAK8b,OAAO9P,OAAO0J,aAG5E1V,KAAKyR,SAAS2tB,iBAAmB,IAAIG,OAAOC,IAAIW,mBAAmBngC,KAAKyR,SAASoD,UAAW7U,KAAK8b,OAAOtF,OAGxGxW,KAAKogC,OAAS,IAAIb,OAAOC,IAAIa,UAAUrgC,KAAKyR,SAAS2tB,kBAGrDp/B,KAAKogC,OAAOjpB,iBACVooB,OAAOC,IAAIc,sBAAsBC,KAAKC,oBACrClhC,GAAUU,KAAKygC,mBAAmBnhC,KACnC,GAEFU,KAAKogC,OAAOjpB,iBAAiBooB,OAAOC,IAAIkB,aAAaH,KAAKI,UAAW99B,GAAU7C,KAAK4gC,UAAU/9B,KAAQ,GAGtG7C,KAAK6gC,gBAtJa//B,kBAAAd,KAAA,cA4JP,KACX,MAAM6U,UAAEA,GAAc7U,KAAK8b,OAAOrK,SAElC,IAEE,MAAM0N,EAAU,IAAIogB,OAAOC,IAAIsB,WAC/B3hB,EAAQ4hB,SAAW/gC,KAAK+vB,OAIxB5Q,EAAQ6hB,kBAAoBnsB,EAAU0F,YACtC4E,EAAQ8hB,mBAAqBpsB,EAAU5E,aACvCkP,EAAQ+hB,qBAAuBrsB,EAAU0F,YACzC4E,EAAQgiB,sBAAwBtsB,EAAU5E,aAG1CkP,EAAQiiB,wBAAyB,EAGjCjiB,EAAQkiB,oBAAoBrhC,KAAK8b,OAAOyK,OAExCvmB,KAAKogC,OAAOS,WAAW1hB,GACvB,MAAOtc,GACP7C,KAAK4gC,UAAU/9B,OAnLC/B,kBAAAd,KAAA,iBA2LJ,CAACiuB,GAAQ,KACvB,IAAKA,EAGH,OAFA2Q,cAAc5+B,KAAKshC,qBACnBthC,KAAKyR,SAASoD,UAAUgV,gBAAgB,mBAU1C7pB,KAAKshC,eAAiB54B,aANP,KACb,MAAMkY,EAAOD,WAAWnV,KAAKC,IAAIzL,KAAKm/B,QAAQoC,mBAAoB,IAC5Dxd,EAAS,GAAE5F,KAAKhe,IAAI,gBAAiBH,KAAK8b,OAAO9P,aAAa4U,IACpE5gB,KAAKyR,SAASoD,UAAUvC,aAAa,kBAAmByR,KAGhB,QAxMxBjjB,kBAAAd,KAAA,sBA+MEV,IAEpB,IAAKU,KAAKkM,QACR,OAIF,MAAM+V,EAAW,IAAIsd,OAAOC,IAAIgC,qBAGhCvf,EAASwf,6CAA8C,EACvDxf,EAASyf,kBAAmB,EAI5B1hC,KAAKm/B,QAAU7/B,EAAMqiC,cAAc3hC,KAAK8b,OAAQmG,GAGhDjiB,KAAK4hC,UAAY5hC,KAAKm/B,QAAQ0C,eAI9B7hC,KAAKm/B,QAAQhoB,iBAAiBooB,OAAOC,IAAIkB,aAAaH,KAAKI,UAAW99B,GAAU7C,KAAK4gC,UAAU/9B,KAG/F5C,OAAO8B,KAAKw9B,OAAOC,IAAIsC,QAAQvB,MAAMh+B,SAAS0E,IAC5CjH,KAAKm/B,QAAQhoB,iBAAiBooB,OAAOC,IAAIsC,QAAQvB,KAAKt5B,IAAQ5H,GAAMW,KAAK+hC,UAAU1iC,QAIrFW,KAAKoJ,QAAQ,aA7OKtI,kBAAAd,KAAA,gBAgPL,KAER0K,GAAGU,MAAMpL,KAAK4hC,YACjB5hC,KAAK4hC,UAAUr/B,SAASy/B,IACtB,GAAiB,IAAbA,IAAgC,IAAdA,GAAmBA,EAAWhiC,KAAK8b,OAAO2G,SAAU,CACxE,MAAMwf,EAAcjiC,KAAK8b,OAAOrK,SAAS0Q,SAEzC,GAAIzX,GAAGS,QAAQ82B,GAAc,CAC3B,MAAMC,EAAiB,IAAMliC,KAAK8b,OAAO2G,SAAYuf,EAC/C9yB,EAAMzI,cAAc,OAAQ,CAChCoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAWmX,OAGvCpd,EAAI/C,MAAMc,KAAQ,GAAEi1B,EAAcv+B,cAClCs+B,EAAYt7B,YAAYuI,WA9PdpO,kBAAAd,KAAA,aA2QPV,IACX,MAAMuV,UAAEA,GAAc7U,KAAK8b,OAAOrK,SAG5B0wB,EAAK7iC,EAAM8iC,QACXC,EAAS/iC,EAAMgjC,YAUrB,OAPuBr7B,CAAAA,IACrB8Q,aAAahY,KAAKC,KAAK8b,OAAQ9b,KAAK8b,OAAOtF,MAAQ,MAAKvP,EAAK3D,QAAQ,KAAM,IAAIgD,kBAIjF+C,CAAc/J,EAAM2H,MAEZ3H,EAAM2H,MACZ,KAAKs4B,OAAOC,IAAIsC,QAAQvB,KAAKgC,OAG3BviC,KAAKoJ,QAAQ,UAGbpJ,KAAKwiC,eAAc,GAEdL,EAAGM,aAENN,EAAGp1B,MAAQ8H,EAAU0F,YACrB4nB,EAAG7oB,OAASzE,EAAU5E,cAMxB,MAEF,KAAKsvB,OAAOC,IAAIsC,QAAQvB,KAAKmC,QAE3B1iC,KAAKm/B,QAAQjD,UAAUl8B,KAAK8b,OAAOwG,QAEnC,MAEF,KAAKid,OAAOC,IAAIsC,QAAQvB,KAAKoC,kBA2BvB3iC,KAAK8b,OAAOua,MACdr2B,KAAK4iC,UAGL5iC,KAAKogC,OAAOyC,kBAGd,MAEF,KAAKtD,OAAOC,IAAIsC,QAAQvB,KAAKuC,wBAK3B9iC,KAAK+iC,eAEL,MAEF,KAAKxD,OAAOC,IAAIsC,QAAQvB,KAAKyC,yBAM3BhjC,KAAKwiC,gBAELxiC,KAAKijC,gBAEL,MAEF,KAAK1D,OAAOC,IAAIsC,QAAQvB,KAAK2C,IACvBb,EAAOc,SACTnjC,KAAK8b,OAAOa,MAAMiG,KAAM,uBAAsByf,EAAOc,QAAQC,oBA/WjDtiC,kBAAAd,KAAA,aA6XPV,IACXU,KAAKqjC,SACLrjC,KAAK8b,OAAOa,MAAMiG,KAAK,YAAatjB,MA/XlBwB,kBAAAd,KAAA,aAuYR,KACV,MAAM6U,UAAEA,GAAc7U,KAAK8b,OAAOrK,SAClC,IAAImP,EAEJ5gB,KAAK8b,OAAOpE,GAAG,WAAW,KACxB1X,KAAKsjC,kBAGPtjC,KAAK8b,OAAOpE,GAAG,SAAS,KACtB1X,KAAKogC,OAAOyC,qBAGd7iC,KAAK8b,OAAOpE,GAAG,cAAc,KAC3BkJ,EAAO5gB,KAAK8b,OAAOG,eAGrBjc,KAAK8b,OAAOpE,GAAG,UAAU,KACvB,MAAM6rB,EAAavjC,KAAK8b,OAAOG,YAE3BvR,GAAGU,MAAMpL,KAAK4hC,YAIlB5hC,KAAK4hC,UAAUr/B,SAAQ,CAACy/B,EAAUnwB,KAC5B+O,EAAOohB,GAAYA,EAAWuB,IAChCvjC,KAAKm/B,QAAQqE,iBACbxjC,KAAK4hC,UAAUxI,OAAOvnB,EAAO,UAOnC/S,OAAOqY,iBAAiB,UAAU,KAC5BnX,KAAKm/B,SACPn/B,KAAKm/B,QAAQsE,OAAO5uB,EAAU0F,YAAa1F,EAAU5E,aAAcsvB,OAAOC,IAAIkE,SAASC,cA1azE7iC,kBAAAd,KAAA,QAkbb,KACL,MAAM6U,UAAEA,GAAc7U,KAAK8b,OAAOrK,SAE7BzR,KAAK0/B,gBACR1/B,KAAKijC,gBAIPjjC,KAAK0/B,eACFjxB,MAAK,KAEJzO,KAAKm/B,QAAQjD,UAAUl8B,KAAK8b,OAAOwG,QAGnCtiB,KAAKyR,SAAS2tB,iBAAiBwE,aAE/B,IACO5jC,KAAK6jC,cAER7jC,KAAKm/B,QAAQlzB,KAAK4I,EAAU0F,YAAa1F,EAAU5E,aAAcsvB,OAAOC,IAAIkE,SAASC,QAIrF3jC,KAAKm/B,QAAQlR,SAGfjuB,KAAK6jC,aAAc,EACnB,MAAOV,GAGPnjC,KAAK4gC,UAAUuC,OAGlB7iB,OAAM,YAndSxf,kBAAAd,KAAA,iBAydJ,KAEdA,KAAKyR,SAASoD,UAAU1I,MAAM23B,OAAS,GAGvC9jC,KAAK+uB,SAAU,EAGf1W,eAAerY,KAAK8b,OAAOtF,MAAM+F,WAjefzb,kBAAAd,KAAA,gBAueL,KAEbA,KAAKyR,SAASoD,UAAU1I,MAAM23B,OAAS,EAGvC9jC,KAAK+uB,SAAU,EAGf/uB,KAAK8b,OAAOtF,MAAMoL,WA/eA9gB,kBAAAd,KAAA,UAwfX,KAEHA,KAAK6jC,aACP7jC,KAAKijC,gBAIPjjC,KAAKoJ,QAAQ,SAGbpJ,KAAK4iC,aAlgBa9hC,kBAAAd,KAAA,WAwgBV,KAERA,KAAK0/B,eACFjxB,MAAK,KAEAzO,KAAKm/B,SACPn/B,KAAKm/B,QAAQD,UAIfl/B,KAAK0/B,eAAiB,IAAIlxB,SAAS4J,IACjCpY,KAAK0X,GAAG,SAAUU,GAClBpY,KAAK8b,OAAOa,MAAMC,IAAI5c,KAAKm/B,YAG7Bn/B,KAAK6jC,aAAc,EAGnB7jC,KAAK6gC,gBAENvgB,OAAM,YA5hBSxf,kBAAAd,KAAA,WAmiBV,CAACV,KAAUwY,KACnB,MAAMisB,EAAW/jC,KAAKsP,OAAOhQ,GAEzBoL,GAAGO,MAAM84B,IACXA,EAASxhC,SAASoxB,IACZjpB,GAAGM,SAAS2oB,IACdA,EAAQvxB,MAAMpC,KAAM8X,SAziBRhX,kBAAAd,KAAA,MAqjBf,CAACV,EAAOwF,KACN4F,GAAGO,MAAMjL,KAAKsP,OAAOhQ,MACxBU,KAAKsP,OAAOhQ,GAAS,IAGvBU,KAAKsP,OAAOhQ,GAAO6C,KAAK2C,GAEjB9E,QA5jBWc,kBAAAd,KAAA,oBAukBD,CAAC4gB,EAAM3X,KACxBjJ,KAAK8b,OAAOa,MAAMC,IAAK,8BAA6B3T,KAEpDjJ,KAAKgkC,YAAcj0B,YAAW,KAC5B/P,KAAKqjC,SACLrjC,KAAK2/B,iBAAiB,wBACrB/e,MA7kBe9f,kBAAAd,KAAA,oBAolBAiJ,IACbyB,GAAGC,gBAAgB3K,KAAKgkC,eAC3BhkC,KAAK8b,OAAOa,MAAMC,IAAK,8BAA6B3T,KAEpDyrB,aAAa10B,KAAKgkC,aAClBhkC,KAAKgkC,YAAc,SAxlBrBhkC,KAAK8b,OAASA,EACd9b,KAAKgM,OAAS8P,EAAO9P,OAAO8iB,IAC5B9uB,KAAK+uB,SAAU,EACf/uB,KAAK6jC,aAAc,EACnB7jC,KAAKyR,SAAW,CACdoD,UAAW,KACXuqB,iBAAkB,MAEpBp/B,KAAKm/B,QAAU,KACfn/B,KAAKogC,OAAS,KACdpgC,KAAK4hC,UAAY,KACjB5hC,KAAKsP,OAAS,GACdtP,KAAKgkC,YAAc,KACnBhkC,KAAKshC,eAAiB,KAGtBthC,KAAK0/B,eAAiB,IAAIlxB,SAAQ,CAAC4J,EAAS8G,KAE1Clf,KAAK0X,GAAG,SAAUU,GAGlBpY,KAAK0X,GAAG,QAASwH,MAGnBlf,KAAKwc,OAGHtQ,cACF,MAAMF,OAAEA,GAAWhM,KAEnB,OACEA,KAAK8b,OAAOvF,SACZvW,KAAK8b,OAAO9B,SACZhO,EAAOE,WACLxB,GAAGU,MAAMY,EAAO8jB,cAAgBplB,GAAGzE,IAAI+F,EAAO+jB,SAqDhDA,aACF,MAAM/jB,OAAEA,GAAWhM,KAEnB,GAAI0K,GAAGzE,IAAI+F,EAAO+jB,QAChB,OAAO/jB,EAAO+jB,OAehB,MAAQ,8CAAU1E,eAZH,CACb4Y,eAAgB,2BAChBC,aAAc,2BACdC,OAAQrlC,OAAOuH,SAAS6B,SACxBk8B,GAAIrP,KAAKC,MACTqP,SAAU,IACVC,UAAW,IACXC,SAAUv4B,EAAO8jB,iBCpIvB,MAAM0U,SAAYC,IAChB,MAAMC,EAAgB,GA2CtB,OA1CeD,EAAch/B,MAAM,sBAE5BlD,SAASoiC,IACd,MAAMtkB,EAAS,GACDskB,EAAMl/B,MAAM,cAEpBlD,SAASqiC,IACb,GAAKl6B,GAAGG,OAAOwV,EAAOwkB,YAkBf,IAAKn6B,GAAGU,MAAMw5B,EAAKnxB,SAAW/I,GAAGU,MAAMiV,EAAO9N,MAAO,CAE1D,MAAMuyB,EAAYF,EAAKnxB,OAAOhO,MAAM,WACnC4a,EAAO9N,MAAQuyB,EAGZA,EAAU,MACXzkB,EAAOrH,EAAGqH,EAAOpH,EAAGoH,EAAO7G,EAAG6G,EAAO5G,GAAKqrB,EAAU,GAAGr/B,MAAM,WAzBhC,CAEhC,MAAMs/B,EAAaH,EAAKr5B,MACtB,2GAGEw5B,IACF1kB,EAAOwkB,UACwB,GAA7Bj7B,OAAOm7B,EAAW,IAAM,GAAU,GACV,GAAxBn7B,OAAOm7B,EAAW,IAClBn7B,OAAOm7B,EAAW,IAClBn7B,OAAQ,KAAIm7B,EAAW,MACzB1kB,EAAO2kB,QACwB,GAA7Bp7B,OAAOm7B,EAAW,IAAM,GAAU,GACV,GAAxBn7B,OAAOm7B,EAAW,IAClBn7B,OAAOm7B,EAAW,IAClBn7B,OAAQ,KAAIm7B,EAAW,WAc3B1kB,EAAO9N,MACTmyB,EAAcviC,KAAKke,MAIhBqkB,GAcHO,SAAW,CAAC5rB,EAAO6rB,KACvB,MACM7kB,EAAS,GASf,OARIhH,EAFgB6rB,EAAMn4B,MAAQm4B,EAAM5rB,QAGtC+G,EAAOtT,MAAQm4B,EAAMn4B,MACrBsT,EAAO/G,OAAU,EAAID,EAAS6rB,EAAMn4B,QAEpCsT,EAAO/G,OAAS4rB,EAAM5rB,OACtB+G,EAAOtT,MAAQsM,EAAQ6rB,EAAM5rB,QAGxB+G,GAGT,MAAM8kB,kBAMJ57B,YAAYuS,GAAQhb,kBAAAd,KAAA,QAoBb,KAEDA,KAAK8b,OAAOrK,SAAS8Q,QAAQG,cAC/B1iB,KAAK8b,OAAOrK,SAAS8Q,QAAQG,YAAY1S,OAAShQ,KAAKkM,SAGpDlM,KAAKkM,SAIVlM,KAAKolC,gBAAgB32B,MAAK,KACnBzO,KAAKkM,UAKVlM,KAAKqlC,SAGLrlC,KAAKslC,+BAELtlC,KAAKq3B,QAAS,SAzCEv2B,kBAAAd,KAAA,iBA8CJ,IACP,IAAIwO,SAAS4J,IAClB,MAAMkE,IAAEA,GAAQtc,KAAK8b,OAAO9P,OAAOsjB,kBAEnC,GAAI5kB,GAAGU,MAAMkR,GACX,MAAM,IAAIld,MAAM,kDAIlB,MAAMmmC,EAAiB,KAErBvlC,KAAKwlC,WAAWpgC,MAAK,CAAC4T,EAAGC,IAAMD,EAAEM,OAASL,EAAEK,SAE5CtZ,KAAK8b,OAAOa,MAAMC,IAAI,qBAAsB5c,KAAKwlC,YAEjDptB,KAIF,GAAI1N,GAAGM,SAASsR,GACdA,GAAKkpB,IACHxlC,KAAKwlC,WAAaA,EAClBD,WAIC,CAEH,MAEME,GAFO/6B,GAAGI,OAAOwR,GAAO,CAACA,GAAOA,GAEhB9O,KAAK9H,GAAM1F,KAAK0lC,aAAahgC,KAEnD8I,QAAQ2f,IAAIsX,GAAUh3B,KAAK82B,SA9EbzkC,kBAAAd,KAAA,gBAoFJiG,GACP,IAAIuI,SAAS4J,IAClB4G,MAAM/Y,GAAKwI,MAAM6Q,IACf,MAAMqmB,EAAY,CAChBC,OAAQpB,SAASllB,GACjBhG,OAAQ,KACRusB,UAAW,IAOVF,EAAUC,OAAO,GAAGrzB,KAAK1D,WAAW,MACpC82B,EAAUC,OAAO,GAAGrzB,KAAK1D,WAAW,YACpC82B,EAAUC,OAAO,GAAGrzB,KAAK1D,WAAW,cAErC82B,EAAUE,UAAY5/B,EAAI6/B,UAAU,EAAG7/B,EAAI8/B,YAAY,KAAO,IAIhE,MAAMC,EAAY,IAAItS,MAEtBsS,EAAUpS,OAAS,KACjB+R,EAAUrsB,OAAS0sB,EAAUC,cAC7BN,EAAU54B,MAAQi5B,EAAUlS,aAE5B9zB,KAAKwlC,WAAWrjC,KAAKwjC,GAErBvtB,KAGF4tB,EAAU1pB,IAAMqpB,EAAUE,UAAYF,EAAUC,OAAO,GAAGrzB,aApH5CzR,kBAAAd,KAAA,aAyHPV,IACX,GAAKU,KAAKq3B,QAIL3sB,GAAGpL,MAAMA,IAAW,CAAC,YAAa,aAAa6J,SAAS7J,EAAM2H,OAK9DjH,KAAK8b,OAAOtF,MAAMiM,SAAvB,CAIA,GAAmB,cAAfnjB,EAAM2H,KAERjH,KAAKoe,SAAWpe,KAAK8b,OAAOtF,MAAMiM,UAAYziB,KAAK8b,OAAOrK,SAAS2Q,OAAOC,KAAKphB,MAAQ,SAClF,CAEL,MAAMomB,EAAarnB,KAAK8b,OAAOrK,SAAS0Q,SAASrV,wBAC3Co5B,EAAc,IAAM7e,EAAWta,OAAUzN,EAAMgoB,MAAQD,EAAWpa,MACxEjN,KAAKoe,SAAWpe,KAAK8b,OAAOtF,MAAMiM,UAAYyjB,EAAa,KAEvDlmC,KAAKoe,SAAW,IAElBpe,KAAKoe,SAAW,GAGdpe,KAAKoe,SAAWpe,KAAK8b,OAAOtF,MAAMiM,SAAW,IAE/CziB,KAAKoe,SAAWpe,KAAK8b,OAAOtF,MAAMiM,SAAW,GAG/CziB,KAAKmmC,UAAY7mC,EAAMgoB,MAGvBtnB,KAAKyR,SAAS20B,MAAMxlB,KAAKpO,UAAYmO,WAAW3gB,KAAKoe,UAIvDpe,KAAKqmC,6BAjKavlC,kBAAAd,KAAA,WAoKV,KACRA,KAAKsmC,sBAAqB,GAAO,MArKfxlC,kBAAAd,KAAA,kBAwKFV,KAEZoL,GAAGC,gBAAgBrL,EAAM8kB,UAA4B,IAAjB9kB,EAAM8kB,QAAqC,IAAjB9kB,EAAM8kB,UACtEpkB,KAAKumC,WAAY,EAGbvmC,KAAK8b,OAAOtF,MAAMiM,WACpBziB,KAAKwmC,0BAAyB,GAC9BxmC,KAAKsmC,sBAAqB,GAAO,GAGjCtmC,KAAKqmC,8BAnLSvlC,kBAAAd,KAAA,gBAwLL,KACbA,KAAKumC,WAAY,EAGb/6B,KAAKi7B,KAAKzmC,KAAK0mC,YAAcl7B,KAAKi7B,KAAKzmC,KAAK8b,OAAOtF,MAAMyF,aAE3Djc,KAAKwmC,0BAAyB,GAG9B5uB,KAAK7X,KAAKC,KAAK8b,OAAQ9b,KAAK8b,OAAOtF,MAAO,cAAc,KAEjDxW,KAAKumC,WACRvmC,KAAKwmC,0BAAyB,SApMlB1lC,kBAAAd,KAAA,aA6MR,KAEVA,KAAK8b,OAAOpE,GAAG,QAAQ,KACrB1X,KAAKsmC,sBAAqB,GAAO,MAGnCtmC,KAAK8b,OAAOpE,GAAG,UAAU,KACvB1X,KAAKsmC,sBAAqB,MAG5BtmC,KAAK8b,OAAOpE,GAAG,cAAc,KAC3B1X,KAAK0mC,SAAW1mC,KAAK8b,OAAOtF,MAAMyF,kBAxNlBnb,kBAAAd,KAAA,UA+NX,KAEPA,KAAKyR,SAAS20B,MAAMvxB,UAAYpO,cAAc,MAAO,CACnDoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBC,iBAIzDvvB,KAAKyR,SAAS20B,MAAM3W,eAAiBhpB,cAAc,MAAO,CACxDoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBG,iBAEzDzvB,KAAKyR,SAAS20B,MAAMvxB,UAAUlO,YAAY3G,KAAKyR,SAAS20B,MAAM3W,gBAG9D,MAAMC,EAAgBjpB,cAAc,MAAO,CACzCoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBI,gBAGzD1vB,KAAKyR,SAAS20B,MAAMxlB,KAAOna,cAAc,OAAQ,GAAI,SACrDipB,EAAc/oB,YAAY3G,KAAKyR,SAAS20B,MAAMxlB,MAE9C5gB,KAAKyR,SAAS20B,MAAMvxB,UAAUlO,YAAY+oB,GAGtChlB,GAAGS,QAAQnL,KAAK8b,OAAOrK,SAAS0Q,WAClCniB,KAAK8b,OAAOrK,SAAS0Q,SAASxb,YAAY3G,KAAKyR,SAAS20B,MAAMvxB,WAIhE7U,KAAKyR,SAASk1B,UAAU9xB,UAAYpO,cAAc,MAAO,CACvDoN,MAAO7T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBK,qBAGzD3vB,KAAK8b,OAAOrK,SAASC,QAAQ/K,YAAY3G,KAAKyR,SAASk1B,UAAU9xB,cA/P/C/T,kBAAAd,KAAA,WAkQV,KACJA,KAAKyR,SAAS20B,MAAMvxB,WACtB7U,KAAKyR,SAAS20B,MAAMvxB,UAAUwqB,SAE5Br/B,KAAKyR,SAASk1B,UAAU9xB,WAC1B7U,KAAKyR,SAASk1B,UAAU9xB,UAAUwqB,YAvQlBv+B,kBAAAd,KAAA,0BA2QK,KACnBA,KAAKumC,UACPvmC,KAAK4mC,4BAEL5mC,KAAK6mC,8BAKP,MAAMC,EAAW9mC,KAAKwlC,WAAW,GAAGI,OAAOmB,WACxCpC,GAAU3kC,KAAKoe,UAAYumB,EAAME,WAAa7kC,KAAKoe,UAAYumB,EAAMK,UAElEgC,EAAWF,GAAY,EAC7B,IAAIG,EAAe,EAGdjnC,KAAKumC,WACRvmC,KAAKsmC,qBAAqBU,GAIvBA,IAKLhnC,KAAKwlC,WAAWjjC,SAAQ,CAACojC,EAAW9zB,KAC9B7R,KAAKknC,aAAa/9B,SAASw8B,EAAUC,OAAOkB,GAAUv0B,QACxD00B,EAAep1B,MAKfi1B,IAAa9mC,KAAKmnC,eACpBnnC,KAAKmnC,aAAeL,EACpB9mC,KAAKuzB,UAAU0T,QA9SCnmC,kBAAAd,KAAA,aAmTR,CAACinC,EAAe,KAC1B,MAAMH,EAAW9mC,KAAKmnC,aAChBxB,EAAY3lC,KAAKwlC,WAAWyB,IAC5BpB,UAAEA,GAAcF,EAChBhB,EAAQgB,EAAUC,OAAOkB,GACzBM,EAAgBzB,EAAUC,OAAOkB,GAAUv0B,KAC3C80B,EAAWxB,EAAYuB,EAE7B,GAAKpnC,KAAKsnC,qBAAuBtnC,KAAKsnC,oBAAoBC,QAAQC,WAAaJ,EAwB7EpnC,KAAKynC,UAAUznC,KAAKsnC,oBAAqB3C,EAAOsC,EAAcH,EAAUM,GAAe,GACvFpnC,KAAKsnC,oBAAoBC,QAAQ11B,MAAQi1B,EACzC9mC,KAAK0nC,gBAAgB1nC,KAAKsnC,yBA1BkE,CAGxFtnC,KAAK2nC,cAAgB3nC,KAAK4nC,eAC5B5nC,KAAK2nC,aAAa/T,OAAS,MAM7B,MAAMiU,EAAe,IAAInU,MACzBmU,EAAavrB,IAAM+qB,EACnBQ,EAAaN,QAAQ11B,MAAQi1B,EAC7Be,EAAaN,QAAQC,SAAWJ,EAChCpnC,KAAK8nC,qBAAuBV,EAE5BpnC,KAAK8b,OAAOa,MAAMC,IAAK,kBAAiByqB,KAGxCQ,EAAajU,OAAS,IAAM5zB,KAAKynC,UAAUI,EAAclD,EAAOsC,EAAcH,EAAUM,GAAe,GACvGpnC,KAAK2nC,aAAeE,EACpB7nC,KAAK0nC,gBAAgBG,OAhVL/mC,kBAAAd,KAAA,aAyVR,CAAC6nC,EAAclD,EAAOsC,EAAcH,EAAUM,EAAeW,GAAW,KAClF/nC,KAAK8b,OAAOa,MAAMC,IACf,kBAAiBwqB,WAAuBN,YAAmBG,cAAyBc,KAEvF/nC,KAAKgoC,sBAAsBH,EAAclD,GAErCoD,IACF/nC,KAAKioC,sBAAsBthC,YAAYkhC,GACvC7nC,KAAKsnC,oBAAsBO,EAEtB7nC,KAAKknC,aAAa/9B,SAASi+B,IAC9BpnC,KAAKknC,aAAa/kC,KAAKilC,IAO3BpnC,KAAKkoC,cAAcpB,GAAU,GAC1Br4B,KAAKzO,KAAKkoC,cAAcpB,GAAU,IAClCr4B,KAAKzO,KAAKmoC,iBAAiBlB,EAAcY,EAAclD,EAAOyC,OA7W/CtmC,kBAAAd,KAAA,mBAiXDooC,IAEjBp/B,MAAMC,KAAKjJ,KAAKioC,sBAAsBjiB,UAAUzjB,SAASkxB,IACvD,GAAoC,QAAhCA,EAAM4U,QAAQ/hC,cAChB,OAGF,MAAMgiC,EAActoC,KAAK4nC,aAAe,IAAM,IAE9C,GAAInU,EAAM8T,QAAQ11B,QAAUu2B,EAAab,QAAQ11B,QAAU4hB,EAAM8T,QAAQgB,SAAU,CAIjF9U,EAAM8T,QAAQgB,UAAW,EAGzB,MAAMN,sBAAEA,GAA0BjoC,KAElC+P,YAAW,KACTk4B,EAAsBr1B,YAAY6gB,GAClCzzB,KAAK8b,OAAOa,MAAMC,IAAK,mBAAkB6W,EAAM8T,QAAQC,cACtDc,UAtYWxnC,kBAAAd,KAAA,iBA6YJ,CAAC8mC,EAAUhQ,GAAU,IAC5B,IAAItoB,SAAS4J,IAClBrI,YAAW,KACT,MAAMy4B,EAAmBxoC,KAAKwlC,WAAW,GAAGI,OAAOkB,GAAUv0B,KAE7D,GAAIvS,KAAK8nC,uBAAyBU,EAAkB,CAElD,IAAIC,EAEFA,EADE3R,EACgB92B,KAAKwlC,WAAW,GAAGI,OAAOhhC,MAAMkiC,GAEhC9mC,KAAKwlC,WAAW,GAAGI,OAAOhhC,MAAM,EAAGkiC,GAAUl1B,UAGjE,IAAI82B,GAAW,EAEfD,EAAgBlmC,SAASoiC,IACvB,MAAMgE,EAAmBhE,EAAMpyB,KAE/B,GAAIo2B,IAAqBH,IAElBxoC,KAAKknC,aAAa/9B,SAASw/B,GAAmB,CACjDD,GAAW,EACX1oC,KAAK8b,OAAOa,MAAMC,IAAK,8BAA6B+rB,KAEpD,MAAM9C,UAAEA,GAAc7lC,KAAKwlC,WAAW,GAChCoD,EAAW/C,EAAY8C,EACvBd,EAAe,IAAInU,MACzBmU,EAAavrB,IAAMssB,EACnBf,EAAajU,OAAS,KACpB5zB,KAAK8b,OAAOa,MAAMC,IAAK,6BAA4B+rB,KAC9C3oC,KAAKknC,aAAa/9B,SAASw/B,IAAmB3oC,KAAKknC,aAAa/kC,KAAKwmC,GAG1EvwB,SAOHswB,GACHtwB,OAGH,UA1batX,kBAAAd,KAAA,oBA+bD,CAAC6oC,EAAqBhB,EAAclD,EAAOyC,KAC5D,GAAIyB,EAAsB7oC,KAAKwlC,WAAW9jC,OAAS,EAAG,CAEpD,IAAIonC,EAAqBjB,EAAa5B,cAElCjmC,KAAK4nC,eACPkB,EAAqBnE,EAAMlrB,GAGzBqvB,EAAqB9oC,KAAK+oC,sBAE5Bh5B,YAAW,KAEL/P,KAAK8nC,uBAAyBV,IAChCpnC,KAAK8b,OAAOa,MAAMC,IAAK,qCAAoCwqB,KAC3DpnC,KAAKuzB,UAAUsV,EAAsB,MAEtC,SAhdW/nC,kBAAAd,KAAA,wBA0gBG,CAACsX,GAAS,EAAO0xB,GAAe,KACrD,MAAMt1B,EAAY1T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBE,oBAClExvB,KAAKyR,SAAS20B,MAAMvxB,UAAUV,UAAUmD,OAAO5D,EAAW4D,IAErDA,GAAU0xB,IACbhpC,KAAKmnC,aAAe,KACpBnnC,KAAK8nC,qBAAuB,SAhhBZhnC,kBAAAd,KAAA,4BAohBO,CAACsX,GAAS,KACnC,MAAM5D,EAAY1T,KAAK8b,OAAO9P,OAAOmJ,WAAWma,kBAAkBM,wBAClE5vB,KAAKyR,SAASk1B,UAAU9xB,UAAUV,UAAUmD,OAAO5D,EAAW4D,GAEzDA,IACHtX,KAAKmnC,aAAe,KACpBnnC,KAAK8nC,qBAAuB,SA1hBZhnC,kBAAAd,KAAA,gCA8hBW,MACzBA,KAAKyR,SAAS20B,MAAM3W,eAAenU,aAAe,IAAMtb,KAAKyR,SAAS20B,MAAM3W,eAAerU,YAAc,MAE3Gpb,KAAKipC,oBAAqB,MAjiBVnoC,kBAAAd,KAAA,+BAsiBU,KAC5B,GAAKA,KAAKipC,oBAIH,GACLjpC,KAAKyR,SAAS20B,MAAM3W,eAAenU,aAAe,IAClDtb,KAAKyR,SAAS20B,MAAM3W,eAAerU,YAAc,GACjD,CACA,MAAMvS,EAAa2C,KAAKuR,MAAM/c,KAAKyR,SAAS20B,MAAM3W,eAAenU,aAAetb,KAAKkpC,kBACrFlpC,KAAKyR,SAAS20B,MAAM3W,eAAetjB,MAAMY,MAAS,GAAElE,WAC/C,GACL7I,KAAKyR,SAAS20B,MAAM3W,eAAenU,aAAe,IAClDtb,KAAKyR,SAAS20B,MAAM3W,eAAerU,YAAc,GACjD,CACA,MAAM+tB,EAAc39B,KAAKuR,MAAM/c,KAAKyR,SAAS20B,MAAM3W,eAAerU,YAAcpb,KAAKkpC,kBACrFlpC,KAAKyR,SAAS20B,MAAM3W,eAAetjB,MAAMmN,OAAU,GAAE6vB,WAfzB,CAC5B,MAAMtgC,EAAa2C,KAAKuR,MAAM/c,KAAK+oC,qBAAuB/oC,KAAKkpC,kBAC/DlpC,KAAKyR,SAAS20B,MAAM3W,eAAetjB,MAAMmN,OAAU,GAAEtZ,KAAK+oC,yBAC1D/oC,KAAKyR,SAAS20B,MAAM3W,eAAetjB,MAAMY,MAAS,GAAElE,MAetD7I,KAAKopC,0BAzjBatoC,kBAAAd,KAAA,wBA4jBG,KACrB,MAAMqpC,EAAcrpC,KAAK8b,OAAOrK,SAAS0Q,SAASrV,wBAC5Cw8B,EAAWtpC,KAAK8b,OAAOrK,SAASoD,UAAU/H,yBAC1C+H,UAAEA,GAAc7U,KAAKyR,SAAS20B,MAE9BmD,EAASD,EAASr8B,KAAOo8B,EAAYp8B,KAAO,GAC5Cu8B,EAASF,EAASG,MAAQJ,EAAYp8B,KAAO4H,EAAUuG,YAAc,GAE3E,IAAIsuB,EAAa1pC,KAAKmmC,UAAYkD,EAAYp8B,KAAO4H,EAAUuG,YAAc,EAEzEsuB,EAAaH,IACfG,EAAaH,GAGXG,EAAaF,IACfE,EAAaF,GAGf30B,EAAU1I,MAAMc,KAAQ,GAAEy8B,SA9kBR5oC,kBAAAd,KAAA,6BAklBQ,KAC1B,MAAM+M,MAAEA,EAAFuM,OAASA,GAAW2rB,SAASjlC,KAAKkpC,iBAAkB,CACxDn8B,MAAO/M,KAAK8b,OAAOtF,MAAM4E,YACzB9B,OAAQtZ,KAAK8b,OAAOtF,MAAM8E,eAE5Btb,KAAKyR,SAASk1B,UAAU9xB,UAAU1I,MAAMY,MAAS,GAAEA,MACnD/M,KAAKyR,SAASk1B,UAAU9xB,UAAU1I,MAAMmN,OAAU,GAAEA,SAxlBlCxY,kBAAAd,KAAA,yBA4lBI,CAAC6nC,EAAclD,KACrC,IAAK3kC,KAAK4nC,aACR,OAIF,MAAM+B,EAAa3pC,KAAK+oC,qBAAuBpE,EAAMlrB,EAGrDouB,EAAa17B,MAAMmN,OAAYuuB,EAAa5B,cAAgB0D,EAA/B,KAE7B9B,EAAa17B,MAAMY,MAAW86B,EAAa/T,aAAe6V,EAA9B,KAE5B9B,EAAa17B,MAAMc,KAAQ,IAAG03B,EAAM3rB,EAAI2wB,MAExC9B,EAAa17B,MAAMmV,IAAO,IAAGqjB,EAAM1rB,EAAI0wB,SA1mBvC3pC,KAAK8b,OAASA,EACd9b,KAAKwlC,WAAa,GAClBxlC,KAAKq3B,QAAS,EACdr3B,KAAK4pC,kBAAoB7U,KAAKC,MAC9Bh1B,KAAKumC,WAAY,EACjBvmC,KAAKknC,aAAe,GAEpBlnC,KAAKyR,SAAW,CACd20B,MAAO,GACPO,UAAW,IAGb3mC,KAAKwc,OAGHtQ,cACF,OAAOlM,KAAK8b,OAAOvF,SAAWvW,KAAK8b,OAAO9B,SAAWha,KAAK8b,OAAO9P,OAAOsjB,kBAAkBpjB,QAocxF+7B,4BACF,OAAIjoC,KAAKumC,UACAvmC,KAAKyR,SAASk1B,UAAU9xB,UAG1B7U,KAAKyR,SAAS20B,MAAM3W,eAGzBmY,mBACF,OAAO3nC,OAAO8B,KAAK/B,KAAKwlC,WAAW,GAAGI,OAAO,IAAIz8B,SAAS,KAGxD+/B,uBACF,OAAIlpC,KAAK4nC,aACA5nC,KAAKwlC,WAAW,GAAGI,OAAO,GAAGpsB,EAAIxZ,KAAKwlC,WAAW,GAAGI,OAAO,GAAGnsB,EAGhEzZ,KAAKwlC,WAAW,GAAGz4B,MAAQ/M,KAAKwlC,WAAW,GAAGlsB,OAGnDyvB,2BACF,GAAI/oC,KAAKumC,UAAW,CAClB,MAAMjtB,OAAEA,GAAW2rB,SAASjlC,KAAKkpC,iBAAkB,CACjDn8B,MAAO/M,KAAK8b,OAAOtF,MAAM4E,YACzB9B,OAAQtZ,KAAK8b,OAAOtF,MAAM8E,eAE5B,OAAOhC,EAIT,OAAItZ,KAAKipC,mBACAjpC,KAAKyR,SAAS20B,MAAM3W,eAAenU,aAGrC9P,KAAKuR,MAAM/c,KAAK8b,OAAOtF,MAAM4E,YAAcpb,KAAKkpC,iBAAmB,GAGxE5B,0BACF,OAAItnC,KAAKumC,UACAvmC,KAAK6pC,6BAGP7pC,KAAK8pC,6BAGVxC,wBAAoBn8B,GAClBnL,KAAKumC,UACPvmC,KAAK6pC,6BAA+B1+B,EAEpCnL,KAAK8pC,6BAA+B3+B,GC7kB1C,MAAMmG,OAAS,CAEby4B,eAAe9iC,EAAMzB,GACfkF,GAAGI,OAAOtF,GACZkN,cAAczL,EAAMjH,KAAKwW,MAAO,CAC9B8F,IAAK9W,IAEEkF,GAAGO,MAAMzF,IAClBA,EAAWjD,SAASgD,IAClBmN,cAAczL,EAAMjH,KAAKwW,MAAOjR,OAOtCykC,OAAOt8B,GACAuD,QAAQvD,EAAO,mBAMpB8N,MAAMiB,eAAe1c,KAAKC,MAG1BA,KAAKk/B,QAAQn/B,KACXC,MACA,KAEEA,KAAKkX,QAAQyE,QAAU,GAGvBhJ,cAAc3S,KAAKwW,OACnBxW,KAAKwW,MAAQ,KAGT9L,GAAGS,QAAQnL,KAAKyR,SAASoD,YAC3B7U,KAAKyR,SAASoD,UAAUgV,gBAAgB,SAI1C,MAAMxY,QAAEA,EAAFpK,KAAWA,GAASyG,IACnB+H,SAAEA,EAAWkb,UAAUnV,MAAvBc,IAA8BA,IAASjL,EACxCg3B,EAAuB,UAAb5yB,EAAuBxO,EAAO,MACxCzB,EAA0B,UAAbiQ,EAAuB,GAAK,CAAE6G,IAAAA,GAEjDrc,OAAOsR,OAAOvR,KAAM,CAClByV,SAAAA,EACAxO,KAAAA,EAEAgQ,UAAW5B,QAAQG,MAAMvO,EAAMwO,EAAUzV,KAAKgM,OAAO0J,aAErDc,MAAO/P,cAAc4hC,EAAS7iC,KAIhCxF,KAAKyR,SAASoD,UAAUlO,YAAY3G,KAAKwW,OAGrC9L,GAAGK,QAAQ2C,EAAMif,YACnB3sB,KAAKgM,OAAO2gB,SAAWjf,EAAMif,UAI3B3sB,KAAKuW,UACHvW,KAAKgM,OAAOi+B,aACdjqC,KAAKwW,MAAMlE,aAAa,cAAe,IAErCtS,KAAKgM,OAAO2gB,UACd3sB,KAAKwW,MAAMlE,aAAa,WAAY,IAEjC5H,GAAGU,MAAMsC,EAAMkhB,UAClB5uB,KAAK4uB,OAASlhB,EAAMkhB,QAElB5uB,KAAKgM,OAAOkhB,KAAKtS,QACnB5a,KAAKwW,MAAMlE,aAAa,OAAQ,IAE9BtS,KAAKgM,OAAOua,OACdvmB,KAAKwW,MAAMlE,aAAa,QAAS,IAE/BtS,KAAKgM,OAAO0J,aACd1V,KAAKwW,MAAMlE,aAAa,cAAe,KAK3CuD,GAAGke,aAAah0B,KAAKC,MAGjBA,KAAKuW,SACPjF,OAAOy4B,eAAehqC,KAAKC,KAAM,SAAUqR,GAI7CrR,KAAKgM,OAAOqS,MAAQ3Q,EAAM2Q,MAG1B7H,MAAMqF,MAAM9b,KAAKC,MAGbA,KAAKuW,SAEHtW,OAAO8B,KAAK2L,GAAOvE,SAAS,WAC9BmI,OAAOy4B,eAAehqC,KAAKC,KAAM,QAAS0N,EAAMgb,SAKhD1oB,KAAKuW,SAAYvW,KAAK4qB,UAAY5qB,KAAKiX,UAAUpB,KAEnDA,GAAGme,MAAMj0B,KAAKC,MAIZA,KAAKuW,SACPvW,KAAKwW,MAAMgG,OAIR9R,GAAGU,MAAMsC,EAAM4hB,qBAClBrvB,OAAOsR,OAAOvR,KAAKgM,OAAOsjB,kBAAmB5hB,EAAM4hB,mBAG/CtvB,KAAKsvB,mBAAqBtvB,KAAKsvB,kBAAkB+H,SACnDr3B,KAAKsvB,kBAAkB4P,UACvBl/B,KAAKsvB,kBAAoB,MAIvBtvB,KAAKgM,OAAOsjB,kBAAkBpjB,UAChClM,KAAKsvB,kBAAoB,IAAI6V,kBAAkBnlC,QAKnDA,KAAK2a,WAAWoF,YAElB,IAxHA/f,KAAK2c,MAAMiG,KAAK,2BCpBf,SAASsnB,MAAMx8B,EAAQ,EAAG4W,EAAM,EAAG7Y,EAAM,KAC9C,OAAOD,KAAK8Y,IAAI9Y,KAAKC,IAAIiC,EAAO4W,GAAM7Y,GC0BxC,MAAM0+B,KACJ5gC,YAAYiD,EAAQ0K,GAoFlB,GApF2BpW,kBAAAd,KAAA,QA6TtB,IACA0K,GAAGM,SAAShL,KAAKwW,MAAM+F,OAKxBvc,KAAK8uB,KAAO9uB,KAAK8uB,IAAI5iB,SACvBlM,KAAK8uB,IAAI4Q,eAAejxB,MAAK,IAAMzO,KAAK8uB,IAAIvS,SAAQ+D,OAAM,IAAMjI,eAAerY,KAAKwW,MAAM+F,UAIrFvc,KAAKwW,MAAM+F,QATT,OA/TkBzb,kBAAAd,KAAA,SA8UrB,IACDA,KAAK+uB,SAAYrkB,GAAGM,SAAShL,KAAKwW,MAAMoL,OAItC5hB,KAAKwW,MAAMoL,QAHT,OAhVkB9gB,kBAAAd,KAAA,cAsXf0N,IAEGhD,GAAGK,QAAQ2C,GAASA,GAAS1N,KAAK+uB,SAGxC/uB,KAAKuc,OAGPvc,KAAK4hB,UA9Xe9gB,kBAAAd,KAAA,QAoYtB,KACDA,KAAKuW,SACPvW,KAAK4hB,QACL5hB,KAAK6hB,WACInX,GAAGM,SAAShL,KAAKwW,MAAMwlB,OAChCh8B,KAAKwW,MAAMwlB,UAzYcl7B,kBAAAd,KAAA,WAgZnB,KACRA,KAAKic,YAAc,KAjZQnb,kBAAAd,KAAA,UAwZnBoe,IACRpe,KAAKic,aAAevR,GAAGG,OAAOuT,GAAYA,EAAWpe,KAAKgM,OAAOoS,YAzZtCtd,kBAAAd,KAAA,WAgalBoe,IACTpe,KAAKic,aAAevR,GAAGG,OAAOuT,GAAYA,EAAWpe,KAAKgM,OAAOoS,YAjatCtd,kBAAAd,KAAA,kBAgiBXukB,IAChB,MAAMjC,EAAStiB,KAAKwW,MAAM+P,MAAQ,EAAIvmB,KAAKsiB,OAC3CtiB,KAAKsiB,OAASA,GAAU5X,GAAGG,OAAO0Z,GAAQA,EAAO,MAliBtBzjB,kBAAAd,KAAA,kBAyiBXukB,IAChBvkB,KAAK+3B,gBAAgBxT,MA1iBMzjB,kBAAAd,KAAA,WAu/BnB,KAEJqV,QAAQc,SACVnW,KAAKwW,MAAM4zB,oCA1/BctpC,kBAAAd,KAAA,kBAkgCXsX,IAEhB,GAAItX,KAAKiX,UAAUpB,KAAO7V,KAAKo2B,QAAS,CAEtC,MAAMiU,EAAWh2B,SAASrU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW4X,cAEpE7Y,OAA0B,IAAXoD,OAAyB1H,GAAa0H,EAErDgzB,EAASr2B,YAAYjU,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOmJ,WAAW4X,aAAc7Y,GAazF,GATEo2B,GACA5/B,GAAGO,MAAMjL,KAAKgM,OAAOkV,WACrBlhB,KAAKgM,OAAOkV,SAAS/X,SAAS,cAC7BuB,GAAGU,MAAMpL,KAAKgM,OAAOiW,WAEtBf,SAASmI,WAAWtpB,KAAKC,MAAM,GAI7BsqC,IAAWD,EAAU,CACvB,MAAME,EAAYD,EAAS,iBAAmB,gBAC9CvyB,aAAahY,KAAKC,KAAMA,KAAKwW,MAAO+zB,GAGtC,OAAQD,EAGV,OAAO,KA/hCoBxpC,kBAAAd,KAAA,MAuiCxB,CAACV,EAAOwF,KACX4S,GAAG3X,KAAKC,KAAMA,KAAKyR,SAASoD,UAAWvV,EAAOwF,MAxiCnBhE,kBAAAd,KAAA,QAgjCtB,CAACV,EAAOwF,KACb8S,KAAK7X,KAAKC,KAAMA,KAAKyR,SAASoD,UAAWvV,EAAOwF,MAjjCrBhE,kBAAAd,KAAA,OAyjCvB,CAACV,EAAOwF,KACZ6S,IAAI3X,KAAKyR,SAASoD,UAAWvV,EAAOwF,MA1jCThE,kBAAAd,KAAA,WAokCnB,CAAC8E,EAAU0lC,GAAO,KAC1B,IAAKxqC,KAAKmY,MACR,OAGF,MAAMhV,EAAO,KAEXxD,SAASoH,KAAKoF,MAAMmlB,SAAW,GAG/BtxB,KAAK4Z,MAAQ,KAGT4wB,GACEvqC,OAAO8B,KAAK/B,KAAKyR,UAAU/P,SAE7BiR,cAAc3S,KAAKyR,SAASkQ,QAAQpF,MACpC5J,cAAc3S,KAAKyR,SAASyQ,UAC5BvP,cAAc3S,KAAKyR,SAASyP,UAC5BvO,cAAc3S,KAAKyR,SAASC,SAG5B1R,KAAKyR,SAASkQ,QAAQpF,KAAO,KAC7Bvc,KAAKyR,SAASyQ,SAAW,KACzBliB,KAAKyR,SAASyP,SAAW,KACzBlhB,KAAKyR,SAASC,QAAU,MAItBhH,GAAGM,SAASlG,IACdA,MAIFmT,gBAAgBlY,KAAKC,MAGrBwb,MAAMiB,eAAe1c,KAAKC,MAG1BgT,eAAehT,KAAKyR,SAASg5B,SAAUzqC,KAAKyR,SAASoD,WAGrDkD,aAAahY,KAAKC,KAAMA,KAAKyR,SAASg5B,SAAU,aAAa,GAGzD//B,GAAGM,SAASlG,IACdA,EAAS/E,KAAKC,KAAKyR,SAASg5B,UAI9BzqC,KAAKmY,OAAQ,EAGbpI,YAAW,KACT/P,KAAKyR,SAAW,KAChBzR,KAAKwW,MAAQ,OACZ,OAKPxW,KAAKg8B,OAGLtH,aAAa10B,KAAK20B,OAAO1F,SACzByF,aAAa10B,KAAK20B,OAAOzT,UACzBwT,aAAa10B,KAAK20B,OAAOwB,SAGrBn2B,KAAKuW,SAEPV,GAAGgN,qBAAqB9iB,KAAKC,MAAM,GAGnCmD,KACSnD,KAAKsrB,WAEdsT,cAAc5+B,KAAK20B,OAAOkK,WAC1BD,cAAc5+B,KAAK20B,OAAO5F,SAGP,OAAf/uB,KAAK4Z,OAAkBlP,GAAGM,SAAShL,KAAK4Z,MAAMslB,UAChDl/B,KAAK4Z,MAAMslB,UAIb/7B,KACSnD,KAAKoa,UAGK,OAAfpa,KAAK4Z,OACP5Z,KAAK4Z,MAAM8wB,SAASj8B,KAAKtL,GAI3B4M,WAAW5M,EAAM,SApqCQrC,kBAAAd,KAAA,YA4qCjBiH,GAASoO,QAAQgB,KAAKtW,KAAKC,KAAMiH,KA3qC3CjH,KAAK20B,OAAS,GAGd30B,KAAKmY,OAAQ,EACbnY,KAAKivB,SAAU,EACfjvB,KAAK2qC,QAAS,EAGd3qC,KAAK4W,MAAQvB,QAAQuB,MAGrB5W,KAAKwW,MAAQhK,EAGT9B,GAAGI,OAAO9K,KAAKwW,SACjBxW,KAAKwW,MAAQ7W,SAASuJ,iBAAiBlJ,KAAKwW,SAIzC1X,OAAO8rC,QAAU5qC,KAAKwW,iBAAiBo0B,QAAWlgC,GAAGQ,SAASlL,KAAKwW,QAAU9L,GAAGO,MAAMjL,KAAKwW,UAE9FxW,KAAKwW,MAAQxW,KAAKwW,MAAM,IAI1BxW,KAAKgM,OAASoF,OACZ,GACAzI,SACAwhC,KAAKxhC,SACLuO,GAAW,GACX,MACE,IACE,OAAOpG,KAAKC,MAAM/Q,KAAKwW,MAAM7J,aAAa,qBAC1C,MAAOmC,GACP,MAAO,KAJX,IAUF9O,KAAKyR,SAAW,CACdoD,UAAW,KACX8F,WAAY,KACZuH,SAAU,KACVP,QAAS,GACTY,QAAS,GACTJ,SAAU,GACVC,OAAQ,GACRH,SAAU,CACRiH,MAAO,KACPvF,KAAM,KACNuE,OAAQ,GACRvG,QAAS,KAKb3hB,KAAKkiB,SAAW,CACdtH,OAAQ,KACRuL,cAAe,EACfuF,KAAM,IAAI9d,SAIZ5N,KAAK2a,WAAa,CAChBC,QAAQ,GAIV5a,KAAKkX,QAAU,CACb6E,MAAO,GACPJ,QAAS,IAKX3b,KAAK2c,MAAQ,IAAIoU,QAAQ/wB,KAAKgM,OAAO2Q,OAGrC3c,KAAK2c,MAAMC,IAAI,SAAU5c,KAAKgM,QAC9BhM,KAAK2c,MAAMC,IAAI,UAAWvH,SAGtB3K,GAAGC,gBAAgB3K,KAAKwW,SAAW9L,GAAGS,QAAQnL,KAAKwW,OAErD,YADAxW,KAAK2c,MAAM9Z,MAAM,4CAKnB,GAAI7C,KAAKwW,MAAMwB,KAEb,YADAhY,KAAK2c,MAAMiG,KAAK,wBAKlB,IAAK5iB,KAAKgM,OAAOE,QAEf,YADAlM,KAAK2c,MAAM9Z,MAAM,oCAMnB,IAAKwS,QAAQG,QAAQI,IAEnB,YADA5V,KAAK2c,MAAM9Z,MAAM,4BAKnB,MAAM6mB,EAAQ1pB,KAAKwW,MAAMzE,WAAU,GACnC2X,EAAMiD,UAAW,EACjB3sB,KAAKyR,SAASg5B,SAAW/gB,EAIzB,MAAMziB,EAAOjH,KAAKwW,MAAM6xB,QAAQ/hC,cAEhC,IAAIkoB,EAAS,KACTvoB,EAAM,KAGV,OAAQgB,GACN,IAAK,MAKH,GAHAunB,EAASxuB,KAAKwW,MAAM1K,cAAc,UAG9BpB,GAAGS,QAAQqjB,IAab,GAXAvoB,EAAMilB,SAASsD,EAAO7hB,aAAa,QACnC3M,KAAKyV,SAAWob,iBAAiB5qB,EAAItC,YAGrC3D,KAAKyR,SAASoD,UAAY7U,KAAKwW,MAC/BxW,KAAKwW,MAAQgY,EAGbxuB,KAAKyR,SAASoD,UAAUnB,UAAY,GAGhCzN,EAAIoB,OAAO3F,OAAQ,CACrB,MAAMmpC,EAAS,CAAC,IAAK,QAEjBA,EAAO1hC,SAASlD,EAAIH,aAAa3F,IAAI,eACvCH,KAAKgM,OAAO2gB,UAAW,GAErBke,EAAO1hC,SAASlD,EAAIH,aAAa3F,IAAI,WACvCH,KAAKgM,OAAOkhB,KAAKtS,QAAS,GAKxB5a,KAAKsrB,WACPtrB,KAAKgM,OAAO0J,YAAcm1B,EAAO1hC,SAASlD,EAAIH,aAAa3F,IAAI,gBAC/DH,KAAKgM,OAAOkS,QAAQ0f,GAAK33B,EAAIH,aAAa3F,IAAI,OAE9CH,KAAKgM,OAAO0J,aAAc,QAK9B1V,KAAKyV,SAAWzV,KAAKwW,MAAM7J,aAAa3M,KAAKgM,OAAOxG,WAAWoU,MAAMnE,UAGrEzV,KAAKwW,MAAMqT,gBAAgB7pB,KAAKgM,OAAOxG,WAAWoU,MAAMnE,UAI1D,GAAI/K,GAAGU,MAAMpL,KAAKyV,YAAcxV,OAAO+E,OAAO2rB,WAAWxnB,SAASnJ,KAAKyV,UAErE,YADAzV,KAAK2c,MAAM9Z,MAAM,kCAKnB7C,KAAKiH,KAAO2pB,MAAMrb,MAElB,MAEF,IAAK,QACL,IAAK,QACHvV,KAAKiH,KAAOA,EACZjH,KAAKyV,SAAWkb,UAAUnV,MAGtBxb,KAAKwW,MAAM2gB,aAAa,iBAC1Bn3B,KAAKgM,OAAOi+B,aAAc,GAExBjqC,KAAKwW,MAAM2gB,aAAa,cAC1Bn3B,KAAKgM,OAAO2gB,UAAW,IAErB3sB,KAAKwW,MAAM2gB,aAAa,gBAAkBn3B,KAAKwW,MAAM2gB,aAAa,yBACpEn3B,KAAKgM,OAAO0J,aAAc,GAExB1V,KAAKwW,MAAM2gB,aAAa,WAC1Bn3B,KAAKgM,OAAOua,OAAQ,GAElBvmB,KAAKwW,MAAM2gB,aAAa,UAC1Bn3B,KAAKgM,OAAOkhB,KAAKtS,QAAS,GAG5B,MAEF,QAEE,YADA5a,KAAK2c,MAAM9Z,MAAM,kCAKrB7C,KAAKiX,UAAY5B,QAAQG,MAAMxV,KAAKiH,KAAMjH,KAAKyV,SAAUzV,KAAKgM,OAAO0J,aAGhE1V,KAAKiX,UAAUrB,KAKpB5V,KAAKyX,eAAiB,GAGtBzX,KAAKuM,UAAY,IAAI6oB,UAAUp1B,MAG/BA,KAAK6e,QAAU,IAAIL,QAAQxe,MAG3BA,KAAKwW,MAAMwB,KAAOhY,KAGb0K,GAAGS,QAAQnL,KAAKyR,SAASoD,aAC5B7U,KAAKyR,SAASoD,UAAYpO,cAAc,MAAO,CAAEqkC,SAAU,IAC3Dt5B,KAAKxR,KAAKwW,MAAOxW,KAAKyR,SAASoD,YAIjCgB,GAAGof,cAAcl1B,KAAKC,MAGtB6V,GAAGke,aAAah0B,KAAKC,MAGrBwW,MAAMqF,MAAM9b,KAAKC,MAGbA,KAAKgM,OAAO2Q,OACdjF,GAAG3X,KAAKC,KAAMA,KAAKyR,SAASoD,UAAW7U,KAAKgM,OAAOsD,OAAOpK,KAAK,MAAO5F,IACpEU,KAAK2c,MAAMC,IAAK,UAAStd,EAAM2H,WAKnCjH,KAAK2a,WAAa,IAAIsW,WAAWjxB,OAI7BA,KAAKuW,SAAYvW,KAAK4qB,UAAY5qB,KAAKiX,UAAUpB,KACnDA,GAAGme,MAAMj0B,KAAKC,MAIhBA,KAAKuM,UAAUsI,YAGf7U,KAAKuM,UAAU/L,SAGXR,KAAKgM,OAAO8iB,IAAI5iB,UAClBlM,KAAK8uB,IAAM,IAAIwQ,IAAIt/B,OAIjBA,KAAKuW,SAAWvW,KAAKgM,OAAO2gB,UAC9B3sB,KAAK4X,KAAK,WAAW,IAAMS,eAAerY,KAAKuc,UAIjDvc,KAAK80B,aAAe,EAGhB90B,KAAKgM,OAAOsjB,kBAAkBpjB,UAChClM,KAAKsvB,kBAAoB,IAAI6V,kBAAkBnlC,QAnE/CA,KAAK2c,MAAM9Z,MAAM,4BA8EjB0T,cACF,OAAOvW,KAAKyV,WAAakb,UAAUnV,MAGjCoP,cACF,OAAO5qB,KAAKsrB,WAAatrB,KAAKoa,QAG5BkR,gBACF,OAAOtrB,KAAKyV,WAAakb,UAAUzS,QAGjC9D,cACF,OAAOpa,KAAKyV,WAAakb,UAAUtW,MAGjCL,cACF,OAAOha,KAAKiH,OAAS2pB,MAAMrb,MAGzB6gB,cACF,OAAOp2B,KAAKiH,OAAS2pB,MAAMtb,MAkCzByZ,cACF,OAAO/kB,QAAQhK,KAAKmY,QAAUnY,KAAKkc,SAAWlc,KAAKq2B,OAMjDna,aACF,OAAOlS,QAAQhK,KAAKwW,MAAM0F,QAMxB8S,cACF,OAAOhlB,QAAQhK,KAAKkc,QAA+B,IAArBlc,KAAKic,aAMjCoa,YACF,OAAOrsB,QAAQhK,KAAKwW,MAAM6f,OAyDxBpa,gBAAYvO,GAEd,IAAK1N,KAAKyiB,SACR,OAIF,MAAMsoB,EAAergC,GAAGG,OAAO6C,IAAUA,EAAQ,EAGjD1N,KAAKwW,MAAMyF,YAAc8uB,EAAev/B,KAAK8Y,IAAI5W,EAAO1N,KAAKyiB,UAAY,EAGzEziB,KAAK2c,MAAMC,IAAK,cAAa5c,KAAKic,uBAMhCA,kBACF,OAAOrS,OAAO5J,KAAKwW,MAAMyF,aAMvB6K,eACF,MAAMA,SAAEA,GAAa9mB,KAAKwW,MAG1B,OAAI9L,GAAGG,OAAOic,GACLA,EAMLA,GAAYA,EAASplB,QAAU1B,KAAKyiB,SAAW,EAC1CqE,EAASoH,IAAI,GAAKluB,KAAKyiB,SAGzB,EAMLiF,cACF,OAAO1d,QAAQhK,KAAKwW,MAAMkR,SAMxBjF,eAEF,MAAMuoB,EAAer/B,WAAW3L,KAAKgM,OAAOyW,UAEtCwoB,GAAgBjrC,KAAKwW,OAAS,IAAIiM,SAClCA,EAAY/X,GAAGG,OAAOogC,IAAiBA,IAAiBC,EAAAA,EAAeD,EAAJ,EAGzE,OAAOD,GAAgBvoB,EAOrBH,WAAOrhB,GACT,IAAIqhB,EAASrhB,EAITyJ,GAAGI,OAAOwX,KACZA,EAAS1Y,OAAO0Y,IAIb5X,GAAGG,OAAOyX,KACbA,EAAStiB,KAAK6e,QAAQ1e,IAAI,WAIvBuK,GAAGG,OAAOyX,MACVA,OAAAA,GAAWtiB,KAAKgM,QAIjBsW,EAlBQ,IAmBVA,EAnBU,GAsBRA,EArBQ,IAsBVA,EAtBU,GA0BZtiB,KAAKgM,OAAOsW,OAASA,EAGrBtiB,KAAKwW,MAAM8L,OAASA,GAGf5X,GAAGU,MAAMnK,IAAUjB,KAAKumB,OAASjE,EAAS,IAC7CtiB,KAAKumB,OAAQ,GAObjE,aACF,OAAO1Y,OAAO5J,KAAKwW,MAAM8L,QAwBvBiE,UAAMvE,GACR,IAAI1K,EAAS0K,EAGRtX,GAAGK,QAAQuM,KACdA,EAAStX,KAAK6e,QAAQ1e,IAAI,UAIvBuK,GAAGK,QAAQuM,KACdA,EAAStX,KAAKgM,OAAOua,OAIvBvmB,KAAKgM,OAAOua,MAAQjP,EAGpBtX,KAAKwW,MAAM+P,MAAQjP,EAMjBiP,YACF,OAAOvc,QAAQhK,KAAKwW,MAAM+P,OAMxB4kB,eAEF,OAAKnrC,KAAKuW,YAINvW,KAAKo2B,UAMPpsB,QAAQhK,KAAKwW,MAAM40B,cACnBphC,QAAQhK,KAAKwW,MAAM60B,8BACnBrhC,QAAQhK,KAAKwW,MAAM80B,aAAetrC,KAAKwW,MAAM80B,YAAY5pC,UAQzDqa,UAAMrO,GACR,IAAIqO,EAAQ,KAERrR,GAAGG,OAAO6C,KACZqO,EAAQrO,GAGLhD,GAAGG,OAAOkR,KACbA,EAAQ/b,KAAK6e,QAAQ1e,IAAI,UAGtBuK,GAAGG,OAAOkR,KACbA,EAAQ/b,KAAKgM,OAAO+P,MAAMoR,UAI5B,MAAQnE,aAAc1E,EAAK2E,aAAcxd,GAAQzL,KACjD+b,EAAQmuB,MAAMnuB,EAAOuI,EAAK7Y,GAG1BzL,KAAKgM,OAAO+P,MAAMoR,SAAWpR,EAG7BhM,YAAW,KACL/P,KAAKwW,QACPxW,KAAKwW,MAAM6F,aAAeN,KAE3B,GAMDA,YACF,OAAOnS,OAAO5J,KAAKwW,MAAM6F,cAMvB2M,mBACF,OAAIhpB,KAAKsrB,UAEA9f,KAAK8Y,OAAOtkB,KAAKkX,QAAQ6E,OAG9B/b,KAAKoa,QAEA,GAIF,MAML6O,mBACF,OAAIjpB,KAAKsrB,UAEA9f,KAAKC,OAAOzL,KAAKkX,QAAQ6E,OAG9B/b,KAAKoa,QAEA,EAIF,GAQLuB,YAAQjO,GACV,MAAM1B,EAAShM,KAAKgM,OAAO2P,QACrBzE,EAAUlX,KAAKkX,QAAQyE,QAE7B,IAAKzE,EAAQxV,OACX,OAGF,IAAIia,EAAU,EACXjR,GAAGU,MAAMsC,IAAU9D,OAAO8D,GAC3B1N,KAAK6e,QAAQ1e,IAAI,WACjB6L,EAAOmhB,SACPnhB,EAAOmc,SACPxY,KAAKjF,GAAGG,QAEN0gC,GAAgB,EAEpB,IAAKr0B,EAAQ/N,SAASwS,GAAU,CAC9B,MAAM1a,EAAQwT,QAAQyC,EAASyE,GAC/B3b,KAAK2c,MAAMiG,KAAM,+BAA8BjH,YAAkB1a,aACjE0a,EAAU1a,EAGVsqC,GAAgB,EAIlBv/B,EAAOmhB,SAAWxR,EAGlB3b,KAAKwW,MAAMmF,QAAUA,EAGjB4vB,GACFvrC,KAAK6e,QAAQjb,IAAI,CAAE+X,QAAAA,IAOnBA,cACF,OAAO3b,KAAKwW,MAAMmF,QAQhBuR,SAAKxf,GACP,MAAM4J,EAAS5M,GAAGK,QAAQ2C,GAASA,EAAQ1N,KAAKgM,OAAOkhB,KAAKtS,OAC5D5a,KAAKgM,OAAOkhB,KAAKtS,OAAStD,EAC1BtX,KAAKwW,MAAM0W,KAAO5V,EAiDhB4V,WACF,OAAOljB,QAAQhK,KAAKwW,MAAM0W,MAOxB5b,WAAO5D,GACT4D,OAAO04B,OAAOjqC,KAAKC,KAAM0N,GAMvB4D,aACF,OAAOtR,KAAKwW,MAAM6lB,WAMhBjS,eACF,MAAMA,SAAEA,GAAapqB,KAAKgM,OAAO2e,KAEjC,OAAOjgB,GAAGzE,IAAImkB,GAAYA,EAAWpqB,KAAKsR,OAMxC8Y,aAAS1c,GACNhD,GAAGzE,IAAIyH,KAIZ1N,KAAKgM,OAAO2e,KAAKP,SAAW1c,EAE5BwT,SAASiJ,eAAepqB,KAAKC,OAO3B4uB,WAAOlhB,GACJ1N,KAAKga,QAKVnE,GAAGse,UAAUp0B,KAAKC,KAAM0N,GAAO,GAAO4S,OAAM,SAJ1CtgB,KAAK2c,MAAMiG,KAAK,oCAUhBgM,aACF,OAAK5uB,KAAKga,QAIHha,KAAKwW,MAAM7J,aAAa,WAAa3M,KAAKwW,MAAM7J,aAAa,eAH3D,KASP0M,YACF,IAAKrZ,KAAKga,QACR,OAAO,KAGT,MAAMX,EAAQD,kBAAkBO,eAAe5Z,KAAKC,OAEpD,OAAO0K,GAAGO,MAAMoO,GAASA,EAAMnU,KAAK,KAAOmU,EAMzCA,UAAM3L,GACH1N,KAAKga,QAKLtP,GAAGI,OAAO4C,IAAWwL,oBAAoBxL,IAK9C1N,KAAKgM,OAAOqN,MAAQD,kBAAkB1L,GAEtCqM,eAAeha,KAAKC,OANlBA,KAAK2c,MAAM9Z,MAAO,mCAAkC6K,MALpD1N,KAAK2c,MAAMiG,KAAK,0CAkBhB+J,aAASjf,GACX,MAAM4J,EAAS5M,GAAGK,QAAQ2C,GAASA,EAAQ1N,KAAKgM,OAAO2gB,SACvD3sB,KAAKgM,OAAO2gB,SAAWrV,EAMrBqV,eACF,OAAO3iB,QAAQhK,KAAKgM,OAAO2gB,UAO7BoK,eAAerpB,GACbwU,SAAS5K,OAAOvX,KAAKC,KAAM0N,GAAO,GAOhCyY,iBAAazY,GACfwU,SAASte,IAAI7D,KAAKC,KAAM0N,GAAO,GAC/BwU,SAASrG,QAMPsK,mBACF,MAAMyC,QAAEA,EAAFzC,aAAWA,GAAiBnmB,KAAKkiB,SACvC,OAAO0G,EAAUzC,GAAgB,EAQ/B0C,aAASnb,GACXwU,SAAS6J,YAAYhsB,KAAKC,KAAM0N,GAAO,GAMrCmb,eACF,OAAQ3G,SAASmK,gBAAgBtsB,KAAKC,OAAS,IAAI6oB,SAQjD9S,QAAIrI,GAEN,IAAK2H,QAAQU,IACX,OAIF,MAAMuB,EAAS5M,GAAGK,QAAQ2C,GAASA,GAAS1N,KAAK+V,IAI7CrL,GAAGM,SAAShL,KAAKwW,MAAMR,4BACzBhW,KAAKwW,MAAMR,0BAA0BsB,EAASvB,IAAI6E,OAAS7E,IAAI2a,UAI7DhmB,GAAGM,SAAShL,KAAKwW,MAAMg1B,4BACpBxrC,KAAK+V,KAAOuB,EACftX,KAAKwW,MAAMg1B,0BACFxrC,KAAK+V,MAAQuB,GACtB3X,SAAS8rC,wBAQX11B,UACF,OAAKV,QAAQU,IAKRrL,GAAGU,MAAMpL,KAAKwW,MAAMk1B,wBAKlB1rC,KAAKwW,QAAU7W,SAASgsC,wBAJtB3rC,KAAKwW,MAAMk1B,yBAA2B31B,IAAI6E,OAL1C,KAeXgxB,qBAAqBC,GACf7rC,KAAKsvB,mBAAqBtvB,KAAKsvB,kBAAkB+H,SACnDr3B,KAAKsvB,kBAAkB4P,UACvBl/B,KAAKsvB,kBAAoB,MAG3BrvB,OAAOsR,OAAOvR,KAAKgM,OAAOsjB,kBAAmBuc,GAGzC7rC,KAAKgM,OAAOsjB,kBAAkBpjB,UAChClM,KAAKsvB,kBAAoB,IAAI6V,kBAAkBnlC,OAqMnC8rC,iBAAC7kC,EAAMwO,EAAUs2B,GAC/B,OAAO12B,QAAQG,MAAMvO,EAAMwO,EAAUs2B,GAQtBD,kBAAC7lC,EAAK6N,GACrB,OAAO4L,WAAWzZ,EAAK6N,GAQbg4B,aAACt4B,EAAU0D,EAAU,IAC/B,IAAIvF,EAAU,KAUd,OARIjH,GAAGI,OAAO0I,GACZ7B,EAAU3I,MAAMC,KAAKtJ,SAASuJ,iBAAiBsK,IACtC9I,GAAGQ,SAASsI,GACrB7B,EAAU3I,MAAMC,KAAKuK,GACZ9I,GAAGO,MAAMuI,KAClB7B,EAAU6B,EAASvR,OAAOyI,GAAGS,UAG3BT,GAAGU,MAAMuG,GACJ,KAGFA,EAAQnE,KAAKlM,GAAM,IAAI6oC,KAAK7oC,EAAG4V,MAI1CizB,KAAKxhC,SAAWkI,UAAUlI,iBxCqvPjBwhC","file":"plyr.polyfilled.min.mjs","sourcesContent":["// Polyfill for creating CustomEvents on IE9/10/11\n\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n\n(function() {\n if (typeof window === 'undefined') {\n return;\n }\n\n try {\n var ce = new window.CustomEvent('test', { cancelable: true });\n ce.preventDefault();\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n } catch (e) {\n var CustomEvent = function(event, params) {\n var evt, origPrevent;\n params = params || {};\n params.bubbles = !!params.bubbles;\n params.cancelable = !!params.cancelable;\n\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(\n event,\n params.bubbles,\n params.cancelable,\n params.detail\n );\n origPrevent = evt.preventDefault;\n evt.preventDefault = function() {\n origPrevent.call(this);\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function() {\n return true;\n }\n });\n } catch (e) {\n this.defaultPrevented = true;\n }\n };\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n }\n})();\n","// Polyfill for creating CustomEvents on IE9/10/11\n// code pulled from:\n// https://github.com/d4tocchini/customevent-polyfill\n// https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent#Polyfill\n(function () {\n if (typeof window === 'undefined') {\n return;\n }\n\n try {\n var ce = new window.CustomEvent('test', {\n cancelable: true\n });\n ce.preventDefault();\n\n if (ce.defaultPrevented !== true) {\n // IE has problems with .preventDefault() on custom events\n // http://stackoverflow.com/questions/23349191\n throw new Error('Could not prevent default');\n }\n } catch (e) {\n var CustomEvent = function (event, params) {\n var evt, origPrevent;\n params = params || {};\n params.bubbles = !!params.bubbles;\n params.cancelable = !!params.cancelable;\n evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n origPrevent = evt.preventDefault;\n\n evt.preventDefault = function () {\n origPrevent.call(this);\n\n try {\n Object.defineProperty(this, 'defaultPrevented', {\n get: function () {\n return true;\n }\n });\n } catch (e) {\n this.defaultPrevented = true;\n }\n };\n\n return evt;\n };\n\n CustomEvent.prototype = window.Event.prototype;\n window.CustomEvent = CustomEvent; // expose definition to window\n }\n})();\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\n(function (global) {\n /**\r\n * Polyfill URLSearchParams\r\n *\r\n * Inspired from : https://github.com/WebReflection/url-search-params/blob/master/src/url-search-params.js\r\n */\n var checkIfIteratorIsSupported = function () {\n try {\n return !!Symbol.iterator;\n } catch (error) {\n return false;\n }\n };\n\n var iteratorSupported = checkIfIteratorIsSupported();\n\n var createIterator = function (items) {\n var iterator = {\n next: function () {\n var value = items.shift();\n return {\n done: value === void 0,\n value: value\n };\n }\n };\n\n if (iteratorSupported) {\n iterator[Symbol.iterator] = function () {\n return iterator;\n };\n }\n\n return iterator;\n };\n /**\r\n * Search param name and values should be encoded according to https://url.spec.whatwg.org/#urlencoded-serializing\r\n * encodeURIComponent() produces the same result except encoding spaces as `%20` instead of `+`.\r\n */\n\n\n var serializeParam = function (value) {\n return encodeURIComponent(value).replace(/%20/g, '+');\n };\n\n var deserializeParam = function (value) {\n return decodeURIComponent(String(value).replace(/\\+/g, ' '));\n };\n\n var polyfillURLSearchParams = function () {\n var URLSearchParams = function (searchString) {\n Object.defineProperty(this, '_entries', {\n writable: true,\n value: {}\n });\n var typeofSearchString = typeof searchString;\n\n if (typeofSearchString === 'undefined') ; else if (typeofSearchString === 'string') {\n if (searchString !== '') {\n this._fromString(searchString);\n }\n } else if (searchString instanceof URLSearchParams) {\n var _this = this;\n\n searchString.forEach(function (value, name) {\n _this.append(name, value);\n });\n } else if (searchString !== null && typeofSearchString === 'object') {\n if (Object.prototype.toString.call(searchString) === '[object Array]') {\n for (var i = 0; i < searchString.length; i++) {\n var entry = searchString[i];\n\n if (Object.prototype.toString.call(entry) === '[object Array]' || entry.length !== 2) {\n this.append(entry[0], entry[1]);\n } else {\n throw new TypeError('Expected [string, any] as entry at index ' + i + ' of URLSearchParams\\'s input');\n }\n }\n } else {\n for (var key in searchString) {\n if (searchString.hasOwnProperty(key)) {\n this.append(key, searchString[key]);\n }\n }\n }\n } else {\n throw new TypeError('Unsupported input\\'s type for URLSearchParams');\n }\n };\n\n var proto = URLSearchParams.prototype;\n\n proto.append = function (name, value) {\n if (name in this._entries) {\n this._entries[name].push(String(value));\n } else {\n this._entries[name] = [String(value)];\n }\n };\n\n proto.delete = function (name) {\n delete this._entries[name];\n };\n\n proto.get = function (name) {\n return name in this._entries ? this._entries[name][0] : null;\n };\n\n proto.getAll = function (name) {\n return name in this._entries ? this._entries[name].slice(0) : [];\n };\n\n proto.has = function (name) {\n return name in this._entries;\n };\n\n proto.set = function (name, value) {\n this._entries[name] = [String(value)];\n };\n\n proto.forEach = function (callback, thisArg) {\n var entries;\n\n for (var name in this._entries) {\n if (this._entries.hasOwnProperty(name)) {\n entries = this._entries[name];\n\n for (var i = 0; i < entries.length; i++) {\n callback.call(thisArg, entries[i], name, this);\n }\n }\n }\n };\n\n proto.keys = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push(name);\n });\n return createIterator(items);\n };\n\n proto.values = function () {\n var items = [];\n this.forEach(function (value) {\n items.push(value);\n });\n return createIterator(items);\n };\n\n proto.entries = function () {\n var items = [];\n this.forEach(function (value, name) {\n items.push([name, value]);\n });\n return createIterator(items);\n };\n\n if (iteratorSupported) {\n proto[Symbol.iterator] = proto.entries;\n }\n\n proto.toString = function () {\n var searchArray = [];\n this.forEach(function (value, name) {\n searchArray.push(serializeParam(name) + '=' + serializeParam(value));\n });\n return searchArray.join('&');\n };\n\n global.URLSearchParams = URLSearchParams;\n };\n\n var checkIfURLSearchParamsSupported = function () {\n try {\n var URLSearchParams = global.URLSearchParams;\n return new URLSearchParams('?a=1').toString() === 'a=1' && typeof URLSearchParams.prototype.set === 'function' && typeof URLSearchParams.prototype.entries === 'function';\n } catch (e) {\n return false;\n }\n };\n\n if (!checkIfURLSearchParamsSupported()) {\n polyfillURLSearchParams();\n }\n\n var proto = global.URLSearchParams.prototype;\n\n if (typeof proto.sort !== 'function') {\n proto.sort = function () {\n var _this = this;\n\n var items = [];\n this.forEach(function (value, name) {\n items.push([name, value]);\n\n if (!_this._entries) {\n _this.delete(name);\n }\n });\n items.sort(function (a, b) {\n if (a[0] < b[0]) {\n return -1;\n } else if (a[0] > b[0]) {\n return +1;\n } else {\n return 0;\n }\n });\n\n if (_this._entries) {\n // force reset because IE keeps keys index\n _this._entries = {};\n }\n\n for (var i = 0; i < items.length; i++) {\n this.append(items[i][0], items[i][1]);\n }\n };\n }\n\n if (typeof proto._fromString !== 'function') {\n Object.defineProperty(proto, '_fromString', {\n enumerable: false,\n configurable: false,\n writable: false,\n value: function (searchString) {\n if (this._entries) {\n this._entries = {};\n } else {\n var keys = [];\n this.forEach(function (value, name) {\n keys.push(name);\n });\n\n for (var i = 0; i < keys.length; i++) {\n this.delete(keys[i]);\n }\n }\n\n searchString = searchString.replace(/^\\?/, '');\n var attributes = searchString.split('&');\n var attribute;\n\n for (var i = 0; i < attributes.length; i++) {\n attribute = attributes[i].split('=');\n this.append(deserializeParam(attribute[0]), attribute.length > 1 ? deserializeParam(attribute[1]) : '');\n }\n }\n });\n } // HTMLAnchorElement\n\n})(typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : commonjsGlobal);\n\n(function (global) {\n /**\r\n * Polyfill URL\r\n *\r\n * Inspired from : https://github.com/arv/DOM-URL-Polyfill/blob/master/src/url.js\r\n */\n var checkIfURLIsSupported = function () {\n try {\n var u = new global.URL('b', 'http://a');\n u.pathname = 'c d';\n return u.href === 'http://a/c%20d' && u.searchParams;\n } catch (e) {\n return false;\n }\n };\n\n var polyfillURL = function () {\n var _URL = global.URL;\n\n var URL = function (url, base) {\n if (typeof url !== 'string') url = String(url);\n if (base && typeof base !== 'string') base = String(base); // Only create another document if the base is different from current location.\n\n var doc = document,\n baseElement;\n\n if (base && (global.location === void 0 || base !== global.location.href)) {\n base = base.toLowerCase();\n doc = document.implementation.createHTMLDocument('');\n baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n\n try {\n if (baseElement.href.indexOf(base) !== 0) throw new Error(baseElement.href);\n } catch (err) {\n throw new Error('URL unable to set base ' + base + ' due to ' + err);\n }\n }\n\n var anchorElement = doc.createElement('a');\n anchorElement.href = url;\n\n if (baseElement) {\n doc.body.appendChild(anchorElement);\n anchorElement.href = anchorElement.href; // force href to refresh\n }\n\n var inputElement = doc.createElement('input');\n inputElement.type = 'url';\n inputElement.value = url;\n\n if (anchorElement.protocol === ':' || !/:/.test(anchorElement.href) || !inputElement.checkValidity() && !base) {\n throw new TypeError('Invalid URL');\n }\n\n Object.defineProperty(this, '_anchorElement', {\n value: anchorElement\n }); // create a linked searchParams which reflect its changes on URL\n\n var searchParams = new global.URLSearchParams(this.search);\n var enableSearchUpdate = true;\n var enableSearchParamsUpdate = true;\n\n var _this = this;\n\n ['append', 'delete', 'set'].forEach(function (methodName) {\n var method = searchParams[methodName];\n\n searchParams[methodName] = function () {\n method.apply(searchParams, arguments);\n\n if (enableSearchUpdate) {\n enableSearchParamsUpdate = false;\n _this.search = searchParams.toString();\n enableSearchParamsUpdate = true;\n }\n };\n });\n Object.defineProperty(this, 'searchParams', {\n value: searchParams,\n enumerable: true\n });\n var search = void 0;\n Object.defineProperty(this, '_updateSearchParams', {\n enumerable: false,\n configurable: false,\n writable: false,\n value: function () {\n if (this.search !== search) {\n search = this.search;\n\n if (enableSearchParamsUpdate) {\n enableSearchUpdate = false;\n\n this.searchParams._fromString(this.search);\n\n enableSearchUpdate = true;\n }\n }\n }\n });\n };\n\n var proto = URL.prototype;\n\n var linkURLWithAnchorAttribute = function (attributeName) {\n Object.defineProperty(proto, attributeName, {\n get: function () {\n return this._anchorElement[attributeName];\n },\n set: function (value) {\n this._anchorElement[attributeName] = value;\n },\n enumerable: true\n });\n };\n\n ['hash', 'host', 'hostname', 'port', 'protocol'].forEach(function (attributeName) {\n linkURLWithAnchorAttribute(attributeName);\n });\n Object.defineProperty(proto, 'search', {\n get: function () {\n return this._anchorElement['search'];\n },\n set: function (value) {\n this._anchorElement['search'] = value;\n\n this._updateSearchParams();\n },\n enumerable: true\n });\n Object.defineProperties(proto, {\n 'toString': {\n get: function () {\n var _this = this;\n\n return function () {\n return _this.href;\n };\n }\n },\n 'href': {\n get: function () {\n return this._anchorElement.href.replace(/\\?$/, '');\n },\n set: function (value) {\n this._anchorElement.href = value;\n\n this._updateSearchParams();\n },\n enumerable: true\n },\n 'pathname': {\n get: function () {\n return this._anchorElement.pathname.replace(/(^\\/?)/, '/');\n },\n set: function (value) {\n this._anchorElement.pathname = value;\n },\n enumerable: true\n },\n 'origin': {\n get: function () {\n // get expected port from protocol\n var expectedPort = {\n 'http:': 80,\n 'https:': 443,\n 'ftp:': 21\n }[this._anchorElement.protocol]; // add port to origin if, expected port is different than actual port\n // and it is not empty f.e http://foo:8080\n // 8080 != 80 && 8080 != ''\n\n var addPortToOrigin = this._anchorElement.port != expectedPort && this._anchorElement.port !== '';\n return this._anchorElement.protocol + '//' + this._anchorElement.hostname + (addPortToOrigin ? ':' + this._anchorElement.port : '');\n },\n enumerable: true\n },\n 'password': {\n // TODO\n get: function () {\n return '';\n },\n set: function (value) {},\n enumerable: true\n },\n 'username': {\n // TODO\n get: function () {\n return '';\n },\n set: function (value) {},\n enumerable: true\n }\n });\n\n URL.createObjectURL = function (blob) {\n return _URL.createObjectURL.apply(_URL, arguments);\n };\n\n URL.revokeObjectURL = function (url) {\n return _URL.revokeObjectURL.apply(_URL, arguments);\n };\n\n global.URL = URL;\n };\n\n if (!checkIfURLIsSupported()) {\n polyfillURL();\n }\n\n if (global.location !== void 0 && !('origin' in global.location)) {\n var getOrigin = function () {\n return global.location.protocol + '//' + global.location.hostname + (global.location.port ? ':' + global.location.port : '');\n };\n\n try {\n Object.defineProperty(global.location, 'origin', {\n get: getOrigin,\n enumerable: true\n });\n } catch (e) {\n setInterval(function () {\n global.location.origin = getOrigin();\n }, 100);\n }\n }\n})(typeof commonjsGlobal !== 'undefined' ? commonjsGlobal : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : commonjsGlobal);\n\nfunction _defineProperty$1(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 _classCallCheck(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nfunction _defineProperties(e, t) {\n for (var n = 0; n < t.length; n++) {\n var r = t[n];\n r.enumerable = r.enumerable || !1, r.configurable = !0, \"value\" in r && (r.writable = !0), Object.defineProperty(e, r.key, r);\n }\n}\n\nfunction _createClass(e, t, n) {\n return t && _defineProperties(e.prototype, t), n && _defineProperties(e, n), e;\n}\n\nfunction _defineProperty(e, t, n) {\n return t in e ? Object.defineProperty(e, t, {\n value: n,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = n, e;\n}\n\nfunction ownKeys(e, t) {\n var n = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var r = Object.getOwnPropertySymbols(e);\n t && (r = r.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), n.push.apply(n, r);\n }\n\n return n;\n}\n\nfunction _objectSpread2(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? ownKeys(Object(n), !0).forEach(function (t) {\n _defineProperty(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : ownKeys(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n}\n\nvar defaults$1 = {\n addCSS: !0,\n thumbWidth: 15,\n watch: !0\n};\n\nfunction matches$1(e, t) {\n return function () {\n return Array.from(document.querySelectorAll(t)).includes(this);\n }.call(e, t);\n}\n\nfunction trigger(e, t) {\n if (e && t) {\n var n = new Event(t, {\n bubbles: !0\n });\n e.dispatchEvent(n);\n }\n}\n\nvar getConstructor$1 = function (e) {\n return null != e ? e.constructor : null;\n},\n instanceOf$1 = function (e, t) {\n return !!(e && t && e instanceof t);\n},\n isNullOrUndefined$1 = function (e) {\n return null == e;\n},\n isObject$1 = function (e) {\n return getConstructor$1(e) === Object;\n},\n isNumber$1 = function (e) {\n return getConstructor$1(e) === Number && !Number.isNaN(e);\n},\n isString$1 = function (e) {\n return getConstructor$1(e) === String;\n},\n isBoolean$1 = function (e) {\n return getConstructor$1(e) === Boolean;\n},\n isFunction$1 = function (e) {\n return getConstructor$1(e) === Function;\n},\n isArray$1 = function (e) {\n return Array.isArray(e);\n},\n isNodeList$1 = function (e) {\n return instanceOf$1(e, NodeList);\n},\n isElement$1 = function (e) {\n return instanceOf$1(e, Element);\n},\n isEvent$1 = function (e) {\n return instanceOf$1(e, Event);\n},\n isEmpty$1 = function (e) {\n return isNullOrUndefined$1(e) || (isString$1(e) || isArray$1(e) || isNodeList$1(e)) && !e.length || isObject$1(e) && !Object.keys(e).length;\n},\n is$1 = {\n nullOrUndefined: isNullOrUndefined$1,\n object: isObject$1,\n number: isNumber$1,\n string: isString$1,\n boolean: isBoolean$1,\n function: isFunction$1,\n array: isArray$1,\n nodeList: isNodeList$1,\n element: isElement$1,\n event: isEvent$1,\n empty: isEmpty$1\n};\n\nfunction getDecimalPlaces(e) {\n var t = \"\".concat(e).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;\n}\n\nfunction round(e, t) {\n if (1 > t) {\n var n = getDecimalPlaces(t);\n return parseFloat(e.toFixed(n));\n }\n\n return Math.round(e / t) * t;\n}\n\nvar RangeTouch = function () {\n function e(t, n) {\n _classCallCheck(this, e), is$1.element(t) ? this.element = t : is$1.string(t) && (this.element = document.querySelector(t)), is$1.element(this.element) && is$1.empty(this.element.rangeTouch) && (this.config = _objectSpread2({}, defaults$1, {}, n), this.init());\n }\n\n return _createClass(e, [{\n key: \"init\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(!0), this.element.rangeTouch = this);\n }\n }, {\n key: \"destroy\",\n value: function () {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(!1), this.element.rangeTouch = null);\n }\n }, {\n key: \"listeners\",\n value: function (e) {\n var t = this,\n n = e ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function (e) {\n t.element[n](e, function (e) {\n return t.set(e);\n }, !1);\n });\n }\n }, {\n key: \"get\",\n value: function (t) {\n if (!e.enabled || !is$1.event(t)) return null;\n var n,\n r = t.target,\n i = t.changedTouches[0],\n o = parseFloat(r.getAttribute(\"min\")) || 0,\n s = parseFloat(r.getAttribute(\"max\")) || 100,\n u = parseFloat(r.getAttribute(\"step\")) || 1,\n c = r.getBoundingClientRect(),\n a = 100 / c.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (n = 100 / c.width * (i.clientX - c.left)) ? n = 0 : 100 < n && (n = 100), 50 > n ? n -= (100 - 2 * n) * a : 50 < n && (n += 2 * (n - 50) * a), o + round(n / 100 * (s - o), u);\n }\n }, {\n key: \"set\",\n value: function (t) {\n e.enabled && is$1.event(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), trigger(t.target, \"touchend\" === t.type ? \"change\" : \"input\"));\n }\n }], [{\n key: \"setup\",\n value: function (t) {\n var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},\n r = null;\n if (is$1.empty(t) || is$1.string(t) ? r = Array.from(document.querySelectorAll(is$1.string(t) ? t : 'input[type=\"range\"]')) : is$1.element(t) ? r = [t] : is$1.nodeList(t) ? r = Array.from(t) : is$1.array(t) && (r = t.filter(is$1.element)), is$1.empty(r)) return null;\n\n var i = _objectSpread2({}, defaults$1, {}, n);\n\n if (is$1.string(t) && i.watch) {\n var o = new MutationObserver(function (n) {\n Array.from(n).forEach(function (n) {\n Array.from(n.addedNodes).forEach(function (n) {\n is$1.element(n) && matches$1(n, t) && new e(n, i);\n });\n });\n });\n o.observe(document.body, {\n childList: !0,\n subtree: !0\n });\n }\n\n return r.map(function (t) {\n return new e(t, n);\n });\n }\n }, {\n key: \"enabled\",\n get: function () {\n return \"ontouchstart\" in document.documentElement;\n }\n }]), e;\n}();\n\n// ==========================================================================\n// Type checking utils\n// ==========================================================================\nconst getConstructor = input => input !== null && typeof input !== 'undefined' ? input.constructor : null;\n\nconst instanceOf = (input, constructor) => Boolean(input && constructor && input instanceof constructor);\n\nconst isNullOrUndefined = input => input === null || typeof input === 'undefined';\n\nconst isObject = input => getConstructor(input) === Object;\n\nconst isNumber = input => getConstructor(input) === Number && !Number.isNaN(input);\n\nconst isString = input => getConstructor(input) === String;\n\nconst isBoolean = input => getConstructor(input) === Boolean;\n\nconst isFunction = input => getConstructor(input) === Function;\n\nconst isArray = input => Array.isArray(input);\n\nconst isWeakMap = input => instanceOf(input, WeakMap);\n\nconst isNodeList = input => instanceOf(input, NodeList);\n\nconst isTextNode = input => getConstructor(input) === Text;\n\nconst isEvent = input => instanceOf(input, Event);\n\nconst isKeyboardEvent = input => instanceOf(input, KeyboardEvent);\n\nconst isCue = input => instanceOf(input, window.TextTrackCue) || instanceOf(input, window.VTTCue);\n\nconst isTrack = input => instanceOf(input, TextTrack) || !isNullOrUndefined(input) && isString(input.kind);\n\nconst isPromise = input => instanceOf(input, Promise) && isFunction(input.then);\n\nconst isElement = input => input !== null && typeof input === 'object' && input.nodeType === 1 && typeof input.style === 'object' && typeof input.ownerDocument === 'object';\n\nconst isEmpty = input => isNullOrUndefined(input) || (isString(input) || isArray(input) || isNodeList(input)) && !input.length || isObject(input) && !Object.keys(input).length;\n\nconst isUrl = input => {\n // Accept a URL object\n if (instanceOf(input, window.URL)) {\n return true;\n } // Must be string from here\n\n\n if (!isString(input)) {\n return false;\n } // Add the protocol if required\n\n\n let string = input;\n\n if (!input.startsWith('http://') || !input.startsWith('https://')) {\n string = `http://${input}`;\n }\n\n try {\n return !isEmpty(new URL(string).hostname);\n } catch (_) {\n return false;\n }\n};\n\nvar is = {\n nullOrUndefined: isNullOrUndefined,\n object: isObject,\n number: isNumber,\n string: isString,\n boolean: isBoolean,\n function: isFunction,\n array: isArray,\n weakMap: isWeakMap,\n nodeList: isNodeList,\n element: isElement,\n textNode: isTextNode,\n event: isEvent,\n keyboardEvent: isKeyboardEvent,\n cue: isCue,\n track: isTrack,\n promise: isPromise,\n url: isUrl,\n empty: isEmpty\n};\n\n// ==========================================================================\nconst transitionEndEvent = (() => {\n const element = document.createElement('span');\n const events = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'oTransitionEnd otransitionend',\n transition: 'transitionend'\n };\n const type = Object.keys(events).find(event => element.style[event] !== undefined);\n return is.string(type) ? events[type] : false;\n})(); // Force repaint of element\n\nfunction repaint(element, delay) {\n setTimeout(() => {\n try {\n // eslint-disable-next-line no-param-reassign\n element.hidden = true; // eslint-disable-next-line no-unused-expressions\n\n element.offsetHeight; // eslint-disable-next-line no-param-reassign\n\n element.hidden = false;\n } catch (_) {// Do nothing\n }\n }, delay);\n}\n\n// ==========================================================================\n// Browser sniffing\n// Unfortunately, due to mixed support, UA sniffing is required\n// ==========================================================================\nconst browser = {\n isIE: Boolean(window.document.documentMode),\n isEdge: window.navigator.userAgent.includes('Edge'),\n isWebkit: 'WebkitAppearance' in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 || /(iPad|iPhone|iPod)/gi.test(navigator.platform)\n};\n\n// ==========================================================================\n\nfunction cloneDeep(object) {\n return JSON.parse(JSON.stringify(object));\n} // Get a nested value in an object\n\nfunction getDeep(object, path) {\n return path.split('.').reduce((obj, key) => obj && obj[key], object);\n} // Deep extend destination object with N more objects\n\nfunction extend(target = {}, ...sources) {\n if (!sources.length) {\n return target;\n }\n\n const source = sources.shift();\n\n if (!is.object(source)) {\n return target;\n }\n\n Object.keys(source).forEach(key => {\n if (is.object(source[key])) {\n if (!Object.keys(target).includes(key)) {\n Object.assign(target, {\n [key]: {}\n });\n }\n\n extend(target[key], source[key]);\n } else {\n Object.assign(target, {\n [key]: source[key]\n });\n }\n });\n return extend(target, ...sources);\n}\n\n// ==========================================================================\n\nfunction wrap(elements, wrapper) {\n // Convert `elements` to an array, if necessary.\n const targets = elements.length ? elements : [elements]; // Loops backwards to prevent having to clone the wrapper on the\n // first element (see `child` below).\n\n Array.from(targets).reverse().forEach((element, index) => {\n const child = index > 0 ? wrapper.cloneNode(true) : wrapper; // Cache the current parent and sibling.\n\n const parent = element.parentNode;\n const sibling = element.nextSibling; // Wrap the element (is automatically removed from its current\n // parent).\n\n child.appendChild(element); // If the element had a sibling, insert the wrapper before\n // the sibling to maintain the HTML structure; otherwise, just\n // append it to the parent.\n\n if (sibling) {\n parent.insertBefore(child, sibling);\n } else {\n parent.appendChild(child);\n }\n });\n} // Set attributes\n\nfunction setAttributes(element, attributes) {\n if (!is.element(element) || is.empty(attributes)) {\n return;\n } // Assume null and undefined attributes should be left out,\n // Setting them would otherwise convert them to \"null\" and \"undefined\"\n\n\n Object.entries(attributes).filter(([, value]) => !is.nullOrUndefined(value)).forEach(([key, value]) => element.setAttribute(key, value));\n} // Create a DocumentFragment\n\nfunction createElement(type, attributes, text) {\n // Create a new \n const element = document.createElement(type); // Set all passed attributes\n\n if (is.object(attributes)) {\n setAttributes(element, attributes);\n } // Add text node\n\n\n if (is.string(text)) {\n element.innerText = text;\n } // Return built element\n\n\n return element;\n} // Inaert an element after another\n\nfunction insertAfter(element, target) {\n if (!is.element(element) || !is.element(target)) {\n return;\n }\n\n target.parentNode.insertBefore(element, target.nextSibling);\n} // Insert a DocumentFragment\n\nfunction insertElement(type, parent, attributes, text) {\n if (!is.element(parent)) {\n return;\n }\n\n parent.appendChild(createElement(type, attributes, text));\n} // Remove element(s)\n\nfunction removeElement(element) {\n if (is.nodeList(element) || is.array(element)) {\n Array.from(element).forEach(removeElement);\n return;\n }\n\n if (!is.element(element) || !is.element(element.parentNode)) {\n return;\n }\n\n element.parentNode.removeChild(element);\n} // Remove all child elements\n\nfunction emptyElement(element) {\n if (!is.element(element)) {\n return;\n }\n\n let {\n length\n } = element.childNodes;\n\n while (length > 0) {\n element.removeChild(element.lastChild);\n length -= 1;\n }\n} // Replace element\n\nfunction replaceElement(newChild, oldChild) {\n if (!is.element(oldChild) || !is.element(oldChild.parentNode) || !is.element(newChild)) {\n return null;\n }\n\n oldChild.parentNode.replaceChild(newChild, oldChild);\n return newChild;\n} // Get an attribute object from a string selector\n\nfunction getAttributesFromSelector(sel, existingAttributes) {\n // For example:\n // '.test' to { class: 'test' }\n // '#test' to { id: 'test' }\n // '[data-test=\"test\"]' to { 'data-test': 'test' }\n if (!is.string(sel) || is.empty(sel)) {\n return {};\n }\n\n const attributes = {};\n const existing = extend({}, existingAttributes);\n sel.split(',').forEach(s => {\n // Remove whitespace\n const selector = s.trim();\n const className = selector.replace('.', '');\n const stripped = selector.replace(/[[\\]]/g, ''); // Get the parts and value\n\n const parts = stripped.split('=');\n const [key] = parts;\n const value = parts.length > 1 ? parts[1].replace(/[\"']/g, '') : ''; // Get the first character\n\n const start = selector.charAt(0);\n\n switch (start) {\n case '.':\n // Add to existing classname\n if (is.string(existing.class)) {\n attributes.class = `${existing.class} ${className}`;\n } else {\n attributes.class = className;\n }\n\n break;\n\n case '#':\n // ID selector\n attributes.id = selector.replace('#', '');\n break;\n\n case '[':\n // Attribute selector\n attributes[key] = value;\n break;\n }\n });\n return extend(existing, attributes);\n} // Toggle hidden\n\nfunction toggleHidden(element, hidden) {\n if (!is.element(element)) {\n return;\n }\n\n let hide = hidden;\n\n if (!is.boolean(hide)) {\n hide = !element.hidden;\n } // eslint-disable-next-line no-param-reassign\n\n\n element.hidden = hide;\n} // Mirror Element.classList.toggle, with IE compatibility for \"force\" argument\n\nfunction toggleClass(element, className, force) {\n if (is.nodeList(element)) {\n return Array.from(element).map(e => toggleClass(e, className, force));\n }\n\n if (is.element(element)) {\n let method = 'toggle';\n\n if (typeof force !== 'undefined') {\n method = force ? 'add' : 'remove';\n }\n\n element.classList[method](className);\n return element.classList.contains(className);\n }\n\n return false;\n} // Has class name\n\nfunction hasClass(element, className) {\n return is.element(element) && element.classList.contains(className);\n} // Element matches selector\n\nfunction matches(element, selector) {\n const {\n prototype\n } = Element;\n\n function match() {\n return Array.from(document.querySelectorAll(selector)).includes(this);\n }\n\n const method = prototype.matches || prototype.webkitMatchesSelector || prototype.mozMatchesSelector || prototype.msMatchesSelector || match;\n return method.call(element, selector);\n} // Closest ancestor element matching selector (also tests element itself)\n\nfunction closest$1(element, selector) {\n const {\n prototype\n } = Element; // https://developer.mozilla.org/en-US/docs/Web/API/Element/closest#Polyfill\n\n function closestElement() {\n let el = this;\n\n do {\n if (matches.matches(el, selector)) return el;\n el = el.parentElement || el.parentNode;\n } while (el !== null && el.nodeType === 1);\n\n return null;\n }\n\n const method = prototype.closest || closestElement;\n return method.call(element, selector);\n} // Find all elements\n\nfunction getElements(selector) {\n return this.elements.container.querySelectorAll(selector);\n} // Find a single element\n\nfunction getElement(selector) {\n return this.elements.container.querySelector(selector);\n} // Set focus and tab focus class\n\nfunction setFocus(element = null, tabFocus = false) {\n if (!is.element(element)) {\n return;\n } // Set regular focus\n\n\n element.focus({\n preventScroll: true\n }); // If we want to mimic keyboard focus via tab\n\n if (tabFocus) {\n toggleClass(element, this.config.classNames.tabFocus);\n }\n}\n\n// ==========================================================================\n\nconst defaultCodecs = {\n 'audio/ogg': 'vorbis',\n 'audio/wav': '1',\n 'video/webm': 'vp8, vorbis',\n 'video/mp4': 'avc1.42E01E, mp4a.40.2',\n 'video/ogg': 'theora'\n}; // Check for feature support\n\nconst support = {\n // Basic support\n audio: 'canPlayType' in document.createElement('audio'),\n video: 'canPlayType' in document.createElement('video'),\n\n // Check for support\n // Basic functionality vs full UI\n check(type, provider, playsinline) {\n const canPlayInline = browser.isIPhone && playsinline && support.playsinline;\n const api = support[type] || provider !== 'html5';\n const ui = api && support.rangeInput && (type !== 'video' || !browser.isIPhone || canPlayInline);\n return {\n api,\n ui\n };\n },\n\n // Picture-in-picture support\n // Safari & Chrome only currently\n pip: (() => {\n if (browser.isIPhone) {\n return false;\n } // Safari\n // https://developer.apple.com/documentation/webkitjs/adding_picture_in_picture_to_your_safari_media_controls\n\n\n if (is.function(createElement('video').webkitSetPresentationMode)) {\n return true;\n } // Chrome\n // https://developers.google.com/web/updates/2018/10/watch-video-using-picture-in-picture\n\n\n if (document.pictureInPictureEnabled && !createElement('video').disablePictureInPicture) {\n return true;\n }\n\n return false;\n })(),\n // Airplay support\n // Safari only currently\n airplay: is.function(window.WebKitPlaybackTargetAvailabilityEvent),\n // Inline playback support\n // https://webkit.org/blog/6784/new-video-policies-for-ios/\n playsinline: 'playsInline' in document.createElement('video'),\n\n // Check for mime type support against a player instance\n // Credits: http://diveintohtml5.info/everything.html\n // Related: http://www.leanbackplayer.com/test/h5mt.html\n mime(input) {\n if (is.empty(input)) {\n return false;\n }\n\n const [mediaType] = input.split('/');\n let type = input; // Verify we're using HTML5 and there's no media type mismatch\n\n if (!this.isHTML5 || mediaType !== this.type) {\n return false;\n } // Add codec if required\n\n\n if (Object.keys(defaultCodecs).includes(type)) {\n type += `; codecs=\"${defaultCodecs[input]}\"`;\n }\n\n try {\n return Boolean(type && this.media.canPlayType(type).replace(/no/, ''));\n } catch (_) {\n return false;\n }\n },\n\n // Check for textTracks support\n textTracks: 'textTracks' in document.createElement('video'),\n // Sliders\n rangeInput: (() => {\n const range = document.createElement('input');\n range.type = 'range';\n return range.type === 'range';\n })(),\n // Touch\n // NOTE: Remember a device can be mouse + touch enabled so we check on first touch event\n touch: 'ontouchstart' in document.documentElement,\n // Detect transitions support\n transitions: transitionEndEvent !== false,\n // Reduced motion iOS & MacOS setting\n // https://webkit.org/blog/7551/responsive-design-for-motion/\n reducedMotion: 'matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches\n};\n\n// ==========================================================================\n// https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n// https://www.youtube.com/watch?v=NPM6172J22g\n\nconst supportsPassiveListeners = (() => {\n // Test via a getter in the options object to see if the passive property is accessed\n let supported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n supported = true;\n return null;\n }\n\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (_) {// Do nothing\n }\n\n return supported;\n})(); // Toggle event listener\n\n\nfunction toggleListener(element, event, callback, toggle = false, passive = true, capture = false) {\n // Bail if no element, event, or callback\n if (!element || !('addEventListener' in element) || is.empty(event) || !is.function(callback)) {\n return;\n } // Allow multiple events\n\n\n const events = event.split(' '); // Build options\n // Default to just the capture boolean for browsers with no passive listener support\n\n let options = capture; // If passive events listeners are supported\n\n if (supportsPassiveListeners) {\n options = {\n // Whether the listener can be passive (i.e. default never prevented)\n passive,\n // Whether the listener is a capturing listener or not\n capture\n };\n } // If a single node is passed, bind the event listener\n\n\n events.forEach(type => {\n if (this && this.eventListeners && toggle) {\n // Cache event listener\n this.eventListeners.push({\n element,\n type,\n callback,\n options\n });\n }\n\n element[toggle ? 'addEventListener' : 'removeEventListener'](type, callback, options);\n });\n} // Bind event handler\n\nfunction on(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, true, passive, capture);\n} // Unbind event handler\n\nfunction off(element, events = '', callback, passive = true, capture = false) {\n toggleListener.call(this, element, events, callback, false, passive, capture);\n} // Bind once-only event handler\n\nfunction once(element, events = '', callback, passive = true, capture = false) {\n const onceCallback = (...args) => {\n off(element, events, onceCallback, passive, capture);\n callback.apply(this, args);\n };\n\n toggleListener.call(this, element, events, onceCallback, true, passive, capture);\n} // Trigger event\n\nfunction triggerEvent(element, type = '', bubbles = false, detail = {}) {\n // Bail if no element\n if (!is.element(element) || is.empty(type)) {\n return;\n } // Create and dispatch the event\n\n\n const event = new CustomEvent(type, {\n bubbles,\n detail: { ...detail,\n plyr: this\n }\n }); // Dispatch the event\n\n element.dispatchEvent(event);\n} // Unbind all cached event listeners\n\nfunction unbindListeners() {\n if (this && this.eventListeners) {\n this.eventListeners.forEach(item => {\n const {\n element,\n type,\n callback,\n options\n } = item;\n element.removeEventListener(type, callback, options);\n });\n this.eventListeners = [];\n }\n} // Run method when / if player is ready\n\nfunction ready() {\n return new Promise(resolve => this.ready ? setTimeout(resolve, 0) : on.call(this, this.elements.container, 'ready', resolve)).then(() => {});\n}\n\n/**\n * Silence a Promise-like object.\n * This is useful for avoiding non-harmful, but potentially confusing \"uncaught\n * play promise\" rejection error messages.\n * @param {Object} value An object that may or may not be `Promise`-like.\n */\n\nfunction silencePromise(value) {\n if (is.promise(value)) {\n value.then(null, () => {});\n }\n}\n\n// ==========================================================================\n\nfunction dedupe(array) {\n if (!is.array(array)) {\n return array;\n }\n\n return array.filter((item, index) => array.indexOf(item) === index);\n} // Get the closest value in an array\n\nfunction closest(array, value) {\n if (!is.array(array) || !array.length) {\n return null;\n }\n\n return array.reduce((prev, curr) => Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev);\n}\n\n// ==========================================================================\n\nfunction supportsCSS(declaration) {\n if (!window || !window.CSS) {\n return false;\n }\n\n return window.CSS.supports(declaration);\n} // Standard/common aspect ratios\n\nconst standardRatios = [[1, 1], [4, 3], [3, 4], [5, 4], [4, 5], [3, 2], [2, 3], [16, 10], [10, 16], [16, 9], [9, 16], [21, 9], [9, 21], [32, 9], [9, 32]].reduce((out, [x, y]) => ({ ...out,\n [x / y]: [x, y]\n}), {}); // Validate an aspect ratio\n\nfunction validateAspectRatio(input) {\n if (!is.array(input) && (!is.string(input) || !input.includes(':'))) {\n return false;\n }\n\n const ratio = is.array(input) ? input : input.split(':');\n return ratio.map(Number).every(is.number);\n} // Reduce an aspect ratio to it's lowest form\n\nfunction reduceAspectRatio(ratio) {\n if (!is.array(ratio) || !ratio.every(is.number)) {\n return null;\n }\n\n const [width, height] = ratio;\n\n const getDivider = (w, h) => h === 0 ? w : getDivider(h, w % h);\n\n const divider = getDivider(width, height);\n return [width / divider, height / divider];\n} // Calculate an aspect ratio\n\nfunction getAspectRatio(input) {\n const parse = ratio => validateAspectRatio(ratio) ? ratio.split(':').map(Number) : null; // Try provided ratio\n\n\n let ratio = parse(input); // Get from config\n\n if (ratio === null) {\n ratio = parse(this.config.ratio);\n } // Get from embed\n\n\n if (ratio === null && !is.empty(this.embed) && is.array(this.embed.ratio)) {\n ({\n ratio\n } = this.embed);\n } // Get from HTML5 video\n\n\n if (ratio === null && this.isHTML5) {\n const {\n videoWidth,\n videoHeight\n } = this.media;\n ratio = [videoWidth, videoHeight];\n }\n\n return reduceAspectRatio(ratio);\n} // Set aspect ratio for responsive container\n\nfunction setAspectRatio(input) {\n if (!this.isVideo) {\n return {};\n }\n\n const {\n wrapper\n } = this.elements;\n const ratio = getAspectRatio.call(this, input);\n\n if (!is.array(ratio)) {\n return {};\n }\n\n const [x, y] = reduceAspectRatio(ratio);\n const useNative = supportsCSS(`aspect-ratio: ${x}/${y}`);\n const padding = 100 / x * y;\n\n if (useNative) {\n wrapper.style.aspectRatio = `${x}/${y}`;\n } else {\n wrapper.style.paddingBottom = `${padding}%`;\n } // For Vimeo we have an extra
to hide the standard controls and UI\n\n\n if (this.isVimeo && !this.config.vimeo.premium && this.supported.ui) {\n const height = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10);\n const offset = (height - padding) / (height / 50);\n\n if (this.fullscreen.active) {\n wrapper.style.paddingBottom = null;\n } else {\n this.media.style.transform = `translateY(-${offset}%)`;\n }\n } else if (this.isHTML5) {\n wrapper.classList.add(this.config.classNames.videoFixedRatio);\n }\n\n return {\n padding,\n ratio\n };\n} // Round an aspect ratio to closest standard ratio\n\nfunction roundAspectRatio(x, y, tolerance = 0.05) {\n const ratio = x / y;\n const closestRatio = closest(Object.keys(standardRatios), ratio); // Check match is within tolerance\n\n if (Math.abs(closestRatio - ratio) <= tolerance) {\n return standardRatios[closestRatio];\n } // No match\n\n\n return [x, y];\n} // Get the size of the viewport\n// https://stackoverflow.com/questions/1248081/how-to-get-the-browser-viewport-dimensions\n\nfunction getViewportSize() {\n const width = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);\n const height = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);\n return [width, height];\n}\n\n// ==========================================================================\nconst html5 = {\n getSources() {\n if (!this.isHTML5) {\n return [];\n }\n\n const sources = Array.from(this.media.querySelectorAll('source')); // Filter out unsupported sources (if type is specified)\n\n return sources.filter(source => {\n const type = source.getAttribute('type');\n\n if (is.empty(type)) {\n return true;\n }\n\n return support.mime.call(this, type);\n });\n },\n\n // Get quality levels\n getQualityOptions() {\n // Whether we're forcing all options (e.g. for streaming)\n if (this.config.quality.forced) {\n return this.config.quality.options;\n } // Get sizes from elements\n\n\n return html5.getSources.call(this).map(source => Number(source.getAttribute('data-res'))).filter(Boolean);\n },\n\n setup() {\n if (!this.isHTML5) {\n return;\n }\n\n const player = this; // Set speed options from config\n\n player.options.speed = player.config.speed.options; // Set aspect ratio if fixed\n\n if (!is.empty(this.config.ratio)) {\n setAspectRatio.call(player);\n } // Quality\n\n\n Object.defineProperty(player.media, 'quality', {\n get() {\n // Get sources\n const sources = html5.getSources.call(player);\n const source = sources.find(s => s.getAttribute('src') === player.source); // Return size, if match is found\n\n return source && Number(source.getAttribute('data-res'));\n },\n\n set(input) {\n if (player.quality === input) {\n return;\n } // If we're using an external handler...\n\n\n if (player.config.quality.forced && is.function(player.config.quality.onChange)) {\n player.config.quality.onChange(input);\n } else {\n // Get sources\n const sources = html5.getSources.call(player); // Get first match for requested size\n\n const source = sources.find(s => Number(s.getAttribute('data-res')) === input); // No matching source found\n\n if (!source) {\n return;\n } // Get current state\n\n\n const {\n currentTime,\n paused,\n preload,\n readyState,\n playbackRate\n } = player.media; // Set new source\n\n player.media.src = source.getAttribute('src'); // Prevent loading if preload=\"none\" and the current source isn't loaded (#1044)\n\n if (preload !== 'none' || readyState) {\n // Restore time\n player.once('loadedmetadata', () => {\n player.speed = playbackRate;\n player.currentTime = currentTime; // Resume playing\n\n if (!paused) {\n silencePromise(player.play());\n }\n }); // Load new source\n\n player.media.load();\n }\n } // Trigger change event\n\n\n triggerEvent.call(player, player.media, 'qualitychange', false, {\n quality: input\n });\n }\n\n });\n },\n\n // Cancel current network requests\n // See https://github.com/sampotts/plyr/issues/174\n cancelRequests() {\n if (!this.isHTML5) {\n return;\n } // Remove child sources\n\n\n removeElement(html5.getSources.call(this)); // Set blank video src attribute\n // This is to prevent a MEDIA_ERR_SRC_NOT_SUPPORTED error\n // Info: http://stackoverflow.com/questions/32231579/how-to-properly-dispose-of-an-html5-video-and-close-socket-or-connection\n\n this.media.setAttribute('src', this.config.blankVideo); // Load the new empty source\n // This will cancel existing requests\n // See https://github.com/sampotts/plyr/issues/174\n\n this.media.load(); // Debugging\n\n this.debug.log('Cancelled network requests');\n }\n\n};\n\n// ==========================================================================\n\nfunction generateId(prefix) {\n return `${prefix}-${Math.floor(Math.random() * 10000)}`;\n} // Format string\n\nfunction format(input, ...args) {\n if (is.empty(input)) {\n return input;\n }\n\n return input.toString().replace(/{(\\d+)}/g, (match, i) => args[i].toString());\n} // Get percentage\n\nfunction getPercentage(current, max) {\n if (current === 0 || max === 0 || Number.isNaN(current) || Number.isNaN(max)) {\n return 0;\n }\n\n return (current / max * 100).toFixed(2);\n} // Replace all occurances of a string in a string\n\nconst replaceAll = (input = '', find = '', replace = '') => input.replace(new RegExp(find.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, '\\\\$1'), 'g'), replace.toString()); // Convert to title case\n\nconst toTitleCase = (input = '') => input.toString().replace(/\\w\\S*/g, text => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase()); // Convert string to pascalCase\n\nfunction toPascalCase(input = '') {\n let string = input.toString(); // Convert kebab case\n\n string = replaceAll(string, '-', ' '); // Convert snake case\n\n string = replaceAll(string, '_', ' '); // Convert to title case\n\n string = toTitleCase(string); // Convert to pascal case\n\n return replaceAll(string, ' ', '');\n} // Convert string to pascalCase\n\nfunction toCamelCase(input = '') {\n let string = input.toString(); // Convert to pascal case\n\n string = toPascalCase(string); // Convert first character to lowercase\n\n return string.charAt(0).toLowerCase() + string.slice(1);\n} // Remove HTML from a string\n\nfunction stripHTML(source) {\n const fragment = document.createDocumentFragment();\n const element = document.createElement('div');\n fragment.appendChild(element);\n element.innerHTML = source;\n return fragment.firstChild.innerText;\n} // Like outerHTML, but also works for DocumentFragment\n\nfunction getHTML(element) {\n const wrapper = document.createElement('div');\n wrapper.appendChild(element);\n return wrapper.innerHTML;\n}\n\n// ==========================================================================\n\nconst resources = {\n pip: 'PIP',\n airplay: 'AirPlay',\n html5: 'HTML5',\n vimeo: 'Vimeo',\n youtube: 'YouTube'\n};\nconst i18n = {\n get(key = '', config = {}) {\n if (is.empty(key) || is.empty(config)) {\n return '';\n }\n\n let string = getDeep(config.i18n, key);\n\n if (is.empty(string)) {\n if (Object.keys(resources).includes(key)) {\n return resources[key];\n }\n\n return '';\n }\n\n const replace = {\n '{seektime}': config.seekTime,\n '{title}': config.title\n };\n Object.entries(replace).forEach(([k, v]) => {\n string = replaceAll(string, k, v);\n });\n return string;\n }\n\n};\n\nclass Storage {\n constructor(player) {\n _defineProperty$1(this, \"get\", key => {\n if (!Storage.supported || !this.enabled) {\n return null;\n }\n\n const store = window.localStorage.getItem(this.key);\n\n if (is.empty(store)) {\n return null;\n }\n\n const json = JSON.parse(store);\n return is.string(key) && key.length ? json[key] : json;\n });\n\n _defineProperty$1(this, \"set\", object => {\n // Bail if we don't have localStorage support or it's disabled\n if (!Storage.supported || !this.enabled) {\n return;\n } // Can only store objectst\n\n\n if (!is.object(object)) {\n return;\n } // Get current storage\n\n\n let storage = this.get(); // Default to empty object\n\n if (is.empty(storage)) {\n storage = {};\n } // Update the working copy of the values\n\n\n extend(storage, object); // Update storage\n\n try {\n window.localStorage.setItem(this.key, JSON.stringify(storage));\n } catch (_) {// Do nothing\n }\n });\n\n this.enabled = player.config.storage.enabled;\n this.key = player.config.storage.key;\n } // Check for actual support (see if we can use it)\n\n\n static get supported() {\n try {\n if (!('localStorage' in window)) {\n return false;\n }\n\n const test = '___test'; // Try to use it (it might be disabled, e.g. user is in private mode)\n // see: https://github.com/sampotts/plyr/issues/131\n\n window.localStorage.setItem(test, test);\n window.localStorage.removeItem(test);\n return true;\n } catch (_) {\n return false;\n }\n }\n\n}\n\n// ==========================================================================\n// Fetch wrapper\n// Using XHR to avoid issues with older browsers\n// ==========================================================================\nfunction fetch(url, responseType = 'text') {\n return new Promise((resolve, reject) => {\n try {\n const request = new XMLHttpRequest(); // Check for CORS support\n\n if (!('withCredentials' in request)) {\n return;\n }\n\n request.addEventListener('load', () => {\n if (responseType === 'text') {\n try {\n resolve(JSON.parse(request.responseText));\n } catch (_) {\n resolve(request.responseText);\n }\n } else {\n resolve(request.response);\n }\n });\n request.addEventListener('error', () => {\n throw new Error(request.status);\n });\n request.open('GET', url, true); // Set the required response type\n\n request.responseType = responseType;\n request.send();\n } catch (error) {\n reject(error);\n }\n });\n}\n\n// ==========================================================================\n\nfunction loadSprite(url, id) {\n if (!is.string(url)) {\n return;\n }\n\n const prefix = 'cache';\n const hasId = is.string(id);\n let isCached = false;\n\n const exists = () => document.getElementById(id) !== null;\n\n const update = (container, data) => {\n // eslint-disable-next-line no-param-reassign\n container.innerHTML = data; // Check again incase of race condition\n\n if (hasId && exists()) {\n return;\n } // Inject the SVG to the body\n\n\n document.body.insertAdjacentElement('afterbegin', container);\n }; // Only load once if ID set\n\n\n if (!hasId || !exists()) {\n const useStorage = Storage.supported; // Create container\n\n const container = document.createElement('div');\n container.setAttribute('hidden', '');\n\n if (hasId) {\n container.setAttribute('id', id);\n } // Check in cache\n\n\n if (useStorage) {\n const cached = window.localStorage.getItem(`${prefix}-${id}`);\n isCached = cached !== null;\n\n if (isCached) {\n const data = JSON.parse(cached);\n update(container, data.content);\n }\n } // Get the sprite\n\n\n fetch(url).then(result => {\n if (is.empty(result)) {\n return;\n }\n\n if (useStorage) {\n try {\n window.localStorage.setItem(`${prefix}-${id}`, JSON.stringify({\n content: result\n }));\n } catch (_) {// Do nothing\n }\n }\n\n update(container, result);\n }).catch(() => {});\n }\n}\n\n// ==========================================================================\n\nconst getHours = value => Math.trunc(value / 60 / 60 % 60, 10);\nconst getMinutes = value => Math.trunc(value / 60 % 60, 10);\nconst getSeconds = value => Math.trunc(value % 60, 10); // Format time to UI friendly string\n\nfunction formatTime(time = 0, displayHours = false, inverted = false) {\n // Bail if the value isn't a number\n if (!is.number(time)) {\n return formatTime(undefined, displayHours, inverted);\n } // Format time component to add leading zero\n\n\n const format = value => `0${value}`.slice(-2); // Breakdown to hours, mins, secs\n\n\n let hours = getHours(time);\n const mins = getMinutes(time);\n const secs = getSeconds(time); // Do we need to display hours?\n\n if (displayHours || hours > 0) {\n hours = `${hours}:`;\n } else {\n hours = '';\n } // Render\n\n\n return `${inverted && time > 0 ? '-' : ''}${hours}${format(mins)}:${format(secs)}`;\n}\n\n// ==========================================================================\n\nconst controls = {\n // Get icon URL\n getIconUrl() {\n const url = new URL(this.config.iconUrl, window.location);\n const host = window.location.host ? window.location.host : window.top.location.host;\n const cors = url.host !== host || browser.isIE && !window.svg4everybody;\n return {\n url: this.config.iconUrl,\n cors\n };\n },\n\n // Find the UI controls\n findElements() {\n try {\n this.elements.controls = getElement.call(this, this.config.selectors.controls.wrapper); // Buttons\n\n this.elements.buttons = {\n play: getElements.call(this, this.config.selectors.buttons.play),\n pause: getElement.call(this, this.config.selectors.buttons.pause),\n restart: getElement.call(this, this.config.selectors.buttons.restart),\n rewind: getElement.call(this, this.config.selectors.buttons.rewind),\n fastForward: getElement.call(this, this.config.selectors.buttons.fastForward),\n mute: getElement.call(this, this.config.selectors.buttons.mute),\n pip: getElement.call(this, this.config.selectors.buttons.pip),\n airplay: getElement.call(this, this.config.selectors.buttons.airplay),\n settings: getElement.call(this, this.config.selectors.buttons.settings),\n captions: getElement.call(this, this.config.selectors.buttons.captions),\n fullscreen: getElement.call(this, this.config.selectors.buttons.fullscreen)\n }; // Progress\n\n this.elements.progress = getElement.call(this, this.config.selectors.progress); // Inputs\n\n this.elements.inputs = {\n seek: getElement.call(this, this.config.selectors.inputs.seek),\n volume: getElement.call(this, this.config.selectors.inputs.volume)\n }; // Display\n\n this.elements.display = {\n buffer: getElement.call(this, this.config.selectors.display.buffer),\n currentTime: getElement.call(this, this.config.selectors.display.currentTime),\n duration: getElement.call(this, this.config.selectors.display.duration)\n }; // Seek tooltip\n\n if (is.element(this.elements.progress)) {\n this.elements.display.seekTooltip = this.elements.progress.querySelector(`.${this.config.classNames.tooltip}`);\n }\n\n return true;\n } catch (error) {\n // Log it\n this.debug.warn('It looks like there is a problem with your custom controls HTML', error); // Restore native video controls\n\n this.toggleNativeControls(true);\n return false;\n }\n },\n\n // Create icon\n createIcon(type, attributes) {\n const namespace = 'http://www.w3.org/2000/svg';\n const iconUrl = controls.getIconUrl.call(this);\n const iconPath = `${!iconUrl.cors ? iconUrl.url : ''}#${this.config.iconPrefix}`; // Create \n\n const icon = document.createElementNS(namespace, 'svg');\n setAttributes(icon, extend(attributes, {\n 'aria-hidden': 'true',\n focusable: 'false'\n })); // Create the to reference sprite\n\n const use = document.createElementNS(namespace, 'use');\n const path = `${iconPath}-${type}`; // Set `href` attributes\n // https://github.com/sampotts/plyr/issues/460\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/xlink:href\n\n if ('href' in use) {\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'href', path);\n } // Always set the older attribute even though it's \"deprecated\" (it'll be around for ages)\n\n\n use.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', path); // Add to \n\n icon.appendChild(use);\n return icon;\n },\n\n // Create hidden text label\n createLabel(key, attr = {}) {\n const text = i18n.get(key, this.config);\n const attributes = { ...attr,\n class: [attr.class, this.config.classNames.hidden].filter(Boolean).join(' ')\n };\n return createElement('span', attributes, text);\n },\n\n // Create a badge\n createBadge(text) {\n if (is.empty(text)) {\n return null;\n }\n\n const badge = createElement('span', {\n class: this.config.classNames.menu.value\n });\n badge.appendChild(createElement('span', {\n class: this.config.classNames.menu.badge\n }, text));\n return badge;\n },\n\n // Create a
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(player.config.attributes.embed.id); // hash can also be set as attribute on the
\n\n hash = player.media.getAttribute(player.config.attributes.embed.hash);\n } else {\n hash = parseHash(source);\n }\n\n const hashParam = hash ? {\n h: hash\n } : {}; // If the owner has a pro or premium account then we can hide controls etc\n\n if (premium) {\n Object.assign(frameParams, {\n controls: false,\n sidedock: false\n });\n } // Get Vimeo params for the iframe\n\n\n const params = buildUrlParams({\n loop: player.config.loop.active,\n autoplay: player.autoplay,\n muted: player.muted,\n gesture: 'media',\n playsinline: !this.config.fullscreen.iosNative,\n // hash has to be added to iframe-URL\n ...hashParam,\n ...frameParams\n });\n const id = parseId$1(source); // Build an iframe\n\n const iframe = createElement('iframe');\n const src = format(player.config.urls.vimeo.iframe, id, params);\n iframe.setAttribute('src', src);\n iframe.setAttribute('allowfullscreen', '');\n iframe.setAttribute('allow', ['autoplay', 'fullscreen', 'picture-in-picture', 'encrypted-media', 'accelerometer', 'gyroscope'].join('; ')); // Set the referrer policy if required\n\n if (!is.empty(referrerPolicy)) {\n iframe.setAttribute('referrerPolicy', referrerPolicy);\n } // Inject the package\n\n\n if (premium || !config.customControls) {\n iframe.setAttribute('data-poster', player.poster);\n player.media = replaceElement(iframe, player.media);\n } else {\n const wrapper = createElement('div', {\n class: player.config.classNames.embedContainer,\n 'data-poster': player.poster\n });\n wrapper.appendChild(iframe);\n player.media = replaceElement(wrapper, player.media);\n } // Get poster image\n\n\n if (!config.customControls) {\n fetch(format(player.config.urls.vimeo.api, src)).then(response => {\n if (is.empty(response) || !response.thumbnail_url) {\n return;\n } // Set and show poster\n\n\n ui.setPoster.call(player, response.thumbnail_url).catch(() => {});\n });\n } // Setup instance\n // https://github.com/vimeo/player.js\n\n\n player.embed = new window.Vimeo.Player(iframe, {\n autopause: player.config.autopause,\n muted: player.muted\n });\n player.media.paused = true;\n player.media.currentTime = 0; // Disable native text track rendering\n\n if (player.supported.ui) {\n player.embed.disableTextTrack();\n } // Create a faux HTML5 API using the Vimeo API\n\n\n player.media.play = () => {\n assurePlaybackState$1.call(player, true);\n return player.embed.play();\n };\n\n player.media.pause = () => {\n assurePlaybackState$1.call(player, false);\n return player.embed.pause();\n };\n\n player.media.stop = () => {\n player.pause();\n player.currentTime = 0;\n }; // Seeking\n\n\n let {\n currentTime\n } = player.media;\n Object.defineProperty(player.media, 'currentTime', {\n get() {\n return currentTime;\n },\n\n set(time) {\n // Vimeo will automatically play on seek if the video hasn't been played before\n // Get current paused state and volume etc\n const {\n embed,\n media,\n paused,\n volume\n } = player;\n const restorePause = paused && !embed.hasPlayed; // Set seeking state and trigger event\n\n media.seeking = true;\n triggerEvent.call(player, media, 'seeking'); // If paused, mute until seek is complete\n\n Promise.resolve(restorePause && embed.setVolume(0)) // Seek\n .then(() => embed.setCurrentTime(time)) // Restore paused\n .then(() => restorePause && embed.pause()) // Restore volume\n .then(() => restorePause && embed.setVolume(volume)).catch(() => {// Do nothing\n });\n }\n\n }); // Playback speed\n\n let speed = player.config.speed.selected;\n Object.defineProperty(player.media, 'playbackRate', {\n get() {\n return speed;\n },\n\n set(input) {\n player.embed.setPlaybackRate(input).then(() => {\n speed = input;\n triggerEvent.call(player, player.media, 'ratechange');\n }).catch(() => {\n // Cannot set Playback Rate, Video is probably not on Pro account\n player.options.speed = [1];\n });\n }\n\n }); // Volume\n\n let {\n volume\n } = player.config;\n Object.defineProperty(player.media, 'volume', {\n get() {\n return volume;\n },\n\n set(input) {\n player.embed.setVolume(input).then(() => {\n volume = input;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Muted\n\n let {\n muted\n } = player.config;\n Object.defineProperty(player.media, 'muted', {\n get() {\n return muted;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : false;\n player.embed.setVolume(toggle ? 0 : player.config.volume).then(() => {\n muted = toggle;\n triggerEvent.call(player, player.media, 'volumechange');\n });\n }\n\n }); // Loop\n\n let {\n loop\n } = player.config;\n Object.defineProperty(player.media, 'loop', {\n get() {\n return loop;\n },\n\n set(input) {\n const toggle = is.boolean(input) ? input : player.config.loop.active;\n player.embed.setLoop(toggle).then(() => {\n loop = toggle;\n });\n }\n\n }); // Source\n\n let currentSrc;\n player.embed.getVideoUrl().then(value => {\n currentSrc = value;\n controls.setDownloadUrl.call(player);\n }).catch(error => {\n this.debug.warn(error);\n });\n Object.defineProperty(player.media, 'currentSrc', {\n get() {\n return currentSrc;\n }\n\n }); // Ended\n\n Object.defineProperty(player.media, 'ended', {\n get() {\n return player.currentTime === player.duration;\n }\n\n }); // Set aspect ratio based on video size\n\n Promise.all([player.embed.getVideoWidth(), player.embed.getVideoHeight()]).then(dimensions => {\n const [width, height] = dimensions;\n player.embed.ratio = roundAspectRatio(width, height);\n setAspectRatio.call(this);\n }); // Set autopause\n\n player.embed.setAutopause(player.config.autopause).then(state => {\n player.config.autopause = state;\n }); // Get title\n\n player.embed.getVideoTitle().then(title => {\n player.config.title = title;\n ui.setTitle.call(this);\n }); // Get current time\n\n player.embed.getCurrentTime().then(value => {\n currentTime = value;\n triggerEvent.call(player, player.media, 'timeupdate');\n }); // Get duration\n\n player.embed.getDuration().then(value => {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }); // Get captions\n\n player.embed.getTextTracks().then(tracks => {\n player.media.textTracks = tracks;\n captions.setup.call(player);\n });\n player.embed.on('cuechange', ({\n cues = []\n }) => {\n const strippedCues = cues.map(cue => stripHTML(cue.text));\n captions.updateCues.call(player, strippedCues);\n });\n player.embed.on('loaded', () => {\n // Assure state and events are updated on autoplay\n player.embed.getPaused().then(paused => {\n assurePlaybackState$1.call(player, !paused);\n\n if (!paused) {\n triggerEvent.call(player, player.media, 'playing');\n }\n });\n\n if (is.element(player.embed.element) && player.supported.ui) {\n const frame = player.embed.element; // Fix keyboard focus issues\n // https://github.com/sampotts/plyr/issues/317\n\n frame.setAttribute('tabindex', -1);\n }\n });\n player.embed.on('bufferstart', () => {\n triggerEvent.call(player, player.media, 'waiting');\n });\n player.embed.on('bufferend', () => {\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('play', () => {\n assurePlaybackState$1.call(player, true);\n triggerEvent.call(player, player.media, 'playing');\n });\n player.embed.on('pause', () => {\n assurePlaybackState$1.call(player, false);\n });\n player.embed.on('timeupdate', data => {\n player.media.seeking = false;\n currentTime = data.seconds;\n triggerEvent.call(player, player.media, 'timeupdate');\n });\n player.embed.on('progress', data => {\n player.media.buffered = data.percent;\n triggerEvent.call(player, player.media, 'progress'); // Check all loaded\n\n if (parseInt(data.percent, 10) === 1) {\n triggerEvent.call(player, player.media, 'canplaythrough');\n } // Get duration as if we do it before load, it gives an incorrect value\n // https://github.com/sampotts/plyr/issues/891\n\n\n player.embed.getDuration().then(value => {\n if (value !== player.media.duration) {\n player.media.duration = value;\n triggerEvent.call(player, player.media, 'durationchange');\n }\n });\n });\n player.embed.on('seeked', () => {\n player.media.seeking = false;\n triggerEvent.call(player, player.media, 'seeked');\n });\n player.embed.on('ended', () => {\n player.media.paused = true;\n triggerEvent.call(player, player.media, 'ended');\n });\n player.embed.on('error', detail => {\n player.media.error = detail;\n triggerEvent.call(player, player.media, 'error');\n }); // Rebuild UI\n\n if (config.customControls) {\n setTimeout(() => ui.build.call(player), 0);\n }\n }\n\n};\n\n// ==========================================================================\n\nfunction parseId(url) {\n if (is.empty(url)) {\n return null;\n }\n\n const regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/;\n return url.match(regex) ? RegExp.$2 : url;\n} // Set playback state and trigger change (only on actual change)\n\n\nfunction assurePlaybackState(play) {\n if (play && !this.embed.hasPlayed) {\n this.embed.hasPlayed = true;\n }\n\n if (this.media.paused === play) {\n this.media.paused = !play;\n triggerEvent.call(this, this.media, play ? 'play' : 'pause');\n }\n}\n\nfunction getHost(config) {\n if (config.noCookie) {\n return 'https://www.youtube-nocookie.com';\n }\n\n if (window.location.protocol === 'http:') {\n return 'http://www.youtube.com';\n } // Use YouTube's default\n\n\n return undefined;\n}\n\nconst youtube = {\n setup() {\n // Add embed class for responsive\n toggleClass(this.elements.wrapper, this.config.classNames.embed, true); // Setup API\n\n if (is.object(window.YT) && is.function(window.YT.Player)) {\n youtube.ready.call(this);\n } else {\n // Reference current global callback\n const callback = window.onYouTubeIframeAPIReady; // Set callback to process queue\n\n window.onYouTubeIframeAPIReady = () => {\n // Call global callback if set\n if (is.function(callback)) {\n callback();\n }\n\n youtube.ready.call(this);\n }; // Load the SDK\n\n\n loadScript(this.config.urls.youtube.sdk).catch(error => {\n this.debug.warn('YouTube API failed to load', error);\n });\n }\n },\n\n // Get the media title\n getTitle(videoId) {\n const url = format(this.config.urls.youtube.api, videoId);\n fetch(url).then(data => {\n if (is.object(data)) {\n const {\n title,\n height,\n width\n } = data; // Set title\n\n this.config.title = title;\n ui.setTitle.call(this); // Set aspect ratio\n\n this.embed.ratio = roundAspectRatio(width, height);\n }\n\n setAspectRatio.call(this);\n }).catch(() => {\n // Set aspect ratio\n setAspectRatio.call(this);\n });\n },\n\n // API ready\n ready() {\n const player = this;\n const config = player.config.youtube; // Ignore already setup (race condition)\n\n const currentId = player.media && player.media.getAttribute('id');\n\n if (!is.empty(currentId) && currentId.startsWith('youtube-')) {\n return;\n } // Get the source URL or ID\n\n\n let source = player.media.getAttribute('src'); // Get from
if needed\n\n if (is.empty(source)) {\n source = player.media.getAttribute(this.config.attributes.embed.id);\n } // Replace the