{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/TopBar.vue?d4bd","webpack:///./src/components/QuestionPage.vue?4c8e","webpack:///./src/App.vue?84d6","webpack:///./src/util/herdsric-statistic.js","webpack:///./src/util/nav-controller.js","webpack:///./src/util/rem.js","webpack:///./src/components/HomePage.vue?3a41","webpack:///./src/components/TopBar.vue?32ce","webpack:///src/components/TopBar.vue","webpack:///./src/components/TopBar.vue?4287","webpack:///./src/components/TopBar.vue?3951","webpack:///src/components/HomePage.vue","webpack:///./src/components/HomePage.vue?d46a","webpack:///./src/components/HomePage.vue?705f","webpack:///./src/components/QuestionPage.vue?aabf","webpack:///src/components/QuestionPage.vue","webpack:///./src/components/QuestionPage.vue?5709","webpack:///./src/components/QuestionPage.vue?0f03","webpack:///./src/components/AnnouncePage.vue?dbf5","webpack:///src/components/AnnouncePage.vue","webpack:///./src/components/AnnouncePage.vue?1ae1","webpack:///./src/components/AnnouncePage.vue?32b3","webpack:///./src/components/DetailsPage.vue?a0fc","webpack:///src/components/DetailsPage.vue","webpack:///./src/components/DetailsPage.vue?6655","webpack:///./src/components/DetailsPage.vue?62da","webpack:///./src/components/LoginPage.vue?5d18","webpack:///./src/components/MemberInfo.vue?233e","webpack:///src/components/MemberInfo.vue","webpack:///./src/components/MemberInfo.vue?f136","webpack:///./src/components/MemberInfo.vue?c619","webpack:///./src/components/LoginHint.vue?2b1e","webpack:///src/components/LoginHint.vue","webpack:///./src/components/LoginHint.vue?e6a8","webpack:///./src/components/LoginHint.vue?1ccc","webpack:///./src/components/FormTest.vue?c6ee","webpack:///src/components/FormTest.vue","webpack:///./src/components/FormTest.vue?f688","webpack:///./src/components/FormTest.vue","webpack:///./src/util/util.js","webpack:///./src/request/axios.js","webpack:///./src/util/http.js","webpack:///./src/request/api.js","webpack:///src/components/LoginPage.vue","webpack:///./src/components/LoginPage.vue?4885","webpack:///./src/components/LoginPage.vue?d74e","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue?bff9","webpack:///./src/util/soundjs.js","webpack:///./src/util/store.js","webpack:///./src/main.js","webpack:///./src/App.vue?bcb1","webpack:///./src/components/DetailsPage.vue?fc54","webpack:///./src/components/MemberInfo.vue?a38b","webpack:///./src/components/LoginPage.vue?9ca9","webpack:///./src/components/HomePage.vue?07bb","webpack:///./src/components/LoginHint.vue?cbd2","webpack:///./src/components/AnnouncePage.vue?1ac5"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","app","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TopBar_vue_vue_type_style_index_0_id_32d642ce_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TopBar_vue_vue_type_style_index_0_id_32d642ce_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionPage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QuestionPage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","Appvue_type_template_id_4fac5c1a_render","_vm","this","_h","$createElement","_c","_self","style","height","windowHeight","attrs","id","pageShowNum","ref","isPhone","on","changeTab","handleChangeTab","_e","screenFix","staticRenderFns","statisticsAll","action","label","opt","arguments","undefined","option","category","g","b","hmtPush","_hmt","assign","navController","isIE","isAndroid","isIos","isWX","isDD","isKB","isWB","isQQSpace","isWebApp","isMac","isEdge","isQQBrowser","isMobile","isIpad","isPC","init","u","navigator","userAgent","v","trident","indexOf","presto","webKit","gecko","mobile","match","ios","android","iPhone","iPad","webApp","mac","edge","qqBrowser","ua","toLowerCase","getWindowSize","width","wBody","hBody","wDocument","hDocument","wWindow","hWindow","body","document","clientWidth","clientHeight","documentElement","innerWidth","innerHeight","HomePagevue_type_template_id_dd613b28_render","staticClass","class","tabIndex","click","$event","src","bannerImg","alt","bannerArrowPhoneImg","bannerArrowImg","bannerBottomArrowImg","model1BgImg","model1TitleImg","model2BgImg","model2TitleBgImg","_v","model2BlankBgImg","_m","model3BgImg","model3TitleBgImg","model3BlankBgImg","model3BlankAlone1Img","model3BlankAlone2Img","model3BlankAlone3Img","model4BgImg","model4BlankPhoneBgImg","model4BlankBgImg","model4prizeImg","model8BgImg","model8CardBgImg","model5BgImg","gameFlowLinePhoneImg","gameFlowLineImg","gameFlow1Img","gameFlow2Img","gameFlow3Img","model6TitleBgImg","model6InfoTitleBgImg","model6BtnBgImg","model6BtnImg","goLogin","model7BgImg","jumpLinkedin","model7MenuImg1","model7MenuImg2","openDouyin","model7MenuImg3","staticStyle","opacity","jumpOfficialWebsite","jumpTab","jumpPolicy","closeDouyin","douyinBigImg","HomePagevue_type_template_id_dd613b28_staticRenderFns","TopBarvue_type_template_id_32d642ce_scoped_true_render","topBarLogoImg","jumpToHaojie","backPageImg","TopBarvue_type_template_id_32d642ce_scoped_true_staticRenderFns","TopBarvue_type_script_lang_js_","props","components","computed","created","mounted","methods","statisticsEvent","location","href","index","concat","$emit","showHint","message","toast","duration","forbidClick","console","log","herdsric_statistic","components_TopBarvue_type_script_lang_js_","component","componentNormalizer","TopBar","HomePagevue_type_script_lang_js_","showDouyin","swiperOptions","pagination","el","model4prize1Img","model4prize2Img","model4prize3Img","vue_awesome_swiper","direction","loop","allowTouchMove","observer","observeParents","observeSlideChildren","components_HomePagevue_type_script_lang_js_","HomePage_component","HomePage","QuestionPagevue_type_template_id_70c0f246_render","questionPhoneBgImg","questionBgImg","_l","item","isOpen","openQuestion","_s","questionTopArrowImg","question","refInFor","item2","index2","qrcodeImg","QuestionPagevue_type_template_id_70c0f246_staticRenderFns","QuestionPagevue_type_script_lang_js_","qussitonArr","answer","_this","$nextTick","getquestionWrapperHeight","_this2","forEach","element","$refs","answerContainer","offsetHeight","components_QuestionPagevue_type_script_lang_js_","QuestionPage_component","QuestionPage","AnnouncePagevue_type_template_id_0434477a_render","announcePhoneBgImg","announceBgImg","announceArr","announceInfoDataTrueBgImg","announceInfoDataBgImg","text","AnnouncePagevue_type_template_id_0434477a_staticRenderFns","AnnouncePagevue_type_script_lang_js_","components_AnnouncePagevue_type_script_lang_js_","AnnouncePage_component","AnnouncePage","DetailsPagevue_type_template_id_af2f1258_render","mobileBgImg","pcBgImg","closeSwiperImg","previewBigImg","DetailsPagevue_type_template_id_af2f1258_staticRenderFns","vm","DetailsPagevue_type_script_lang_js_","swiperImgList","swiperImg1","swiperImg2","swiperImg3","swiperImg4","swiperImg5","swiperImg6","swiperImg7","showSwiperImg","detailsSwiper","autoplay","disableOnInteraction","speed","spaceBetween","clickable","realIndex","onSwiperClick","stop","values","start","components_DetailsPagevue_type_script_lang_js_","DetailsPage_component","DetailsPage","LoginPagevue_type_template_id_5c55ed20_scoped_true_render","phone","backgroundImage","bg8Src","joinFormSrc1","joinFormSrc","touchmove","scrollHander","mousewheel","model","callback","$$v","areaTypeSelected","expression","icon-size","shape","scopedSlots","_u","fn","checked","activeIcon","inactiveIcon","checkAll","member1Check","title","isFirst","changeArrow","handleChangeArrow","visibilitychange","visibleHandler","directives","rawName","showDownArrow","showArrow","downArrowImg","submitHandler","submitImg","show","hintInfo","buttonType","hintback","hintBackHandler","hintok","hintOkHandler","LoginPagevue_type_template_id_5c55ed20_scoped_true_staticRenderFns","MemberInfovue_type_template_id_4a6f5755_scoped_true_render","submit","onSubmit","gutter","span","placeholder","rules","teamRule","focus","inputFocus","blur","inputBlur","teamName","nameRule","submitInfo","$set","schoolRule","no-val","isBirthPlaceholderShow","type","min","max","domProps","birthOnFocusHandler","birthOnBlurHandler","input","target","composing","mailRule","select--default","isStudyDefault","change","$$selectedVal","Array","filter","options","selected","map","val","_value","multiple","disabled","education","mobileRule","isYearDefault","year","isSexDefault","sex","MemberInfovue_type_template_id_4a6f5755_scoped_true_staticRenderFns","studyOptions","yearOptions","sexOptions","MemberInfovue_type_script_lang_js_","String","Boolean","default","test","school","birthday","email","birthFocus","checkResult","showBirthHint","showStudyHint","showYearHint","showSexHint","require","required","validator","checkingMobile","checkingEmail","submitTeamName","Promise","res","rej","form","_this$submitInfo","checkBirth","checkStudy","checkYear","checkSex","setTimeout","info","checkEmpty","validatorMobile","validatorEmail","JSON","stringify","allEmpty","components_MemberInfovue_type_script_lang_js_","MemberInfo_component","MemberInfo","LoginHintvue_type_template_id_cf59006e_scoped_true_render","btn-wrapper--multi","backHandler","btnBackSrc","okHandler","btnOkSrc","LoginHintvue_type_template_id_cf59006e_scoped_true_staticRenderFns","publicPath","LoginHintvue_type_script_lang_js_","Number","components_LoginHintvue_type_script_lang_js_","LoginHint_component","LoginHint","FormTestvue_type_template_id_a0483358_scoped_true_render","aaa","password","margin","round","block","native-type","FormTestvue_type_template_id_a0483358_scoped_true_staticRenderFns","FormTestvue_type_script_lang_js_","f","components_FormTestvue_type_script_lang_js_","FormTest_component","FormTest","throttle","func","wait","timeout","context","args","axios","defaults","baseURL","withCredentials","requests","createRequestId","config","url","method","removeRequest","req","find","cancel","showToast","Toast","interceptors","request","use","cancelToken","CancelToken","error","reject","response","clear","service","process","headers","save","query","http","LoginPagevue_type_script_lang_js_publicPath","LoginPagevue_type_script_lang_js_","scrollLock","member1","birth","studySelected","yearsSelected","e","beginScroll","joinform","addEventListener","ev","clearTimeout","ele","inputscroll","eleP","_ele$getBoundingClien","getBoundingClientRect","childHeight","childTop","top","parentHeight","_hintOkHandler","asyncToGenerator","regeneratorRuntime","mark","_callee","m1","m2","m3","requestParam","wrap","_context","prev","next","sent","member2","member3","parseInt","bwMsg","api_save","code","msg","t0","_submitHandler","_callee2","_context2","abrupt","checkSubmitResult","detail","result1","result2","result3","ret","components_LoginPagevue_type_script_lang_js_","LoginPage_component","LoginPage","Appvue_type_script_lang_js_","musicPlaying","isAppt","showLoginPage","screenFixHeight","backgroundInfo","loadComplete","instance","longTapImg","bgMp3","musicBrnImg","screenHeight","screenWidth","_mounted","_getWindowSize","checkSceen","onresize","questionPage","setProperty","Math","ceil","sqrt","appVersion","event","includes","localName","scrollIntoView","store","state","getQueryVariable","variable","search","substring","vars","split","pair","handleInputFocus","handleInputBlur","cutString","str","len","strlen","charAt","charCodeAt","musicChange","backgroundMusicPauseHandler","backgroundMusicPlayHandler","startPlayBackgroundMusic","createjs","Sound","registerSound","intervalInstance","setInterval","clearInterval","play","setBackgroundMusicPlaying","initBackgroundMusic","loadHandler","alternateExtensions","appInstance","nav_controller","setBackgroundMusicPause","paused","src_Appvue_type_script_lang_js_","App_component","App","SoundJS","version","buildDate","extend","subclass","superclass","constructor","promote","prefix","subP","supP","getPrototypeOf","__proto__","deprecate","fallbackMethod","warn","array","searchElement","proxy","scope","aArgs","BrowserDetect","agent","isWindowPhone","isFirefox","isOpera","opera","isChrome","isIOS","isBlackberry","EventDispatcher","_listeners","_captureListeners","initialize","removeEventListener","off","removeAllEventListeners","hasEventListener","dispatchEvent","_dispatchEvent","willTrigger","listener","useCapture","listeners","arr","once","handleEvent","evt","remove","eventObj","bubbles","cancelable","Event","clone","parent","list","propagationStopped","defaultPrevented","captureListeners","toString","eventPhase","currentTarget","removed","immediatePropagationStopped","timeStamp","Date","getTime","preventDefault","stopPropagation","stopImmediatePropagation","set","ErrorEvent","Event_constructor","ProgressEvent","loaded","total","progress","LoadItem","maintainOrder","Methods","GET","mimeType","crossOrigin","loadTimeout","LOAD_TIMEOUT_DEFAULT","Error","Types","createTextNode","createElement","Elements","container","getHead","appendChild","visibility","position","overflow","transform","msTransform","webkitTransform","oTransform","getBody","head","getElementsByTagName","removeChild","HTMLImageElement","HTMLAudioElement","HTMLVideoElement","DomUtils","IMAGE","BINARY","TEXT","MANIFEST","XML","CSS","SVG","JAVASCRIPT","SPRITESHEET","extension","SOUND","VIDEO","RequestUtils","path","absolute","relative","protocol","hostname","port","pathname","hash","host","parser","a","queryIndex","substr","ABSOLUTE_PATT","RELATIVE_PATT","EXTENSION_PATT","params","escape","join","idx","q","formatQueryString","crossdomain","URLUtils","AbstractLoader","loadItem","preferXHR","EventDispatcher_constructor","canceled","resultFormatter","_item","_preferXHR","_result","_rawResult","_loadedItems","_tagSrcAttribute","_tag","defineProperties","POST","FONT","FONTCSS","JSONP","getItem","getResult","raw","getTag","setTag","tag","load","_createRequest","_request","loader","destroy","_loadItems","getLoadedItems","XHRRequest","TagRequest","_createTag","_sendLoadStart","_isCanceled","_sendProgress","isNaN","Infinity","_sendComplete","rawResult","_sendError","_response","Function","_resultFormatSuccess","_resultFormatFailed","toUpperCase","AbstractMediaLoader","AbstractLoader_constructor","_formatResult","_updateXHR","preload","AbstractLoader_load","MediaTagRequest","setResponseType","_loadedHandler","onstalled","URL","webkitURL","createObjectURL","AbstractRequest","srcAttribute","AbstractRequest_constructor","_handleTagComplete","_addedToDOM","onload","onreadystatechange","_handleReadyStateChange","onerror","_handleError","_loadTimeout","_handleTimeout","parentNode","appendToBody","_clean","AbstractRequest_destroy","readyState","_handleStalled","sc","_stalledCallback","pc","_handleProgress","TagRequest_load","newEvent","_progressCallback","TagRequest__clean","_xhrLevel","_rawResponse","_canceled","_handleLoadStartProxy","_handleLoadStart","_handleProgressProxy","_handleAbortProxy","_handleAbort","_handleErrorProxy","_handleTimeoutProxy","_handleLoadProxy","_handleLoad","_handleReadyStateChangeProxy","_createXHR","ACTIVEX_VERSIONS","abort","onloadstart","onprogress","onabort","ontimeout","send","_responseType","responseType","getAllResponseHeaders","getResponseHeader","header","_checkError","_getResponse","Blob","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","builder","append","getBlob","status","responseText","responseXML","isCrossDomain","XMLHttpRequest","XDomainRequest","axVersion","ActiveXObject","isText","overrideMimeType","buildURI","open","origin","setRequestHeader","SoundLoader","AbstractMediaLoader_constructor","isAudioTag","canLoadItem","audio","PlayPropsConfig","interrupt","delay","offset","volume","pan","startTime","SoundChannel","INTERRUPT_ANY","INTERRUPT_EARLY","INTERRUPT_LATE","INTERRUPT_NONE","PLAY_INITED","PLAY_SUCCEEDED","PLAY_INTERRUPTED","PLAY_FINISHED","PLAY_FAILED","SUPPORTED_EXTENSIONS","EXTENSION_MAP","m4a","FILE_PATTERN","defaultInterruptBehavior","activePlugin","_masterVolume","_getMasterVolume","getVolume","_setMasterVolume","setVolume","instances","_instances","setMasterVolume","_masterMute","_getMute","getMute","_setMute","setMute","setMasterMute","_getCapabilities","_capabilities","getCapabilities","muted","capabilities","_pluginsRegistered","_lastID","_idHash","_preloadHash","_defaultPlayPropsHash","getPreloadHandlers","initLoad","types","extensions","_handleLoadComplete","sprite","_handleLoadError","_registerPlugin","plugin","isSupported","registerPlugins","plugins","initializeDefaultPlugins","WebAudioPlugin","HTMLAudioPlugin","isReady","_registerSound","details","_parseSrc","_parsePath","numChannels","channels","audioSprite","sp","defaultPlayProps","register","maxPerChannel","basePath","registerSounds","sounds","returnValues","manifest","removeSound","_getSrcById","prop","removeSrc","removeSounds","removeAllSounds","removeAll","ext","replace","lastIndexOf","playProps","createInstance","ok","_playInstance","_playFailed","DefaultSoundInstance","applyPlayProps","uniqueId","setDefaultPlayProps","getDefaultPlayProps","_beginPlaying","delayTimeoutId","add","_playFinished","channel","_removeAll","_add","_remove","maxDefault","_get","_getSlot","replacement","playState","_interrupt","AbstractSoundInstance","playbackResource","_volume","_getVolume","_setVolume","_pan","_getPan","_setPan","getPan","setPan","_startTime","_getStartTime","_setStartTime","getStartTime","setStartTime","_duration","_getDuration","_setDuration","getDuration","setDuration","_playbackResource","_getPlaybackResource","_setPlaybackResource","getPlaybackResource","setPlaybackResource","_position","_getPosition","_setPosition","getPosition","setPosition","_loop","_getLoop","_setLoop","getLoop","setLoop","_muted","_getMuted","_setMuted","getMuted","setMuted","_paused","_getPaused","_setPaused","getPaused","setPaused","_cleanUp","_handleStop","_pause","_resume","_updateVolume","_updatePan","_calculateCurrentPosition","_updatePosition","_updateStartTime","_updateDuration","_setDurationFromSource","_removeLooping","_addLooping","_sendEvent","_handleCleanUp","_handleSoundReady","_handleSoundComplete","_handleLoop","AbstractPlugin","_loaders","_audioSources","_soundInstances","_loaderClass","_soundInstanceClass","_handlePreloadComplete","_handlePreloadError","isPreloadStarted","isPreloadComplete","si","Loader","decodeAudioData","_handleAudioDecoded","decodedAudio","AbstractLoader__sendComplete","WebAudioLoader","WebAudioSoundInstance","AbstractSoundInstance_constructor","gainNode","createGain","panNode","createPanner","panningModel","_panningModel","connect","sourceNode","_soundCompleteTimeout","_sourceNodeNext","_playbackStartTime","_endedHandler","_scratchBuffer","destinationNode","AbstractSoundInstance_destroy","disconnect","_cleanUpAudioNode","_createAndPlayAudioNode","numberOfOutputs","audioNode","buffer","dur","pos","currentTime","createBufferSource","newVolume","gain","AbstractPlugin_constructor","dynamicsCompressorNode","createDynamicsCompressor","destination","_addPropsToClasses","_unlocked","DEFAULT_SAMPLE_RATE","isMobilePhoneGap","_isFileXHRSupported","_generateCapabilities","playEmptySound","source","supported","xhr","canPlayType","_createAudioContext","createBuffer","_compatibilitySetUp","_unlock","panning","tracks","supportedExtensions","extensionMap","playType","numberOfChannels","AudioCtor","AudioContext","webkitAudioContext","sampleRate","dummy","close","createGainNode","noteGrainOn","noteOff","HTMLAudioTagPool","TagPool","_tags","_tagPool","_tagUsed","pop","HTMLAudioSoundInstance","_audioSpriteStopTime","_delayTimeoutId","_readyHandler","_handleTagReady","_stalledHandler","_audioSpriteEndHandler","_handleAudioSpriteLoop","_loopHandler","isMuted","_AUDIO_SEEKED","pause","_AUDIO_ENDED","_AUDIO_READY","_AUDIO_STALLED","_TIME_UPDATE","AbstractSoundInstance__beginPlaying","_handleSetPositionSeek","MAX_INSTANCES","AbstractPlugin_register","AbstractPlugin_removeSound","AbstractPlugin_create","debug","sourceArrayPreLoad","sourceArrayLoading","testArr","backgrundMusicIsPlaying","userInfo","isSendImage","isMenberLogin","setIsMenberLogin","setIsSendImageTrue","setIsSendImageFalse","setUserInfo","handler","Reflect","initStore","obj","_i","_Object$entries","entries","_Object$entries$_i","slicedToArray","esm_typeof","Proxy","Vue","Picker","Popup","VueAwesomeSwiper","VueTouch","RadioGroup","Radio","Field","Calendar","Cell","Col","Row","Form","Button","productionTip","render","h","$mount","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_App_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsPage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DetailsPage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MemberInfo_vue_vue_type_style_index_0_id_4a6f5755_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_MemberInfo_vue_vue_type_style_index_0_id_4a6f5755_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoginPage_vue_vue_type_style_index_0_id_5c55ed20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoginPage_vue_vue_type_style_index_0_id_5c55ed20_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HomePage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HomePage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoginHint_vue_vue_type_style_index_0_id_cf59006e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LoginHint_vue_vue_type_style_index_0_id_cf59006e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AnnouncePage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_index_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_lib_loader_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_AnnouncePage_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default"],"mappings":"aACA,SAAAA,EAAAC,GAQA,IAPA,IAMAC,EAAAC,EANAC,EAAAH,EAAA,GACAI,EAAAJ,EAAA,GACAK,EAAAL,EAAA,GAIAM,EAAA,EAAAC,EAAA,GACQD,EAAAH,EAAAK,OAAoBF,IAC5BJ,EAAAC,EAAAG,GACAG,EAAAP,IACAK,EAAAG,KAAAD,EAAAP,GAAA,IAEAO,EAAAP,GAAA,EAEA,IAAAD,KAAAG,EACAO,OAAAC,UAAAC,eAAAC,KAAAV,EAAAH,KACAc,EAAAd,GAAAG,EAAAH,IAGAe,KAAAhB,GAEA,MAAAO,EAAAC,OACAD,EAAAU,OAAAV,GAOA,OAHAW,EAAAR,KAAAS,MAAAD,EAAAb,GAAA,IAGAe,IAEA,SAAAA,IAEA,IADA,IAAAC,EACAf,EAAA,EAAiBA,EAAAY,EAAAV,OAA4BF,IAAA,CAG7C,IAFA,IAAAgB,EAAAJ,EAAAZ,GACAiB,GAAA,EACAC,EAAA,EAAkBA,EAAAF,EAAAd,OAA2BgB,IAAA,CAC7C,IAAAC,EAAAH,EAAAE,GACA,IAAAf,EAAAgB,KAAAF,GAAA,GAEAA,IACAL,EAAAQ,OAAApB,IAAA,GACAe,EAAAM,IAAAC,EAAAN,EAAA,KAGA,OAAAD,EAIA,IAAAQ,EAAA,GAKApB,EAAA,CACAqB,IAAA,GAGAZ,EAAA,GAGA,SAAAS,EAAA1B,GAGA,GAAA4B,EAAA5B,GACA,OAAA4B,EAAA5B,GAAA8B,QAGA,IAAAC,EAAAH,EAAA5B,GAAA,CACAK,EAAAL,EACAgC,GAAA,EACAF,QAAA,IAUA,OANAhB,EAAAd,GAAAa,KAAAkB,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAnB,EAGAY,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACA1B,OAAA6B,eAAAT,EAAAM,EAAA,CAA0CI,YAAA,EAAAC,IAAAJ,KAK1CX,EAAAgB,EAAA,SAAAZ,GACA,qBAAAa,eAAAC,aACAlC,OAAA6B,eAAAT,EAAAa,OAAAC,YAAA,CAAwDC,MAAA,WAExDnC,OAAA6B,eAAAT,EAAA,cAAiDe,OAAA,KAQjDnB,EAAAoB,EAAA,SAAAD,EAAAE,GAEA,GADA,EAAAA,IAAAF,EAAAnB,EAAAmB,IACA,EAAAE,EAAA,OAAAF,EACA,KAAAE,GAAA,kBAAAF,QAAAG,WAAA,OAAAH,EACA,IAAAI,EAAAvC,OAAAwC,OAAA,MAGA,GAFAxB,EAAAgB,EAAAO,GACAvC,OAAA6B,eAAAU,EAAA,WAAyCT,YAAA,EAAAK,UACzC,EAAAE,GAAA,iBAAAF,EAAA,QAAAM,KAAAN,EAAAnB,EAAAS,EAAAc,EAAAE,EAAA,SAAAA,GAAgH,OAAAN,EAAAM,IAAqBC,KAAA,KAAAD,IACrI,OAAAF,GAIAvB,EAAA2B,EAAA,SAAAtB,GACA,IAAAM,EAAAN,KAAAiB,WACA,WAA2B,OAAAjB,EAAA,YAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAgB,EAAAC,GAAsD,OAAA7C,OAAAC,UAAAC,eAAAC,KAAAyC,EAAAC,IAGtD7B,EAAA8B,EAAA,GAEA,IAAAC,EAAAC,OAAA,gBAAAA,OAAA,oBACAC,EAAAF,EAAAhD,KAAA2C,KAAAK,GACAA,EAAAhD,KAAAX,EACA2D,IAAAG,QACA,QAAAvD,EAAA,EAAgBA,EAAAoD,EAAAlD,OAAuBF,IAAAP,EAAA2D,EAAApD,IACvC,IAAAU,EAAA4C,EAIA1C,EAAAR,KAAA,qBAEAU,kFCtJA,IAAA0C,EAAAnC,EAAA,QAAAoC,EAAApC,EAAA2B,EAAAQ,GAAkiBC,EAAG,uFCAriB,IAAAC,EAAArC,EAAA,QAAAsC,EAAAtC,EAAA2B,EAAAU,GAAghBC,EAAG,gHCA/gBC,EAAM,WAAgB,IAAAC,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,MAAA,CAAQC,OAAAP,EAAAQ,cAA2BC,MAAA,CAASC,GAAA,aAAiB,IAAAV,EAAAW,YAAAP,EAAA,YAAwCQ,IAAA,WAAAH,MAAA,CAAsBI,QAAAb,EAAAa,SAAsBC,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,KAAA,GAAAjB,EAAAW,YAAAP,EAAA,aAAkDQ,IAAA,YAAAH,MAAA,CAAuBI,QAAAb,EAAAa,QAAAK,UAAAlB,EAAAkB,WAAgDJ,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,KAAA,GAAAjB,EAAAW,YAAAP,EAAA,gBAAqDQ,IAAA,eAAAH,MAAA,CAA0BI,QAAAb,EAAAa,QAAAK,UAAAlB,EAAAkB,WAAgDJ,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,KAAA,GAAAjB,EAAAW,YAAAP,EAAA,gBAAqDQ,IAAA,eAAAH,MAAA,CAA0BI,QAAAb,EAAAa,QAAAK,UAAAlB,EAAAkB,WAAgDJ,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,KAAA,GAAAjB,EAAAW,YAAAP,EAAA,eAAoDQ,IAAA,cAAAH,MAAA,CAAyBI,QAAAb,EAAAa,QAAAK,UAAAlB,EAAAkB,WAAgDJ,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,MAAA,IAC76BE,EAAA,mECSIC,EAAgB,SAASC,EAAQC,GAAmB,IAAZC,EAAYC,UAAAnF,OAAA,QAAAoF,IAAAD,UAAA,GAAAA,UAAA,GAAN,KAC1CE,EAAS,CACTC,SAAU,UACVhD,MAAO,KACPiD,GAAG,EACHC,GAAG,GAWHC,EAAU,SAASH,EAAUN,EAAQC,EAAO3C,GAC5Ca,OAAOuC,KAAKxF,KAAK,CAAC,cAAeoF,EAAUN,EAAQC,EAAO3C,KAc9DnC,OAAOwF,OAAON,EAAQH,GAElBG,EAAOG,GACPC,EAAQJ,EAAOC,SAAUN,EAAQC,EAAOI,EAAO/C,OAG/C+C,EAAOE,GAKAR,ICnDXa,aAAgB,CAChBC,MAAM,EACNC,WAAW,EACXC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,EACRC,aAAa,EACbC,UAAU,EACVC,QAAQ,EACRC,MAAM,EACNC,KAAM,WACF,IAAIC,EAAIC,UAAUC,UACdC,EAAI,CACJC,QAASJ,EAAEK,QAAQ,YAAc,EACjCC,OAAQN,EAAEK,QAAQ,WAAa,EAC/BE,OAAQP,EAAEK,QAAQ,gBAAkB,EACpCG,MAAOR,EAAEK,QAAQ,UAAY,IAA4B,GAAvBL,EAAEK,QAAQ,SAC5CI,SAAUT,EAAEU,MAAM,yBAClBC,MAAOX,EAAEU,MAAM,iCACfE,QAASZ,EAAEK,QAAQ,YAAc,GAAKL,EAAEK,QAAQ,UAAY,EAC5DQ,OAAQb,EAAEK,QAAQ,WAAa,EAC/BS,KAAMd,EAAEK,QAAQ,SAAW,EAC3BU,QAAgC,GAAxBf,EAAEK,QAAQ,UAClBW,IAAKhB,EAAEK,QAAQ,QAAU,EACzBY,KAAMjB,EAAEK,QAAQ,SAAW,EAC3Ba,UAAWlB,EAAEK,QAAQ,cAAgB,GAiBzC,GAXAtD,KAAKiC,KAAOmB,EAAEC,QACdrD,KAAK2C,OAASS,EAAEc,KAChBlE,KAAK0C,MAAQU,EAAEa,IACfjE,KAAK4C,YAAcQ,EAAEe,UACrBnE,KAAK6C,SAAWO,EAAEM,OAClB1D,KAAK8C,OAASM,EAAEW,KAChB/D,KAAKmC,OAAQ,EACbnC,KAAKkC,WAAY,EACjBlC,KAAKyC,UAAW,EAGZW,EAAEM,OAAQ,CAEV,IAAIU,EAAKnB,EAAEoB,cAEwB,kBAA/BD,EAAGT,MAAM,qBAET3D,KAAKoC,MAAO,GAEU,SAAtBgC,EAAGT,MAAM,YAET3D,KAAKuC,MAAO,GAEO,MAAnB6B,EAAGT,MAAM,SAET3D,KAAKwC,WAAY,GAEa,iBAA9B4B,EAAGT,MAAM,oBAET3D,KAAKsC,MAAO,GAEa,YAAzB8B,EAAGT,MAAM,eAET3D,KAAKqC,MAAO,OAM5BL,EAAcgB,OAEChB,QC9Ef,SAASsC,IAWP,IAAIC,EACAjE,EAEAkE,EAAOC,EACPC,EAAWC,EACXC,EAASC,EAuBb,OArBItF,OAAOuF,OACTN,EAAQO,SAASD,KAAKE,YACtBP,EAAQM,SAASD,KAAKG,cAGpB1F,OAAO2F,kBACTR,EAAYK,SAASG,gBAAgBF,YACrCL,EAAYI,SAASG,gBAAgBD,cAGvCL,EAAUrF,OAAO4F,WACjBN,EAAUtF,OAAO6F,YAEjBb,EAAQC,GAASE,EACjBpE,EAASmE,GAASE,EAEbJ,GAAUjE,IACbiE,EAAQK,EACRtE,EAASuE,GAGJ,CACLN,QACAjE,UC1CJ,IAAI+E,EAAM,WAAgB,IAAAtF,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,YAAAC,MAAAxF,EAAAa,QAAA,YAAyD,CAAAb,EAAA,QAAAI,EAAA,UAA6BK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiChB,EAAAiB,KAAAb,EAAA,OAAqBmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,kBAA6B,CAAAnF,EAAA,OAAYmF,YAAA,eAAAzE,GAAA,CAA+B4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAgB,gBAAA,MAAgC,CAAAZ,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAA5F,EAAA6F,UAAAC,IAAA,QAA8B1F,EAAA,OAAcmF,YAAA,eAAAzE,GAAA,CAA+B4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAgB,gBAAA,MAAgC,CAAAZ,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAA5F,EAAA6F,UAAAC,IAAA,QAA8B1F,EAAA,OAAcmF,YAAA,eAAAzE,GAAA,CAA+B4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAgB,gBAAA,MAAgC,CAAAZ,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAA5F,EAAA6F,UAAAC,IAAA,UAA8B1F,EAAA,OAAgBmF,YAAA,qBAAgC,CAAAnF,EAAA,OAAYmF,YAAA,wBAAA9E,MAAA,CAA2CmF,IAAA5F,EAAAa,QAAAb,EAAA+F,oBAAA/F,EAAAgG,eAAAF,IAAA,QAA2E1F,EAAA,OAAcmF,YAAA,sBAAiC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAAa,QAAAb,EAAA+F,oBAAA/F,EAAAgG,eAAAF,IAAA,QAA2E1F,EAAA,OAAcmF,YAAA,2BAAsC,CAAAnF,EAAA,OAAYmF,YAAA,+BAAA9E,MAAA,CAAkDmF,IAAA5F,EAAAiG,qBAAAH,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,gCAAA9E,MAAA,CAAmDmF,IAAA5F,EAAAiG,qBAAAH,IAAA,QAAyC9F,EAAAa,QAAkHb,EAAAiB,KAAlHb,EAAA,UAAgCK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,mBAA+FhB,EAAAiB,MAAA,GAAAb,EAAA,OAAwBmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAkG,YAAAJ,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,mBAAA9E,MAAA,CAAsCmF,IAAA5F,EAAAmG,eAAAL,IAAA,QAAmC1F,EAAA,OAAcmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAoG,YAAAN,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,kBAA4BnF,EAAA,OAAYmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAqG,iBAAAP,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,iBAAAlG,EAAA,OAAoCmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,iIAAAlG,EAAA,OAAoJmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAuG,iBAAAT,IAAA,MAAqC9F,EAAAwG,GAAA,OAAApG,EAAA,OAA0BmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAyG,YAAAX,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,kBAA4BnF,EAAA,OAAYmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAA0G,iBAAAZ,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,gBAAAtG,EAAAwG,GAAA,GAAApG,EAAA,OAA6CmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAA2G,iBAAAb,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,8BAAyC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAA4G,qBAAAd,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,4BAAuC,CAAAvF,EAAAsG,GAAA,QAAAlG,EAAA,OAA2BmF,YAAA,kCAA6C,CAAAvF,EAAAsG,GAAA,8DAAAlG,EAAA,OAAiFmF,YAAA,8BAAyC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAA6G,qBAAAf,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,4BAAuC,CAAAvF,EAAAsG,GAAA,UAAAlG,EAAA,OAA6BmF,YAAA,kCAA6C,CAAAvF,EAAAsG,GAAA,iEAAAlG,EAAA,OAAoFmF,YAAA,8BAAyC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAA8G,qBAAAhB,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,4BAAuC,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,kCAA6C,CAAAvF,EAAAsG,GAAA,sEAAAlG,EAAA,OAAyFmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAA+G,YAAAjB,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,wBAAmC,CAAAvF,EAAA,QAAAI,EAAA,OAA0BmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAgH,sBAAAlB,IAAA,MAA0C1F,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAiH,iBAAAnB,IAAA,QAAqC1F,EAAA,OAAcmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAqG,iBAAAP,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,eAAAtG,EAAAwG,GAAA,GAAApG,EAAA,OAA4CmF,YAAA,0BAAqC,CAAAnF,EAAA,OAAYmF,YAAA,mBAAA9E,MAAA,CAAsCmF,IAAA5F,EAAAkH,eAAApB,IAAA,QAAmC9F,EAAAwG,GAAA,KAAApG,EAAA,OAA0BmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAmH,YAAArB,IAAA,MAAgC9F,EAAAwG,GAAA,GAAApG,EAAA,OAAsBmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,iBAAA9E,MAAA,CAAoCmF,IAAA5F,EAAAoH,gBAAAtB,IAAA,MAAoC9F,EAAAwG,GAAA,OAAApG,EAAA,OAA0BmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAqH,YAAAvB,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAA0G,iBAAAZ,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,YAAAtG,EAAA,QAAAI,EAAA,OAA6CmF,YAAA,qBAAA9E,MAAA,CAAwCmF,IAAA5F,EAAAsH,qBAAAxB,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,qBAAA9E,MAAA,CAAwCmF,IAAA5F,EAAAuH,gBAAAzB,IAAA,MAAoC9F,EAAAwG,GAAA,GAAApG,EAAA,OAAsBmF,YAAA,wCAAmD,CAAAnF,EAAA,OAAYmF,YAAA,gBAAA9E,MAAA,CAAmCmF,IAAA5F,EAAAwH,aAAA1B,IAAA,MAAiC9F,EAAAwG,GAAA,GAAAxG,EAAAwG,GAAA,KAAApG,EAAA,OAAkCmF,YAAA,wCAAmD,CAAAnF,EAAA,OAAYmF,YAAA,gBAAA9E,MAAA,CAAmCmF,IAAA5F,EAAAyH,aAAA3B,IAAA,MAAiC9F,EAAAwG,GAAA,GAAAxG,EAAAwG,GAAA,MAAApG,EAAA,OAAmCmF,YAAA,wCAAmD,CAAAnF,EAAA,OAAYmF,YAAA,gBAAA9E,MAAA,CAAmCmF,IAAA5F,EAAA0H,aAAA5B,IAAA,MAAiC9F,EAAAwG,GAAA,IAAAxG,EAAAwG,GAAA,UAAApG,EAAA,OAAwCmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,0BAAqC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAA2H,iBAAA7B,IAAA,MAAqC1F,EAAA,OAAYmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,iBAAAlG,EAAA,OAAoCmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,mBAAAlG,EAAA,OAAsCmF,YAAA,yBAAoC,CAAAnF,EAAA,OAAYmF,YAAA,uBAAiCnF,EAAA,OAAYmF,YAAA,6BAAwC,CAAAnF,EAAA,OAAYmF,YAAA,uBAAA9E,MAAA,CAA0CmF,IAAA5F,EAAA4H,qBAAA9B,IAAA,MAAyC1F,EAAA,OAAYmF,YAAA,uCAAkD,CAAAvF,EAAAsG,GAAA,iEAAAtG,EAAAwG,GAAA,IAAApG,EAAA,OAA+FmF,YAAA,iCAA4C,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,gBAAA9E,MAAA,CAAmCmF,IAAA5F,EAAA6H,eAAA/B,IAAA,QAAmC1F,EAAA,OAAcmF,YAAA,iBAAA9E,MAAA,CAAoCmF,IAAA5F,EAAA8H,aAAAhC,IAAA,IAAgChF,GAAA,CAAK4E,MAAA1F,EAAA+H,aAAqB3H,EAAA,OAAcmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,YAAA9E,MAAA,CAA+BmF,IAAA5F,EAAAgI,YAAAlC,IAAA,MAAgC1F,EAAA,OAAYmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,sGAAAlG,EAAA,OAAyHmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,mBAAAlG,EAAA,OAAsCmF,YAAA,yBAAoC,CAAAnF,EAAA,OAAYmF,YAAA,+CAAAzE,GAAA,CAA+D4E,MAAA1F,EAAAiI,eAA0B,CAAA7H,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAkI,eAAApC,IAAA,MAAmC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,4EAAAlG,EAAA,OAA+FmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAmI,eAAArC,IAAA,MAAmC1F,EAAA,OAAYmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,2EAAAlG,EAAA,OAA8FmF,YAAA,sBAAAzE,GAAA,CAAsC4E,MAAA1F,EAAAoI,aAAwB,CAAAhI,EAAA,OAAYmF,YAAA,kBAAA9E,MAAA,CAAqCmF,IAAA5F,EAAAqI,eAAAvC,IAAA,MAAmC9F,EAAA,QAAAI,EAAA,OAA0BmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,kFAAAlG,EAAA,OAAqGmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,mFAAAlG,EAAA,OAAsGmF,YAAA,cAAA+C,YAAA,CAAuCC,QAAA,KAAczH,GAAA,CAAK4E,MAAA1F,EAAAwI,sBAAiC,CAAAxI,EAAAsG,GAAA,6FAAAlG,EAAA,OAAgHmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,oBAA8BnF,EAAA,OAAYmF,YAAA,sBAAiC,CAAAnF,EAAA,OAAYmF,YAAA,iBAAAzE,GAAA,CAAiC4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAyI,QAAA,MAAwB,CAAAzI,EAAAsG,GAAA,0DAAAlG,EAAA,OAA6EmF,YAAA,iBAAAzE,GAAA,CAAiC4E,MAAA1F,EAAA0I,aAAwB,CAAA1I,EAAAsG,GAAA,0DAAAlG,EAAA,OAA6EmF,YAAA,iBAAAzE,GAAA,CAAiC4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAyI,QAAA,MAAwB,CAAAzI,EAAAsG,GAAA,4DAAAlG,EAAA,OAA+EmF,YAAA,sBAA8BnF,EAAA,OAAcmF,YAAA,iBAAyBvF,EAAA,WAAAI,EAAA,OAA+BmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,eAAAzE,GAAA,CAA+B4E,MAAA1F,EAAA2I,eAAyBvI,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAA5F,EAAA4I,aAAA9C,IAAA,QAAiC9F,EAAAiB,MAAA,IAC9/S4H,EAAe,YAAiB,IAAA7I,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,wBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,6BAAwC,CAAAvF,EAAAsG,GAAA,aAAAlG,EAAA,OAAgCmF,YAAA,6BAAwC,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,iDAA4D,CAAAvF,EAAAsG,GAAA,yDAAAlG,EAAA,OAA4EmF,YAAA,wBAAmC,CAAAvF,EAAAsG,GAAA,gBAAwB,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,uHAAAlG,EAAA,QAA2ImF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,eAAAtG,EAAAsG,GAAA,wBAAsD,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,sBAAiC,CAAAvF,EAAAsG,GAAA,gCAAAlG,EAAA,QAAoDmF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,SAAAtG,EAAAsG,GAAA,uDAAAlG,EAAA,MAAAJ,EAAAsG,GAAA,2BAAAlG,EAAA,QAAsImF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,iBAAAtG,EAAAsG,GAAA,yDAAAlG,EAAA,MAAAJ,EAAAsG,GAAA,yBAAAlG,EAAA,QAA8ImF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,wBAAAtG,EAAAsG,GAAA,yCAAgF,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,qBAA+BnF,EAAA,OAAYmF,YAAA,iBAA4B,CAAAnF,EAAA,OAAYmF,YAAA,wBAAkCnF,EAAA,OAAYmF,YAAA,0BAAqC,CAAAvF,EAAAsG,GAAA,UAAAlG,EAAA,OAA6BmF,YAAA,gCAA2C,CAAAnF,EAAA,OAAYmF,YAAA,8CAAyD,CAAAvF,EAAAsG,GAAA,sCAAAlG,EAAA,QAA0DmF,YAAA,WAAsB,CAAAvF,EAAAsG,GAAA,SAAAtG,EAAAsG,GAAA,gEAAAlG,EAAA,OAAmGmF,YAAA,iBAA4B,CAAAnF,EAAA,OAAYmF,YAAA,wBAAkCnF,EAAA,OAAYmF,YAAA,0BAAqC,CAAAvF,EAAAsG,GAAA,UAAAlG,EAAA,OAA6BmF,YAAA,gCAA2C,CAAAnF,EAAA,OAAYmF,YAAA,wBAAmC,CAAAnF,EAAA,QAAamF,YAAA,WAAsB,CAAAvF,EAAAsG,GAAA,YAAAtG,EAAAsG,GAAA,4FAAAlG,EAAA,QAAmImF,YAAA,WAAsB,CAAAvF,EAAAsG,GAAA,aAAAtG,EAAAsG,GAAA,0EAAAlG,EAAA,OAAiHmF,YAAA,iBAA4B,CAAAnF,EAAA,OAAYmF,YAAA,wBAAkCnF,EAAA,OAAYmF,YAAA,0BAAqC,CAAAvF,EAAAsG,GAAA,UAAAlG,EAAA,OAA6BmF,YAAA,gCAA2C,CAAAnF,EAAA,OAAYmF,YAAA,8CAAyD,CAAAvF,EAAAsG,GAAA,oDAAAlG,EAAA,QAAwEmF,YAAA,WAAsB,CAAAvF,EAAAsG,GAAA,6BAAqC,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,2BAAAlG,EAAA,QAA+CmF,YAAA,eAA0B,CAAAvF,EAAAsG,GAAA,WAAAtG,EAAAsG,GAAA,yBAAmD,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,oBAA+B,CAAAvF,EAAAsG,GAAA,0DAAAlG,EAAA,QAA8EmF,YAAA,eAA0B,CAAAvF,EAAAsG,GAAA,WAAAtG,EAAAsG,GAAA,cAAAlG,EAAA,QAAoDmF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,YAAAtG,EAAAsG,GAAA,KAAAlG,EAAA,QAA4CmF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,WAAAtG,EAAAsG,GAAA,0BAAoD,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,wCAAmD,CAAAnF,EAAA,OAAYmF,YAAA,mBAA8B,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,2FAAAlG,EAAA,QAA+GmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,aAAAtG,EAAAsG,GAAA,mDAA+E,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,kCAA6C,CAAAnF,EAAA,OAAAJ,EAAAsG,GAAA,YAAAlG,EAAA,OAAyCmF,YAAA,6CAAuDnF,EAAA,OAAAJ,EAAAsG,GAAA,eAAiC,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,mBAA8B,CAAAnF,EAAA,OAAYmF,YAAA,0CAAqD,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,0CAAAlG,EAAA,QAA8DmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,eAAAtG,EAAAsG,GAAA,0DAAAlG,EAAA,OAAmGmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,iIAAyI,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,kCAA6C,CAAAnF,EAAA,OAAAJ,EAAAsG,GAAA,YAAAlG,EAAA,OAAyCmF,YAAA,6CAAuDnF,EAAA,OAAAJ,EAAAsG,GAAA,eAAiC,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,oCAA+C,CAAAnF,EAAA,OAAYmF,YAAA,0CAAqD,CAAAnF,EAAA,OAAYmF,YAAA,wHAAmI,CAAAvF,EAAAsG,GAAA,yGAAAlG,EAAA,OAA4HmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,8CAAAlG,EAAA,QAAkEmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,WAAAtG,EAAAsG,GAAA,iFAA2G,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,kCAA6C,CAAAnF,EAAA,OAAAJ,EAAAsG,GAAA,YAAAlG,EAAA,OAAyCmF,YAAA,6CAAuDnF,EAAA,OAAAJ,EAAAsG,GAAA,eAAiC,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,6BAAwC,CAAAnF,EAAA,OAAYmF,YAAA,0CAAqD,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,uDAAAlG,EAAA,QAA2EmF,YAAA,gBAA2B,CAAAvF,EAAAsG,GAAA,kBAAAtG,EAAAsG,GAAA,qDAAAlG,EAAA,OAAiGmF,YAAA,uBAAkC,CAAAnF,EAAA,OAAYmF,YAAA,yBAAoC,CAAAvF,EAAAsG,GAAA,kFAA0F,WAAc,IAAAtG,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,wCAAmD,CAAAvF,EAAAsG,GAAA,+BAAAlG,EAAA,QAAmDmF,YAAA,YAAuB,CAAAvF,EAAAsG,GAAA,WAAAtG,EAAAsG,GAAA,6DCD9jOwC,EAAM,WAAgB,IAAA9I,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,oBAAAC,MAAA,CAC1GxF,EAAAa,QAAA,WACAb,EAAAa,QAAA,GAAAb,EAAAyF,SAAA,cAA4D,CAAAzF,EAAAa,QAAuDb,EAAAiB,KAAvDb,EAAA,OAA2BmF,YAAA,kBAA4BnF,EAAA,OAAqBmF,YAAA,gBAA2B,CAAAnF,EAAA,OAAYmF,YAAA,mBAAA9E,MAAA,CAAsCmF,IAAA5F,EAAA+I,cAAAjD,IAAA,QAAkC1F,EAAA,OAAcmF,YAAA,0BAAqC,CAAAnF,EAAA,OAAYmF,YAAA,uBAAAC,MAAA,GAAAxF,EAAAyF,SAAA,iBAAA3E,GAAA,CAAoF4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAe,UAAA,MAA0B,CAAAf,EAAAsG,GAAA,mCAAAlG,EAAA,OAAsDmF,YAAA,uBAAAC,MAAA,GAAAxF,EAAAyF,SAAA,iBAAA3E,GAAA,CAAoF4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAe,UAAA,MAA0B,CAAAf,EAAAsG,GAAA,kCAAAlG,EAAA,OAAqDmF,YAAA,uBAAAC,MAAA,GAAAxF,EAAAyF,SAAA,iBAAA3E,GAAA,CAAoF4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAe,UAAA,MAA0B,CAAAf,EAAAsG,GAAA,kCAAAlG,EAAA,OAAqDmF,YAAA,uBAAAC,MAAA,GAAAxF,EAAAyF,SAAA,iBAAA3E,GAAA,CAAoF4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAe,UAAA,MAA0B,CAAAf,EAAAsG,GAAA,kCAAAlG,EAAA,OAAqDmF,YAAA,uBAAAzE,GAAA,CAAuC4E,MAAA1F,EAAAgJ,eAA0B,CAAA5I,EAAA,OAAYmF,YAAA,mBAAA9E,MAAA,CAAsCmF,IAAA5F,EAAAiJ,YAAAnD,IAAA,aACtpCoD,EAAe,eCwDnBC,EAAA,CACAjL,KAAA,SACAkL,MAAA,uBACAC,WAAA,GACAxN,KAJA,WAKA,OACAkN,cAAA,qBACAE,YAAA,yBAGAK,SAAA,GACAC,QAXA,aAYAC,QAZA,aAaAC,QAAA,CACAT,aADA,WAEA/I,KAAAyJ,gBAAA,uBACAlK,OAAAmK,SAAAC,KACA,oDAEA7I,UANA,SAMA8I,GACA5J,KAAAyJ,gBAAA,iBAAAI,OAAAD,IACA5J,KAAA8J,MAAA,YAAAF,IAEAG,SAVA,SAUAC,GACAzN,OAAA0N,EAAA,KAAA1N,CAAA,CAAAyN,UAAAE,SAAA,KAAAC,aAAA,KAGAV,gBAdA,SAcArI,EAAAC,GACA+I,QAAAC,IAAAhJ,GACAiJ,EAAAlJ,EAAAC,MCxFgVkJ,EAAA,0BCQhVC,EAAgBjO,OAAAkO,EAAA,KAAAlO,CACdgO,EACA1B,EACAI,GACF,EACA,KACA,WACA,MAIeyB,EAAAF,UC+bfG,EAAA,CACA1M,KAAA,WACAmL,WAAA,CACAsB,UAEAvB,MAAA,YACAvN,KANA,WAOA,OACAgP,YAAA,EACAC,cAAA,CAEAC,WAAA,CACAC,GAAA,uBAIAnF,UAAA,uBACAG,eAAA,qBACAD,oBAAA,uBACAE,qBACA,wBACAC,YAAA,oBACAC,eAAA,2BACAC,YAAA,oBACAC,iBACA,iCACAE,iBACA,6BACAE,YAAA,oBACAC,iBACA,iCACAC,iBACA,6BACAC,qBAAA,sBACAC,qBAAA,sBACAC,qBAAA,sBACAC,YAAA,oBACAE,iBACA,6BACAD,sBACA,6BACAE,eAAA,uBACA+D,gBAAA,sBACAC,gBAAA,sBACAC,gBAAA,sBACA9D,YAAA,oBACAM,iBAAA,oBACAC,qBACA,6BACAC,eAAA,wBACAC,aAAA,qBACAE,YAAA,oBACAE,eAAA,uBACAC,eAAA,uBACAE,eAAA,uBACAb,aAAA,sBACAC,aAAA,sBACAC,aAAA,sBACAH,gBAAA,wBACAD,qBACA,0BACAH,YAAA,qBACAC,gBAAA,qBACAwB,aAAA,4BAGAU,SAAA,GACAC,QAnEA,aAoEAC,QApEA,WAqEAvJ,KAAAyJ,gBAAA,iBACA,IAAA0B,EAAA,+BACAC,UAAA,aACAC,MAAA,EAEAP,WAAA,CACAC,GAAA,sBAEAO,gBAAA,EACAC,UAAA,EACAC,gBAAA,EACAC,sBAAA,KAIAjC,QAAA,CAEArB,WAFA,WAGAnI,KAAAY,UACAZ,KAAA4K,YAAA,IAGAlC,YAPA,WAQA1I,KAAA4K,YAAA,GAGAnC,WAXA,WAYAzI,KAAAyJ,gBAAA,wBACAlK,OAAAmK,SAAAC,KACA,6DAGAnB,QAjBA,SAiBAoB,GACA5J,KAAAyJ,gBAAA,oBAAAI,OAAAD,IACA5J,KAAA8J,MAAA,YAAAF,IAGArB,oBAtBA,aA4BAT,QA5BA,WA6BA9H,KAAAyJ,gBAAA,uBACAzJ,KAAA8J,MAAA,gBAGA9B,aAjCA,WAkCAhI,KAAAyJ,gBAAA,sBACAlK,OAAAmK,SAAAC,KAAA,6CAGA5I,gBAtCA,SAsCA6I,GACA,GAAAA,GAGA5J,KAAA8J,MAAA,YAAAF,IAGAH,gBA7CA,SA6CArI,EAAAC,GACAiJ,EAAAlJ,EAAAC,MCplBkVqK,EAAA,ECQ9UC,aAAYpP,OAAAkO,EAAA,KAAAlO,CACdmP,EACArG,EACAuD,GACF,EACA,KACA,KACA,OAIegD,EAAAD,UCnBXE,EAAM,WAAgB,IAAA9L,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,gBAAAC,MAAAxF,EAAAa,QAAA,YAA6D,CAAAb,EAAA,QAAAI,EAAA,OAA0BmF,YAAA,oBAAA9E,MAAA,CAAuCmF,IAAA5F,EAAA+L,mBAAAjG,IAAA,MAAuC1F,EAAA,OAAYmF,YAAA,cAAA9E,MAAA,CAAiCmF,IAAA5F,EAAAgM,cAAAlG,IAAA,MAAkC1F,EAAA,UAAeK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiCZ,EAAA,OAAYmF,YAAA,sBAAiC,CAAAnF,EAAA,OAAYmF,YAAA,kBAA6B,CAAAvF,EAAAsG,GAAA,UAAAtG,EAAAiM,GAAAjM,EAAA,qBAAAkM,EAAArC,GAAiE,OAAAzJ,EAAA,OAAiBnB,IAAA4K,EAAAtE,YAAA,mBAAAjF,MAAA4L,EAAAC,OACvmB,iBAAAnM,EAAAa,QAAA,sBAAAqL,EAAA,aACA,IAA0B,CAAAlM,EAAAa,QAAgkBT,EAAA,OAAgBmF,YAAA,uBAAAzE,GAAA,CAAuC4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAoM,aAAAvC,MAAiC,CAAAzJ,EAAA,OAAYmF,YAAA,4BAAuC,CAAAnF,EAAA,OAAYmF,YAAA,qBAAgC,CAAAvF,EAAAsG,GAAA,IAAAtG,EAAAqM,GAAAxC,EAAA,MAAAzJ,EAAA,OAA4CmF,YAAA,sBAAiC,CAAA2G,EAAA,OAAA9L,EAAA,OAA0BmF,YAAA,4BAAA9E,MAAA,CAA+CmF,IAAA5F,EAAAsM,oBAAAxG,IAAA,MAAwC1F,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAAsM,oBAAAxG,IAAA,UAAwC1F,EAAA,OAAgBmF,YAAA,+BAA0C,CAAAnF,EAAA,OAAYmF,YAAA,qBAAgC,CAAAvF,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAAH,EAAAK,UAAA,gCAAppCnM,EAAA,OAA2BmF,YAAA,uBAAAzE,GAAA,CAAuC4E,MAAA,SAAAC,GAAyB,OAAA3F,EAAAoM,aAAAvC,MAAiC,CAAAzJ,EAAA,OAAYmF,YAAA,qBAAgC,CAAAvF,EAAAsG,GAAA,IAAAtG,EAAAqM,GAAAxC,EAAA,MAAAzJ,EAAA,OAA4CmF,YAAA,qBAAgC,CAAAvF,EAAAsG,GAAA,yBAAAtG,EAAAqM,GAAAH,EAAAK,UAAA,wBAAAnM,EAAA,OAA0FmF,YAAA,sBAAiC,CAAA2G,EAAA,OAAA9L,EAAA,OAA0BmF,YAAA,4BAAA9E,MAAA,CAA+CmF,IAAA5F,EAAAsM,oBAAAxG,IAAA,MAAwC1F,EAAA,OAAYmF,YAAA,yBAAA9E,MAAA,CAA4CmF,IAAA5F,EAAAsM,oBAAAxG,IAAA,UAA4nB1F,EAAA,OAAsGQ,IAAA,kBAAA4L,UAAA,EAAAjH,YAAA,oBAAmEvF,EAAAiM,GAAAC,EAAA,gBAAAO,EAAAC,GAA6C,OAAAtM,EAAA,OAAiBnB,IAAAyN,GAAW,QAAAD,EAAArM,EAAA,OAA6BmF,YAAA,gBAA2B,CAAAnF,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAA5F,EAAA2M,UAAA7G,IAAA,QAA8B1F,EAAA,OAAcmF,YAAA,eAA0B,CAAAvF,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAAI,GAAA,gCAAkF,OAAOrM,EAAA,OAAYmF,YAAA,oBAA6B,GAAAnF,EAAA,OAAgBmF,YAAA,4BAAqC,IAC7vDqH,EAAe,GCkGnBC,aAAA,CACA3O,KAAA,eACAmL,WAAA,CACAsB,UAEAvB,MAAA,wBACAvN,KANA,WAOA,OACAiR,YAAA,CACA,CACAP,SAAA,mBACAJ,QAAA,EACAY,OAAA,CACA,sGACA,MACA,8HAEAxM,OAAA,SAEA,CACAgM,SACA,+BACAJ,QAAA,EACAY,OAAA,CACA,iEAEAxM,OAAA,OAEA,CACAgM,SAAA,kBACAJ,QAAA,EACAY,OAAA,CACA,gFAEAxM,OAAA,OAEA,CACAgM,SACA,6BACAJ,QAAA,EACAY,OAAA,CACA,+FACA,kDAEAxM,OAAA,SAEA,CACAgM,SAAA,mBACAJ,QAAA,EACAY,OAAA,CACA,6EAEAxM,OAAA,OAEA,CACAgM,SAAA,oBACAJ,QAAA,EACAY,OAAA,sBACAxM,OAAA,SAEA,CACAgM,SAAA,sBACAJ,QAAA,EACAY,OAAA,CACA,6DAEAxM,OAAA,SAEA,CACAgM,SAAA,iBACAJ,QAAA,EACAY,OAAA,CACA,oDAEAxM,OAAA,SAEA,CACAgM,SACA,kCACAJ,QAAA,EACAY,OAAA,CACA,gHAEAxM,OAAA,OAEA,CACAgM,SAAA,yBACAJ,QAAA,EACAY,OAAA,CACA,0GACA,oEAEAxM,OAAA,SAEA,CACAgM,SAAA,4BACAJ,QAAA,EACAY,OAAA,CACA,sEAEAxM,OAAA,UAGAyL,cAAA,wBACAM,oBACA,2BACAP,mBACA,0BACAY,UAAA,6BAGArD,SAAA,GACAC,QAhHA,aAiHAC,QAjHA,WAiHA,IAAAwD,EAAA/M,KACAA,KAAAyJ,gBAAA,qBACAzJ,KAAAgN,UAAA,WAEAD,EAAAE,8BAMAzD,QAAA,CAEAyD,yBAFA,WAEA,IAAAC,EAAAlN,KACAA,KAAA6M,YAAAM,QAAA,SAAAC,EAAAxD,GACA,IAAAtJ,EAAA4M,EAAAG,MAAAC,gBAAA1D,GAAA2D,aACAH,EAAA9M,YAIA6L,aATA,SASAvC,GACA5J,KAAA6M,YAAAjD,GAAAsC,QAAAlM,KAAA6M,YAAAjD,GAAAsC,OACAlM,KAAA6M,YAAAjD,GAAAsC,QACAlM,KAAAyJ,gBAAA,eAAAI,OAAAD,EAAA,WACA5J,KAAAyJ,gBAAA,sBAEAzJ,KAAAyJ,gBAAA,eAAAI,OAAAD,EAAA,YACA5J,KAAAyJ,gBAAA,uBAIA1I,gBApBA,SAoBA6I,GACA5J,KAAA8J,MAAA,YAAAF,IAGAH,gBAxBA,SAwBArI,EAAAC,GACAiJ,EAAAlJ,EAAAC,OCzPsVmM,EAAA,ECQlVC,aAAYlR,OAAAkO,EAAA,KAAAlO,CACdiR,EACA3B,EACAc,GACF,EACA,KACA,KACA,OAIee,EAAAD,UCnBXE,EAAM,WAAgB,IAAA5N,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,gBAAAC,MAAAxF,EAAAa,QAAA,YAA6D,CAAAb,EAAA,QAAAI,EAAA,OAA0BmF,YAAA,oBAAA9E,MAAA,CAAuCmF,IAAA5F,EAAA6N,mBAAA/H,IAAA,MAAuC1F,EAAA,OAAYmF,YAAA,cAAA9E,MAAA,CAAiCmF,IAAA5F,EAAA8N,cAAAhI,IAAA,MAAkC1F,EAAA,UAAeK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiCZ,EAAA,OAAYmF,YAAA,sBAAiC,IAAAvF,EAAA+N,YAAA1R,OAAA+D,EAAA,OAA0CmF,YAAA,iBAA4B,CAAAvF,EAAAsG,GAAA,6CAAAtG,EAAAiB,KAAAb,EAAA,OAAyEmF,YAAA,kBAA6B,CAAAvF,EAAAsG,GAAA,YAAAlG,EAAA,OAA+BmF,YAAA,2BAAsCvF,EAAAiM,GAAAjM,EAAA,qBAAAkM,EAAArC,GAA+C,OAAAzJ,EAAA,OAAiBnB,IAAA4K,EAAAtE,YAAA,yBAA8C,IAAAsE,GAAA7J,EAAAa,QAA0Eb,EAAAiB,KAA1Eb,EAAA,OAAyCmF,YAAA,uBAAiCvF,EAAAa,QAAsEb,EAAAiB,KAAtEb,EAAA,OAAoCmF,YAAA,wBAAkCnF,EAAA,OAAqBmF,YAAA,8BAAyC,CAAAsE,GAAA7J,EAAA+N,YAAA1R,OAAA,EAAA+D,EAAA,OAAkDmF,YAAA,wBAAA9E,MAAA,CAA2CmF,IAAA5F,EAAAgO,0BAAAlI,IAAA,MAA8C1F,EAAA,OAAYmF,YAAA,wBAAA9E,MAAA,CAA2CmF,IAAA5F,EAAAiO,sBAAAnI,IAAA,MAA0C1F,EAAA,OAAYmF,YAAA,2BAAsC,CAAAvF,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAAH,EAAArQ,MAAA,8BAAAuE,EAAA,OAAgGmF,YAAA,qBAAAjF,MAAAuJ,GAAA7J,EAAA+N,YAAA1R,OAAA,EACv5C,gBACA,IAAkC,CAAA2D,EAAAsG,GAAA,yBAAAtG,EAAAqM,GAAAH,EAAAgC,MAAA,4BAA8E,GAAA9N,EAAA,OAAemF,YAAA,qBAA6BnF,EAAA,OAAcmF,YAAA,4BAAqC,IAC3M4I,EAAe,GCkEnBC,EAAA,CACAlQ,KAAA,eACAmL,WAAA,CACAsB,UAEAvB,MAAA,wBACAvN,KANA,WAOA,OACAkS,YAAA,GAiCAD,cAAA,wBACAG,sBACA,2BACAD,0BACA,2BACAH,mBACA,4BAGAvE,SAAA,GACAC,QAnDA,aAoDAC,QApDA,WAqDAvJ,KAAAyJ,gBAAA,sBAEAD,QAAA,CAEAzI,gBAFA,SAEA6I,GACA5J,KAAA8J,MAAA,YAAAF,IAGAH,gBANA,SAMArI,EAAAC,GACAiJ,EAAAlJ,EAAAC,MCnIsV+M,EAAA,ECQlVC,aAAY9R,OAAAkO,EAAA,KAAAlO,CACd6R,EACAT,EACAO,GACF,EACA,KACA,KACA,OAIeI,EAAAD,UCnBXE,EAAM,WAAgB,IAAAxO,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,gBAA2B,CAAAnF,EAAA,UAAeK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,mBAAiCZ,EAAA,OAAYmF,YAAA,mBAA8B,CAAAvF,EAAA,QAAAI,EAAA,OAA0BK,MAAA,CAAOmF,IAAA5F,EAAAyO,YAAA3I,IAAA,MAAgC1F,EAAA,OAAYK,MAAA,CAAOmF,IAAA5F,EAAA0O,QAAA5I,IAAA,QAA4B1F,EAAA,OAAcmF,YAAA,aAAAC,MAAAxF,EAAAa,QAAA,mDAAiG,CAAAT,EAAA,OAAYmF,YAAA,oBAA+B,CAAAnF,EAAA,OAAYmF,YAAA,kBAA6BvF,EAAAiM,GAAAjM,EAAA,uBAAArB,EAAAM,GAAgD,OAAAmB,EAAA,OAAiBnB,MAAAsG,YAAA,gBAAmC,CAAAnF,EAAA,OAAYmF,YAAA,aAAA9E,MAAA,CAAgCmF,IAAAjH,EAAAmH,IAAA,UAA0B,KAAA1F,EAAA,OAAwBmF,YAAA,wBAA0CvF,EAAA,cAAAI,EAAA,OAAiCmF,YAAA,kBAA6B,CAAAnF,EAAA,OAAYmF,YAAA,gBAAAzE,GAAA,CAAgC4E,MAAA1F,EAAA2O,kBAA4BvO,EAAA,OAAYmF,YAAA,cAAA9E,MAAA,CAAiCmF,IAAA5F,EAAA4O,cAAA9I,IAAA,QAAkC9F,EAAAiB,MAAA,IAChgC4N,EAAe,GCyCnBC,aAAA,MAOAC,EAAA,CACA7Q,KAAA,cACAmL,WAAA,CACAsB,UAGAvB,MAAA,YACAvN,KAPA,WAQA,OACAiP,cAAA,CAEAC,WAAA,CACAC,GAAA,uBAGAyD,YAAA,2BACAC,QAAA,2BACAM,cAAA,CACAC,WAAA,0BACAC,WAAA,0BACAC,WAAA,0BACAC,WAAA,0BACAC,WAAA,0BACAC,WAAA,0BACAC,WAAA,2BAEAC,eAAA,EACAZ,cAAA,GACAa,cAAA,OAGAlG,QA/BA,WAgCAuF,EAAA7O,MAEAuJ,QAlCA,WAmCAvJ,KAAAyJ,gBAAA,oBACAzJ,KAAAwP,cAAA,IAAArE,EAAA,+BAEAE,MAAA,EACAoE,SAAA,CACAC,sBAAA,GAEAC,MAAA,IACAC,aAAA,EAEA9E,WAAA,CACAC,GAAA,qBACA8E,WAAA,GAEAvE,gBAAA,EACAC,UAAA,EACAC,gBAAA,EACAC,sBAAA,EACA5K,GAAA,CACA4E,MAAA,WACA2E,QAAAC,IAAA,aACA,IAAAyF,EAAA9P,KAAA8P,UACAjB,EAAAkB,cAAAD,QAMAtG,QAAA,CAEAzI,gBAFA,SAEA6I,GACA5J,KAAA8J,MAAA,YAAAF,IAGAH,gBANA,SAMArI,EAAAC,GACAiJ,EAAAlJ,EAAAC,IAGA0O,cAVA,SAUAD,GAAA,IAAA/C,EAAA/M,KACAA,KAAAyJ,gBAAA,6BACAzJ,KAAAY,UACAZ,KAAAwP,cAAAC,SAAAO,OAEAzT,OAAA0T,OAAAjQ,KAAA+O,eAAA5B,QAAA,SAAAlB,EAAArC,GACAA,IAAAkG,IACA/C,EAAA4B,cAAA1C,KAGAjM,KAAAuP,eAAA,IAGAb,eAvBA,WAwBA1O,KAAAwP,cAAAC,SAAAS,QACAlQ,KAAAuP,eAAA,EACAvP,KAAA2O,cAAA,MC1IqVwB,EAAA,ECQjVC,aAAY7T,OAAAkO,EAAA,KAAAlO,CACd4T,EACA5B,EACAK,GACF,EACA,KACA,KACA,OAIeyB,EAAAD,UCnBXE,EAAM,WAAgB,IAAAvQ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,aAAAC,MAAA,CAAgCgL,MAAAxQ,EAAAa,UAAsB,CAAAT,EAAA,OAAYmF,YAAA,KAAAjF,MAAA,CAC5KmQ,gBAAAzQ,EAAA0Q,UACWtQ,EAAA,OAAYmF,YAAA,UAAqB,CAAAnF,EAAA,UAAeK,MAAA,CAAOgF,SAAA,IAAA5E,QAAAb,EAAAa,SAAqCC,GAAA,CAAKC,UAAAf,EAAAgB,oBAAiC,GAAAZ,EAAA,OAAgBmF,YAAA,QAAmB,CAAAnF,EAAA,OAAYQ,IAAA,WAAA2E,YAAA,YAAAjF,MAAA,CAC5LmQ,gBAAAzQ,EAAAa,QAAAb,EAAA2Q,aAAA3Q,EAAA4Q,cACe,CAAAxQ,EAAA,OAAYmF,YAAA,iBAA4B,CAAAnF,EAAA,OAAYQ,IAAA,cAAA2E,YAAA,WAAAzE,GAAA,CAA6C+P,UAAA7Q,EAAA8Q,aAAAC,WAAA/Q,EAAA8Q,eAA4D,CAAA1Q,EAAA,OAAYmF,YAAA,gBAA2B,CAAAnF,EAAA,KAAAJ,EAAAsG,GAAA,YAAAlG,EAAA,mBAAmDK,MAAA,CAAO4K,UAAA,cAAyB2F,MAAA,CAAQrS,MAAAqB,EAAA,iBAAAiR,SAAA,SAAAC,GAAsDlR,EAAAmR,iBAAAD,GAAyBE,WAAA,qBAAgC,CAAAhR,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,IAAAmT,YAAA,OAAAC,MAAA,UAA+CC,YAAAvR,EAAAwR,GAAA,EAAsBvS,IAAA,OAAAwS,GAAA,SAAArI,GAA8B,OAAAhJ,EAAA,OAAkBmF,YAAA,WAAA9E,MAAA,CAA8BmF,IAAAwD,EAAAsI,QACzkB1R,EAAA2R,WACA3R,EAAA4R,sBAA2E,CAAA5R,EAAAsG,GAAA,0CAAAlG,EAAA,aAAmEK,MAAA,CAAOvC,KAAA,IAAAmT,YAAA,OAAAC,MAAA,UAA+CC,YAAAvR,EAAAwR,GAAA,EAAsBvS,IAAA,OAAAwS,GAAA,SAAArI,GAA8B,OAAAhJ,EAAA,OAAkBmF,YAAA,WAAA9E,MAAA,CAA8BmF,IAAAwD,EAAAsI,QACxS1R,EAAA2R,WACA3R,EAAA4R,sBAA2E,CAAA5R,EAAAsG,GAAA,+CAAAlG,EAAA,aAAwEK,MAAA,CAAOvC,KAAA,IAAAmT,YAAA,OAAAC,MAAA,UAA+CC,YAAAvR,EAAAwR,GAAA,EAAsBvS,IAAA,OAAAwS,GAAA,SAAArI,GAA8B,OAAAhJ,EAAA,OAAkBmF,YAAA,WAAA9E,MAAA,CAA8BmF,IAAAwD,EAAAsI,QAC7S1R,EAAA2R,WACA3R,EAAA4R,sBAA2E,CAAA5R,EAAAsG,GAAA,sDAAAlG,EAAA,cAAgFQ,IAAA,UAAAH,MAAA,CAAqBoR,SAAA7R,EAAA8R,aAAAC,MAAA,oBAAAC,SAAA,GAAuElR,GAAA,CAAKmR,YAAAjS,EAAAkS,qBAAqC9R,EAAA,cAAmBQ,IAAA,UAAAH,MAAA,CAAqBoR,SAAA7R,EAAA8R,aAAAC,MAAA,eAAAC,SAAA,GAAmElR,GAAA,CAAKmR,YAAAjS,EAAAkS,qBAAqC9R,EAAA,cAAmBQ,IAAA,UAAAH,MAAA,CAAqBoR,SAAA7R,EAAA8R,aAAAC,MAAA,eAAAC,SAAA,GAAmElR,GAAA,CAAKqR,iBAAAnS,EAAAoS,eAAAH,YAAAjS,EAAAkS,qBAA2E9R,EAAA,OAAYmF,YAAA,WAAoB,GAAAnF,EAAA,OAAgBiS,WAAA,EAAanU,KAAA,OAAAoU,QAAA,SAAA3T,MAAAqB,EAAAuS,eAAAvS,EAAAwS,UAAApB,WAAA,+BAAgH7L,YAAA,cAA2B,CAAAnF,EAAA,OAAYK,MAAA,CAAOmF,IAAA5F,EAAAyS,aAAA3M,IAAA,UAAiC1F,EAAA,OAAgBmF,YAAA,eAA0B,CAAAvF,EAAAwG,GAAA,GAAApG,EAAA,OAAsBmF,YAAA,SAAAzE,GAAA,CAAyB4E,MAAA1F,EAAA0S,gBAA2B,CAAAtS,EAAA,OAAYK,MAAA,CAAOmF,IAAA5F,EAAA2S,UAAA7M,IAAA,cAA8B1F,EAAA,aAA0BmF,YAAA,OAAA9E,MAAA,CAA0BmS,KAAA5S,EAAAgK,SAAA+H,MAAA/R,EAAA6S,SAAAd,MAAAe,WAAA9S,EAAA6S,SAAAC,WAAAjS,QAAAb,EAAAa,SAA0GC,GAAA,CAAKiS,SAAA/S,EAAAgT,gBAAAC,OAAAjT,EAAAkT,kBAA2D,IAC5uCC,EAAe,YAAiB,IAAAnT,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,aAAwB,CAAAnF,EAAA,QAAAJ,EAAAsG,GAAA,OAAAlG,EAAA,QAAAJ,EAAAsG,GAAA,gCCXxI8M,EAAM,WAAgB,IAAApT,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,iBAAAC,MAAA,CAAoCgL,MAAAxQ,EAAAa,UAAsB,CAAAT,EAAA,YAAiBQ,IAAA,OAAAE,GAAA,CAAeuS,OAAArT,EAAAsT,WAAuB,CAAAtT,EAAA,QAAAI,EAAA,WAA8BK,MAAA,CAAO8S,OAAAvT,EAAAuT,SAAqB,CAAAnT,EAAA,WAAgBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,KAAAoD,MAAA,KAAAmS,YAAA,QAAAC,MAAA1T,EAAA2T,UAAoE7S,GAAA,CAAK8S,MAAA5T,EAAA6T,WAAAC,KAAA9T,EAAA+T,WAA4C/C,MAAA,CAAQrS,MAAAqB,EAAA,SAAAiR,SAAA,SAAAC,GAA8ClR,EAAAgU,SAAA9C,GAAiBE,WAAA,eAAwB,OAAApR,EAAAiB,KAAAb,EAAA,KAAAJ,EAAAsG,GAAAtG,EAAAqM,GAAArM,EAAA+R,UAAA3R,EAAA,WAAqEK,MAAA,CAAO8S,OAAAvT,EAAAuT,SAAqB,CAAAnT,EAAA,WAAgBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,KAAAoD,MAAA,KAAAmS,YAAA,UAAAC,MAAA1T,EAAAiU,UAAsEnT,GAAA,CAAK8S,MAAA5T,EAAA6T,WAAAC,KAAA9T,EAAA+T,WAA4C/C,MAAA,CAAQrS,MAAAqB,EAAAkU,WAAA,KAAAjD,SAAA,SAAAC,GAAqDlR,EAAAmU,KAAAnU,EAAAkU,WAAA,OAAAhD,IAAsCE,WAAA,sBAA+B,GAAAhR,EAAA,WAAoBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,KAAAoD,MAAA,KAAAmS,YAAA,UAAAC,MAAA1T,EAAAoU,YAAwEtT,GAAA,CAAK8S,MAAA5T,EAAA6T,WAAAC,KAAA9T,EAAA+T,WAA4C/C,MAAA,CAAQrS,MAAAqB,EAAAkU,WAAA,OAAAjD,SAAA,SAAAC,GAAuDlR,EAAAmU,KAAAnU,EAAAkU,WAAA,SAAAhD,IAAwCE,WAAA,wBAAiC,OAAAhR,EAAA,WAAwBK,MAAA,CAAO8S,OAAAvT,EAAAuT,SAAqB,CAAAnT,EAAA,WAAgBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,YAAiBmF,YAAA,gBAAA9E,MAAA,CAAmCsR,MAAA,QAAc3R,EAAA,SAAciS,WAAA,EAAanU,KAAA,QAAAoU,QAAA,UAAA3T,MAAAqB,EAAAkU,WAAA,SAAA9C,WAAA,wBAAgG7L,YAAA,eAAAC,MAAA,CACphD6O,SAAArU,EAAAsU,wBACqB7T,MAAA,CAAQ8T,KAAA,OAAAC,IAAA,aAAAC,IAAA,aAAAhB,YAAA,WAA4EiB,SAAA,CAAW/V,MAAAqB,EAAAkU,WAAA,UAAkCpT,GAAA,CAAK8S,MAAA5T,EAAA2U,oBAAAb,KAAA9T,EAAA4U,mBAAAC,MAAA,SAAAlP,GAAuFA,EAAAmP,OAAAC,WAAsC/U,EAAAmU,KAAAnU,EAAAkU,WAAA,WAAAvO,EAAAmP,OAAAnW,WAA4DqB,EAAA,cAAAI,EAAA,OAAgCmF,YAAA,sCAAiD,CAAAvF,EAAAsG,GAAA,qDAAAtG,EAAAiB,MAAA,GAAAb,EAAA,WAAyFK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,OAAAoD,MAAA,OAAAmS,YAAA,UAAAC,MAAA1T,EAAAgV,UAA0ElU,GAAA,CAAK8S,MAAA5T,EAAA6T,WAAAC,KAAA9T,EAAA+T,WAA4C/C,MAAA,CAAQrS,MAAAqB,EAAAkU,WAAA,MAAAjD,SAAA,SAAAC,GAAsDlR,EAAAmU,KAAAnU,EAAAkU,WAAA,QAAAhD,IAAuCE,WAAA,uBAAgC,OAAAhR,EAAA,WAAwBK,MAAA,CAAO8S,OAAAvT,EAAAuT,SAAqB,CAAAnT,EAAA,WAAgBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,YAAiBmF,YAAA,gBAAA9E,MAAA,CAAmCsR,MAAA,QAAc3R,EAAA,UAAeiS,WAAA,EAAanU,KAAA,QAAAoU,QAAA,UAAA3T,MAAAqB,EAAAkU,WAAA,UAAA9C,WAAA,yBAAkG5L,MAAA,CACnkCyP,kBAAAjV,EAAAkV,gBACqBzU,MAAA,CAAQvC,KAAA,GAAAwC,GAAA,IAAkBI,GAAA,CAAKqU,OAAA,SAAAxP,GAA0B,IAAAyP,EAAAC,MAAA5Y,UAAA6Y,OAAA3Y,KAAAgJ,EAAAmP,OAAAS,QAAA,SAAAnX,GAAkF,OAAAA,EAAAoX,WAAkBC,IAAA,SAAArX,GAAkB,IAAAsX,EAAA,WAAAtX,IAAAuX,OAAAvX,EAAAO,MAA6C,OAAA+W,IAAa1V,EAAAmU,KAAAnU,EAAAkU,WAAA,YAAAvO,EAAAmP,OAAAc,SAAAR,IAAA,OAAoG,CAAAhV,EAAA,UAAeK,MAAA,CAAO9B,MAAA,GAAAkX,SAAA,GAAAL,SAAA,KAAwC,CAAAxV,EAAAsG,GAAA,6DAAAtG,EAAAiM,GAAAjM,EAAA,sBAAA8V,EAAAjM,GAA0H,OAAAzJ,EAAA,UAAoBnB,IAAA4K,GAAU,CAAA7J,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAAyJ,GAAA,+BAAoF,GAAA9V,EAAA,cAAAI,EAAA,OAAoCmF,YAAA,sCAAiD,CAAAvF,EAAAsG,GAAA,qDAAAtG,EAAAiB,MAAA,GAAAb,EAAA,WAAyFK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,OAAAoD,MAAA,OAAAmS,YAAA,SAAAc,KAAA,MAAAb,MAAA1T,EAAA+V,YAAwFjV,GAAA,CAAK8S,MAAA5T,EAAA6T,WAAAC,KAAA9T,EAAA+T,WAA4C/C,MAAA,CAAQrS,MAAAqB,EAAAkU,WAAA,OAAAjD,SAAA,SAAAC,GAAuDlR,EAAAmU,KAAAnU,EAAAkU,WAAA,SAAAhD,IAAwCE,WAAA,wBAAiC,OAAAhR,EAAA,WAAwBK,MAAA,CAAO8S,OAAAvT,EAAAuT,SAAqB,CAAAnT,EAAA,WAAgBK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,YAAiBmF,YAAA,gBAAA9E,MAAA,CAAmCsR,MAAA,cAAoB3R,EAAA,UAAeiS,WAAA,EAAanU,KAAA,QAAAoU,QAAA,UAAA3T,MAAAqB,EAAAkU,WAAA,KAAA9C,WAAA,oBAAwF5L,MAAA,CAC54CyP,kBAAAjV,EAAAgW,eACqBvV,MAAA,CAAQvC,KAAA,GAAAwC,GAAA,IAAkBI,GAAA,CAAKqU,OAAA,SAAAxP,GAA0B,IAAAyP,EAAAC,MAAA5Y,UAAA6Y,OAAA3Y,KAAAgJ,EAAAmP,OAAAS,QAAA,SAAAnX,GAAkF,OAAAA,EAAAoX,WAAkBC,IAAA,SAAArX,GAAkB,IAAAsX,EAAA,WAAAtX,IAAAuX,OAAAvX,EAAAO,MAA6C,OAAA+W,IAAa1V,EAAAmU,KAAAnU,EAAAkU,WAAA,OAAAvO,EAAAmP,OAAAc,SAAAR,IAAA,OAA+F,CAAAhV,EAAA,UAAeK,MAAA,CAAO9B,MAAA,GAAAkX,SAAA,GAAAL,SAAA,KAAwC,CAAAxV,EAAAsG,GAAA,WAAAtG,EAAAiM,GAAAjM,EAAA,qBAAAiW,EAAApM,GAAkE,OAAAzJ,EAAA,UAAoBnB,IAAA4K,GAAU,CAAA7J,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAA4J,GAAA,+BAA+E,GAAAjW,EAAA,aAAAI,EAAA,OAAmCmF,YAAA,sCAAiD,CAAAvF,EAAAsG,GAAA,mDAAAtG,EAAAiB,MAAA,GAAAb,EAAA,WAAuFK,MAAA,CAAO+S,KAAA,OAAa,CAAApT,EAAA,YAAiBmF,YAAA,gBAAA9E,MAAA,CAAmCsR,MAAA,QAAc3R,EAAA,UAAeiS,WAAA,EAAanU,KAAA,QAAAoU,QAAA,UAAA3T,MAAAqB,EAAAkU,WAAA,IAAA9C,WAAA,mBAAsF5L,MAAA,CAC77ByP,kBAAAjV,EAAAkW,cACqBzV,MAAA,CAAQvC,KAAA,GAAAwC,GAAA,IAAkBI,GAAA,CAAKqU,OAAA,SAAAxP,GAA0B,IAAAyP,EAAAC,MAAA5Y,UAAA6Y,OAAA3Y,KAAAgJ,EAAAmP,OAAAS,QAAA,SAAAnX,GAAkF,OAAAA,EAAAoX,WAAkBC,IAAA,SAAArX,GAAkB,IAAAsX,EAAA,WAAAtX,IAAAuX,OAAAvX,EAAAO,MAA6C,OAAA+W,IAAa1V,EAAAmU,KAAAnU,EAAAkU,WAAA,MAAAvO,EAAAmP,OAAAc,SAAAR,IAAA,OAA8F,CAAAhV,EAAA,UAAeK,MAAA,CAAO9B,MAAA,GAAAkX,SAAA,GAAAL,SAAA,KAAwC,CAAAxV,EAAAsG,GAAA,WAAAtG,EAAAiM,GAAAjM,EAAA,oBAAAmW,EAAAtM,GAAgE,OAAAzJ,EAAA,UAAoBnB,IAAA4K,GAAU,CAAA7J,EAAAsG,GAAA,6BAAAtG,EAAAqM,GAAA8J,GAAA,+BAA8E,GAAAnW,EAAA,YAAAI,EAAA,OAAkCmF,YAAA,sCAAiD,CAAAvF,EAAAsG,GAAA,mDAAAtG,EAAAiB,MAAA,gBACrpBmV,EAAe,GCoKnBC,EAAA,yBACAC,EAAA,oBACAC,GAAA,eACAC,GAAA,CACAtY,KAAA,aACAkL,MAAA,CACA2I,MAAA0E,OACA5E,SAAA,CAAA0C,KAAAmC,QAAAC,SAAA,GACA3E,QAAA,CAAAuC,KAAAmC,QAAAC,SAAA,IAEAtN,WAAA,GACAxN,KARA,WASA,OACA0X,OAAA,wCAAAqD,KACAzT,UAAAC,WAEA,EACA,GACAvC,QAAA,wCAAA+V,KACAzT,UAAAC,WAEAiT,eACAC,cACAC,cACAvC,SAAA,GACAE,WAAA,CACAhW,KAAA,GACA2Y,OAAA,GACAC,SAAA,GACAC,MAAA,GACAjB,UAAA,GACAnS,OAAA,GACAsS,KAAA,GACAE,IAAA,IAEAa,YAAA,EACAC,aAAA,EACAC,eAAA,EACAC,eAAA,EACAC,cAAA,EACAC,aAAA,IAGA/N,SAAA,CACAgL,uBADA,WAEA,OAAArU,KAAA+W,aAAA/W,KAAAiU,WAAA4C,UAEA5B,eAJA,WAKA,OAAAjV,KAAAiU,WAAA4B,WAEAE,cAPA,WAQA,OAAA/V,KAAAiU,WAAA+B,MAEAC,aAVA,WAWA,OAAAjW,KAAAiU,WAAA+B,MAEAhC,SAbA,WAcA,IAAAqD,EACArX,KAAA4R,UACA5R,KAAAiU,WAAA6C,OACA9W,KAAAiU,WAAAvQ,OAEA,QAAA4T,SAAAD,EAAArN,QAAA,WAEA0J,SArBA,WAsBA,QAAA4D,UAAA,EAAAtN,QAAA,WAEAmK,WAxBA,WAyBA,QAAAmD,SAAAtX,KAAA4R,SAAA5H,QAAA,WAEA8L,WA3BA,WA4BA,OACA,CACAwB,SAAAtX,KAAA4R,SACA2F,UAAAvX,KAAAwX,eACAxN,QAAA,cAIA+K,SApCA,WAqCA,OACA,CACAuC,SAAAtX,KAAA4R,SACA2F,UAAAvX,KAAAyX,cACAzN,QAAA,cAKAV,QAtFA,aAuFAC,QAvFA,aAwFAC,QAAA,CACAoK,WADA,WAEA5T,KAAA8J,MAAA,mBAEAgK,UAJA,WAKA9T,KAAA8J,MAAA,mBAEA4K,oBAPA,WAQA1U,KAAA+W,YAAA,GAEApC,mBAVA,WAWA3U,KAAA+W,YAAA,GAEAW,eAbA,WAcA,OAAA1X,KAAA+T,UAEAX,OAhBA,WAgBA,IAAArG,EAAA/M,KAOA,OANAA,KAAAgX,aAAA,EACAhX,KAAAiX,eAAA,EACAjX,KAAAkX,eAAA,EACAlX,KAAAmX,cAAA,EACAnX,KAAAoX,aAAA,EAEA,IAAAO,QAAA,SAAAC,EAAAC,GACA9K,EAAAM,MAAAyK,KAAA1E,SADA,IAAA2E,EAIAhL,EAAAkH,WAAA4C,EAJAkB,EAIAlB,SAAAhB,EAJAkC,EAIAlC,UAAAG,EAJA+B,EAIA/B,KAAAE,EAJA6B,EAIA7B,IACA8B,IAAAnB,EACAoB,IAAApC,EACAqC,IAAAlC,EACAmC,IAAAjC,EAEAkC,WAAA,WAEA,GAAArL,EAAA6E,SAAA,CACA,IAAA3U,EACA8P,EAAAiK,aACAgB,GACAC,GACAC,GACAC,EAEAlb,IACA+a,IAAAjL,EAAAkK,eAAA,GACAgB,IAAAlL,EAAAmK,eAAA,GACAgB,IAAAnL,EAAAoK,cAAA,GACAgB,IAAApL,EAAAqK,aAAA,IAGAQ,EAAA,CAAA3a,SAAAob,KAAAtL,EAAAkH,kBAMAlH,EAAAuL,aACAV,EAAA,CAAA3a,QAAA,EAAAob,KAAA,OAGAtL,EAAAkH,WAAAhW,MACA8O,EAAAkH,WAAAvQ,QACAqJ,EAAAkH,WAAA6C,OAGA/J,EAAAwL,gBACAxL,EAAAkH,WAAAvQ,SAEAqJ,EAAAyL,eAAAzL,EAAAkH,WAAA6C,QAEAc,EAAA,CACA3a,QAAA,EACAob,KAAAtL,EAAAkH,aAMA2D,EAAA,CAAA3a,QAAA,IAGA8P,EAAAiK,YACAY,EAAA,CACA3a,QAAA,EACAob,KAAAtL,EAAAuL,aAAA,KAAAvL,EAAAkH,aAGA2D,EAAA,CAAA3a,QAAA,KAEA,QAGAoW,SA5FA,SA4FApD,GACA7F,QAAAC,IAAA,YACAD,QAAAC,IAAA,WAAAR,OAAA4O,KAAAC,UAAAzI,KACAjQ,KAAAgX,aAAA,GAEAsB,WAjGA,WAkGA,IAAAK,GAAA,EAWA,OAVApc,OAAA0T,OAAAjQ,KAAAiU,YAAA9G,QAAA,SAAA/J,GACAuV,MAAAvV,IAGAgH,QAAAC,IAAA,mBAAAR,OACA4O,KAAAC,UACA1Y,KAAAiU,YAFA,cAAApK,OAGA8O,IAGAA,GAGAnB,eAhHA,SAgHA/B,GACA,OAAAzV,KAAA4R,SACA5R,KAAAuY,gBAAA9C,GACAA,EACAzV,KAAAuY,gBAAA9C,IACAzV,KAAAiU,WAAAhW,OAAA+B,KAAAiU,WAAA6C,OAKAyB,gBA1HA,SA0HA9C,GACA,gBAAAkB,KAAAlB,IAEAgC,cA7HA,SA6HAhC,GACA,OAAAzV,KAAA4R,SACA5R,KAAAwY,eAAA/C,GACAA,EACAzV,KAAAwY,eAAA/C,IACAzV,KAAAiU,WAAAhW,OAAA+B,KAAAiU,WAAAvQ,QAKA8U,eAvIA,SAuIA/C,GACA,2DAAAkB,KACAlB,MCjZoVmD,GAAA,GCQhVC,cAAYtc,OAAAkO,EAAA,KAAAlO,CACdqc,GACAzF,EACAgD,GACF,EACA,KACA,WACA,OAIe2C,GAAAD,WCnBXE,GAAM,WAAgB,IAAAhZ,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAF,EAAA,KAAAI,EAAA,OAA4BmF,YAAA,UAAAC,MAAA,CAA6BgL,MAAAxQ,EAAAa,UAAsB,CAAAT,EAAA,OAAYmF,YAAA,OAAiBnF,EAAA,OAAYmF,YAAA,gBAA2B,CAAAnF,EAAA,MAAAJ,EAAAsG,GAAAtG,EAAAqM,GAAArM,EAAA+R,UAAA3R,EAAA,OAAiDmF,YAAA,cAAAC,MAAA,CAAiCyT,qBAAA,GAAAjZ,EAAA8S,aAA6C,CAAA1S,EAAA,OAAYmF,YAAA,MAAAzE,GAAA,CAAsB4E,MAAA1F,EAAAkZ,cAAyB,CAAA9Y,EAAA,OAAYK,MAAA,CAAOmF,IAAA5F,EAAAmZ,WAAArT,IAAA,QAA+B,GAAA9F,EAAA8S,WAAA1S,EAAA,OAAoCmF,YAAA,MAAAzE,GAAA,CAAsB4E,MAAA1F,EAAAoZ,YAAuB,CAAAhZ,EAAA,OAAYK,MAAA,CAAOmF,IAAA5F,EAAAqZ,SAAAvT,IAAA,QAA6B9F,EAAAiB,WAAAjB,EAAAiB,MACrlBqY,GAAe,GCoBnBC,cAAA,IACAC,GAAA,CACAtb,KAAA,YACAkL,MAAA,CACAwJ,KAAA,CACA2B,KAAAmC,QACAC,SAAA,GAEA5E,MAAA,CACAwC,KAAAkC,OACAE,QAAA,wBAEA7D,WAAA,CACAyB,KAAAkF,OACA9C,QAAA,GAEA9V,QAAA,CACA0T,KAAAmC,QACAC,SAAA,IAGAtN,WAAA,GACAxN,KArBA,WAsBA,OACAsd,WAAA,GAAArP,OAAAyP,GAAA,iBACAF,SAAA,GAAAvP,OAAAyP,GAAA,mBAGAjQ,SAAA,GACAC,QA5BA,aA6BAC,QA7BA,aA8BAC,QAAA,CACAyP,YADA,WAEA7O,QAAAC,IAAA,eACArK,KAAA8J,MAAA,aAEAqP,UALA,WAMA/O,QAAAC,IAAA,aACArK,KAAA8J,MAAA,aC3DmV2P,GAAA,GCQ/UC,cAAYnd,OAAAkO,EAAA,KAAAlO,CACdkd,GACAV,GACAM,IACF,EACA,KACA,WACA,OAIeM,GAAAD,WCnBXE,GAAM,WAAgB,IAAA7Z,EAAAC,KAAaC,EAAAF,EAAAG,eAA0BC,EAAAJ,EAAAK,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBmF,YAAA,kBAA6B,CAAAnF,EAAA,YAAiBQ,IAAA,IAAAE,GAAA,CAAYuS,OAAArT,EAAAsT,WAAuB,CAAAlT,EAAA,aAAkBK,MAAA,CAAOvC,KAAA,KAAAoD,MAAA,MAAAmS,YAAA,MAAAC,MAAA,EAAwD6D,UAAA,EAAAtN,QAAA,YAAsC+G,MAAA,CAAQrS,MAAAqB,EAAA,IAAAiR,SAAA,SAAAC,GAAyClR,EAAA8Z,IAAA5I,GAAYE,WAAA,SAAmBhR,EAAA,aAAkBK,MAAA,CAAO8T,KAAA,WAAArW,KAAA,MAAAoD,MAAA,MAAAmS,YAAA,MAAAC,MAAA,EAA2E6D,UAAA,EAAAtN,QAAA,WAAqC+G,MAAA,CAAQrS,MAAAqB,EAAA,SAAAiR,SAAA,SAAAC,GAA8ClR,EAAA+Z,SAAA7I,GAAiBE,WAAA,cAAwBhR,EAAA,OAAYkI,YAAA,CAAa0R,OAAA,SAAiB,CAAA5Z,EAAA,cAAmBK,MAAA,CAAOwZ,MAAA,GAAAC,MAAA,GAAA3F,KAAA,OAAA4F,cAAA,WAA4D,CAAAna,EAAAsG,GAAA,qBACtuB8T,GAAe,GC2BnBC,GAAA,CACAxe,KADA,WAEA,OACAie,IAAA,GACAC,SAAA,KAGAtQ,QAAA,CACA4J,OADA,WAEApT,KAAAqN,MAAAgN,EAAAjH,UAEAC,SAJA,SAIApD,GACA7F,QAAAC,IAAA,SAAA4F,MCxCkVqK,GAAA,GCO9UC,GAAYhe,OAAAkO,EAAA,KAAAlO,CACd+d,GACAV,GACAO,IACF,EACA,KACA,WACA,MAIeK,GAAAD,WCKA,SAASE,GAASC,EAAMC,GACnC,IAAIC,EACJ,OAAO,WACH,IAAIC,EAAU7a,KACV8a,EAAOvZ,UACNqZ,IACDA,EAAUxC,WAAW,WACjBwC,EAAU,KACVF,EAAK3d,MAAM8d,EAASC,IACrBH,2CC7BfI,KAAMC,SAASJ,QAAU,IAIzBG,KAAMC,SAASC,QAAU,6BACzBF,KAAMC,SAASE,iBAAkB,EAEjC,IAAIC,GAAW,GAEf,SAASC,GAAgBC,GACrB,iBAAAxR,OAAkBwR,EAAOJ,QAAzB,SAAApR,OAAwCwR,EAAOC,IAA/C,YAAAzR,OACIwR,EAAOE,QAIf,SAASC,GAAcH,GACnB,IAAMI,EAAMN,GAASO,KAAK,SAAAD,GACtB,OAAOA,EAAIhb,KAAO2a,GAAgBC,KAElCI,IACAA,EAAIE,OAAO,6BACXR,GAAS7d,OAAOme,EAAK,IAI7B,SAASG,GAAU5R,GACf6R,eAAM,CAAE7R,UAASE,SAAU,KAAMC,aAAa,IAGlD4Q,KAAMe,aAAaC,QAAQC,IACvB,SAAAX,GAMI,OAJAG,GAAcH,GACdA,EAAOY,YAAc,IAAIlB,KAAMmB,YAAY,SAAAP,GACvCR,GAAS7e,KAAK,CAAEmE,GAAI2a,GAAgBC,GAASM,aAE1CN,GAEX,SAAAc,GACIxE,QAAQyE,OAAOD,KAIvBpB,KAAMe,aAAaO,SAASL,IACxB,SAAAK,GAII,OAHAR,OAAMS,QACNd,GAAca,EAAShB,QAEhBgB,EAASzgB,MAYpB,SAAAugB,GAQI,OAPAN,OAAMS,QAKNlS,QAAQC,IAAI8R,GACZP,GAAU,cACHjE,QAAQyE,OAAOD,KAIfpB,GAAf,EAAeA,ICxETwB,GAAUxB,KAAMhc,OAAO,CACzBkc,QAASuB,gCAET5B,QAAS,MAIb2B,GAAQT,aAAaC,QAAQC,IACzB,SAASX,GAaL,MAXqB,QAAjBA,EAAOE,SACPnR,QAAQC,IAAI,kCACZgR,EAAOoB,QAAQ,gBAAkB,oBAOrCrS,QAAQC,IAAI,0BACZD,QAAQC,IAAIgR,GACLA,GAEX,SAASc,GAEL,OAAOxE,QAAQyE,OAAOD,KAK9BI,GAAQT,aAAaO,SAASL,IAC1B,SAASK,GAKL,OAFAjS,QAAQC,IAAI,2BACZD,QAAQC,IAAIgS,GACLA,GAEX,SAASF,GAGL,OAAOxE,QAAQyE,OAAOD,KAIfI,UC/BFG,GAAO,SAAAC,GAAK,OACrBC,GAAK,CACDtB,IAAK,oBACLC,OAAQ,OACR3f,KAAM+gB,KCkIdE,GAAA,GAGAC,GAAA,CACA7e,KAAA,YACAkL,MAAA,iCACAC,WAAA,CACAsB,SACAoO,cACAa,aACAa,aAEA5e,KATA,WAUA,OACA4W,aAAA,GAAA3I,OAAAgT,GAAA,mBACAnK,UAAA,GAAA7I,OAAAgT,GAAA,iBACA3L,iBAAA,IACAQ,WAAA,GAAA7H,OAAAgT,GAAA,mBACAlL,aAAA,GAAA9H,OAAAgT,GAAA,mBACApM,OAAA,OAAA5G,OAAAgT,GAAA,iBACAlM,YAAA,OAAA9G,OAAAgT,GAAA,mBACAnM,aAAA,OAAA7G,OAAAgT,GAAA,oBACA9S,UAAA,EACA6I,SAAA,CACAd,MAAA,GACAe,WAAA,GAEAhB,cAAA,EACAhB,aAAA,KACAkM,WAAA,KACAzK,eAAA,EACAC,WAAA,IAGAlJ,SAAA,CACAgL,uBADA,WAEA,OAAArU,KAAA+W,aAAA/W,KAAAgd,QAAAC,OAEAhI,eAJA,WAKA,OAAAjV,KAAAkd,eAEAnH,cAPA,WAQA,OAAA/V,KAAAmd,gBAGA7T,QA1CA,WA2CA,IAAAyD,EAAA/M,KACAA,KAAA6Q,aAAA4J,GAAA,SAAA2C,GACArQ,EAAAsQ,YAAAD,IACA,MAEA7T,QAhDA,WAiDAvJ,KAAAqN,MAAAiQ,SAAAC,iBAAA,SAAAvd,KAAA6Q,cAAA,GACA7Q,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MACA,wCACA9R,KAAA4S,SAAAC,WAAA,GAEArJ,QAAA,CAEAyI,kBAFA,SAEArI,GACA5J,KAAAuS,UAAA3I,GAGA7I,gBANA,SAMA6I,GACA5J,KAAA8J,MAAA,YAAAF,IAEA8K,oBATA,WAUA1U,KAAA+W,YAAA,GAEApC,mBAZA,WAaA3U,KAAA+W,YAAA,GAEA5E,eAfA,SAeAqL,GACApT,QAAAC,IAAA,wBACAD,QAAAC,IAAAmT,IAGA/T,gBApBA,SAoBArI,EAAAC,GACA+I,QAAAC,IAAAhJ,GACAiJ,EAAAlJ,EAAAC,IAEA0R,gBAxBA,WAyBA/S,KAAA+J,UAAA,GAEAsT,YA3BA,SA2BAD,GAAA,IAAAlQ,EAAAlN,KACAA,KAAA+c,YACAU,aAAAzd,KAAA+c,YAGA/c,KAAA+c,WAAA3E,WAAA,WACAqF,aAAAvQ,EAAA6P,YACA7P,EAAA6P,WAAA,KACA3S,QAAAC,IAAA,qBAEA,IAAAqT,EAAAxQ,EAAAG,MAAAsQ,YACAC,EAAA1Q,EAAAG,MAAAiQ,SANAO,EAcAH,EAAAI,wBAFAC,EAZAF,EAYAvd,OACA0d,EAbAH,EAaAI,IAEAC,EAAAN,EAAA3Y,aAQAiI,EAAAoF,cACAyL,EAAAC,EAAA,KAAAE,GACA,MAEAjL,cA3DA,eAAAkL,EAAA5hB,OAAA6hB,EAAA,KAAA7hB,CAAA8hB,mBAAAC,KAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAAC,EAAA3K,EAAA4K,EAAA/G,EAAAhc,EAAA,OAAAyiB,mBAAAO,KAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,cA4DA/e,KAAA+J,UAAA,EA5DA8U,EAAAE,KAAA,EA6DA/e,KAAAqN,MAAA2P,QAAA5J,SA7DA,cA6DAoL,EA7DAK,EAAAG,KAAAH,EAAAE,KAAA,EA8DA/e,KAAAqN,MAAA4R,QAAA7L,SA9DA,cA8DAqL,EA9DAI,EAAAG,KAAAH,EAAAE,KAAA,EA+DA/e,KAAAqN,MAAA6R,QAAA9L,SA/DA,cA+DAsL,EA/DAG,EAAAG,KAAAH,EAAAE,KAAA,GAgEA/e,KAAAqN,MAAA2P,QAAAtF,iBAhEA,eAgEA3D,EAhEA8K,EAAAG,KAmEAL,EAAA,CACArK,KAAA6K,SAAAnf,KAAAkR,kBACA6C,WACAqL,MAAA,IAGAZ,EAAAnG,MAAAsG,EAAAS,MAAA9iB,KAAAkiB,EAAAnG,MACAoG,EAAApG,MAAAsG,EAAAS,MAAA9iB,KAAAmiB,EAAApG,MACAqG,EAAArG,MAAAsG,EAAAS,MAAA9iB,KAAAoiB,EAAArG,MA3EAwG,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GA8EAM,GAAAV,GA9EA,QA8EA/G,EA9EAiH,EAAAG,KA+EApjB,EAAAgc,EAAAhc,KACA,GAAAA,EAAA0jB,MACAtf,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MAAA,YACA9R,KAAA4S,SAAAC,WAAA,IAEA7S,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MAAAlW,EAAA2jB,IACAvf,KAAA4S,SAAAC,WAAA,GAvFAgM,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAW,GAAAX,EAAA,aA0FAzU,QAAAC,IAAA,uBAAAwU,EAAAW,IACAxf,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MAAA,iBACA9R,KAAA4S,SAAAC,WAAA,EA7FA,yBAAAgM,EAAA7O,SAAAuO,EAAAve,KAAA,uBAAAiT,IAAA,OAAAkL,EAAAphB,MAAAiD,KAAAuB,WAAA,OAAA0R,EAAA,GAgGAR,cAhGA,eAAAgN,EAAAljB,OAAA6hB,EAAA,KAAA7hB,CAAA8hB,mBAAAC,KAAA,SAAAoB,IAAA,IAAAlB,EAAAC,EAAAC,EAAA3K,EAAAiD,EAAA,OAAAqH,mBAAAO,KAAA,SAAAe,GAAA,eAAAA,EAAAb,KAAAa,EAAAZ,MAAA,cAiGA/e,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MACA,wCACA9R,KAAA4S,SAAAC,WAAA,EApGA8M,EAAAC,OAAA,wBAsGApB,EAtGAmB,EAAAX,KAAAW,EAAAZ,KAAA,EAuGA/e,KAAAqN,MAAA4R,QAAA7L,SAvGA,cAuGAqL,EAvGAkB,EAAAX,KAAAW,EAAAZ,KAAA,GAwGA/e,KAAAqN,MAAA6R,QAAA9L,SAxGA,eAwGAsL,EAxGAiB,EAAAX,KAAAW,EAAAZ,KAAA,GAyGA/e,KAAAqN,MAAA2P,QAAAtF,iBAzGA,QAyGA3D,EAzGA4L,EAAAX,KA0GA5U,QAAAC,IAAA,mBAAAR,OAAA4O,KAAAC,UAAA8F,KACApU,QAAAC,IAAA,mBAAAR,OAAA4O,KAAAC,UAAA+F,KACArU,QAAAC,IAAA,mBAAAR,OAAA4O,KAAAC,UAAAgG,KACAtU,QAAAC,IAAAmU,GACApU,QAAAC,IAAAoU,GACAzH,EAAAhX,KAAA6f,kBAAArB,EAAAC,EAAAC,EAAA3K,GAEAiD,EAAA/Z,QAKA+C,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MAAA,uBACA9R,KAAA4S,SAAAC,WAAA,IANA7S,KAAA+J,UAAA,EACA/J,KAAA4S,SAAAd,MAAAkF,EAAA8I,OACA9f,KAAA4S,SAAAC,WAAA,GApHA,yBAAA8M,EAAA3P,SAAA0P,EAAA1f,SAAA,SAAAyS,IAAA,OAAAgN,EAAA1iB,MAAAiD,KAAAuB,WAAA,OAAAkR,EAAA,GA+HAoN,kBA/HA,SA+HAE,EAAAC,EAAAC,EAAAlM,GACA,IAAAmM,EAAA,CAAAjjB,QAAA,EAAA6iB,OAAA,IAiBA,MAfA,cAAAxc,QAAAtD,KAAAkR,kBAAA,GACAgP,EAAAjjB,QAAA,EACAijB,EAAAJ,OAAA,WACA,IAAA/L,GACAmM,EAAAjjB,QAAA,EACAijB,EAAAJ,OAAA,SACAC,EAAA9iB,QAAA+iB,EAAA/iB,QAAAgjB,EAAAhjB,OACAijB,EAAAjjB,QAAA,GAEAijB,EAAAjjB,QAAA,EACAijB,EAAAJ,OAAA,cAAAjW,OACAkW,EAAA9iB,OAAA+iB,EAAA/iB,OAAA,YADA,QAKAijB,KClWmVC,GAAA,GCQ/UC,cAAY7jB,OAAAkO,EAAA,KAAAlO,CACd4jB,GACA7P,EACA4C,GACF,EACA,KACA,WACA,OAIemN,GAAAD,WC+CfE,GAAA,CACAriB,KAAA,MACAmL,WAAA,CACAiX,aACAzU,WACA8B,eACAY,eACA+B,eAEAzU,KAAA,WACA,OACAgF,SAAA,EACA2f,cAAA,EACAC,QAAA,EACAC,eAAA,EACA/f,YAAA,EACAO,UAAA,KACAyf,gBAAA,KACAC,eAAA,CACAC,cAAA,EACAC,SAAA,MAEAC,WAAA,mBACAC,MAAA,iBACAC,YAAA,qBACAzgB,aAAAhB,OAAA6F,YAAA,OAGAiE,SAAA,GACAC,QAAA,WACA,IAAA2X,EAAAlc,SAAAG,gBAAAD,aACAic,EAAAnc,SAAAG,gBAAAF,YACA/D,EAAAggB,EAAAC,EACAlhB,KAAA0gB,gBAAAO,EACAjhB,KAAAiB,aAEAsI,QApCA,eAAA4X,EAAA5kB,OAAA6hB,EAAA,KAAA7hB,CAAA8hB,mBAAAC,KAAA,SAAAC,IAAA,IAAA6C,EAAA7c,EAAAjE,EAAAyM,EAAA/M,KAAA,OAAAqe,mBAAAO,KAAA,SAAAC,GAAA,eAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAqCA/e,KAAAO,aAAAhB,OAAA6F,YAAA,KAEApF,KAAAyJ,gBAAA,eACAzJ,KAAAqhB,aACA9hB,OAAA+hB,SAAA,WACAvU,EAAAsU,aACA,GAAAtU,EAAArM,aACAqM,EAAAM,MAAAkU,aAAAtU,4BA5CAmU,EAwEA9c,IAAAC,EAxEA6c,EAwEA7c,MAAAjE,EAxEA8gB,EAwEA9gB,OACAyE,SAAAD,KAAAzE,MAAAmhB,YAAA,cAAAlhB,EAAA,MACAyE,SAAAD,KAAAzE,MAAAmhB,YACA,kBACAC,KAAAC,KAAA,IAAAD,KAAAE,KAAArhB,IAAAiE,MAAA,IACA,MAGA,oBAAAoS,KAAAzT,UAAA0e,aACA7c,SAAAwY,iBACA,OACA,SAAAsE,GAIA9c,SAAAG,gBAAAqI,cACAxI,SAAAG,gBAAAD,cACA,qBAAA6c,SAAAD,EAAAhN,OAAAkN,YAEAhd,SAAAD,KAAAkd,mBAGA,GA9FA,wBAAAnD,EAAA7O,SAAAuO,EAAAve,SAAA,SAAAuJ,IAAA,OAAA4X,EAAApkB,MAAAiD,KAAAuB,WAAA,OAAAgI,EAAA,GAiGAC,QAAA,CAEA6X,WAFA,WAGA,IAAAH,EAAAnc,SAAAG,gBAAAF,YACAic,EAAAlc,SAAAG,gBAAAD,aAEAjF,KAAAY,QADAsgB,EAAAD,EAAA,KAAAC,EAAA,IAMA3hB,OAAA0iB,MAAAC,MAAAthB,QAAAZ,KAAAY,SAGAG,gBAdA,SAcA6I,GACA,GAAAA,GAAA5J,KAAAU,YAGA,UAAAkJ,GACA5J,KAAAyJ,gBAAA,0BACAlK,OAAAmK,SAAAC,KACA,2FAGA,GAAAC,GACA5J,KAAAyJ,gBAAA,6BACAlK,OAAAmK,SAAAC,KACA,+FAGA,GAAAC,GACA5J,KAAAyJ,gBAAA,uBACAlK,OAAAmK,SAAAC,KACA,4CAGA3J,KAAAU,YAAAkJ,IAEAuY,iBAtCA,SAsCAC,GAGA,IAFA,IAAAzF,EAAApd,OAAAmK,SAAA2Y,OAAAC,UAAA,GACAC,EAAA5F,EAAA6F,MAAA,KACAtmB,EAAA,EAAAA,EAAAqmB,EAAAnmB,OAAAF,IAAA,CACA,IAAAumB,EAAAF,EAAArmB,GAAAsmB,MAAA,KACA,GAAAC,EAAA,IAAAL,EACA,OAAAK,EAAA,GAGA,UAEA1Y,SAjDA,SAiDAC,GACAzN,OAAA0N,EAAA,KAAA1N,CAAA,CAAAyN,UAAAE,SAAA,KAAAC,aAAA,KAEAuY,iBApDA,WAqDA1iB,KAAA4T,YAAA,GAEA+O,gBAvDA,WAwDA3iB,KAAA4T,YAAA,GAGAgP,UA3DA,SA2DAC,EAAAC,GAEA,KAAAD,EAAAzmB,QAAA0mB,EACA,OAAAD,EAIA,IAFA,IAAAE,EAAA,EACAvlB,EAAA,GACAtB,EAAA,EAAAA,EAAA2mB,EAAAzmB,OAAAF,IAEA,GADAsB,GAAAqlB,EAAAG,OAAA9mB,GACA2mB,EAAAI,WAAA/mB,GAAA,KAEA,GADA6mB,GAAA,EACAA,GAAAD,EACA,OAAAtlB,EAAA8kB,UAAA,EAAA9kB,EAAApB,OAAA,cAIA,GADA2mB,GAAA,EACAA,GAAAD,EACA,OAAAtlB,EAAA8kB,UAAA,EAAA9kB,EAAApB,OAAA,SAIA,OAAAoB,GAGAiM,gBAnFA,SAmFArI,EAAAC,GACAiJ,EAAAlJ,EAAAC,IAEA6hB,YAtFA,WAuFAljB,KAAAugB,cACAvgB,KAAAugB,cAAA,EACAvgB,KAAAmjB,gCAEAnjB,KAAAugB,cAAA,EACAvgB,KAAAojB,+BAGAC,yBA/FA,SA+FA3lB,GACA6B,OAAA+jB,SAAAC,MAAAC,cACA,iBACA,QACA,CAAAnY,MAAA,IAEA,IAAAoY,EAAAC,YAAA,WACAhmB,EAAAijB,eAAAC,eACA+C,cAAAF,GACArZ,QAAAC,IAAA,QACA3M,EAAAijB,eAAAE,SAAAthB,OAAA+jB,SAAAC,MAAAK,KACA,QACA,CAAAvY,MAAA,IAEA9L,OAAA0iB,MAAA4B,8BAEA,KAEAC,oBAjHA,WAiHA,IAAA5W,EAAAlN,KAIA,SAAA+jB,EAAAlC,GACAzX,QAAAC,IAAA,wBAAAR,OAAA4O,KAAAC,UAAAmJ,KACA7hB,KAAA2gB,eAAAC,cAAA,EALArhB,OAAA+jB,SAAAC,MAAAS,oBAAA,QACAzkB,OAAA+jB,SAAAC,MAAA1iB,GAAA,WAAAkjB,EAAA/jB,MAOA,IAAAikB,EAAAjkB,KAEAkkB,EAAA9hB,KACA2C,SAAAwY,iBACA,sBACA,WACAnT,QAAAC,IAAA,uBAEA6C,EAAAmW,yBAAAY,KAEA,GAIAjkB,KAAAqjB,yBAAAY,IAGAd,4BA3IA,WA4IA5jB,OAAA0iB,MAAAkC,0BACAnkB,KAAA2gB,eAAAE,SAAAuD,QAAA,GAEAhB,2BA/IA,WAgJA7jB,OAAA0iB,MAAA4B,4BACA7jB,KAAA2gB,eAAAE,SAAAuD,QAAA,KCpT8TC,GAAA,GCQ1TC,cAAY/nB,OAAAkO,EAAA,KAAAlO,CACd8nB,GACAvkB,EACAoB,GACF,EACA,KACA,KACA,OAIeqjB,GAAAD,kLCuBXhB,sIAAW,IAEV/jB,OAAO+jB,SAGXA,GAAW/jB,OAAO+jB,SAFlB/jB,OAAO+jB,SAAWA,GAKnB,WAQC,IAAI9lB,EAAI8lB,GAASkB,QAAUlB,GAASkB,SAAW,GAQ/ChnB,EAAEinB,QAAsB,QAQxBjnB,EAAEknB,UAAqB,gCAxBxB,GAwDApB,GAASqB,OAAS,SAAUC,EAAUC,GAGrC,SAAS1mB,IAAM6B,KAAK8kB,YAAcF,EAElC,OADAzmB,EAAE3B,UAAYqoB,EAAWroB,UACjBooB,EAASpoB,UAAY,IAAI2B,GAkDlCmlB,GAASyB,QAAU,SAAUH,EAAUI,GAGtC,IAAIC,EAAOL,EAASpoB,UAAW0oB,EAAQ3oB,OAAO4oB,gBAAkB5oB,OAAO4oB,eAAeF,IAAUA,EAAKG,UACrG,GAAIF,EAEH,IAAK,IAAIhmB,KADT+lB,GAAMD,GAAU,KAAO,eAAiBE,EAAKJ,YAC/BI,EACTD,EAAKxoB,eAAeyC,IAAyB,mBAAXgmB,EAAKhmB,KAAqB+lB,EAAKD,EAAS9lB,GAAKgmB,EAAKhmB,IAG1F,OAAO0lB,GAoCRtB,GAAS+B,UAAY,SAAUC,EAAgBrnB,GAE9C,OAAO,WACN,IAAIshB,EAAM,kCAAoCthB,EAAO,wBAErD,OADAmM,UAAYA,QAAQmb,KAAOnb,QAAQmb,KAAKhG,GAAOnV,QAAQC,IAAIkV,IACpD+F,GAAkBA,EAAevoB,MAAMiD,KAAMuB,aAyBtD+hB,GAAShgB,QAAU,SAAUkiB,EAAOC,GAGnC,IAAK,IAAIvpB,EAAI,EAAG2B,EAAI2nB,EAAMppB,OAAQF,EAAI2B,EAAG3B,IACxC,GAAIupB,IAAkBD,EAAMtpB,GAC3B,OAAOA,EAGT,OAAQ,GAqBR,WAyBAonB,GAASoC,MAAQ,SAAUnK,EAAQoK,GAClC,IAAIC,EAAQxQ,MAAM5Y,UAAUiD,MAAM/C,KAAK6E,UAAW,GAClD,OAAO,WACN,OAAOga,EAAOxe,MAAM4oB,EAAOvQ,MAAM5Y,UAAUiD,MAAM/C,KAAK6E,UAAW,GAAGsI,OAAO+b,MA5B7E,GA2CA,WAyBA,SAASC,IACR,KAAM,uCAGP,IAAIC,EAAQD,EAAcC,MAAQvmB,OAAO2D,UAAUC,UACnD0iB,EAAcE,cAAiBD,EAAMxiB,QAAQ,aAAe,GAAOwiB,EAAMxiB,QAAQ,kBAAoB,EACrGuiB,EAAcG,UAAaF,EAAMxiB,QAAQ,YAAc,EACvDuiB,EAAcI,QAA2B,MAAhB1mB,OAAO2mB,MAChCL,EAAcM,SAAYL,EAAMxiB,QAAQ,WAAa,EACrDuiB,EAAcO,OAASN,EAAMxiB,QAAQ,SAAW,GAAKwiB,EAAMxiB,QAAQ,WAAa,GAAKwiB,EAAMxiB,QAAQ,SAAW,KAAOuiB,EAAcE,cACnIF,EAAc3jB,UAAa4jB,EAAMxiB,QAAQ,YAAc,IAAOuiB,EAAcE,cAC5EF,EAAcQ,aAAgBP,EAAMxiB,QAAQ,eAAiB,EAE7DggB,GAASuC,cAAgBA,EAtCzB,GAgDA,WA2DA,SAASS,IASRtmB,KAAKumB,WAAa,KAOlBvmB,KAAKwmB,kBAAoB,KAE1B,IAAInnB,EAAIinB,EAAgB9pB,UAcxB8pB,EAAgBG,WAAa,SAAU5R,GACtCA,EAAO0I,iBAAmBle,EAAEke,iBAC5B1I,EAAOhU,GAAKxB,EAAEwB,GACdgU,EAAO6R,oBAAsB7R,EAAO8R,IAAMtnB,EAAEqnB,oBAC5C7R,EAAO+R,wBAA0BvnB,EAAEunB,wBACnC/R,EAAOgS,iBAAmBxnB,EAAEwnB,iBAC5BhS,EAAOiS,cAAgBznB,EAAEynB,cACzBjS,EAAOkS,eAAiB1nB,EAAE0nB,eAC1BlS,EAAOmS,YAAc3nB,EAAE2nB,aAuBxB3nB,EAAEke,iBAAmB,SAAUjJ,EAAM2S,EAAUC,GAC9C,IAAIC,EAEHA,EADGD,EACSlnB,KAAKwmB,kBAAoBxmB,KAAKwmB,mBAAqB,GAEnDxmB,KAAKumB,WAAavmB,KAAKumB,YAAc,GAElD,IAAIa,EAAMD,EAAU7S,GAKpB,OAJI8S,GAAOpnB,KAAK0mB,oBAAoBpS,EAAM2S,EAAUC,GACpDE,EAAMD,EAAU7S,GACX8S,EACEA,EAAI9qB,KAAK2qB,GADJE,EAAU7S,GAAQ,CAAC2S,GAExBA,GAqCR5nB,EAAEwB,GAAK,SAAUyT,EAAM2S,EAAUtB,EAAO0B,EAAMzrB,EAAMsrB,GAMnD,OALID,EAASK,cACZ3B,EAAQA,GAASsB,EACjBA,EAAWA,EAASK,aAErB3B,EAAQA,GAAS3lB,KACVA,KAAKud,iBAAiBjJ,EAAM,SAAUiT,GAC5CN,EAASvqB,KAAKipB,EAAO4B,EAAK3rB,GAC1ByrB,GAAQE,EAAIC,UACVN,IAmBJ7nB,EAAEqnB,oBAAsB,SAAUpS,EAAM2S,EAAUC,GACjD,IAAIC,EAAYD,EAAalnB,KAAKwmB,kBAAoBxmB,KAAKumB,WAC3D,GAAKY,EAAL,CACA,IAAIC,EAAMD,EAAU7S,GACpB,GAAK8S,EACL,IAAK,IAAIlrB,EAAI,EAAG2B,EAAIupB,EAAIhrB,OAAQF,EAAI2B,EAAG3B,IACtC,GAAIkrB,EAAIlrB,IAAM+qB,EAAU,CACd,GAALppB,SAAkBspB,EAAU7S,GACzB8S,EAAI9pB,OAAOpB,EAAG,GACrB,SAiBHmD,EAAEsnB,IAAMtnB,EAAEqnB,oBAgBVrnB,EAAEunB,wBAA0B,SAAUtS,GAChCA,GAEAtU,KAAKumB,mBAAsBvmB,KAAKumB,WAAWjS,GAC3CtU,KAAKwmB,0BAA6BxmB,KAAKwmB,kBAAkBlS,IAHjDtU,KAAKumB,WAAavmB,KAAKwmB,kBAAoB,MA4BzDnnB,EAAEynB,cAAgB,SAAUW,EAAUC,EAASC,GAC9C,GAAuB,iBAAZF,EAAsB,CAEhC,IAAIN,EAAYnnB,KAAKumB,WACrB,IAAKmB,KAAaP,IAAcA,EAAUM,IAAc,OAAO,EAC/DA,EAAW,IAAInE,GAASsE,MAAMH,EAAUC,EAASC,QACvCF,EAAS5S,QAAU4S,EAASI,QAEtCJ,EAAWA,EAASI,SAIrB,IAAMJ,EAAS5S,OAAS7U,KAAQ,MAAOod,IAEvC,GAAKqK,EAASC,SAAY1nB,KAAK8nB,OAExB,CACN,IAAI7J,EAAMje,KAAM+nB,EAAO,CAAC9J,GACxB,MAAOA,EAAI6J,OAAUC,EAAKzrB,KAAK2hB,EAAMA,EAAI6J,QACzC,IAAI5rB,EAAG2B,EAAIkqB,EAAK3rB,OAGhB,IAAKF,EAAI2B,EAAI,EAAG3B,GAAK,IAAMurB,EAASO,mBAAoB9rB,IACvD6rB,EAAK7rB,GAAG6qB,eAAeU,EAAU,GAAU,GAALvrB,IAGvC,IAAKA,EAAI,EAAGA,EAAI2B,IAAM4pB,EAASO,mBAAoB9rB,IAClD6rB,EAAK7rB,GAAG6qB,eAAeU,EAAU,QAZlCznB,KAAK+mB,eAAeU,EAAU,GAe/B,OAAQA,EAASQ,kBASlB5oB,EAAEwnB,iBAAmB,SAAUvS,GAC9B,IAAI6S,EAAYnnB,KAAKumB,WAAY2B,EAAmBloB,KAAKwmB,kBACzD,SAAWW,GAAaA,EAAU7S,IAAW4T,GAAoBA,EAAiB5T,KAcnFjV,EAAE2nB,YAAc,SAAU1S,GACzB,IAAInW,EAAI6B,KACR,MAAO7B,EAAG,CACT,GAAIA,EAAE0oB,iBAAiBvS,GAAS,OAAO,EACvCnW,EAAIA,EAAE2pB,OAEP,OAAO,GAORzoB,EAAE8oB,SAAW,WACZ,MAAO,qBAWR9oB,EAAE0nB,eAAiB,SAAUU,EAAUW,GACtC,IAAIvqB,EAAGupB,EAAKD,EAAaiB,GAAc,EAAKpoB,KAAKwmB,kBAAoBxmB,KAAKumB,WAC1E,GAAIkB,GAAYN,IAAcC,EAAMD,EAAUM,EAASnT,SAAWzW,EAAIupB,EAAIhrB,QAAS,CAClF,IAAMqrB,EAASY,cAAgBroB,KAAQ,MAAOod,IAC9C,IAAMqK,EAASW,WAA0B,EAAbA,EAAkB,MAAOhL,IACrDqK,EAASa,SAAU,EAEnBlB,EAAMA,EAAI3nB,QACV,IAAK,IAAIvD,EAAI,EAAGA,EAAI2B,IAAM4pB,EAASc,4BAA6BrsB,IAAK,CACpE,IAAIiC,EAAIipB,EAAIlrB,GACRiC,EAAEmpB,YAAenpB,EAAEmpB,YAAYG,GAC5BtpB,EAAEspB,GACLA,EAASa,UACZtoB,KAAK2mB,IAAIc,EAASnT,KAAMnW,EAAiB,GAAdiqB,GAC3BX,EAASa,SAAU,IAIH,IAAfF,GAAoBpoB,KAAK+mB,eAAeU,EAAU,MAIvDnE,GAASgD,gBAAkBA,EApX3B,GA6XA,WAgBA,SAASsB,EAAMtT,EAAMoT,EAASC,GAS7B3nB,KAAKsU,KAAOA,EASZtU,KAAK6U,OAAS,KAYd7U,KAAKqoB,cAAgB,KAarBroB,KAAKooB,WAAa,EASlBpoB,KAAK0nB,UAAYA,EAUjB1nB,KAAK2nB,aAAeA,EASpB3nB,KAAKwoB,WAAa,IAAIC,MAAQC,UAU9B1oB,KAAKioB,kBAAmB,EAUxBjoB,KAAKgoB,oBAAqB,EAU1BhoB,KAAKuoB,6BAA8B,EASnCvoB,KAAKsoB,SAAU,EAEhB,IAAIjpB,EAAIuoB,EAAMprB,UASd6C,EAAEspB,eAAiB,WAClB3oB,KAAKioB,iBAAmBjoB,KAAK2nB,aAAc,GAQ5CtoB,EAAEupB,gBAAkB,WACnB5oB,KAAKgoB,oBAAqB,GAS3B3oB,EAAEwpB,yBAA2B,WAC5B7oB,KAAKuoB,4BAA8BvoB,KAAKgoB,oBAAqB,GAa9D3oB,EAAEmoB,OAAS,WACVxnB,KAAKsoB,SAAU,GAQhBjpB,EAAEwoB,MAAQ,WACT,OAAO,IAAID,EAAM5nB,KAAKsU,KAAMtU,KAAK0nB,QAAS1nB,KAAK2nB,aAWhDtoB,EAAEypB,IAAM,SAAU3f,GACjB,IAAK,IAAIjK,KAAKiK,EAASnJ,KAAKd,GAAKiK,EAAMjK,GACvC,OAAOc,MAQRX,EAAE8oB,SAAW,WACZ,MAAO,gBAAkBnoB,KAAKsU,KAAO,MAGtCgP,GAASsE,MAAQA,EA7MjB,GAsNA,WAWA,SAASmB,EAAWjX,EAAO9H,EAASpO,GACnCoE,KAAKgpB,kBAAkB,SAOvBhpB,KAAK8R,MAAQA,EAOb9R,KAAKgK,QAAUA,EAOfhK,KAAKpE,KAAOA,EAGb,IAAIyD,EAAIikB,GAASqB,OAAOoE,EAAYzF,GAASsE,OAE7CvoB,EAAEwoB,MAAQ,WACT,OAAO,IAAIvE,GAASyF,WAAW/oB,KAAK8R,MAAO9R,KAAKgK,QAAShK,KAAKpE,OAG/D0nB,GAASyF,WAAazF,GAASyB,QAAQgE,EAAY,SA1CnD,GAoDA,SAAUpD,GAaV,SAASsD,EAAcC,EAAQC,GAC9BnpB,KAAKgpB,kBAAkB,YAOvBhpB,KAAKkpB,OAASA,EAQdlpB,KAAKmpB,MAAkB,MAATA,EAAiB,EAAIA,EAQnCnpB,KAAKopB,SAAqB,GAATD,EAAc,EAAInpB,KAAKkpB,OAASlpB,KAAKmpB,MAGvD,IAAI9pB,EAAIikB,GAASqB,OAAOsE,EAAe3F,GAASsE,OAOhDvoB,EAAEwoB,MAAQ,WACT,OAAO,IAAIvE,GAAS2F,cAAcjpB,KAAKkpB,OAAQlpB,KAAKmpB,QAGrD7F,GAAS2F,cAAgB3F,GAASyB,QAAQkE,EAAe,SAnDzD,CAqDC1pB,QAQD,WAYA,SAAS8pB,IASRrpB,KAAK2F,IAAM,KASX3F,KAAKsU,KAAO,KASZtU,KAAKS,GAAK,KAYVT,KAAKspB,eAAgB,EAQrBtpB,KAAKgR,SAAW,KAQhBhR,KAAKpE,KAAO,KAUZoE,KAAKub,OAAS+H,GAASiG,QAAQC,IAQ/BxpB,KAAKiQ,OAAS,KAUdjQ,KAAKyc,QAAU,KAQfzc,KAAKkb,iBAAkB,EASvBlb,KAAKypB,SAAW,KAQhBzpB,KAAK0pB,YAAc,KASnB1pB,KAAK2pB,YAAcnsB,EAAEosB,qBAGtB,IAAIvqB,EAAIgqB,EAAS7sB,UAAY,GACzBgB,EAAI6rB,EASR7rB,EAAEosB,qBAAuB,IAczBpsB,EAAEuB,OAAS,SAAUL,GACpB,GAAoB,iBAATA,EAAmB,CAC7B,IAAIuN,EAAO,IAAIod,EAEf,OADApd,EAAKtG,IAAMjH,EACJuN,EACD,GAAIvN,aAAiBlB,EAC3B,OAAOkB,EACD,GAAIA,aAAiBnC,QAAUmC,EAAMiH,IAI3C,OAHyB,MAArBjH,EAAMirB,cACTjrB,EAAMirB,YAAcnsB,EAAEosB,sBAEhBlrB,EAEP,MAAM,IAAImrB,MAAM,yBAelBxqB,EAAEypB,IAAM,SAAU3f,GACjB,IAAK,IAAIjK,KAAKiK,EAASnJ,KAAKd,GAAKiK,EAAMjK,GACvC,OAAOc,MAGRsjB,GAAS+F,SAAW7rB,EA7LpB,GAuMA,WACA,IAAIA,EAAI,CASRA,KAAS,OASTA,IAAQ,OAER8lB,GAASiG,QAAU/rB,EArBnB,GA8BA,WACA,IAAIA,EAAI,CAURA,OAAW,SAWXA,IAAQ,MAURA,KAAS,OAUTA,QAAY,UAUZA,MAAU,QAeVA,WAAe,aAafA,KAAS,OAaTA,MAAU,QAcVA,SAAa,WAWbA,MAAU,QAWVA,MAAU,QAUVA,YAAgB,cAUhBA,IAAQ,MAWRA,KAAS,OAUTA,IAAQ,OAER8lB,GAASwG,MAAQtsB,EA5KjB,GAmLA,WAOA,IAAIA,EAAI,CAERA,EAAM,WACL,OAAOA,EAAEuN,GAAG,MAGbvN,IAAQ,WACP,OAAOA,EAAEuN,GAAG,QAGbvN,OAAW,WACV,OAAOA,EAAEuN,GAAG,WAGbvN,MAAU,WACT,OAAOA,EAAEuN,GAAG,UAGbvN,IAAQ,WACP,OAAOA,EAAEuN,GAAG,QAGbvN,MAAU,WACT,OAAOA,EAAEuN,GAAG,UAGbvN,KAAS,WACR,OAAOA,EAAEuN,GAAG,SAGbvN,OAAW,WACV,OAAOA,EAAEuN,GAAG,WAGbvN,MAAU,WACT,OAAOA,EAAEuN,GAAG,UAGbvN,MAAU,WACT,OAAOA,EAAEuN,GAAG,UAGbvN,KAAS,SAAUkB,GAClB,OAAOqG,SAASglB,eAAerrB,IAGhClB,GAAO,SAAUS,GAChB,OAAO8G,SAASilB,cAAc/rB,KAG/BqlB,GAAS2G,SAAWzsB,EAzDpB,GAiEA,WAMA,IAAIA,EAAI,CACP0sB,UAAW,KAGZ1sB,aAAiB,SAAUuN,GAC1BvN,EAAE2sB,UAAUC,YAAYrf,IAGzBvN,aAAiB,SAAUuN,GAC1B,GAAmB,MAAfvN,EAAE0sB,UAAmB,CACxB1sB,EAAE0sB,UAAYnlB,SAASilB,cAAc,OACrCxsB,EAAE0sB,UAAUzpB,GAAK,sBACjB,IAAIJ,EAAQ7C,EAAE0sB,UAAU7pB,MACxBA,EAAMgqB,WAAa,SACnBhqB,EAAMiqB,SAAW,WACjBjqB,EAAMkE,MAAQ/G,EAAE0sB,UAAU7pB,MAAMC,OAAS,OACzCD,EAAMkqB,SAAW,SACjBlqB,EAAMmqB,UAAYnqB,EAAMoqB,YAAcpqB,EAAMqqB,gBAAkBrqB,EAAMsqB,WAAa,0BACjFntB,EAAEotB,UAAUR,YAAY5sB,EAAE0sB,WAE3B1sB,EAAE0sB,UAAUE,YAAYrf,IAGzBvN,QAAY,WACX,OAAOuH,SAAS8lB,MAAQ9lB,SAAS+lB,qBAAqB,QAAQ,IAG/DttB,QAAY,WACX,OAAOuH,SAASD,MAAQC,SAAS+lB,qBAAqB,QAAQ,IAG/DttB,YAAgB,SAAUuN,GACrBA,EAAG+c,QACN/c,EAAG+c,OAAOiD,YAAYhgB,IAWxBvN,WAAe,SAAUyO,GACxB,OAAOA,aAAgB+e,kBAUxBxtB,WAAe,SAAUyO,GACxB,QAAI1M,OAAO0rB,kBACHhf,aAAgBgf,kBAazBztB,WAAe,SAAUyO,GACxB,QAAI1M,OAAO2rB,kBACHjf,aAAgBif,mBAMzB5H,GAAS6H,SAAW3tB,EApFpB,GA4FA,WAMA,IAAIA,EAAI,CAaRA,SAAa,SAAU8W,GACtB,OAAQA,GACP,KAAKgP,GAASwG,MAAMsB,MACpB,KAAK9H,GAASwG,MAAMuB,OACnB,OAAO,EACR,QACC,OAAO,IAWV7tB,OAAW,SAAU8W,GACpB,OAAQA,GACP,KAAKgP,GAASwG,MAAMwB,KACpB,KAAKhI,GAASwG,MAAMrR,KACpB,KAAK6K,GAASwG,MAAMyB,SACpB,KAAKjI,GAASwG,MAAM0B,IACpB,KAAKlI,GAASwG,MAAM2B,IACpB,KAAKnI,GAASwG,MAAM4B,IACpB,KAAKpI,GAASwG,MAAM6B,WACpB,KAAKrI,GAASwG,MAAM8B,YACnB,OAAO,EACR,QACC,OAAO,IAaVpuB,mBAAuB,SAAUquB,GAChC,GAAiB,MAAbA,EACH,OAAOvI,GAASwG,MAAMwB,KAGvB,OAAQO,EAAUxnB,eACjB,IAAK,OACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACJ,OAAOif,GAASwG,MAAMsB,MACvB,IAAK,MACL,IAAK,MACL,IAAK,OACJ,OAAO9H,GAASwG,MAAMgC,MACvB,IAAK,MACL,IAAK,KACJ,OAAOxI,GAASwG,MAAMiC,MACvB,IAAK,OACJ,OAAOzI,GAASwG,MAAMrR,KACvB,IAAK,MACJ,OAAO6K,GAASwG,MAAM0B,IACvB,IAAK,MACJ,OAAOlI,GAASwG,MAAM2B,IACvB,IAAK,KACJ,OAAOnI,GAASwG,MAAM6B,WACvB,IAAK,MACJ,OAAOrI,GAASwG,MAAM4B,IACvB,QACC,OAAOpI,GAASwG,MAAMwB,QAIzBhI,GAAS0I,aAAexuB,EAhGxB,GAwGA,WAMA,IAAIA,EAAI,CAQRA,cAAkB,mBAQlBA,cAAmB,aASnBA,eAAmB,wBAoBnBA,SAAa,SAAUyuB,GACtB,IAAI5T,EAAO,CACV6T,UAAU,EACVC,UAAU,EACVC,SAAU,KACVC,SAAU,KACVC,KAAM,KACNC,SAAU,KACVlK,OAAQ,KACRmK,KAAM,KACNC,KAAM,MAGP,GAAY,MAARR,EAAgB,OAAO5T,EAG3B,IAAIqU,EAASpJ,GAAS2G,SAAS0C,IAG/B,IAAK,IAAIztB,KAFTwtB,EAAO/iB,KAAOsiB,EAEA5T,EACTnZ,KAAKwtB,IACRrU,EAAKnZ,GAAKwtB,EAAOxtB,IAKnB,IAMIyE,EANAipB,EAAaX,EAAK3oB,QAAQ,KAqB9B,OApBIspB,GAAc,IACjBX,EAAOA,EAAKY,OAAO,EAAGD,IAKnBpvB,EAAEsvB,cAAcnW,KAAKsV,GACxB5T,EAAK6T,UAAW,EAGN1uB,EAAEuvB,cAAcpW,KAAKsV,KAC/B5T,EAAK8T,UAAW,IAKbxoB,EAAQsoB,EAAKtoB,MAAMnG,EAAEwvB,mBACxB3U,EAAKwT,UAAYloB,EAAM,GAAGU,eAGpBgU,GAUR7a,kBAAsB,SAAU5B,EAAM+gB,GACrC,GAAY,MAAR/gB,EACH,MAAM,IAAIiuB,MAAM,0BAEjB,IAAIoD,EAAS,GACb,IAAK,IAAI/tB,KAAKtD,EACbqxB,EAAO3wB,KAAK4C,EAAI,IAAMguB,OAAOtxB,EAAKsD,KAKnC,OAHIyd,IACHsQ,EAASA,EAAOpjB,OAAO8S,IAEjBsQ,EAAOE,KAAK,MAYpB3vB,SAAa,SAAUmI,EAAK/J,GAC3B,GAAY,MAARA,EACH,OAAO+J,EAGR,IAAIgX,EAAQ,GACRyQ,EAAMznB,EAAIrC,QAAQ,KAEtB,IAAY,GAAR8pB,EAAW,CACd,IAAIC,EAAI1nB,EAAIlG,MAAM2tB,EAAM,GACxBzQ,EAAQA,EAAM9S,OAAOwjB,EAAE7K,MAAM,MAG9B,OAAY,GAAR4K,EACIznB,EAAIlG,MAAM,EAAG2tB,GAAO,IAAMptB,KAAKstB,kBAAkB1xB,EAAM+gB,GAEvDhX,EAAM,IAAM3F,KAAKstB,kBAAkB1xB,EAAM+gB,IAUlDnf,cAAkB,SAAUyO,GAC3B,IAAI4I,EAASyO,GAAS2G,SAAS0C,IAC/B9X,EAAOlL,KAAOsC,EAAKtG,IAEnB,IAAI8mB,EAAOnJ,GAAS2G,SAAS0C,IAC7BF,EAAK9iB,KAAOD,SAASC,KAErB,IAAI4jB,EAAkC,IAAnB1Y,EAAOwX,WACxBxX,EAAOyX,MAAQG,EAAKH,MACpBzX,EAAOuX,UAAYK,EAAKL,UACxBvX,EAAOwX,UAAYI,EAAKJ,UAC1B,OAAOkB,GAUR/vB,QAAY,SAAUyO,GACrB,IAAI4I,EAASyO,GAAS2G,SAAS0C,IAE/B,OADA9X,EAAOlL,KAAOsC,EAAKtG,IACO,IAAnBkP,EAAOwX,UAAqC,SAAnBxX,EAAOuX,WAGxC9I,GAASkK,SAAWhwB,EAxLpB,GAkMA,WAgBA,SAASiwB,EAAeC,EAAUC,EAAWrZ,GAC5CtU,KAAK4tB,8BAUL5tB,KAAKkpB,QAAS,EAWdlpB,KAAK6tB,UAAW,EAiBhB7tB,KAAKopB,SAAW,EAQhBppB,KAAKsU,KAAOA,EAwBZtU,KAAK8tB,gBAAkB,KAWtB9tB,KAAK+tB,MADFL,EACUpK,GAAS+F,SAAStqB,OAAO2uB,GAEzB,KASd1tB,KAAKguB,WAAaL,EAUlB3tB,KAAKiuB,QAAU,KASfjuB,KAAKkuB,WAAa,KAUlBluB,KAAKmuB,aAAe,KAQpBnuB,KAAKouB,iBAAmB,KAQxBpuB,KAAKquB,KAAO,KAGb,IAAIhvB,EAAIikB,GAASqB,OAAO8I,EAAgBnK,GAASgD,iBAC7C9oB,EAAIiwB,EAGR,IACClxB,OAAO+xB,iBAAiB9wB,EAAG,CAC1B+wB,KAAM,CAAEjwB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASiG,QAAQgF,MAAS,wBAC/E/E,IAAK,CAAElrB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASiG,QAAQC,KAAQ,uBAE7E6B,OAAQ,CAAE/sB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMuB,QAAW,0BACjFI,IAAK,CAAEntB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM2B,KAAQ,uBAC3E+C,KAAM,CAAElwB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM0E,MAAS,wBAC7EC,QAAS,CAAEnwB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM2E,SAAY,2BACnFrD,MAAO,CAAE9sB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMsB,OAAU,yBAC/EO,WAAY,CAAErtB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM6B,YAAe,8BACzFlT,KAAM,CAAEna,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMrR,MAAS,wBAC7EiW,MAAO,CAAEpwB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM4E,OAAU,yBAC/EnD,SAAU,CAAEjtB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMyB,UAAa,4BACrFO,MAAO,CAAExtB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMgC,OAAU,yBAC/EC,MAAO,CAAEztB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMiC,OAAU,yBAC/EH,YAAa,CAAEttB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM8B,aAAgB,+BAC3FF,IAAK,CAAEptB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM4B,KAAQ,uBAC3EJ,KAAM,CAAEhtB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAMwB,MAAS,wBAC7EE,IAAK,CAAEltB,IAAKglB,GAAS+B,UAAU,WAAc,OAAO/B,GAASwG,MAAM0B,KAAQ,yBAE3E,MAAOpO,IAgFT/d,EAAEsvB,QAAU,WACX,OAAO3uB,KAAK+tB,OAYb1uB,EAAEuvB,UAAY,SAAUC,GACvB,OAAOA,EAAM7uB,KAAKkuB,WAAaluB,KAAKiuB,SASrC5uB,EAAEyvB,OAAS,WACV,OAAO9uB,KAAKquB,MASbhvB,EAAE0vB,OAAS,SAAUC,GACpBhvB,KAAKquB,KAAOW,GAeb3vB,EAAE4vB,KAAO,WACRjvB,KAAKkvB,iBAELlvB,KAAKmvB,SAAStuB,GAAG,WAAYb,KAAMA,MACnCA,KAAKmvB,SAAStuB,GAAG,WAAYb,KAAMA,MACnCA,KAAKmvB,SAAStuB,GAAG,YAAab,KAAMA,MACpCA,KAAKmvB,SAAStuB,GAAG,QAASb,KAAMA,MAChCA,KAAKmvB,SAAStuB,GAAG,UAAWb,KAAMA,MAClCA,KAAKmvB,SAAStuB,GAAG,QAASb,KAAMA,MAEhC,IAAIunB,EAAM,IAAIjE,GAASsE,MAAM,cAC7BL,EAAI6H,OAASpvB,KAAKmvB,SAClBnvB,KAAK8mB,cAAcS,GAEnBvnB,KAAKmvB,SAASF,QAQf5vB,EAAEsc,OAAS,WACV3b,KAAK6tB,UAAW,EAChB7tB,KAAKqvB,WAONhwB,EAAEgwB,QAAU,WACPrvB,KAAKmvB,WACRnvB,KAAKmvB,SAASvI,0BACd5mB,KAAKmvB,SAASE,WAGfrvB,KAAKmvB,SAAW,KAEhBnvB,KAAK+tB,MAAQ,KACb/tB,KAAKkuB,WAAa,KAClBluB,KAAKiuB,QAAU,KAEfjuB,KAAKsvB,WAAa,KAElBtvB,KAAK4mB,2BAUNvnB,EAAEkwB,eAAiB,WAClB,OAAOvvB,KAAKmuB,cAab9uB,EAAE6vB,eAAiB,WACblvB,KAAKguB,WAGThuB,KAAKmvB,SAAW,IAAI7L,GAASkM,WAAWxvB,KAAK+tB,OAF7C/tB,KAAKmvB,SAAW,IAAI7L,GAASmM,WAAWzvB,KAAK+tB,MAAO/tB,KAAKquB,MAAQruB,KAAK0vB,aAAc1vB,KAAKouB,mBAc3F/uB,EAAEqwB,WAAa,SAAU/pB,GAAO,OAAO,MAQvCtG,EAAEswB,eAAiB,WACd3vB,KAAK4vB,eACT5vB,KAAK8mB,cAAc,cAUpBznB,EAAEwwB,cAAgB,SAAUnxB,GAC3B,IAAIsB,KAAK4vB,cAAT,CACA,IAAI/N,EAAQ,KACU,iBAAVnjB,GACXsB,KAAKopB,SAAW1qB,EAChBmjB,EAAQ,IAAIyB,GAAS2F,cAAcjpB,KAAKopB,YAExCvH,EAAQnjB,EACRsB,KAAKopB,SAAW1qB,EAAMwqB,OAASxqB,EAAMyqB,MACrCtH,EAAMuH,SAAWppB,KAAKopB,UAClB0G,MAAM9vB,KAAKopB,WAAappB,KAAKopB,UAAY2G,OAAY/vB,KAAKopB,SAAW,IAE1EppB,KAAK6mB,iBAAiB,aAAe7mB,KAAK8mB,cAAcjF,KAQzDxiB,EAAE2wB,cAAgB,WACjB,IAAIhwB,KAAK4vB,cAAT,CAEA5vB,KAAKkpB,QAAS,EAEd,IAAIrH,EAAQ,IAAIyB,GAASsE,MAAM,YAC/B/F,EAAMoO,UAAYjwB,KAAKkuB,WAEH,MAAhBluB,KAAKiuB,UACRpM,EAAM5kB,OAAS+C,KAAKiuB,SAGrBjuB,KAAK8mB,cAAcjF,KAUpBxiB,EAAE6wB,WAAa,SAAUrO,IACpB7hB,KAAK4vB,eAAkB5vB,KAAK6mB,iBAAiB,WACpC,MAAThF,IACHA,EAAQ,IAAIyB,GAASyF,WAAW,wBAEjC/oB,KAAK8mB,cAAcjF,KAUpBxiB,EAAEuwB,YAAc,WACf,QAAuB,MAAnBrwB,OAAO+jB,WAAoBtjB,KAAK6tB,WAerCxuB,EAAEyuB,gBAAkB,KAUpBzuB,EAAEioB,YAAc,SAAUzF,GACzB,OAAQA,EAAMvN,MACb,IAAK,WACJtU,KAAKkuB,WAAarM,EAAMhN,OAAOsb,UAC/B,IAAIlzB,EAAS+C,KAAK8tB,iBAAmB9tB,KAAK8tB,gBAAgB9tB,MAEtD/C,aAAkBmzB,SACrBnzB,EAAOP,KAAKsD,KACXsjB,GAASoC,MAAM1lB,KAAKqwB,qBAAsBrwB,MAC1CsjB,GAASoC,MAAM1lB,KAAKswB,oBAAqBtwB,QAI1CA,KAAKiuB,QAAUhxB,GAAU+C,KAAKkuB,WAC9BluB,KAAKgwB,iBAEN,MACD,IAAK,WACJhwB,KAAK6vB,cAAchO,GACnB,MACD,IAAK,QACJ7hB,KAAKkwB,WAAWrO,GAChB,MACD,IAAK,YACJ7hB,KAAK2vB,iBACL,MACD,IAAK,QACL,IAAK,UACC3vB,KAAK4vB,eACT5vB,KAAK8mB,cAAc,IAAIxD,GAASyF,WAAW,WAAalH,EAAMvN,KAAKic,cAAgB,WAEpF,QAWHlxB,EAAEgxB,qBAAuB,SAAUpzB,GAClC+C,KAAKiuB,QAAUhxB,EACf+C,KAAKgwB,iBAUN3wB,EAAEixB,oBAAsB,SAAUzO,GACjC7hB,KAAKkwB,WAAWrO,IAOjBxiB,EAAE8oB,SAAW,WACZ,MAAO,8BAGR7E,GAASmK,eAAiBnK,GAASyB,QAAQ0I,EAAgB,mBArjB3D,GA+jBA,WAcA,SAAS+C,EAAoB9C,EAAUC,EAAWrZ,GACjDtU,KAAKywB,2BAA2B/C,EAAUC,EAAWrZ,GAGrDtU,KAAK8tB,gBAAkB9tB,KAAK0wB,cAG5B1wB,KAAKouB,iBAAmB,MAExBpuB,KAAKa,GAAG,aAAcb,KAAK2wB,WAAY3wB,MAGxC,IAAIX,EAAIikB,GAASqB,OAAO6L,EAAqBlN,GAASmK,gBAItDpuB,EAAE4vB,KAAO,WAEHjvB,KAAKquB,OACTruB,KAAKquB,KAAOruB,KAAK0vB,WAAW1vB,KAAK+tB,MAAMpoB,MAGxC3F,KAAKquB,KAAKuC,QAAU,OACpB5wB,KAAKquB,KAAKY,OAEVjvB,KAAK6wB,uBASNxxB,EAAEqwB,WAAa,aAGfrwB,EAAE6vB,eAAiB,WACblvB,KAAKguB,WAGThuB,KAAKmvB,SAAW,IAAI7L,GAASkM,WAAWxvB,KAAK+tB,OAF7C/tB,KAAKmvB,SAAW,IAAI7L,GAASwN,gBAAgB9wB,KAAK+tB,MAAO/tB,KAAKquB,MAAQruB,KAAK0vB,aAAc1vB,KAAKouB,mBAahG/uB,EAAEsxB,WAAa,SAAU9O,GAEpBA,EAAMuN,OAAO2B,iBAChBlP,EAAMuN,OAAO2B,gBAAgB,SAW/B1xB,EAAEqxB,cAAgB,SAAUtB,GAG3B,GAFApvB,KAAKquB,KAAK3H,qBAAuB1mB,KAAKquB,KAAK3H,oBAAoB,iBAAkB1mB,KAAKgxB,gBACtFhxB,KAAKquB,KAAK4C,UAAY,KAClBjxB,KAAKguB,WAAY,CACpB,IAAIkD,EAAM3xB,OAAO2xB,KAAO3xB,OAAO4xB,UAC3Bl0B,EAASmyB,EAAOR,WAAU,GAE9BQ,EAAON,SAASnpB,IAAMurB,EAAIE,gBAAgBn0B,GAE3C,OAAOmyB,EAAON,UAGfxL,GAASkN,oBAAsBlN,GAASyB,QAAQyL,EAAqB,kBA5FrE,GAsGA,WAWA,IAAIa,EAAkB,SAAUplB,GAC/BjM,KAAK+tB,MAAQ9hB,GAGV5M,EAAIikB,GAASqB,OAAO0M,EAAiB/N,GAASgD,iBAOlDjnB,EAAE4vB,KAAO,aAMT5vB,EAAEgwB,QAAU,aAMZhwB,EAAEsc,OAAS,aAEX2H,GAAS+N,gBAAkB/N,GAASyB,QAAQsM,EAAiB,mBApC7D,GA8CA,WAWA,SAAS5B,EAAW/B,EAAUsB,EAAKsC,GAClCtxB,KAAKuxB,4BAA4B7D,GASjC1tB,KAAKquB,KAAOW,EAQZhvB,KAAKouB,iBAAmBkD,EAQxBtxB,KAAKgxB,eAAiB1N,GAASoC,MAAM1lB,KAAKwxB,mBAAoBxxB,MAQ9DA,KAAKyxB,aAAc,EAIpB,IAAIpyB,EAAIikB,GAASqB,OAAO8K,EAAYnM,GAAS+N,iBAG7ChyB,EAAE4vB,KAAO,WACRjvB,KAAKquB,KAAKqD,OAASpO,GAASoC,MAAM1lB,KAAKwxB,mBAAoBxxB,MAC3DA,KAAKquB,KAAKsD,mBAAqBrO,GAASoC,MAAM1lB,KAAK4xB,wBAAyB5xB,MAC5EA,KAAKquB,KAAKwD,QAAUvO,GAASoC,MAAM1lB,KAAK8xB,aAAc9xB,MAEtD,IAAIunB,EAAM,IAAIjE,GAASsE,MAAM,cAC7BL,EAAI6H,OAASpvB,KAAKquB,KAElBruB,KAAK8mB,cAAcS,GAEnBvnB,KAAK+xB,aAAe3Z,WAAWkL,GAASoC,MAAM1lB,KAAKgyB,eAAgBhyB,MAAOA,KAAK+tB,MAAMpE,aAErF3pB,KAAKquB,KAAKruB,KAAKouB,kBAAoBpuB,KAAK+tB,MAAMpoB,IAGlB,MAAxB3F,KAAKquB,KAAK4D,aACb3O,GAAS6H,SAAS+G,aAAalyB,KAAKquB,MACpCruB,KAAKyxB,aAAc,IAIrBpyB,EAAEgwB,QAAU,WACXrvB,KAAKmyB,SACLnyB,KAAKquB,KAAO,KAEZruB,KAAKoyB,2BAUN/yB,EAAEuyB,wBAA0B,WAC3BnU,aAAazd,KAAK+xB,cAElB,IAAI/C,EAAMhvB,KAAKquB,KAGO,UAAlBW,EAAIqD,YAA4C,YAAlBrD,EAAIqD,YACrCryB,KAAKwxB,sBASPnyB,EAAEyyB,aAAe,WAChB9xB,KAAKmyB,SACLnyB,KAAK8mB,cAAc,UAQpBznB,EAAEmyB,mBAAqB,WACtBxxB,KAAKkuB,WAAaluB,KAAKquB,KACvBruB,KAAKiuB,QAAUjuB,KAAK8tB,iBAAmB9tB,KAAK8tB,gBAAgB9tB,OAASA,KAAKkuB,WAE1EluB,KAAKmyB,SAELnyB,KAAK8mB,cAAc,aASpBznB,EAAE2yB,eAAiB,WAClBhyB,KAAKmyB,SACLnyB,KAAK8mB,cAAc,IAAIxD,GAASsE,MAAM,aAQvCvoB,EAAE8yB,OAAS,WACVnyB,KAAKquB,KAAKqD,OAAS,KACnB1xB,KAAKquB,KAAKsD,mBAAqB,KAC/B3xB,KAAKquB,KAAKwD,QAAU,KAChB7xB,KAAKyxB,aAAuC,MAAxBzxB,KAAKquB,KAAK4D,YACjCjyB,KAAKquB,KAAK4D,WAAWlH,YAAY/qB,KAAKquB,MAEvC5Q,aAAazd,KAAK+xB,eASnB1yB,EAAEizB,eAAiB,aAInBhP,GAASmM,WAAanM,GAASyB,QAAQ0K,EAAY,mBA9JnD,GAwKA,WAYA,SAASqB,EAAgBpD,EAAUsB,EAAKsC,GACvCtxB,KAAKuxB,4BAA4B7D,GAGjC1tB,KAAKquB,KAAOW,EACZhvB,KAAKouB,iBAAmBkD,EACxBtxB,KAAKgxB,eAAiB1N,GAASoC,MAAM1lB,KAAKwxB,mBAAoBxxB,MAG/D,IAAIX,EAAIikB,GAASqB,OAAOmM,EAAiBxN,GAASmM,YAIlDpwB,EAAE4vB,KAAO,WACR,IAAIsD,EAAKjP,GAASoC,MAAM1lB,KAAKsyB,eAAgBtyB,MAC7CA,KAAKwyB,iBAAmBD,EAExB,IAAIE,EAAKnP,GAASoC,MAAM1lB,KAAK0yB,gBAAiB1yB,MAC9CA,KAAK0yB,gBAAkBD,EAEvBzyB,KAAKquB,KAAK9Q,iBAAiB,UAAWgV,GACtCvyB,KAAKquB,KAAK9Q,iBAAiB,WAAYkV,GAIvCzyB,KAAKquB,KAAK9Q,kBAAoBvd,KAAKquB,KAAK9Q,iBAAiB,iBAAkBvd,KAAKgxB,gBAAgB,GAEhGhxB,KAAK2yB,mBAINtzB,EAAEuyB,wBAA0B,WAC3BnU,aAAazd,KAAK+xB,cAElB,IAAI/C,EAAMhvB,KAAKquB,KAGO,UAAlBW,EAAIqD,YAA4C,YAAlBrD,EAAIqD,YACrCryB,KAAKwxB,sBAIPnyB,EAAEizB,eAAiB,aAUnBjzB,EAAEqzB,gBAAkB,SAAU7Q,GAC7B,GAAKA,KAASA,EAAMqH,OAAS,GAAoB,GAAfrH,EAAMsH,OAAxC,CAIA,IAAIyJ,EAAW,IAAItP,GAAS2F,cAAcpH,EAAMqH,OAAQrH,EAAMsH,OAC9DnpB,KAAK8mB,cAAc8L,KAIpBvzB,EAAE8yB,OAAS,WACVnyB,KAAKquB,KAAK3H,qBAAuB1mB,KAAKquB,KAAK3H,oBAAoB,iBAAkB1mB,KAAKgxB,gBACtFhxB,KAAKquB,KAAK3H,oBAAoB,UAAW1mB,KAAKwyB,kBAC9CxyB,KAAKquB,KAAK3H,oBAAoB,WAAY1mB,KAAK6yB,mBAE/C7yB,KAAK8yB,qBAGNxP,GAASwN,gBAAkBxN,GAASyB,QAAQ+L,EAAiB,cAlF7D,GA4FA,WAgBA,SAAStB,EAAWvjB,GACnBjM,KAAKuxB,4BAA4BtlB,GASjCjM,KAAKmvB,SAAW,KAShBnvB,KAAK+xB,aAAe,KAUpB/xB,KAAK+yB,UAAY,EASjB/yB,KAAKmwB,UAAY,KAUjBnwB,KAAKgzB,aAAe,KAEpBhzB,KAAKizB,WAAY,EAGjBjzB,KAAKkzB,sBAAwB5P,GAASoC,MAAM1lB,KAAKmzB,iBAAkBnzB,MACnEA,KAAKozB,qBAAuB9P,GAASoC,MAAM1lB,KAAK0yB,gBAAiB1yB,MACjEA,KAAKqzB,kBAAoB/P,GAASoC,MAAM1lB,KAAKszB,aAActzB,MAC3DA,KAAKuzB,kBAAoBjQ,GAASoC,MAAM1lB,KAAK8xB,aAAc9xB,MAC3DA,KAAKwzB,oBAAsBlQ,GAASoC,MAAM1lB,KAAKgyB,eAAgBhyB,MAC/DA,KAAKyzB,iBAAmBnQ,GAASoC,MAAM1lB,KAAK0zB,YAAa1zB,MACzDA,KAAK2zB,6BAA+BrQ,GAASoC,MAAM1lB,KAAK4xB,wBAAyB5xB,MAE5EA,KAAK4zB,WAAW3nB,GAKtB,IAAI5M,EAAIikB,GAASqB,OAAO6K,EAAYlM,GAAS+N,iBAU7C7B,EAAWqE,iBAAmB,CAC7B,qBACA,qBACA,qBACA,qBACA,iBACA,qBAuBDx0B,EAAEuvB,UAAY,SAAUC,GACvB,OAAIA,GAAO7uB,KAAKgzB,aACRhzB,KAAKgzB,aAENhzB,KAAKmwB,WAIb9wB,EAAEsc,OAAS,WACV3b,KAAK6tB,UAAW,EAChB7tB,KAAKmyB,SACLnyB,KAAKmvB,SAAS2E,SAIfz0B,EAAE4vB,KAAO,WACR,GAAqB,MAAjBjvB,KAAKmvB,SAAT,CAMsC,MAAlCnvB,KAAKmvB,SAAS5R,kBACjBvd,KAAKmvB,SAAS5R,iBAAiB,YAAavd,KAAKkzB,uBAAuB,GACxElzB,KAAKmvB,SAAS5R,iBAAiB,WAAYvd,KAAKozB,sBAAsB,GACtEpzB,KAAKmvB,SAAS5R,iBAAiB,QAASvd,KAAKqzB,mBAAmB,GAChErzB,KAAKmvB,SAAS5R,iBAAiB,QAASvd,KAAKuzB,mBAAmB,GAChEvzB,KAAKmvB,SAAS5R,iBAAiB,UAAWvd,KAAKwzB,qBAAqB,GAGpExzB,KAAKmvB,SAAS5R,iBAAiB,OAAQvd,KAAKyzB,kBAAkB,GAC9DzzB,KAAKmvB,SAAS5R,iBAAiB,mBAAoBvd,KAAK2zB,8BAA8B,KAGtF3zB,KAAKmvB,SAAS4E,YAAc/zB,KAAKkzB,sBACjClzB,KAAKmvB,SAAS6E,WAAah0B,KAAKozB,qBAChCpzB,KAAKmvB,SAAS8E,QAAUj0B,KAAKqzB,kBAC7BrzB,KAAKmvB,SAAS0C,QAAU7xB,KAAKuzB,kBAC7BvzB,KAAKmvB,SAAS+E,UAAYl0B,KAAKwzB,oBAG/BxzB,KAAKmvB,SAASuC,OAAS1xB,KAAKyzB,iBAC5BzzB,KAAKmvB,SAASwC,mBAAqB3xB,KAAK2zB,8BAInB,GAAlB3zB,KAAK+yB,YACR/yB,KAAK+xB,aAAe3Z,WAAWkL,GAASoC,MAAM1lB,KAAKgyB,eAAgBhyB,MAAOA,KAAK+tB,MAAMpE,cAItF,IACM3pB,KAAK+tB,MAAM9d,OAGfjQ,KAAKmvB,SAASgF,KAAK7Q,GAASkK,SAASF,kBAAkBttB,KAAK+tB,MAAM9d,SAFlEjQ,KAAKmvB,SAASgF,OAId,MAAOhY,GACRnc,KAAK8mB,cAAc,IAAIxD,GAASyF,WAAW,WAAY,KAAM5M,UAzC7Dnc,KAAK8xB,gBA6CPzyB,EAAE0xB,gBAAkB,SAAUzc,GAEhB,SAATA,IACHA,EAAO/U,OAAO2xB,IAAM,OAAS,cAC7BlxB,KAAKo0B,cAAgB9f,GAEtBtU,KAAKmvB,SAASkF,aAAe/f,GAc9BjV,EAAEi1B,sBAAwB,WACzB,OAAIt0B,KAAKmvB,SAASmF,iCAAiClE,SAC3CpwB,KAAKmvB,SAASmF,wBAEd,MAcTj1B,EAAEk1B,kBAAoB,SAAUC,GAC/B,OAAIx0B,KAAKmvB,SAASoF,6BAA6BnE,SACvCpwB,KAAKmvB,SAASoF,kBAAkBC,GAEhC,MAWTn1B,EAAEqzB,gBAAkB,SAAU7Q,GAC7B,GAAKA,KAASA,EAAMqH,OAAS,GAAoB,GAAfrH,EAAMsH,OAAxC,CAIA,IAAIyJ,EAAW,IAAItP,GAAS2F,cAAcpH,EAAMqH,OAAQrH,EAAMsH,OAC9DnpB,KAAK8mB,cAAc8L,KASpBvzB,EAAE8zB,iBAAmB,SAAUtR,GAC9BpE,aAAazd,KAAK+xB,cAClB/xB,KAAK8mB,cAAc,cASpBznB,EAAEi0B,aAAe,SAAUzR,GAC1B7hB,KAAKmyB,SACLnyB,KAAK8mB,cAAc,IAAIxD,GAASyF,WAAW,cAAe,KAAMlH,KASjExiB,EAAEyyB,aAAe,SAAUjQ,GAC1B7hB,KAAKmyB,SACLnyB,KAAK8mB,cAAc,IAAIxD,GAASyF,WAAWlH,EAAM7X,WAUlD3K,EAAEuyB,wBAA0B,SAAU/P,GACL,GAA5B7hB,KAAKmvB,SAASkD,YACjBryB,KAAK0zB,eAcPr0B,EAAEq0B,YAAc,SAAU7R,GACzB,IAAI7hB,KAAKkpB,OAAT,CAGAlpB,KAAKkpB,QAAS,EAEd,IAAI/M,EAAQnc,KAAKy0B,cACjB,GAAItY,EACHnc,KAAK8xB,aAAa3V,OADnB,CAOA,GAFAnc,KAAKmwB,UAAYnwB,KAAK00B,eAEK,gBAAvB10B,KAAKo0B,cACR,IACCp0B,KAAKmwB,UAAY,IAAIwE,KAAK,CAAC30B,KAAKmwB,YAC/B,MAAO/S,GAIR,GADA7d,OAAOq1B,YAAcr1B,OAAOq1B,aAAer1B,OAAOs1B,mBAAqBt1B,OAAOu1B,gBAAkBv1B,OAAOw1B,cACxF,cAAX3X,EAAEnf,MAAwBsB,OAAOq1B,YAAa,CACjD,IAAII,EAAU,IAAIJ,YAClBI,EAAQC,OAAOj1B,KAAKmwB,WACpBnwB,KAAKmwB,UAAY6E,EAAQE,WAI5Bl1B,KAAKmyB,SAELnyB,KAAK8mB,cAAc,IAAIxD,GAASsE,MAAM,gBAUvCvoB,EAAE2yB,eAAiB,SAAUnQ,GAC5B7hB,KAAKmyB,SACLnyB,KAAK8mB,cAAc,IAAIxD,GAASyF,WAAW,kBAAmB,KAAMlH,KAiBrExiB,EAAEo1B,YAAc,WACf,IAAIU,EAAShW,SAASnf,KAAKmvB,SAASgG,QACpC,OAAIA,GAAU,KAAOA,GAAU,IACvB,IAAItL,MAAMsL,GACG,GAAVA,GACL,WAAYxe,KAAKjN,SAAS0iB,UAAoB,IAAIvC,MAAM,GAGtD,MAWTxqB,EAAEq1B,aAAe,WAChB,GAAsB,MAAlB10B,KAAKmwB,UACR,OAAOnwB,KAAKmwB,UAGb,GAA8B,MAA1BnwB,KAAKmvB,SAAS9S,SACjB,OAAOrc,KAAKmvB,SAAS9S,SAItB,IACC,GAAkC,MAA9Brc,KAAKmvB,SAASiG,aACjB,OAAOp1B,KAAKmvB,SAASiG,aAErB,MAAOhY,IAIT,IACC,GAAiC,MAA7Bpd,KAAKmvB,SAASkG,YACjB,OAAOr1B,KAAKmvB,SAASkG,YAErB,MAAOjY,IAGT,OAAO,MAgBR/d,EAAEu0B,WAAa,SAAU3nB,GAExB,IAAIshB,EAAcjK,GAASkK,SAAS8H,cAAcrpB,GAC9CwQ,EAAU,GAGVhB,EAAM,KACV,GAAIlc,OAAOg2B,eACV9Z,EAAM,IAAI8Z,eAENhI,QAAuC/rB,IAAxBia,EAAIP,iBAAiC3b,OAAOi2B,iBAC9D/Z,EAAM,IAAI+Z,oBAEL,CACN,IAAK,IAAIt5B,EAAI,EAAG2B,EAAIL,EAAEq2B,iBAAiBz3B,OAAQF,EAAI2B,EAAG3B,IAAK,CAC1D,IAAIu5B,EAAYj4B,EAAEq2B,iBAAiB33B,GACnC,IACCuf,EAAM,IAAIia,cAAcD,GACxB,MACC,MAAOrY,KAGV,GAAW,MAAP3B,EACH,OAAO,EAKY,MAAjBxP,EAAKwd,UAAoBnG,GAAS0I,aAAa2J,OAAO1pB,EAAKqI,QAC9DrI,EAAKwd,SAAW,6BAIbxd,EAAKwd,UAAYhO,EAAIma,kBACxBna,EAAIma,iBAAiB3pB,EAAKwd,UAI3BzpB,KAAK+yB,UAAyC,kBAArBtX,EAAI4Y,aAA6B,EAAI,EAE9D,IAAI1uB,EAAM,KAuBV,GArBCA,EADGsG,EAAKsP,QAAU+H,GAASiG,QAAQC,IAC7BlG,GAASkK,SAASqI,SAAS5pB,EAAKtG,IAAKsG,EAAKgE,QAE1ChE,EAAKtG,IAIZ8V,EAAIqa,KAAK7pB,EAAKsP,QAAU+H,GAASiG,QAAQC,IAAK7jB,GAAK,GAE/C4nB,GAAe9R,aAAe8Z,gBAAoC,GAAlBv1B,KAAK+yB,YACxDtW,EAAQ,UAAY/S,SAASqsB,QAI1B9pB,EAAKgE,QAAUhE,EAAKsP,QAAU+H,GAASiG,QAAQgF,OAClD9R,EAAQ,gBAAkB,qCAGtB8Q,GAAgB9Q,EAAQ,sBAC5BA,EAAQ,oBAAsB,kBAG3BxQ,EAAKwQ,QACR,IAAK,IAAIvd,KAAK+M,EAAKwQ,QAClBA,EAAQvd,GAAK+M,EAAKwQ,QAAQvd,GAI5B,IAAKA,KAAKud,EACThB,EAAIua,iBAAiB92B,EAAGud,EAAQvd,IASjC,OANIuc,aAAe8Z,qBAA2C/zB,IAAzByK,EAAKiP,kBACzCO,EAAIP,gBAAkBjP,EAAKiP,iBAG5Blb,KAAKmvB,SAAW1T,GAET,GAQRpc,EAAE8yB,OAAS,WACV1U,aAAazd,KAAK+xB,cAEuB,MAArC/xB,KAAKmvB,SAASzI,qBACjB1mB,KAAKmvB,SAASzI,oBAAoB,YAAa1mB,KAAKkzB,uBACpDlzB,KAAKmvB,SAASzI,oBAAoB,WAAY1mB,KAAKozB,sBACnDpzB,KAAKmvB,SAASzI,oBAAoB,QAAS1mB,KAAKqzB,mBAChDrzB,KAAKmvB,SAASzI,oBAAoB,QAAS1mB,KAAKuzB,mBAChDvzB,KAAKmvB,SAASzI,oBAAoB,UAAW1mB,KAAKwzB,qBAClDxzB,KAAKmvB,SAASzI,oBAAoB,OAAQ1mB,KAAKyzB,kBAC/CzzB,KAAKmvB,SAASzI,oBAAoB,mBAAoB1mB,KAAK2zB,gCAE3D3zB,KAAKmvB,SAAS4E,YAAc,KAC5B/zB,KAAKmvB,SAAS6E,WAAa,KAC3Bh0B,KAAKmvB,SAAS8E,QAAU,KACxBj0B,KAAKmvB,SAAS0C,QAAU,KACxB7xB,KAAKmvB,SAAS+E,UAAY,KAC1Bl0B,KAAKmvB,SAASuC,OAAS,KACvB1xB,KAAKmvB,SAASwC,mBAAqB,OAIrCtyB,EAAE8oB,SAAW,WACZ,MAAO,0BAGR7E,GAASkM,WAAalM,GAASyB,QAAQyK,EAAY,mBArhBnD,GA+hBA,WAeA,SAASyG,EAAYvI,EAAUC,GAC9B3tB,KAAKk2B,gCAAgCxI,EAAUC,EAAWrK,GAASwG,MAAMgC,OAGrExI,GAAS6H,SAASgL,WAAWzI,GAChC1tB,KAAKquB,KAAOX,EACFpK,GAAS6H,SAASgL,WAAWzI,EAAS/nB,KAChD3F,KAAKquB,KAAOX,EACFpK,GAAS6H,SAASgL,WAAWzI,EAASsB,OAChDhvB,KAAKquB,KAAO/K,GAAS6H,SAASgL,WAAWzI,GAAYA,EAAWA,EAAS/nB,KAGzD,MAAb3F,KAAKquB,OACRruB,KAAKguB,YAAa,GAIpB,IAAI3uB,EAAIikB,GAASqB,OAAOsR,EAAa3S,GAASkN,qBAC1ChzB,EAAIy4B,EAWRz4B,EAAE44B,YAAc,SAAUnqB,GACzB,OAAOA,EAAKqI,MAAQgP,GAASwG,MAAMgC,OAIpCzsB,EAAEqwB,WAAa,SAAU/pB,GACxB,IAAIqpB,EAAM1L,GAAS2G,SAASoM,QAM5B,OALArH,EAAIvf,UAAW,EACfuf,EAAI4B,QAAU,OAGd5B,EAAIrpB,IAAMA,EACHqpB,GAGR1L,GAAS2S,YAAc3S,GAASyB,QAAQkR,EAAa,uBA3DrD,GA2IA,WAkCA,IAAIK,EAAkB,WAWrBt2B,KAAKu2B,UAAY,KAQjBv2B,KAAKw2B,MAAQ,KAQbx2B,KAAKy2B,OAAS,KASdz2B,KAAKqL,KAAO,KASZrL,KAAK02B,OAAS,KAQd12B,KAAK22B,IAAM,KAQX32B,KAAK42B,UAAY,KAQjB52B,KAAKkK,SAAW,MAEb7K,EAAIi3B,EAAgB95B,UAAY,GAChCgB,EAAI84B,EAYR94B,EAAEuB,OAAS,SAAUL,GACpB,GAAuB,kBAAXA,EAGX,OADA0L,UAAYA,QAAQmb,MAAQnb,QAAQC,KAAK,sHAClC,IAAIiZ,GAASgT,iBAAkBxN,IAAI,CAAEyN,UAAW73B,IACjD,GAAa,MAATA,GAAiBA,aAAiBlB,GAAKkB,aAAiBnC,OAClE,OAAO,IAAI+mB,GAASgT,iBAAkBxN,IAAIpqB,GACpC,GAAa,MAATA,EACV,MAAM,IAAImrB,MAAM,4CAgBlBxqB,EAAEypB,IAAM,SAAU3f,GACjB,GAAa,MAATA,EACH,IAAK,IAAIjK,KAAKiK,EAASnJ,KAAKd,GAAKiK,EAAMjK,GAExC,OAAOc,MAGRX,EAAE8oB,SAAW,WACZ,MAAO,qBAGR7E,GAASgT,gBAAkB94B,EAzJ3B,GAqKA,WA+KA,SAAS+lB,IACR,KAAM,+BAGP,IAAI/lB,EAAI+lB,EA6uCR,SAASsT,EAAalxB,EAAK6O,GAC1BxU,KAAKgD,KAAK2C,EAAK6O,GAluChBhX,EAAEs5B,cAAgB,MAUlBt5B,EAAEu5B,gBAAkB,QAUpBv5B,EAAEw5B,eAAiB,OAUnBx5B,EAAEy5B,eAAiB,OASnBz5B,EAAE05B,YAAc,aAShB15B,EAAE25B,eAAiB,gBASnB35B,EAAE45B,iBAAmB,kBASrB55B,EAAE65B,cAAgB,eAUlB75B,EAAE85B,YAAc,aAiBhB95B,EAAE+5B,qBAAuB,CAAC,MAAO,MAAO,OAAQ,OAAQ,MAAO,MAAO,MAAO,OAAQ,MAAO,OAc5F/5B,EAAEg6B,cAAgB,CACjBC,IAAK,OAWNj6B,EAAEk6B,aAAe,4FAejBl6B,EAAEm6B,yBAA2Bn6B,EAAEy5B,eA2B/Bz5B,EAAEwmB,oBAAsB,GAUxBxmB,EAAEo6B,aAAe,KA4BjBp6B,EAAEq6B,cAAgB,EASlBr6B,EAAEs6B,iBAAmB,WACpB,OAAO93B,KAAK63B,eAGbr6B,EAAEu6B,UAAYzU,GAAS+B,UAAU7nB,EAAEs6B,iBAAkB,mBAOrDt6B,EAAEw6B,iBAAmB,SAAUt5B,GAC9B,GAAqB,MAAjB8a,OAAO9a,KACXA,EAAQ+iB,KAAKjN,IAAI,EAAGiN,KAAKlN,IAAI,EAAG7V,IAChClB,EAAEq6B,cAAgBn5B,GACbsB,KAAK43B,eAAiB53B,KAAK43B,aAAaK,YAAcj4B,KAAK43B,aAAaK,UAAUv5B,IAEtF,IADA,IAAIw5B,EAAYl4B,KAAKm4B,WACZj8B,EAAI,EAAG2B,EAAIq6B,EAAU97B,OAAQF,EAAI2B,EAAG3B,IAC5Cg8B,EAAUh8B,GAAGk8B,gBAAgB15B,IAKhClB,EAAEy6B,UAAY3U,GAAS+B,UAAU7nB,EAAEw6B,iBAAkB,mBAiBrDx6B,EAAE66B,aAAc,EAShB76B,EAAE86B,SAAW,WACZ,OAAOt4B,KAAKq4B,aAGb76B,EAAE+6B,QAAUjV,GAAS+B,UAAU7nB,EAAE86B,SAAU,iBAS3C96B,EAAEg7B,SAAW,SAAU95B,GACtB,GAAa,MAATA,IACJsB,KAAKq4B,YAAc35B,GACdsB,KAAK43B,eAAiB53B,KAAK43B,aAAaa,UAAYz4B,KAAK43B,aAAaa,QAAQ/5B,IAElF,IADA,IAAIw5B,EAAYl4B,KAAKm4B,WACZj8B,EAAI,EAAG2B,EAAIq6B,EAAU97B,OAAQF,EAAI2B,EAAG3B,IAC5Cg8B,EAAUh8B,GAAGw8B,cAAch6B,IAK9BlB,EAAEi7B,QAAUnV,GAAS+B,UAAU7nB,EAAEg7B,SAAU,iBA0C3Ch7B,EAAEm7B,iBAAmB,WACpB,OAAsB,MAAlBn7B,EAAEo6B,aAA+B,KAC9Bp6B,EAAEo6B,aAAagB,eAGvBp7B,EAAEq7B,gBAAkBvV,GAAS+B,UAAU7nB,EAAEm7B,iBAAkB,yBAE3Dp8B,OAAO+xB,iBAAiB9wB,EAAG,CAC1Bk5B,OAAQ,CAAEp4B,IAAKd,EAAEs6B,iBAAkBhP,IAAKtrB,EAAEw6B,kBAC1Cc,MAAO,CAAEx6B,IAAKd,EAAE86B,SAAUxP,IAAKtrB,EAAEg7B,UACjCO,aAAc,CAAEz6B,IAAKd,EAAEm7B,oBAexBn7B,EAAEw7B,oBAAqB,EASvBx7B,EAAEy7B,QAAU,EAaZz7B,EAAE26B,WAAa,GASf36B,EAAE07B,QAAU,GAWZ17B,EAAE27B,aAAe,GAWjB37B,EAAE47B,sBAAwB,GAI1B57B,EAAE+f,iBAAmB,KACrB/f,EAAEkpB,oBAAsB,KACxBlpB,EAAEopB,wBAA0B,KAC5BppB,EAAEspB,cAAgB,KAClBtpB,EAAEqpB,iBAAmB,KACrBrpB,EAAE+oB,WAAa,KAEfjD,GAASgD,gBAAgBG,WAAWjpB,GA4CpCA,EAAE67B,mBAAqB,WACtB,MAAO,CACNroB,SAAUsS,GAASoC,MAAMloB,EAAE87B,SAAU97B,GACrC+7B,MAAO,CAAC,SACRC,WAAYh8B,EAAE+5B,uBAYhB/5B,EAAEi8B,oBAAsB,SAAU5X,GACjC,IAAIlc,EAAMkc,EAAMhN,OAAO8Z,UAAUhpB,IACjC,GAAKnI,EAAE27B,aAAaxzB,GAEpB,IAAK,IAAIzJ,EAAI,EAAG2B,EAAIL,EAAE27B,aAAaxzB,GAAKvJ,OAAQF,EAAI2B,EAAG3B,IAAK,CAC3D,IAAI+P,EAAOzO,EAAE27B,aAAaxzB,GAAKzJ,GAG/B,GAFAsB,EAAE27B,aAAaxzB,GAAKzJ,IAAK,EAEpBsB,EAAEqpB,iBAAiB,YAAxB,CAEA,IAAIU,EAAM,IAAIjE,GAASsE,MAAM,YAC7BL,EAAI5hB,IAAMsG,EAAKtG,IACf4hB,EAAI9mB,GAAKwL,EAAKxL,GACd8mB,EAAI3rB,KAAOqQ,EAAKrQ,KAChB2rB,EAAImS,OAASztB,EAAKytB,OAElBl8B,EAAEspB,cAAcS,MAWlB/pB,EAAEm8B,iBAAmB,SAAU9X,GAC9B,IAAIlc,EAAMkc,EAAMhN,OAAO8Z,UAAUhpB,IACjC,GAAKnI,EAAE27B,aAAaxzB,GAEpB,IAAK,IAAIzJ,EAAI,EAAG2B,EAAIL,EAAE27B,aAAaxzB,GAAKvJ,OAAQF,EAAI2B,EAAG3B,IAAK,CAC3D,IAAI+P,EAAOzO,EAAE27B,aAAaxzB,GAAKzJ,GAG/B,GAFAsB,EAAE27B,aAAaxzB,GAAKzJ,IAAK,EAEpBsB,EAAEqpB,iBAAiB,aAAxB,CAEA,IAAIU,EAAM,IAAIjE,GAASsE,MAAM,aAC7BL,EAAI5hB,IAAMsG,EAAKtG,IACf4hB,EAAI9mB,GAAKwL,EAAKxL,GACd8mB,EAAI3rB,KAAOqQ,EAAKrQ,KAChB2rB,EAAImS,OAASztB,EAAKytB,OAElBl8B,EAAEspB,cAAcS,MAalB/pB,EAAEo8B,gBAAkB,SAAUC,GAE7B,QAAIA,EAAOC,gBACVt8B,EAAEo6B,aAAe,IAAIiC,GACd,IAkBTr8B,EAAEu8B,gBAAkB,SAAUC,GAC7Bx8B,EAAEw7B,oBAAqB,EACvB,IAAK,IAAI98B,EAAI,EAAG2B,EAAIm8B,EAAQ59B,OAAQF,EAAI2B,EAAG3B,IAC1C,GAAIsB,EAAEo8B,gBAAgBI,EAAQ99B,IAC7B,OAAO,EAGT,OAAO,GAiBRsB,EAAEy8B,yBAA2B,WAC5B,OAAsB,MAAlBz8B,EAAEo6B,eACFp6B,EAAEw7B,sBACFx7B,EAAEu8B,gBAAgB,CAACzW,GAAS4W,eAAgB5W,GAAS6W,mBAmB1D38B,EAAE48B,QAAU,WACX,OAA0B,MAAlB58B,EAAEo6B,cAYXp6B,EAAE87B,SAAW,SAAU5L,GACtB,MAAqB,SAAjBA,EAASpZ,MACN9W,EAAE68B,eAAe3M,IAgBzBlwB,EAAE68B,eAAiB,SAAU3M,GAC5B,IAAKlwB,EAAEy8B,2BAA8B,OAAO,EAE5C,IAAIK,EAOJ,GANI5M,EAAS/nB,eAAepJ,QAC3B+9B,EAAU98B,EAAE+8B,UAAU7M,EAAS/nB,KAC/B20B,EAAQ30B,IAAM+nB,EAASzB,KAAOqO,EAAQ30B,KAEtC20B,EAAU98B,EAAEg9B,WAAW9M,EAAS/nB,KAElB,MAAX20B,EAAmB,OAAO,EAC9B5M,EAAS/nB,IAAM20B,EAAQ30B,IACvB+nB,EAASpZ,KAAO,QAEhB,IAAI1Y,EAAO8xB,EAAS9xB,KAChB6+B,EAAc,KAClB,GAAY,MAAR7+B,IACEk0B,MAAMl0B,EAAK8+B,UAEJ5K,MAAMl0B,KACjB6+B,EAActb,SAASvjB,IAFvB6+B,EAActb,SAASvjB,EAAK8+B,UAKzB9+B,EAAK++B,aAER,IADA,IAAIC,EACK1+B,EAAIN,EAAK++B,YAAYv+B,OAAQF,KACrC0+B,EAAKh/B,EAAK++B,YAAYz+B,GACtBsB,EAAE07B,QAAQ0B,EAAGn6B,IAAM,CAAEkF,IAAK+nB,EAAS/nB,IAAKixB,UAAWzX,SAASyb,EAAGhE,WAAY1sB,SAAUiV,SAASyb,EAAG1wB,WAE7F0wB,EAAGC,mBACNr9B,EAAE47B,sBAAsBwB,EAAGn6B,IAAM6iB,GAASgT,gBAAgBv3B,OAAO67B,EAAGC,mBAKrD,MAAfnN,EAASjtB,KAAcjD,EAAE07B,QAAQxL,EAASjtB,IAAM,CAAEkF,IAAK+nB,EAAS/nB,MACpE,IAAIypB,EAAS5xB,EAAEo6B,aAAakD,SAASpN,GAgBrC,OAdAmJ,EAAa93B,OAAO2uB,EAAS/nB,IAAK80B,GAGtB,MAAR7+B,GAAiBk0B,MAAMl0B,GAG1B8xB,EAAS9xB,KAAK8+B,SAAWD,GAAe5D,EAAakE,gBAFrDrN,EAAS9xB,KAAO6+B,GAAe5D,EAAakE,gBAKzC3L,EAAO9a,OAAQoZ,EAASpZ,KAAO8a,EAAO9a,MAEtCoZ,EAASmN,mBACZr9B,EAAE47B,sBAAsB1L,EAAS/nB,KAAO2d,GAASgT,gBAAgBv3B,OAAO2uB,EAASmN,mBAE3EzL,GAoCR5xB,EAAEgmB,cAAgB,SAAU7d,EAAKlF,EAAI7E,EAAMo/B,EAAUH,GACpD,IAAInN,EAAW,CAAE/nB,IAAKA,EAAKlF,GAAIA,EAAI7E,KAAMA,EAAMi/B,iBAAkBA,GAC7Dl1B,aAAepJ,QAAUoJ,EAAIA,MAChCq1B,EAAWv6B,EACXitB,EAAW/nB,GAEZ+nB,EAAWpK,GAAS+F,SAAStqB,OAAO2uB,GACpCA,EAASzB,KAAO+O,EAEA,MAAZA,GAAsBtN,EAAS/nB,eAAepJ,SAAWmxB,EAAS/nB,IAAMq1B,EAAWtN,EAAS/nB,KAEhG,IAAIypB,EAAS5xB,EAAE68B,eAAe3M,GAC9B,IAAK0B,EAAU,OAAO,EAItB,GAFK5xB,EAAE27B,aAAazL,EAAS/nB,OAAQnI,EAAE27B,aAAazL,EAAS/nB,KAAO,IACpEnI,EAAE27B,aAAazL,EAAS/nB,KAAKrJ,KAAKoxB,GACS,GAAvClwB,EAAE27B,aAAazL,EAAS/nB,KAAKvJ,OAEhCgzB,EAAOvuB,GAAG,WAAYb,KAAKy5B,oBAAqBz5B,MAChDovB,EAAOvuB,GAAG,QAASb,KAAK25B,iBAAkB35B,MAC1CxC,EAAEo6B,aAAahH,QAAQxB,QAEvB,GAAuC,GAAnC5xB,EAAE27B,aAAazL,EAAS/nB,KAAK,GAAc,OAAO,EAGvD,OAAO+nB,GAmCRlwB,EAAEy9B,eAAiB,SAAUC,EAAQF,GACpC,IAAIG,EAAe,GACfD,EAAOjP,OACL+O,EAGJA,GAAsBE,EAAOjP,KAF7B+O,EAAWE,EAAOjP,KAInBiP,EAASA,EAAOE,UAGjB,IAAK,IAAIl/B,EAAI,EAAG2B,EAAIq9B,EAAO9+B,OAAQF,EAAI2B,EAAG3B,IACzCi/B,EAAaj/B,GAAKonB,GAASC,MAAMC,cAAc0X,EAAOh/B,GAAGyJ,IAAKu1B,EAAOh/B,GAAGuE,GAAIy6B,EAAOh/B,GAAGN,KAAMo/B,EAAUE,EAAOh/B,GAAG2+B,kBAEjH,OAAOM,GAuBR39B,EAAE69B,YAAc,SAAU11B,EAAKq1B,GAC9B,GAAsB,MAAlBx9B,EAAEo6B,aAAwB,OAAO,EAIrC,IAAI0C,EAOJ,GATI30B,aAAepJ,QAAUoJ,EAAIA,MAAOA,EAAMA,EAAIA,KAG9CA,aAAepJ,OAClB+9B,EAAU98B,EAAE+8B,UAAU50B,IAEtBA,EAAMnI,EAAE89B,YAAY31B,GAAKA,IACzB20B,EAAU98B,EAAEg9B,WAAW70B,IAET,MAAX20B,EAAmB,OAAO,EAI9B,IAAK,IAAIiB,KAHT51B,EAAM20B,EAAQ30B,IACE,MAAZq1B,IAAoBr1B,EAAMq1B,EAAWr1B,GAExBnI,EAAE07B,QACd17B,EAAE07B,QAAQqC,GAAM51B,KAAOA,UAClBnI,EAAE07B,QAAQqC,GAWpB,OANA1E,EAAa2E,UAAU71B,UAEfnI,EAAE27B,aAAaxzB,GAEvBnI,EAAEo6B,aAAayD,YAAY11B,IAEpB,GA6BRnI,EAAEi+B,aAAe,SAAUP,EAAQF,GAClC,IAAIG,EAAe,GACfD,EAAOjP,OACL+O,EAGJA,GAAsBE,EAAOjP,KAF7B+O,EAAWE,EAAOjP,KAInBiP,EAASA,EAAOE,UAEjB,IAAK,IAAIl/B,EAAI,EAAG2B,EAAIq9B,EAAO9+B,OAAQF,EAAI2B,EAAG3B,IACzCi/B,EAAaj/B,GAAKonB,GAASC,MAAM8X,YAAYH,EAAOh/B,GAAGyJ,IAAKq1B,GAE7D,OAAOG,GAgBR39B,EAAEk+B,gBAAkB,WACnBl+B,EAAE07B,QAAU,GACZ17B,EAAE27B,aAAe,GACjBtC,EAAa8E,YACTn+B,EAAEo6B,cAAgBp6B,EAAEo6B,aAAa8D,mBAoBtCl+B,EAAEojB,aAAe,SAAUjb,GAC1B,IAAKnI,EAAE48B,UAAa,OAAO,EAC3B,IAAIE,EAAU98B,EAAEg9B,WAAW70B,GAM3B,OAJCA,EADG20B,EACG98B,EAAE89B,YAAYhB,EAAQ30B,KAAKA,IAE3BnI,EAAE89B,YAAY31B,GAAKA,SAECnE,GAAvBhE,EAAE27B,aAAaxzB,IACe,GAA1BnI,EAAE27B,aAAaxzB,GAAK,IAa7BnI,EAAEg9B,WAAa,SAAU97B,GACF,iBAAVA,IAAsBA,EAAQA,EAAMypB,YAEhD,IAAIxkB,EAAQjF,EAAMiF,MAAMnG,EAAEk6B,cAC1B,GAAa,MAAT/zB,EAAiB,OAAO,EAE5B,IAAI1F,EAAO0F,EAAM,GACbi4B,EAAMj4B,EAAM,GACZ5F,EAAIP,EAAEu7B,aACN78B,EAAI,EACR,OAAQ6B,EAAE69B,GAET,GADAA,EAAMp+B,EAAEwmB,oBAAoB9nB,KACxBA,EAAIsB,EAAEwmB,oBAAoB5nB,OAAU,OAAO,KAEhDsC,EAAQA,EAAMm9B,QAAQ,IAAMl4B,EAAM,GAAI,IAAMi4B,GAE5C,IAAI1b,EAAM,CAAEjiB,KAAMA,EAAM0H,IAAKjH,EAAOmtB,UAAW+P,GAC/C,OAAO1b,GAaR1iB,EAAE+8B,UAAY,SAAU77B,GACvB,IAAIwhB,EAAM,CAAEjiB,UAAMuD,EAAWmE,SAAKnE,EAAWqqB,eAAWrqB,GACpDzD,EAAIP,EAAEu7B,aAEV,IAAK,IAAIwC,KAAQ78B,EAChB,GAAIA,EAAMjC,eAAe8+B,IAASx9B,EAAEw9B,GAAO,CAC1Crb,EAAIva,IAAMjH,EAAM68B,GAChBrb,EAAI2L,UAAY0P,EAChB,MAGF,IAAKrb,EAAIva,IAAO,OAAO,EAEvB,IAAIzJ,EAAIgkB,EAAIva,IAAIm2B,YAAY,KAO5B,OALC5b,EAAIjiB,MADK,GAAN/B,EACQgkB,EAAIva,IAAIlG,MAAMvD,EAAI,GAElBgkB,EAAIva,IAGTua,GAmCR1iB,EAAEomB,KAAO,SAAUje,EAAKwD,GACvB,IAAI4yB,EAAYzY,GAASgT,gBAAgBv3B,OAAOoK,GAC5C0X,EAAWrjB,EAAEw+B,eAAer2B,EAAKo2B,EAAUnF,UAAWmF,EAAU7xB,UAChE+xB,EAAKz+B,EAAE0+B,cAAcrb,EAAUkb,GAEnC,OADKE,GAAMpb,EAASsb,cACbtb,GA+BRrjB,EAAEw+B,eAAiB,SAAUr2B,EAAKixB,EAAW1sB,GAC5C,IAAK1M,EAAEy8B,2BAA8B,OAAO,IAAI3W,GAAS8Y,qBAAqBz2B,EAAKixB,EAAW1sB,GAE9F,IAAI2wB,EAAmBr9B,EAAE47B,sBAAsBzzB,GAC/CA,EAAMnI,EAAE89B,YAAY31B,GAEpB,IAAI20B,EAAU98B,EAAEg9B,WAAW70B,EAAIA,KAE3Bkb,EAAW,KAgBf,OAfe,MAAXyZ,GAAkC,MAAfA,EAAQ30B,KAC9BkxB,EAAa93B,OAAOu7B,EAAQ30B,KACX,MAAbixB,IAAqBA,EAAYjxB,EAAIixB,WACzC/V,EAAWrjB,EAAEo6B,aAAa74B,OAAOu7B,EAAQ30B,IAAKixB,EAAW1sB,GAAYvE,EAAIuE,UAEzE2wB,EAAmBA,GAAoBr9B,EAAE47B,sBAAsBkB,EAAQ30B,KACnEk1B,GACHha,EAASwb,eAAexB,IAGzBha,EAAW,IAAIyC,GAAS8Y,qBAAqBz2B,EAAKixB,EAAW1sB,GAG9D2W,EAASyb,SAAW9+B,EAAEy7B,UAEfpY,GAcRrjB,EAAEwS,KAAO,WAER,IADA,IAAIkoB,EAAYl4B,KAAKm4B,WACZj8B,EAAIg8B,EAAU97B,OAAQF,KAC9Bg8B,EAAUh8B,GAAG8T,QAafxS,EAAE++B,oBAAsB,SAAU52B,EAAKo2B,GACtCp2B,EAAMnI,EAAE89B,YAAY31B,GACpBnI,EAAE47B,sBAAsB57B,EAAEg9B,WAAW70B,EAAIA,KAAKA,KAAO2d,GAASgT,gBAAgBv3B,OAAOg9B,IAYtFv+B,EAAEg/B,oBAAsB,SAAU72B,GAEjC,OADAA,EAAMnI,EAAE89B,YAAY31B,GACbnI,EAAE47B,sBAAsB57B,EAAEg9B,WAAW70B,EAAIA,KAAKA,MAkBtDnI,EAAE0+B,cAAgB,SAAUrb,EAAUkb,GACrC,IAAIlB,EAAmBr9B,EAAE47B,sBAAsBvY,EAASlb,MAAQ,GAQhE,GAP2B,MAAvBo2B,EAAUxF,YAAqBwF,EAAUxF,UAAYsE,EAAiBtE,WAAa/4B,EAAEm6B,0BAClE,MAAnBoE,EAAUvF,QAAiBuF,EAAUvF,MAAQqE,EAAiBrE,OAAS,GACnD,MAApBuF,EAAUtF,SAAkBsF,EAAUtF,OAAS5V,EAASyJ,UACtC,MAAlByR,EAAU1wB,OAAgB0wB,EAAU1wB,KAAOwV,EAASxV,MAChC,MAApB0wB,EAAUrF,SAAkBqF,EAAUrF,OAAS7V,EAAS6V,QACvC,MAAjBqF,EAAUpF,MAAeoF,EAAUpF,IAAM9V,EAAS8V,KAE/B,GAAnBoF,EAAUvF,MAAY,CACzB,IAAIyF,EAAKz+B,EAAEi/B,cAAc5b,EAAUkb,GACnC,IAAKE,EAAM,OAAO,MACZ,CAGN,IAAIS,EAAiBtkB,WAAW,WAC/B5a,EAAEi/B,cAAc5b,EAAUkb,IACxBA,EAAUvF,OACb3V,EAAS6b,eAAiBA,EAK3B,OAFA18B,KAAKm4B,WAAW77B,KAAKukB,IAEd,GAaRrjB,EAAEi/B,cAAgB,SAAU5b,EAAUkb,GACrC,IAAKlF,EAAa8F,IAAI9b,EAAUkb,EAAUxF,WACzC,OAAO,EAER,IAAIt5B,EAAS4jB,EAAS4b,cAAcV,GACpC,IAAK9+B,EAAQ,CACZ,IAAI2M,EAAQ0Z,GAAShgB,QAAQtD,KAAKm4B,WAAYtX,GAE9C,OADIjX,GAAS,GAAK5J,KAAKm4B,WAAW76B,OAAOsM,EAAO,IACzC,EAER,OAAO,GAYRpM,EAAE89B,YAAc,SAAU58B,GACzB,OAAOlB,EAAE07B,QAAQx6B,IAAU,CAAEiH,IAAKjH,IAYnClB,EAAEo/B,cAAgB,SAAU/b,GAC3BgW,EAAarP,OAAO3G,GACpB,IAAIjX,EAAQ0Z,GAAShgB,QAAQtD,KAAKm4B,WAAYtX,GAC1CjX,GAAS,GAAK5J,KAAKm4B,WAAW76B,OAAOsM,EAAO,IAGjD0Z,GAASC,MAAQA,EA+BjBsT,EAAa6D,SAAW,GAUxB7D,EAAa93B,OAAS,SAAU4G,EAAK6O,GACpC,IAAIqoB,EAAUhG,EAAav4B,IAAIqH,GAC/B,OAAe,MAAXk3B,IACHhG,EAAa6D,SAAS/0B,GAAO,IAAIkxB,EAAalxB,EAAK6O,IAC5C,IAWTqiB,EAAa2E,UAAY,SAAU71B,GAClC,IAAIk3B,EAAUhG,EAAav4B,IAAIqH,GAC/B,OAAe,MAAXk3B,IACJA,EAAQC,oBACAjG,EAAa6D,SAAS/0B,IACvB,IAORkxB,EAAa8E,UAAY,WACxB,IAAK,IAAIkB,KAAWhG,EAAa6D,SAChC7D,EAAa6D,SAASmC,GAASC,aAEhCjG,EAAa6D,SAAW,IAWzB7D,EAAa8F,IAAM,SAAU9b,EAAU0V,GACtC,IAAIsG,EAAUhG,EAAav4B,IAAIuiB,EAASlb,KACxC,OAAe,MAAXk3B,GACGA,EAAQE,KAAKlc,EAAU0V,IAS/BM,EAAarP,OAAS,SAAU3G,GAC/B,IAAIgc,EAAUhG,EAAav4B,IAAIuiB,EAASlb,KACxC,OAAe,MAAXk3B,IACJA,EAAQG,QAAQnc,IACT,IAORgW,EAAakE,cAAgB,WAC5B,OAAO17B,EAAE49B,YAQVpG,EAAav4B,IAAM,SAAUqH,GAC5B,OAAOkxB,EAAa6D,SAAS/0B,IAG9B,IAAItG,EAAIw3B,EAAar6B,UACrB6C,EAAEylB,YAAc+R,EAOhBx3B,EAAEsG,IAAM,KAORtG,EAAEmV,IAAM,KASRnV,EAAE49B,WAAa,IAOf59B,EAAEjD,OAAS,EASXiD,EAAE2D,KAAO,SAAU2C,EAAK6O,GACvBxU,KAAK2F,IAAMA,EACX3F,KAAKwU,IAAMA,GAAOxU,KAAKi9B,YACN,GAAbj9B,KAAKwU,MAAaxU,KAAKwU,IAAMxU,KAAKi9B,YACtCj9B,KAAKm4B,WAAa,IASnB94B,EAAE69B,KAAO,SAAUtzB,GAClB,OAAO5J,KAAKm4B,WAAWvuB,IASxBvK,EAAE09B,KAAO,SAAUlc,EAAU0V,GAC5B,QAAKv2B,KAAKm9B,SAAS5G,EAAW1V,KAC9B7gB,KAAKm4B,WAAW77B,KAAKukB,GACrB7gB,KAAK5D,UACE,IAURiD,EAAE29B,QAAU,SAAUnc,GACrB,IAAIjX,EAAQ0Z,GAAShgB,QAAQtD,KAAKm4B,WAAYtX,GAC9C,OAAc,GAAVjX,IACJ5J,KAAKm4B,WAAW76B,OAAOsM,EAAO,GAC9B5J,KAAK5D,UACE,IAORiD,EAAEy9B,WAAa,WAEd,IAAK,IAAI5gC,EAAI8D,KAAK5D,OAAS,EAAGF,GAAK,EAAGA,IACrC8D,KAAKm4B,WAAWj8B,GAAG8T,QAYrB3Q,EAAE89B,SAAW,SAAU5G,EAAW1V,GACjC,IAAIhM,EAAQuoB,EAEZ,GAAI7G,GAAahT,EAAM0T,iBAEtBmG,EAAcp9B,KAAKk9B,KAAK,GACL,MAAfE,GACH,OAAO,EAIT,IAAK,IAAIlhC,EAAI,EAAG2B,EAAImC,KAAKwU,IAAKtY,EAAI2B,EAAG3B,IAAK,CAIzC,GAHA2Y,EAAS7U,KAAKk9B,KAAKhhC,GAGL,MAAV2Y,EACH,OAAO,EAIR,GAAIA,EAAOwoB,WAAa9Z,EAAM8T,eAC7BxiB,EAAOwoB,WAAa9Z,EAAM6T,kBAC1BviB,EAAOwoB,WAAa9Z,EAAM+T,YAAa,CACvC8F,EAAcvoB,EACd,MAGG0hB,GAAahT,EAAM0T,kBAKlBV,GAAahT,EAAMwT,iBAAmBliB,EAAOyV,SAAW8S,EAAY9S,UACvEiM,GAAahT,EAAMyT,gBAAkBniB,EAAOyV,SAAW8S,EAAY9S,YACpE8S,EAAcvoB,IAIhB,OAAmB,MAAfuoB,IACHA,EAAYE,aACZt9B,KAAKg9B,QAAQI,IACN,IAKT/9B,EAAE8oB,SAAW,WACZ,MAAO,wBA5pDR,GAitDA,WAKA,IAAIoV,EAAwB,SAAU53B,EAAKixB,EAAW1sB,EAAUszB,GAC/Dx9B,KAAK4tB,8BAUL5tB,KAAK2F,IAAMA,EAQX3F,KAAKs8B,UAAY,EAQjBt8B,KAAKq9B,UAAY,KAWjBr9B,KAAK08B,eAAiB,KAiBtB18B,KAAKy9B,QAAU,EACflhC,OAAO6B,eAAe4B,KAAM,SAAU,CACrC1B,IAAK0B,KAAK09B,WACV5U,IAAK9oB,KAAK29B,aAEX39B,KAAK+3B,UAAYzU,GAAS+B,UAAUrlB,KAAK09B,WAAY,mCACrD19B,KAAKi4B,UAAY3U,GAAS+B,UAAUrlB,KAAK29B,WAAY,mCAUrD39B,KAAK49B,KAAO,EACZrhC,OAAO6B,eAAe4B,KAAM,MAAO,CAClC1B,IAAK0B,KAAK69B,QACV/U,IAAK9oB,KAAK89B,UAEX99B,KAAK+9B,OAASza,GAAS+B,UAAUrlB,KAAK69B,QAAS,gCAC/C79B,KAAKg+B,OAAS1a,GAAS+B,UAAUrlB,KAAK89B,QAAS,gCAS/C99B,KAAKi+B,WAAaxc,KAAKjN,IAAI,EAAGoiB,GAAa,GAC3Cr6B,OAAO6B,eAAe4B,KAAM,YAAa,CACxC1B,IAAK0B,KAAKk+B,cACVpV,IAAK9oB,KAAKm+B,gBAEXn+B,KAAKo+B,aAAe9a,GAAS+B,UAAUrlB,KAAKk+B,cAAe,sCAC3Dl+B,KAAKq+B,aAAe/a,GAAS+B,UAAUrlB,KAAKm+B,cAAe,sCAU3Dn+B,KAAKs+B,UAAY7c,KAAKjN,IAAI,EAAGtK,GAAY,GACzC3N,OAAO6B,eAAe4B,KAAM,WAAY,CACvC1B,IAAK0B,KAAKu+B,aACVzV,IAAK9oB,KAAKw+B,eAEXx+B,KAAKy+B,YAAcnb,GAAS+B,UAAUrlB,KAAKu+B,aAAc,qCACzDv+B,KAAK0+B,YAAcpb,GAAS+B,UAAUrlB,KAAKw+B,aAAc,qCAWzDx+B,KAAK2+B,kBAAoB,KACzBpiC,OAAO6B,eAAe4B,KAAM,mBAAoB,CAC/C1B,IAAK0B,KAAK4+B,qBACV9V,IAAK9oB,KAAK6+B,wBAEc,IAArBrB,IAAmD,IAArBA,GAA6Bx9B,KAAK6+B,qBAAqBrB,GACzFx9B,KAAK8+B,oBAAsBxb,GAAS+B,UAAUrlB,KAAK4+B,qBAAsB,6CACzE5+B,KAAK++B,oBAAsBzb,GAAS+B,UAAUrlB,KAAK6+B,qBAAsB,6CAUzE7+B,KAAKg/B,UAAY,EACjBziC,OAAO6B,eAAe4B,KAAM,WAAY,CACvC1B,IAAK0B,KAAKi/B,aACVnW,IAAK9oB,KAAKk/B,eAEXl/B,KAAKm/B,YAAc7b,GAAS+B,UAAUrlB,KAAKi/B,aAAc,qCACzDj/B,KAAKo/B,YAAc9b,GAAS+B,UAAUrlB,KAAKk/B,aAAc,qCAWzDl/B,KAAKq/B,MAAQ,EACb9iC,OAAO6B,eAAe4B,KAAM,OAAQ,CACnC1B,IAAK0B,KAAKs/B,SACVxW,IAAK9oB,KAAKu/B,WAEXv/B,KAAKw/B,QAAUlc,GAAS+B,UAAUrlB,KAAKs/B,SAAU,iCACjDt/B,KAAKy/B,QAAUnc,GAAS+B,UAAUrlB,KAAKu/B,SAAU,iCAUjDv/B,KAAK0/B,QAAS,EACdnjC,OAAO6B,eAAe4B,KAAM,QAAS,CACpC1B,IAAK0B,KAAK2/B,UACV7W,IAAK9oB,KAAK4/B,YAEX5/B,KAAK6/B,SAAWvc,GAAS+B,UAAUrlB,KAAK2/B,UAAW,kCACnD3/B,KAAK8/B,SAAWxc,GAAS+B,UAAUrlB,KAAK4/B,UAAW,kCAQnD5/B,KAAK+/B,SAAU,EACfxjC,OAAO6B,eAAe4B,KAAM,SAAU,CACrC1B,IAAK0B,KAAKggC,WACVlX,IAAK9oB,KAAKigC,aAEXjgC,KAAKkgC,UAAY5c,GAAS+B,UAAUrlB,KAAKggC,WAAY,mCACrDhgC,KAAKmgC,UAAY7c,GAAS+B,UAAUrlB,KAAKigC,WAAY,oCAiDlD5gC,EAAIikB,GAASqB,OAAO4Y,EAAuBja,GAASgD,iBAsBxDjnB,EAAEukB,KAAO,SAAUza,GAClB,IAAI4yB,EAAYzY,GAASgT,gBAAgBv3B,OAAOoK,GAChD,OAAInJ,KAAKq9B,WAAa/Z,GAASC,MAAM4T,gBACpCn3B,KAAKq8B,eAAeN,QAChB/7B,KAAK+/B,SAAW//B,KAAKigC,YAAW,MAGrCjgC,KAAKogC,WACL9c,GAASC,MAAM2Y,cAAcl8B,KAAM+7B,GAC5B/7B,OAgBRX,EAAE2Q,KAAO,WAMR,OALAhQ,KAAKg/B,UAAY,EACjBh/B,KAAK+/B,SAAU,EACf//B,KAAKqgC,cACLrgC,KAAKogC,WACLpgC,KAAKq9B,UAAY/Z,GAASC,MAAM8T,cACzBr3B,MAQRX,EAAEgwB,QAAU,WACXrvB,KAAKogC,WACLpgC,KAAK2F,IAAM,KACX3F,KAAKw9B,iBAAmB,KAExBx9B,KAAK4mB,2BAUNvnB,EAAEg9B,eAAiB,SAAUN,GAS5B,OARwB,MAApBA,EAAUtF,QAAkBz2B,KAAKk/B,aAAanD,EAAUtF,QACtC,MAAlBsF,EAAU1wB,MAAgBrL,KAAKu/B,SAASxD,EAAU1wB,MAC9B,MAApB0wB,EAAUrF,QAAkB12B,KAAK29B,WAAW5B,EAAUrF,QACrC,MAAjBqF,EAAUpF,KAAe32B,KAAK89B,QAAQ/B,EAAUpF,KACzB,MAAvBoF,EAAUnF,YACb52B,KAAKm+B,cAAcpC,EAAUnF,WAC7B52B,KAAKw+B,aAAazC,EAAU7xB,WAEtBlK,MAGRX,EAAE8oB,SAAW,WACZ,MAAO,2BAWR9oB,EAAE2gC,WAAa,WACd,OAAOhgC,KAAK+/B,SAWb1gC,EAAE4gC,WAAa,SAAUvhC,GACxB,KAAe,IAAVA,IAA4B,IAAVA,IAAoBsB,KAAK+/B,SAAWrhC,IAC9C,GAATA,GAAiBsB,KAAKq9B,WAAa/Z,GAASC,MAAM4T,gBAQtD,OAPAn3B,KAAK+/B,QAAUrhC,EACXA,EACHsB,KAAKsgC,SAELtgC,KAAKugC,UAEN9iB,aAAazd,KAAK08B,gBACX18B,MAURX,EAAEs+B,WAAa,SAAUj/B,GACxB,OAAIA,GAASsB,KAAKy9B,QAAkBz9B,MACpCA,KAAKy9B,QAAUhc,KAAKjN,IAAI,EAAGiN,KAAKlN,IAAI,EAAG7V,IAClCsB,KAAK0/B,QACT1/B,KAAKwgC,gBAECxgC,OASRX,EAAEq+B,WAAa,WACd,OAAO19B,KAAKy9B,SAWbp+B,EAAEugC,UAAY,SAAUlhC,GACvB,IAAc,IAAVA,IAA4B,IAAVA,EAGtB,OAFAsB,KAAK0/B,OAAShhC,EACdsB,KAAKwgC,gBACExgC,MAURX,EAAEsgC,UAAY,WACb,OAAO3/B,KAAK0/B,QAUbrgC,EAAEy+B,QAAU,SAAUp/B,GACrB,OAAIA,GAASsB,KAAK49B,KAAe59B,MACjCA,KAAK49B,KAAOnc,KAAKjN,KAAK,EAAGiN,KAAKlN,IAAI,EAAG7V,IACrCsB,KAAKygC,aACEzgC,OASRX,EAAEw+B,QAAU,WACX,OAAO79B,KAAK49B,MASbv+B,EAAE4/B,aAAe,WAIhB,OAHKj/B,KAAK+/B,SAAW//B,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACrDn3B,KAAKg/B,UAAYh/B,KAAK0gC,6BAEhB1gC,KAAKg/B,WAUb3/B,EAAE6/B,aAAe,SAAUxgC,GAK1B,OAJAsB,KAAKg/B,UAAYvd,KAAKjN,IAAI,EAAG9V,GACzBsB,KAAKq9B,WAAa/Z,GAASC,MAAM4T,gBACpCn3B,KAAK2gC,kBAEC3gC,MASRX,EAAE6+B,cAAgB,WACjB,OAAOl+B,KAAKi+B,YAUb5+B,EAAE8+B,cAAgB,SAAUz/B,GAC3B,OAAIA,GAASsB,KAAKi+B,WAAqBj+B,MACvCA,KAAKi+B,WAAaxc,KAAKjN,IAAI,EAAG9V,GAAS,GACvCsB,KAAK4gC,mBACE5gC,OASRX,EAAEk/B,aAAe,WAChB,OAAOv+B,KAAKs+B,WAWbj/B,EAAEm/B,aAAe,SAAU9/B,GAC1B,OAAIA,GAASsB,KAAKs+B,UAAoBt+B,MACtCA,KAAKs+B,UAAY7c,KAAKjN,IAAI,EAAG9V,GAAS,GACtCsB,KAAK6gC,kBACE7gC,OAWRX,EAAEw/B,qBAAuB,SAAUngC,GAGlC,OAFAsB,KAAK2+B,kBAAoBjgC,EACH,GAAlBsB,KAAKs+B,WAAkBt+B,KAAK2+B,mBAAqB3+B,KAAK8gC,yBACnD9gC,MAWRX,EAAEu/B,qBAAuB,WACxB,OAAO5+B,KAAK2+B,mBAUbt/B,EAAEigC,SAAW,WACZ,OAAOt/B,KAAKq/B,OAUbhgC,EAAEkgC,SAAW,SAAU7gC,GACQ,MAA1BsB,KAAK2+B,oBAEU,GAAd3+B,KAAKq/B,OAAuB,GAAT3gC,EACtBsB,KAAK+gC,eAAeriC,GAGE,GAAdsB,KAAKq/B,OAAuB,GAAT3gC,GAC3BsB,KAAKghC,YAAYtiC,IAGnBsB,KAAKq/B,MAAQ3gC,GAWdW,EAAE4hC,WAAa,SAAU3sB,GACxB,IAAIuN,EAAQ,IAAIyB,GAASsE,MAAMtT,GAC/BtU,KAAK8mB,cAAcjF,IAQpBxiB,EAAE+gC,SAAW,WACZ3iB,aAAazd,KAAK08B,gBAClB18B,KAAKkhC,iBACLlhC,KAAK+/B,SAAU,EAEfzc,GAASC,MAAMqZ,cAAc58B,OAQ9BX,EAAEi+B,WAAa,WACdt9B,KAAKogC,WACLpgC,KAAKq9B,UAAY/Z,GAASC,MAAM6T,iBAChCp3B,KAAKihC,WAAW,gBAYjB5hC,EAAEo9B,cAAgB,SAAUV,GAU3B,OATA/7B,KAAKk/B,aAAanD,EAAUtF,QAC5Bz2B,KAAKu/B,SAASxD,EAAU1wB,MACxBrL,KAAK29B,WAAW5B,EAAUrF,QAC1B12B,KAAK89B,QAAQ/B,EAAUpF,KACI,MAAvBoF,EAAUnF,YACb52B,KAAKm+B,cAAcpC,EAAUnF,WAC7B52B,KAAKw+B,aAAazC,EAAU7xB,WAGC,MAA1BlK,KAAK2+B,mBAA6B3+B,KAAKg/B,UAAYh/B,KAAKs+B,WAC3Dt+B,KAAK+/B,SAAU,EACf//B,KAAKmhC,oBACLnhC,KAAKq9B,UAAY/Z,GAASC,MAAM4T,eAChCn3B,KAAKihC,WAAW,cACT,IAEPjhC,KAAKm8B,eACE,IAUT98B,EAAE88B,YAAc,WACfn8B,KAAKogC,WACLpgC,KAAKq9B,UAAY/Z,GAASC,MAAM+T,YAChCt3B,KAAKihC,WAAW,WASjB5hC,EAAE+hC,qBAAuB,SAAUvf,GAGlC,GAFA7hB,KAAKg/B,UAAY,EAEC,GAAdh/B,KAAKq/B,MAIR,OAHAr/B,KAAKq/B,QACLr/B,KAAKqhC,mBACLrhC,KAAKihC,WAAW,QAIjBjhC,KAAKogC,WACLpgC,KAAKq9B,UAAY/Z,GAASC,MAAM8T,cAChCr3B,KAAKihC,WAAW,aASjB5hC,EAAE8hC,kBAAoB,aAUtB9hC,EAAEmhC,cAAgB,aAUlBnhC,EAAEohC,WAAa,aAUfphC,EAAEuhC,iBAAmB,aAUrBvhC,EAAEwhC,gBAAkB,aAUpBxhC,EAAEyhC,uBAAyB,aAU3BzhC,EAAEqhC,0BAA4B,aAU9BrhC,EAAEshC,gBAAkB,aAWpBthC,EAAE0hC,eAAiB,SAAUriC,KAW7BW,EAAE2hC,YAAc,SAAUtiC,KAU1BW,EAAEihC,OAAS,aAUXjhC,EAAEkhC,QAAU,aAUZlhC,EAAEghC,YAAc,aAUhBhhC,EAAE6hC,eAAiB,aAUnB7hC,EAAEgiC,YAAc,aAIhB/d,GAASia,sBAAwBja,GAASyB,QAAQwY,EAAuB,mBACzEja,GAAS8Y,qBAAuB9Y,GAASia,sBAj0BzC,GA00BA,WAYA,IAAI+D,EAAiB,WAWpBthC,KAAK44B,cAAgB,KAOrB54B,KAAKuhC,SAAW,GAUhBvhC,KAAKwhC,cAAgB,GAQrBxhC,KAAKyhC,gBAAkB,GASvBzhC,KAAKy9B,QAAU,EAOfz9B,KAAK0hC,aAOL1hC,KAAK2hC,qBAEFtiC,EAAIiiC,EAAe9kC,UAYvB8kC,EAAe1I,cAAgB,KAQ/B0I,EAAexH,YAAc,WAC5B,OAAO,GAcRz6B,EAAEy7B,SAAW,SAAUpN,GACtB,IAAI0B,EAASpvB,KAAKuhC,SAAS7T,EAAS/nB,KACpC,OAAIypB,IAAWA,EAAOvB,SAAmB7tB,KAAKuhC,SAAS7T,EAAS/nB,MAEhE3F,KAAKwhC,cAAc9T,EAAS/nB,MAAO,EACnC3F,KAAKyhC,gBAAgB/T,EAAS/nB,KAAO,GACrCypB,EAAS,IAAIpvB,KAAK0hC,aAAahU,GAC/B0B,EAAOvuB,GAAG,WAAYb,KAAK4hC,uBAAwB5hC,MACnDA,KAAKuhC,SAAS7T,EAAS/nB,KAAOypB,EACvBA,IASR/vB,EAAEuxB,QAAU,SAAUxB,GACrBA,EAAOvuB,GAAG,QAASb,KAAK6hC,oBAAqB7hC,MAC7CovB,EAAOH,QAUR5vB,EAAEyiC,iBAAmB,SAAUn8B,GAC9B,OAAmC,MAA3B3F,KAAKwhC,cAAc77B,IAS5BtG,EAAE0iC,kBAAoB,SAAUp8B,GAC/B,QAAqC,MAA3B3F,KAAKwhC,cAAc77B,IAA2C,GAA3B3F,KAAKwhC,cAAc77B,KAQjEtG,EAAEg8B,YAAc,SAAU11B,GACzB,GAAK3F,KAAKyhC,gBAAgB97B,GAA1B,CACA,IAAK,IAAIzJ,EAAI8D,KAAKyhC,gBAAgB97B,GAAKvJ,OAAQF,KAAM,CACpD,IAAI+P,EAAOjM,KAAKyhC,gBAAgB97B,GAAKzJ,GACrC+P,EAAKojB,iBAEErvB,KAAKyhC,gBAAgB97B,UACrB3F,KAAKwhC,cAAc77B,GACvB3F,KAAKuhC,SAAS57B,IAAQ3F,KAAKuhC,SAAS57B,GAAK0pB,iBACrCrvB,KAAKuhC,SAAS57B,KAQvBtG,EAAEq8B,gBAAkB,WACnB,IAAK,IAAI18B,KAAOgB,KAAKwhC,cACpBxhC,KAAKq7B,YAAYr8B,IAYnBK,EAAEN,OAAS,SAAU4G,EAAKixB,EAAW1sB,GAC/BlK,KAAK8hC,iBAAiBn8B,IAC1B3F,KAAK4wB,QAAQ5wB,KAAK86B,SAASn1B,IAE5B,IAAIq8B,EAAK,IAAIhiC,KAAK2hC,oBAAoBh8B,EAAKixB,EAAW1sB,EAAUlK,KAAKwhC,cAAc77B,IAUnF,OATI3F,KAAKyhC,gBAAgB97B,IACxB3F,KAAKyhC,gBAAgB97B,GAAKrJ,KAAK0lC,GAKhCA,EAAG5J,iBAAmB4J,EAAG5J,gBAAgB9U,GAASC,MAAMmT,QACxDsL,EAAGtJ,eAAiBsJ,EAAGtJ,cAAcpV,GAASC,MAAMuV,OAE7CkJ,GAWR3iC,EAAE44B,UAAY,SAAUv5B,GAGvB,OAFAsB,KAAKy9B,QAAU/+B,EACfsB,KAAKwgC,iBACE,GAQRnhC,EAAE04B,UAAY,WACb,OAAO/3B,KAAKy9B,SAUbp+B,EAAEo5B,QAAU,SAAU/5B,GAErB,OADAsB,KAAKwgC,iBACE,GAIRnhC,EAAE8oB,SAAW,WACZ,MAAO,oBAWR9oB,EAAEuiC,uBAAyB,SAAU/f,GACpC,IAAIlc,EAAMkc,EAAMhN,OAAO8Z,UAAUhpB,IACjC3F,KAAKwhC,cAAc77B,GAAOkc,EAAM5kB,OAChC,IAAK,IAAIf,EAAI,EAAG2B,EAAImC,KAAKyhC,gBAAgB97B,GAAKvJ,OAAQF,EAAI2B,EAAG3B,IAAK,CACjE,IAAI+P,EAAOjM,KAAKyhC,gBAAgB97B,GAAKzJ,GACrC+P,EAAKuxB,iBAAmBx9B,KAAKwhC,cAAc77B,GAE3C3F,KAAKyhC,gBAAgB97B,GAAO,OAU9BtG,EAAEwiC,oBAAsB,SAAUhgB,KASlCxiB,EAAEmhC,cAAgB,aAIlBld,GAASge,eAAiBA,EA3R1B,GAoSA,WAYA,SAASW,EAAOvU,GACf1tB,KAAKywB,2BAA2B/C,GAAU,EAAMpK,GAASwG,MAAMgC,OAGhE,IAAIzsB,EAAIikB,GAASqB,OAAOsd,EAAQ3e,GAASmK,gBAQzCwU,EAAOpnB,QAAU,KAIjBxb,EAAE8oB,SAAW,WACZ,MAAO,oBAKR9oB,EAAE6vB,eAAiB,WAClBlvB,KAAKmvB,SAAW,IAAI7L,GAASkM,WAAWxvB,KAAK+tB,OAAO,GACpD/tB,KAAKmvB,SAAS4B,gBAAgB,gBAG/B1xB,EAAE2wB,cAAgB,SAAUnO,GAE3BogB,EAAOpnB,QAAQqnB,gBAAgBliC,KAAKkuB,WACnC5K,GAASoC,MAAM1lB,KAAKmiC,oBAAqBniC,MACzCsjB,GAASoC,MAAM1lB,KAAKkwB,WAAYlwB,QAUlCX,EAAE8iC,oBAAsB,SAAUC,GACjCpiC,KAAKiuB,QAAUmU,EACfpiC,KAAKqiC,gCAGN/e,GAASgf,eAAiBhf,GAASyB,QAAQkd,EAAQ,kBA1DnD,GAiFA,WAGA,SAASM,EAAsB58B,EAAKixB,EAAW1sB,EAAUszB,GACxDx9B,KAAKwiC,kCAAkC78B,EAAKixB,EAAW1sB,EAAUszB,GAYjEx9B,KAAKyiC,SAAWjlC,EAAEqd,QAAQ6nB,aAS1B1iC,KAAK2iC,QAAUnlC,EAAEqd,QAAQ+nB,eACzB5iC,KAAK2iC,QAAQE,aAAerlC,EAAEslC,cAC9B9iC,KAAK2iC,QAAQI,QAAQ/iC,KAAKyiC,UAC1BziC,KAAKygC,aAULzgC,KAAKgjC,WAAa,KAalBhjC,KAAKijC,sBAAwB,KAa7BjjC,KAAKkjC,gBAAkB,KAUvBljC,KAAKmjC,mBAAqB,EAG1BnjC,KAAKojC,cAAgB9f,GAASoC,MAAM1lB,KAAKohC,qBAAsBphC,MAEhE,IAAIX,EAAIikB,GAASqB,OAAO4d,EAAuBjf,GAASia,uBACpD//B,EAAI+kC,EAUR/kC,EAAEqd,QAAU,KAUZrd,EAAE6lC,eAAiB,KAUnB7lC,EAAE8lC,gBAAkB,KAUpB9lC,EAAEslC,cAAgB,aAIlBzjC,EAAEgwB,QAAU,WACXrvB,KAAKujC,gCAELvjC,KAAK2iC,QAAQa,WAAW,GACxBxjC,KAAK2iC,QAAU,KACf3iC,KAAKyiC,SAASe,WAAW,GACzBxjC,KAAKyiC,SAAW,MAGjBpjC,EAAE8oB,SAAW,WACZ,MAAO,2BAKR9oB,EAAEohC,WAAa,WACdzgC,KAAK2iC,QAAQvD,YAAYp/B,KAAK49B,KAAM,GAAI,KAIzCv+B,EAAE0hC,eAAiB,SAAUriC,GAC5BsB,KAAKkjC,gBAAkBljC,KAAKyjC,kBAAkBzjC,KAAKkjC,kBAGpD7jC,EAAE2hC,YAAc,SAAUtiC,GACrBsB,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACrCn3B,KAAKkjC,gBAAkBljC,KAAK0jC,wBAAwB1jC,KAAKmjC,mBAAoB,KAG9E9jC,EAAEyhC,uBAAyB,WAC1B9gC,KAAKs+B,UAA6C,IAAjCt+B,KAAKw9B,iBAAiBtzB,UAGxC7K,EAAE6hC,eAAiB,WACdlhC,KAAKgjC,YAAchjC,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACvDn3B,KAAKgjC,WAAahjC,KAAKyjC,kBAAkBzjC,KAAKgjC,YAC9ChjC,KAAKkjC,gBAAkBljC,KAAKyjC,kBAAkBzjC,KAAKkjC,kBAGf,GAAjCljC,KAAKyiC,SAASkB,iBAAwB3jC,KAAKyiC,SAASe,WAAW,GAGnE/lB,aAAazd,KAAKijC,uBAElBjjC,KAAKmjC,mBAAqB,GAW3B9jC,EAAEokC,kBAAoB,SAAUG,GAC/B,GAAIA,EAAW,CAKd,GAJAA,EAAU5zB,KAAK,GACf4zB,EAAUJ,WAAW,GAGjBlgB,GAASuC,cAAcO,MAC1B,IAAMwd,EAAUC,OAASrmC,EAAE6lC,eAAkB,MAAOjmB,IAErDwmB,EAAY,KAEb,OAAOA,GAGRvkC,EAAE8hC,kBAAoB,SAAUtf,GAC/B7hB,KAAKyiC,SAASM,QAAQvlC,EAAE8lC,iBAExB,IAAIQ,EAAuB,KAAjB9jC,KAAKs+B,UACdyF,EAAMtiB,KAAKlN,IAAkC,KAA9BkN,KAAKjN,IAAI,EAAGxU,KAAKg/B,WAAoB8E,GACrD9jC,KAAKgjC,WAAahjC,KAAK0jC,wBAAyBlmC,EAAEqd,QAAQmpB,YAAcF,EAAMC,GAC9E/jC,KAAKmjC,mBAAqBnjC,KAAKgjC,WAAWpM,UAAYmN,EAEtD/jC,KAAKijC,sBAAwB7qB,WAAWpY,KAAKojC,cAA6B,KAAbU,EAAMC,IAEjD,GAAd/jC,KAAKq/B,QACRr/B,KAAKkjC,gBAAkBljC,KAAK0jC,wBAAwB1jC,KAAKmjC,mBAAoB,KAa/E9jC,EAAEqkC,wBAA0B,SAAU9M,EAAWH,GAChD,IAAImN,EAAYpmC,EAAEqd,QAAQopB,qBAC1BL,EAAUC,OAAS7jC,KAAKw9B,iBACxBoG,EAAUb,QAAQ/iC,KAAK2iC,SACvB,IAAImB,EAAuB,KAAjB9jC,KAAKs+B,UAGf,OAFAsF,EAAUhN,UAAYA,EAAYkN,EAClCF,EAAU1zB,MAAM0zB,EAAUhN,UAAWH,EAA4B,KAAlBz2B,KAAKi+B,WAAqB6F,EAAMrN,GACxEmN,GAGRvkC,EAAEihC,OAAS,WACVtgC,KAAKg/B,UAAgE,KAAnDxhC,EAAEqd,QAAQmpB,YAAchkC,KAAKmjC,oBAC/CnjC,KAAKgjC,WAAahjC,KAAKyjC,kBAAkBzjC,KAAKgjC,YAC9ChjC,KAAKkjC,gBAAkBljC,KAAKyjC,kBAAkBzjC,KAAKkjC,iBAEd,GAAjCljC,KAAKyiC,SAASkB,iBAAwB3jC,KAAKyiC,SAASe,WAAW,GAEnE/lB,aAAazd,KAAKijC,wBAGnB5jC,EAAEkhC,QAAU,WACXvgC,KAAKmhC,qBASN9hC,EAAEmhC,cAAgB,WACjB,IAAI0D,EAAYlkC,KAAK0/B,OAAS,EAAI1/B,KAAKy9B,QACnCyG,GAAalkC,KAAKyiC,SAAS0B,KAAKzlC,QACnCsB,KAAKyiC,SAAS0B,KAAKzlC,MAAQwlC,IAI7B7kC,EAAEqhC,0BAA4B,WAC7B,OAA4D,KAAnDljC,EAAEqd,QAAQmpB,YAAchkC,KAAKmjC,qBAGvC9jC,EAAEshC,gBAAkB,WACnB3gC,KAAKgjC,WAAahjC,KAAKyjC,kBAAkBzjC,KAAKgjC,YAC9ChjC,KAAKkjC,gBAAkBljC,KAAKyjC,kBAAkBzjC,KAAKkjC,iBACnDzlB,aAAazd,KAAKijC,uBAEbjjC,KAAK+/B,SAAW//B,KAAKmhC,qBAO3B9hC,EAAEgiC,YAAc,WACfrhC,KAAKyjC,kBAAkBzjC,KAAKgjC,YAC5BhjC,KAAKgjC,WAAahjC,KAAKkjC,gBACvBljC,KAAKmjC,mBAAqBnjC,KAAKgjC,WAAWpM,UAC1C52B,KAAKkjC,gBAAkBljC,KAAK0jC,wBAAwB1jC,KAAKmjC,mBAAoB,GAC7EnjC,KAAKijC,sBAAwB7qB,WAAWpY,KAAKojC,cAAepjC,KAAKs+B,YAGlEj/B,EAAEwhC,gBAAkB,WACf7gC,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACpCn3B,KAAKsgC,SACLtgC,KAAKugC,YAIPjd,GAASif,sBAAwBjf,GAASyB,QAAQwd,EAAuB,yBA7RzE,GAsSA,WAwCA,SAASrI,IACRl6B,KAAKokC,6BAULpkC,KAAK8iC,cAAgBtlC,EAAEslC,cAQvB9iC,KAAK6a,QAAUrd,EAAEqd,QAUjB7a,KAAKqkC,uBAAyBrkC,KAAK6a,QAAQypB,2BAC3CtkC,KAAKqkC,uBAAuBtB,QAAQ/iC,KAAK6a,QAAQ0pB,aASjDvkC,KAAKyiC,SAAWziC,KAAK6a,QAAQ6nB,aAC7B1iC,KAAKyiC,SAASM,QAAQ/iC,KAAKqkC,wBAC3B/gB,GAASif,sBAAsBe,gBAAkBtjC,KAAKyiC,SAEtDziC,KAAK44B,cAAgBp7B,EAAEo7B,cAEvB54B,KAAK0hC,aAAepe,GAASgf,eAC7BtiC,KAAK2hC,oBAAsBre,GAASif,sBAEpCviC,KAAKwkC,qBAEN,IAAInlC,EAAIikB,GAASqB,OAAOuV,EAAgB5W,GAASge,gBAG7C9jC,EAAI08B,EAUR18B,EAAEo7B,cAAgB,KASlBp7B,EAAEslC,cAAgB,aAalBtlC,EAAEqd,QAAU,KAcZrd,EAAE6lC,eAAiB,KAUnB7lC,EAAEinC,WAAY,EASdjnC,EAAEknC,oBAAsB,MASxBlnC,EAAEs8B,YAAc,WAEf,IAAI6K,EAAmBrhB,GAASuC,cAAcO,OAAS9C,GAASuC,cAAc3jB,WAAaohB,GAASuC,cAAcQ,aAElH,QAAyB,SAArB3c,SAAS0iB,WAAwBuY,IAAqB3kC,KAAK4kC,yBAC/DpnC,EAAEqnC,wBACe,MAAbrnC,EAAEqd,UAoBPrd,EAAEsnC,eAAiB,WAClB,GAAiB,MAAbtnC,EAAEqd,QAAN,CACA,IAAIkqB,EAASvnC,EAAEqd,QAAQopB,qBACvBc,EAAOlB,OAASrmC,EAAE6lC,eAClB0B,EAAOhC,QAAQvlC,EAAEqd,QAAQ0pB,aACzBQ,EAAO70B,MAAM,EAAG,EAAG,KAapB1S,EAAEonC,oBAAsB,WAEvB,IAAII,GAAY,EAEZC,EAAM,IAAI1P,eACd,IACC0P,EAAInP,KAAK,MAAO,2BAA2B,GAC1C,MAAO3Z,GAGR,OADA6oB,GAAY,EACLA,EAERC,EAAIpT,QAAU,WAAcmT,GAAY,GAExCC,EAAIvT,OAAS,WAAcsT,EAA2B,KAAfhlC,KAAKm1B,QAAiC,KAAfn1B,KAAKm1B,QAAiC,GAAfn1B,KAAKm1B,QAAgC,IAAjBn1B,KAAKqc,UAC9G,IACC4oB,EAAI9Q,OACH,MAAOhY,GAER6oB,GAAY,EAGb,OAAOA,GAURxnC,EAAEqnC,sBAAwB,WACzB,GAAuB,MAAnBrnC,EAAEo7B,cAAN,CAEA,IAAIj6B,EAAIoG,SAASilB,cAAc,SAC/B,GAAqB,MAAjBrrB,EAAEumC,YAAuB,OAAO,KAEpC,GAAiB,MAAb1nC,EAAEqd,UACLrd,EAAEqd,QAAUrd,EAAE2nC,sBACG,MAAb3nC,EAAEqd,SAAmB,OAAO,KAET,MAApBrd,EAAE6lC,iBACL7lC,EAAE6lC,eAAiB7lC,EAAEqd,QAAQuqB,aAAa,EAAG,EAAG,QAGjD5nC,EAAE6nC,sBAGE,iBAAkB9lC,QAA6B,WAAnB/B,EAAEqd,QAAQqH,QACzC1kB,EAAE8nC,UACFvgC,SAASwY,iBAAiB,YAAa/f,EAAE8nC,SAAS,GAClDvgC,SAASwY,iBAAiB,aAAc/f,EAAE8nC,SAAS,GACnDvgC,SAASwY,iBAAiB,WAAY/f,EAAE8nC,SAAS,IAGlD9nC,EAAEo7B,cAAgB,CACjB2M,SAAS,EACT7O,QAAQ,EACR8O,QAAS,GAMV,IAFA,IAAIC,EAAsBniB,GAASC,MAAMgU,qBACrCmO,EAAepiB,GAASC,MAAMiU,cACzBt7B,EAAI,EAAG2B,EAAI4nC,EAAoBrpC,OAAQF,EAAI2B,EAAG3B,IAAK,CAC3D,IAAI0/B,EAAM6J,EAAoBvpC,GAC1BypC,EAAWD,EAAa9J,IAAQA,EACpCp+B,EAAEo7B,cAAcgD,GAAyC,MAAjCj9B,EAAEumC,YAAY,SAAWtJ,IAAiD,IAAjCj9B,EAAEumC,YAAY,SAAWtJ,IAAsD,MAAtCj9B,EAAEumC,YAAY,SAAWS,IAA2D,IAAtChnC,EAAEumC,YAAY,SAAWS,GAK9KnoC,EAAEqd,QAAQ0pB,YAAYqB,iBAAmB,IAC5CpoC,EAAEo7B,cAAc2M,SAAU,KAgB5B/nC,EAAE2nC,oBAAsB,WAGvB,IAAIU,EAAatmC,OAAOumC,cAAgBvmC,OAAOwmC,mBAC/C,GAAiB,MAAbF,EAAqB,OAAO,KAChC,IAAIhrB,EAAU,IAAIgrB,EAKlB,GAAI,iBAAiBlvB,KAAKzT,UAAUC,YAChC0X,EAAQmrB,aAAexoC,EAAEknC,oBAAqB,CACjD,IAAIb,EAAShpB,EAAQuqB,aAAa,EAAG,EAAG5nC,EAAEknC,qBACzCuB,EAAQprB,EAAQopB,qBACjBgC,EAAMpC,OAASA,EACfoC,EAAMlD,QAAQloB,EAAQ0pB,aACtB0B,EAAM/1B,MAAM,GACZ+1B,EAAMzC,aACN3oB,EAAQqrB,QAERrrB,EAAU,IAAIgrB,EAEf,OAAOhrB,GAcRrd,EAAE6nC,oBAAsB,WAGvB,GAFA7nC,EAAEslC,cAAgB,cAEdtlC,EAAEqd,QAAQ6nB,WAAd,CAGAllC,EAAEqd,QAAQ6nB,WAAallC,EAAEqd,QAAQsrB,eAGjC,IAAIvC,EAAYpmC,EAAEqd,QAAQopB,qBAC1BL,EAAUxe,UAAUlV,MAAQ0zB,EAAUxe,UAAUghB,YAChDxC,EAAUxe,UAAUpV,KAAO4zB,EAAUxe,UAAUihB,QAG/C7oC,EAAEslC,cAAgB,IAenBtlC,EAAE8nC,QAAU,WACP9nC,EAAEinC,YACNjnC,EAAEsnC,iBACqB,WAAnBtnC,EAAEqd,QAAQqH,QACbnd,SAAS2hB,oBAAoB,YAAalpB,EAAE8nC,SAAS,GACrDvgC,SAAS2hB,oBAAoB,WAAYlpB,EAAE8nC,SAAS,GACpDvgC,SAAS2hB,oBAAoB,aAAclpB,EAAE8nC,SAAS,GACtD9nC,EAAEinC,WAAY,KAMhBplC,EAAE8oB,SAAW,WACZ,MAAO,oBAYR9oB,EAAEmlC,mBAAqB,WACtB,IAAIzmC,EAAIiC,KAAK2hC,oBACb5jC,EAAE8c,QAAU7a,KAAK6a,QACjB9c,EAAEslC,eAAiB7lC,EAAE6lC,eACrBtlC,EAAEulC,gBAAkBtjC,KAAKyiC,SACzB1kC,EAAE+kC,cAAgB9iC,KAAK8iC,cAEvB9iC,KAAK0hC,aAAa7mB,QAAU7a,KAAK6a,SASlCxb,EAAEmhC,cAAgB,WACjB,IAAI0D,EAAY5gB,GAASC,MAAM8U,YAAc,EAAIr4B,KAAKy9B,QAClDyG,GAAalkC,KAAKyiC,SAAS0B,KAAKzlC,QACnCsB,KAAKyiC,SAAS0B,KAAKzlC,MAAQwlC,IAI7B5gB,GAAS4W,eAAiB5W,GAASyB,QAAQmV,EAAgB,kBA/Z3D,GAwaA,WASA,SAASoM,IACR,KAAM,0CAGP,IAAI9oC,EAAI8oC,EA8GR,SAASC,EAAQ5gC,GAShB3F,KAAKwmC,MAAQ,GA7GdhpC,EAAEgpC,MAAQ,GASVhpC,EAAEipC,SAAW,IAAIF,EASjB/oC,EAAEkpC,SAAW,GASblpC,EAAEc,IAAM,SAAUqH,GACjB,IAAIhH,EAAInB,EAAEgpC,MAAM7gC,GAchB,OAbS,MAALhH,GAEHA,EAAInB,EAAEgpC,MAAM7gC,GAAOnI,EAAEipC,SAASnoC,MAC9BK,EAAEgH,IAAMA,GAGJnI,EAAEkpC,SAAS/gC,IACdhH,EAAInB,EAAEipC,SAASnoC,MACfK,EAAEgH,IAAMA,GAERnI,EAAEkpC,SAAS/gC,IAAO,EAGbhH,GAURnB,EAAEsrB,IAAM,SAAUnjB,EAAKqpB,GAElBA,GAAOxxB,EAAEgpC,MAAM7gC,GAClBnI,EAAEkpC,SAAS/gC,IAAO,EAElBnI,EAAEipC,SAAS3d,IAAIkG,IAWjBxxB,EAAEgqB,OAAS,SAAU7hB,GACpB,IAAIqpB,EAAMxxB,EAAEgpC,MAAM7gC,GAClB,OAAW,MAAPqpB,IACJxxB,EAAEipC,SAAS3d,IAAIkG,UACPxxB,EAAEgpC,MAAM7gC,UACRnI,EAAEkpC,SAAS/gC,IACZ,IAURnI,EAAEihC,YAAc,SAAU94B,GACzB,IAAIhH,EAAInB,EAAEgpC,MAAM7gC,GAChB,OAAS,MAALhH,GAAcA,EAAEuL,SACA,IAAbvL,EAAEuL,SAD8B,GAIxCoZ,GAASgjB,iBAAmBA,EAsB5B,IAAIjnC,EAAIknC,EAAQ/pC,UAChB6C,EAAEylB,YAAcyhB,EAShBlnC,EAAEf,IAAM,WACP,IAAI0wB,EAOJ,OALCA,EADwB,GAArBhvB,KAAKwmC,MAAMpqC,OACR4D,KAAK0vB,aAEL1vB,KAAKwmC,MAAMG,MAEI,MAAlB3X,EAAIiD,YAAsBltB,SAASD,KAAKslB,YAAY4E,GACjDA,GAQR3vB,EAAEypB,IAAM,SAAUkG,GAEjB,IAAIplB,EAAQ0Z,GAAShgB,QAAQtD,KAAKwmC,MAAOxX,IAC3B,GAAVplB,IACH5J,KAAKwmC,MAAM7gC,IAAM,KACjB3F,KAAKwmC,MAAMlqC,KAAK0yB,KAIlB3vB,EAAE8oB,SAAW,WACZ,MAAO,aAYR9oB,EAAEqwB,WAAa,WACd,IAAIV,EAAMjqB,SAASilB,cAAc,SAIjC,OAHAgF,EAAIvf,UAAW,EACfuf,EAAI4B,QAAU,OAEP5B,GA5LR,GAuMA,WAeA,SAAS4X,EAAuBjhC,EAAKixB,EAAW1sB,EAAUszB,GACzDx9B,KAAKwiC,kCAAkC78B,EAAKixB,EAAW1sB,EAAUszB,GAIjEx9B,KAAK6mC,qBAAuB,KAC5B7mC,KAAK8mC,gBAAkB,KAGvB9mC,KAAKojC,cAAgB9f,GAASoC,MAAM1lB,KAAKohC,qBAAsBphC,MAC/DA,KAAK+mC,cAAgBzjB,GAASoC,MAAM1lB,KAAKgnC,gBAAiBhnC,MAC1DA,KAAKinC,gBAAkB3jB,GAASoC,MAAM1lB,KAAKm8B,YAAan8B,MACxDA,KAAKknC,uBAAyB5jB,GAASoC,MAAM1lB,KAAKmnC,uBAAwBnnC,MAC1EA,KAAKonC,aAAe9jB,GAASoC,MAAM1lB,KAAKohC,qBAAsBphC,MAE1DkK,EACHlK,KAAK6mC,qBAAgD,MAAxBjQ,EAAY1sB,GAEzClK,KAAKs+B,UAAYhb,GAASgjB,iBAAiB7H,YAAYz+B,KAAK2F,KAG9D,IAAItG,EAAIikB,GAASqB,OAAOiiB,EAAwBtjB,GAASia,uBASzDl+B,EAAE+4B,gBAAkB,SAAU15B,GAC7BsB,KAAKwgC,iBASNnhC,EAAEq5B,cAAgB,SAAU2O,GAC3BrnC,KAAKwgC,iBAGNnhC,EAAE8oB,SAAW,WACZ,MAAO,4BAIR9oB,EAAE0hC,eAAiB,WACY,MAA1B/gC,KAAK2+B,oBACT3+B,KAAK2+B,kBAAkBtzB,MAAO,EAC9BrL,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,KAGvG/nC,EAAE2hC,YAAc,WACe,MAA1BhhC,KAAK2+B,mBAA6B3+B,KAAK6mC,uBAC3C7mC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,GACnGpnC,KAAK2+B,kBAAkBtzB,MAAO,IAG/BhM,EAAE6hC,eAAiB,WAClB,IAAIlS,EAAMhvB,KAAK2+B,kBACf,GAAW,MAAP3P,EAAa,CAChBA,EAAIuY,QACJvY,EAAI3jB,MAAO,EACX2jB,EAAItI,oBAAoBpD,GAAS6W,gBAAgBqN,aAAcxnC,KAAKojC,eAAe,GACnFpU,EAAItI,oBAAoBpD,GAAS6W,gBAAgBsN,aAAcznC,KAAK+mC,eAAe,GACnF/X,EAAItI,oBAAoBpD,GAAS6W,gBAAgBuN,eAAgB1nC,KAAKinC,iBAAiB,GACvFjY,EAAItI,oBAAoBpD,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,GACnFpY,EAAItI,oBAAoBpD,GAAS6W,gBAAgBwN,aAAc3nC,KAAKknC,wBAAwB,GAE5F,IACClY,EAAIgV,YAAchkC,KAAKi+B,WACtB,MAAO7gB,IAETkG,GAASgjB,iBAAiBxd,IAAI9oB,KAAK2F,IAAKqpB,GACxChvB,KAAK2+B,kBAAoB,OAI3Bt/B,EAAEo9B,cAAgB,SAAUV,GAE3B,OADA/7B,KAAK2+B,kBAAoBrb,GAASgjB,iBAAiBhoC,IAAI0B,KAAK2F,KACrD3F,KAAK4nC,oCAAoC7L,IAGjD18B,EAAE8hC,kBAAoB,SAAUtf,GAC/B,GAA0C,IAAtC7hB,KAAK2+B,kBAAkBtM,WAAkB,CAC5C,IAAIrD,EAAMhvB,KAAK2+B,kBAKf,OAJA3P,EAAIzR,iBAAiB+F,GAAS6W,gBAAgBsN,aAAcznC,KAAK+mC,eAAe,GAChF/X,EAAIzR,iBAAiB+F,GAAS6W,gBAAgBuN,eAAgB1nC,KAAKinC,iBAAiB,GACpFjY,EAAI4B,QAAU,YACd5B,EAAIC,OAILjvB,KAAKwgC,gBACLxgC,KAAK2+B,kBAAkBqF,YAAmD,MAApChkC,KAAKi+B,WAAaj+B,KAAKg/B,WACzDh/B,KAAK6mC,qBACR7mC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBwN,aAAc3nC,KAAKknC,wBAAwB,IAE5GlnC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBqN,aAAcxnC,KAAKojC,eAAe,GACjF,GAAdpjC,KAAKq/B,QACRr/B,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,GACnGpnC,KAAK2+B,kBAAkBtzB,MAAO,IAIhCrL,KAAK2+B,kBAAkB/a,QASxBvkB,EAAE2nC,gBAAkB,SAAUnlB,GAC7B7hB,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBsN,aAAcznC,KAAK+mC,eAAe,GACtG/mC,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBuN,eAAgB1nC,KAAKinC,iBAAiB,GAE1GjnC,KAAKmhC,qBAGN9hC,EAAEihC,OAAS,WACVtgC,KAAK2+B,kBAAkB4I,SAGxBloC,EAAEkhC,QAAU,WACXvgC,KAAK2+B,kBAAkB/a,QAGxBvkB,EAAEmhC,cAAgB,WACjB,GAA8B,MAA1BxgC,KAAK2+B,kBAA2B,CACnC,IAAIuF,EAAalkC,KAAK0/B,QAAUpc,GAASC,MAAM8U,YAAe,EAAIr4B,KAAKy9B,QAAUna,GAASC,MAAMsU,cAC5FqM,GAAalkC,KAAK2+B,kBAAkBjI,SAAU12B,KAAK2+B,kBAAkBjI,OAASwN,KAIpF7kC,EAAEqhC,0BAA4B,WAC7B,OAA6C,IAArC1gC,KAAK2+B,kBAAkBqF,YAAsBhkC,KAAKi+B,YAG3D5+B,EAAEshC,gBAAkB,WACnB3gC,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,GACtGpnC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBmN,cAAetnC,KAAK6nC,wBAAwB,GAC7G,IACC7nC,KAAK2+B,kBAAkBqF,YAAmD,MAApChkC,KAAKg/B,UAAYh/B,KAAKi+B,YAC3D,MAAO9hB,GACRnc,KAAK6nC,uBAAuB,QAU9BxoC,EAAEwoC,uBAAyB,SAAUhmB,GACN,MAA1B7hB,KAAK2+B,oBACT3+B,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBmN,cAAetnC,KAAK6nC,wBAAwB,GAChH7nC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,KAYpG/nC,EAAE8nC,uBAAyB,SAAUtlB,GAChC7hB,KAAK2+B,kBAAkBqF,aAAehkC,KAAK6mC,uBAC/C7mC,KAAK2+B,kBAAkB4I,QACL,GAAdvnC,KAAKq/B,MACRr/B,KAAKohC,qBAAqB,OAE1BphC,KAAKg/B,UAAY,EACjBh/B,KAAKq/B,QACLr/B,KAAK2+B,kBAAkBqF,YAAgC,KAAlBhkC,KAAKi+B,WACrCj+B,KAAK+/B,SAAW//B,KAAK2+B,kBAAkB/a,OAC5C5jB,KAAKihC,WAAW,WAMlB5hC,EAAEgiC,YAAc,SAAUxf,GACP,GAAd7hB,KAAKq/B,QACRr/B,KAAK2+B,kBAAkBtzB,MAAO,EAC9BrL,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBmN,cAAetnC,KAAKonC,cAAc,KAIxG/nC,EAAEuhC,iBAAmB,WACpB5gC,KAAK6mC,qBAA4D,MAApC7mC,KAAKi+B,WAAaj+B,KAAKs+B,WAEhDt+B,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACpCn3B,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBqN,aAAcxnC,KAAKojC,eAAe,GACtGpjC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBwN,aAAc3nC,KAAKknC,wBAAwB,KAI9G7nC,EAAEwhC,gBAAkB,WACnB7gC,KAAK6mC,qBAA4D,MAApC7mC,KAAKi+B,WAAaj+B,KAAKs+B,WAEhDt+B,KAAKq9B,WAAa/Z,GAASC,MAAM4T,iBACpCn3B,KAAK2+B,kBAAkBjY,oBAAoBpD,GAAS6W,gBAAgBqN,aAAcxnC,KAAKojC,eAAe,GACtGpjC,KAAK2+B,kBAAkBphB,iBAAiB+F,GAAS6W,gBAAgBwN,aAAc3nC,KAAKknC,wBAAwB,KAI9G7nC,EAAEyhC,uBAAyB,WAC1B9gC,KAAKs+B,UAAYhb,GAASgjB,iBAAiB7H,YAAYz+B,KAAK2F,KAC5D3F,KAAK2+B,kBAAoB,MAG1Brb,GAASsjB,uBAAyBtjB,GAASyB,QAAQ6hB,EAAwB,yBA3O3E,GAoPA,WAsDA,SAASzM,IACRn6B,KAAKokC,6BAILpkC,KAAK44B,cAAgBp7B,EAAEo7B,cAEvB54B,KAAK0hC,aAAepe,GAAS2S,YAC7Bj2B,KAAK2hC,oBAAsBre,GAASsjB,uBAGrC,IAAIvnC,EAAIikB,GAASqB,OAAOwV,EAAiB7W,GAASge,gBAC9C9jC,EAAI28B,EAYR38B,EAAEsqC,cAAgB,GAUlBtqC,EAAEiqC,aAAe,iBAUjBjqC,EAAEgqC,aAAe,QAUjBhqC,EAAE8pC,cAAgB,SAUlB9pC,EAAEkqC,eAAiB,UAWnBlqC,EAAEmqC,aAAe,aAWjBnqC,EAAEo7B,cAAgB,KAWlBp7B,EAAEs8B,YAAc,WAEf,OADAt8B,EAAEqnC,wBACyB,MAAnBrnC,EAAEo7B,eAUXp7B,EAAEqnC,sBAAwB,WACzB,GAAuB,MAAnBrnC,EAAEo7B,cAAN,CACA,IAAIj6B,EAAIoG,SAASilB,cAAc,SAC/B,GAAqB,MAAjBrrB,EAAEumC,YAAuB,OAAO,KAEpC1nC,EAAEo7B,cAAgB,CACjB2M,SAAS,EACT7O,QAAQ,EACR8O,QAAS,GAMV,IAFA,IAAIC,EAAsBniB,GAASC,MAAMgU,qBACrCmO,EAAepiB,GAASC,MAAMiU,cACzBt7B,EAAI,EAAG2B,EAAI4nC,EAAoBrpC,OAAQF,EAAI2B,EAAG3B,IAAK,CAC3D,IAAI0/B,EAAM6J,EAAoBvpC,GAC1BypC,EAAWD,EAAa9J,IAAQA,EACpCp+B,EAAEo7B,cAAcgD,GAAyC,MAAjCj9B,EAAEumC,YAAY,SAAWtJ,IAAiD,IAAjCj9B,EAAEumC,YAAY,SAAWtJ,IAAsD,MAAtCj9B,EAAEumC,YAAY,SAAWS,IAA2D,IAAtChnC,EAAEumC,YAAY,SAAWS,MAMnLtmC,EAAEy7B,SAAW,SAAUpN,GACtB,IAAIsB,EAAM1L,GAASgjB,iBAAiBhoC,IAAIovB,EAAS/nB,KAC7CypB,EAASpvB,KAAK+nC,wBAAwBra,GAG1C,OAFA0B,EAAOL,OAAOC,GAEPI,GAGR/vB,EAAEg8B,YAAc,SAAU11B,GACzB3F,KAAKgoC,2BAA2BriC,GAChC2d,GAASgjB,iBAAiB9e,OAAO7hB,IAGlCtG,EAAEN,OAAS,SAAU4G,EAAKixB,EAAW1sB,GACpC,IAAI83B,EAAKhiC,KAAKioC,sBAAsBtiC,EAAKixB,EAAW1sB,GAEpD,OADA83B,EAAGxE,iBAAmB,KACfwE,GAGR3iC,EAAE8oB,SAAW,WACZ,MAAO,qBAIR9oB,EAAE44B,UAAY54B,EAAE04B,UAAY14B,EAAEo5B,QAAU,KAGxCnV,GAAS6W,gBAAkB7W,GAASyB,QAAQoV,EAAiB,kBArN7D,GAwNc7W,8BC/5PXrB,kCAAQ,CACRimB,OAAO,EACPhmB,MAAO,CACHlY,QAAS,SACTpJ,SAAS,EAETunC,mBAAoB,CACO,gCACA,gCACA,8BAG3BC,mBAAoB,CACO,+BACA,qCACA,wBACA,4BACA,2BACA,sBACA,0BACA,gCACA,4BACA,0BACA,uBACA,iCACA,uBACA,iCACA,uBACA,iCACA,sBACA,uBACA,+BACA,+BACA,gCACA,6BACA,iCACA,iCACA,iCACA,yBACA,0BACA,4BACA,iCACA,mCACA,kCACA,2BACA,4BACA,yBACA,4BACA,6BACA,oCACA,oCACA,mCACA,4BACA,oCACA,iCACA,iCACA,mCACA,iCACA,wBAE3BC,QAAS,GACTC,yBAAyB,EACzBC,SAAU,GACVC,aAAa,EACbC,eAAe,GAEnBC,iBAlEQ,WAmEJ1oC,KAAKkiB,MAAMumB,eAAgB,GAE/BE,mBArEQ,WAsEJ3oC,KAAKkiB,MAAMsmB,aAAc,GAE7BI,oBAxEQ,WAyEJ5oC,KAAKkiB,MAAMsmB,aAAc,GAE7BK,YA3EQ,SA2EIN,GACRvoC,KAAKkiB,MAAMqmB,SAAWA,GAE1BpkB,wBA9EQ,WA+EJnkB,KAAKkiB,MAAMomB,yBAA0B,GAEzCzkB,0BAjFQ,WAkFJ7jB,KAAKkiB,MAAMomB,yBAA0B,KAIzCQ,GAAU,CACVxqC,IAAK,SAASuW,EAAQ0mB,GAKlB,OAAOwN,QAAQzqC,IAAIuW,EAAQ0mB,IAE/BzS,IAAK,SAASjU,EAAQ0mB,EAAM78B,GAKxB,OAJIujB,GAAMimB,MAIHa,QAAQjgB,IAAR/rB,MAAAgsC,QAAexnC,aAI1BynC,GAAY,SAAZA,EAAqBC,GACrB,QAAAC,EAAA,EAAAC,EAAyB5sC,OAAO6sC,QAAQH,GAAxCC,EAAAC,EAAA/sC,OAAA8sC,IAA8C,KAAAG,EAAA9sC,OAAA+sC,GAAA,KAAA/sC,CAAA4sC,EAAAD,GAAA,GAApClqC,EAAoCqqC,EAAA,GAA/B3qC,EAA+B2qC,EAAA,GACtB,UAAhB9sC,OAAAgtC,GAAA,KAAAhtC,CAAOmC,KACPuqC,EAAIjqC,GAAO,IAAIwqC,MAAM9qC,EAAOoqC,IAC5BE,EAAUtqC,IAIlB,OAAO,IAAI8qC,MAAMP,EAAKH,KAG1B7mB,GAAMC,MAAQ8mB,GAAU/mB,GAAMC,OAE9B3iB,OAAO0iB,MAAQA,GClGfwnB,OAAIj/B,UAAUk/B,QAAOzrC,KAAMyrC,SAC3BD,OAAIj/B,UAAUm/B,QAAM1rC,KAAM0rC,SAgB1BF,OAAIztB,IAAI4tB,KACRH,OAAIztB,IAAI6tB,KAAU,CAAE5rC,KAAM,YAC1BwrC,OAAIztB,IAAI8tB,SACRL,OAAIztB,IAAI+tB,SACRN,OAAIztB,IAAIguB,SACRP,OAAIztB,IAAIiuB,SACRR,OAAIztB,IAAIkuB,SACRT,OAAIztB,IAAImuB,SACRV,OAAIztB,IAAIouB,SACRX,OAAIztB,IAAIquB,SACRZ,OAAIztB,IAAIsuB,SAERb,OAAIj/B,UAAUqR,OAAM5d,KAAM4d,QAC1B4tB,OAAIpuB,OAAOkvB,eAAgB,EAE3B,IAAId,OAAI,CACJe,OAAQ,SAAAC,GAAC,OAAIA,EAAElmB,OAChBmmB,OAAO,6CCpDV,IAAAC,EAAAptC,EAAA,QAAAqtC,EAAArtC,EAAA2B,EAAAyrC,GAAkfC,EAAG,yICArf,IAAAC,EAAAttC,EAAA,QAAAutC,EAAAvtC,EAAA2B,EAAA2rC,GAA+gBC,EAAG,uCCAlhB,IAAAC,EAAAxtC,EAAA,QAAAytC,EAAAztC,EAAA2B,EAAA6rC,GAAsiBC,EAAG,8DCAziB,IAAAC,EAAA1tC,EAAA,QAAA2tC,EAAA3tC,EAAA2B,EAAA+rC,GAAqiBC,EAAG,qCCAxiB,IAAAC,EAAA5tC,EAAA,QAAA6tC,EAAA7tC,EAAA2B,EAAAisC,GAA4gBC,EAAG,4DCA/gB,IAAAC,EAAA9tC,EAAA,QAAA+tC,EAAA/tC,EAAA2B,EAAAmsC,GAAqiBC,EAAG,qCCAxiB,IAAAC,EAAAhuC,EAAA,QAAAiuC,EAAAjuC,EAAA2B,EAAAqsC,GAAghBC,EAAG","file":"js/app.5edd0b38.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=32d642ce&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=style&index=0&id=32d642ce&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionPage.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionPage.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{style:({ height: _vm.windowHeight }),attrs:{\"id\":\"app page\"}},[(_vm.pageShowNum == 1)?_c('HomePage',{ref:\"homePage\",attrs:{\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),(_vm.pageShowNum == 2)?_c('LoginPage',{ref:\"loginPage\",attrs:{\"isPhone\":_vm.isPhone,\"screenFix\":_vm.screenFix},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),(_vm.pageShowNum == 4)?_c('QuestionPage',{ref:\"questionPage\",attrs:{\"isPhone\":_vm.isPhone,\"screenFix\":_vm.screenFix},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),(_vm.pageShowNum == 5)?_c('AnnouncePage',{ref:\"questionPage\",attrs:{\"isPhone\":_vm.isPhone,\"screenFix\":_vm.screenFix},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),(_vm.pageShowNum == 6)?_c('DetailsPage',{ref:\"detailsPage\",attrs:{\"isPhone\":_vm.isPhone,\"screenFix\":_vm.screenFix},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * 统一的统计方法,同时调用谷歌统计,百度统计\n * @param {string} action 事件名称\n * @param {string} label 事件的一些详细信息,通常可以是按钮,页面ID\n * @param {object=} opt 选项配置\n * @param {string=} opt.category:分类,默认值位'general',一般不用传。如果项目需要区分渠道信息,可以将渠道名给这个字段\n * @param {number=} opt.value:事件价值,非负整数\n * @param {boolean=} opt.g: 是否要提交谷歌统计,默认为true\n * @param {boolean=} opt.b: 是否要提交百度统计,默认为true\n */\nlet statisticsAll = function(action, label, opt = null) {\n let option = {\n category: 'general',\n value: null,\n g: true,\n b: true,\n };\n\n /**\n * 百度统计,用于封装百度统计的参数\n * _hmt.push(['_trackEvent', category, action, opt_label, opt_value]);\n * category:要监控的目标的类型名称,通常是同一组目标的名字,比如”视频”、”音乐”、”软件”、”游戏”等等。该项必选。\n * action:用户跟目标交互的行为,如”播放”、”暂停”、”下载”等等。该项必选。\n * opt_label:事件的一些额外信息,通常可以是歌曲的名称、软件的名称、链接的名称等等。该项可选。\n * opt_value:事件的一些数值信息,比如权重、时长、价格等等,在报表中可以看到其平均值等数据。该项可选。\n */\n let hmtPush = function(category, action, label, value) {\n window._hmt.push(['_trackEvent', category, action, label, value]);\n };\n\n /**\n * 谷歌统计,用于封装谷歌统计的参数\n */\n let gaStatistics = function(category, action, label, value) {\n window.gtag('event', action, {\n event_category: category,\n event_label: label,\n value: value,\n });\n };\n\n Object.assign(option, opt);\n\n if (option.b) {\n hmtPush(option.category, action, label, option.value);\n }\n\n if (option.g) {\n // gaStatistics(option.category, action, label, option.value);\n }\n};\n\nexport default statisticsAll;\n","// 获取浏览器\nlet navController = {\n isIE: false,\n isAndroid: false,\n isIos: false,\n isWX: false,\n isDD: false,\n isKB: false,\n isWB: false,\n isQQSpace: false,\n isWebApp: false,\n isMac: false,\n isEdge: false,\n isQQBrowser: false,\n isMobile: false,\n isIpad: false,\n isPC: false,\n init: function () {\n let u = navigator.userAgent;\n let v = { //移动终端浏览器版本信息\n trident: u.indexOf('Trident') > -1, //IE内核\n presto: u.indexOf('Presto') > -1, //opera内核\n webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核\n gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核\n mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端\n ios: !!u.match(/\\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端\n android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器\n iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器\n iPad: u.indexOf('iPad') > -1, //是否iPad\n webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部\n mac: u.indexOf('Mac') > -1,\n edge: u.indexOf('Edge') > -1,\n qqBrowser: u.indexOf('QQBrowser') > -1,\n };\n\n // let language = (navigator.browserLanguage || navigator.language).toLowerCase();\n\n // IE内核\n this.isIE = v.trident;\n this.isEdge = v.edge;\n this.isMac = v.mac;\n this.isQQBrowser = v.qqBrowser;\n this.isMobile = v.mobile;\n this.isIpad = v.iPad;\n this.isIos = true;\n this.isAndroid = true;\n this.isWebApp = true;\n\n\n if (v.mobile) {\n // 移动端设备细化判断是从什么浏览器打开\n let ua = u.toLowerCase(); //获取判断用的对象\n\n if (ua.match(/MicroMessenger/i) == \"micromessenger\") {\n //在微信中打开\n this.isWX = true;\n }\n if (ua.match(/WeiBo/i) == \"weibo\") {\n //在新浪微博客户端打开\n this.isWB = true;\n }\n if (ua.match(/QQ/i) == \"qq\") {\n //在QQ空间打开\n this.isQQSpace = true;\n }\n if (ua.match(/koubeidefined/i) == \"koubeidefined\") {\n //在口碑打开\n this.isKB = true;\n }\n if (ua.match(/dingtalk/i) == \"dingtalk\") {\n //在口碑打开\n this.isDD = true;\n }\n }\n }\n};\n\nnavController.init();\n\nexport default navController;\n","// 获取尺寸\nfunction getWindowSize() {\n /**\n * 分别用三组数据获取页面的宽高,分别是\n * window.innerWidth window.innerHeight\n * document.body.clientWidth document.body.clientHeight\n * document.documentElement.clientWidth document.documentElement.clientHeight\n * 优先级依次是 document.body.clientWidth > document.documentElement.clientWidth > window.innerWidth\n * 优先级的原因在于,window.innerWidth会包含视口滚动条的宽度,document.documentElement不包含滚动条,指的是渲染区域的高度,document.body也不包含滚动条,指的是渲染区域的高度\n * 而由于我们代码都是写在当中,拿到body的高度是更精确的,而body和html之间的差异基本没有,更多的考虑是在于浏览器兼容,所以才有了这样的排序\n */\n\n let width;\n let height;\n\n let wBody, hBody;\n let wDocument, hDocument;\n let wWindow, hWindow;\n\n if (window.body) {\n wBody = document.body.clientWidth;\n hBody = document.body.clientHeight;\n }\n\n if (window.documentElement) {\n wDocument = document.documentElement.clientWidth;\n hDocument = document.documentElement.clientHeight;\n }\n\n wWindow = window.innerWidth;\n hWindow = window.innerHeight;\n\n width = wBody || wDocument;\n height = hBody || hDocument;\n\n if (!width && !height) {\n width = wWindow;\n height = hWindow;\n }\n\n return {\n width,\n height\n };\n}\n\nfunction makeRem750(designWidth = 750) {\n // chrome下最小字体是13px,所以不能用设计图的宽度来设定rem的宽度,比如设计图是640px,直接用640rem换算的话font-size就会过小,所以做*100处理\n // 即 640px = 6.4rem\n // 750px = 7.5rem\n\n let { width } = getWindowSize();\n let unit = (width / designWidth) * 100;\n document.documentElement.style.fontSize = unit + \"px\";\n return unit;\n}\n\nexport { getWindowSize, makeRem750 };\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home-page\",class:_vm.isPhone ? 'phone' : ''},[(_vm.isPhone)?_c('TopBar',{attrs:{\"tabIndex\":\"1\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),_c('div',{staticClass:\"swiper-container\"},[_c('div',{staticClass:\"swiper-wrapper\"},[_c('div',{staticClass:\"swiper-slide\",on:{\"click\":function($event){return _vm.handleChangeTab(6)}}},[_c('img',{staticClass:\"banner-img\",attrs:{\"src\":_vm.bannerImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"swiper-slide\",on:{\"click\":function($event){return _vm.handleChangeTab(6)}}},[_c('img',{staticClass:\"banner-img\",attrs:{\"src\":_vm.bannerImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"swiper-slide\",on:{\"click\":function($event){return _vm.handleChangeTab(6)}}},[_c('img',{staticClass:\"banner-img\",attrs:{\"src\":_vm.bannerImg,\"alt\":\"\"}})])]),_c('div',{staticClass:\"banner-left-arrow\"},[_c('img',{staticClass:\"banner-left-arrow-img\",attrs:{\"src\":_vm.isPhone ? _vm.bannerArrowPhoneImg : _vm.bannerArrowImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"banner-right-arrow\"},[_c('img',{staticClass:\"banner-right-arrow-img\",attrs:{\"src\":_vm.isPhone ? _vm.bannerArrowPhoneImg : _vm.bannerArrowImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"banner-bottom-container\"},[_c('img',{staticClass:\"banner-bottom-left-arrow-img\",attrs:{\"src\":_vm.bannerBottomArrowImg,\"alt\":\"\"}}),_c('img',{staticClass:\"banner-bottom-right-arrow-img\",attrs:{\"src\":_vm.bannerBottomArrowImg,\"alt\":\"\"}})]),(!_vm.isPhone)?_c('TopBar',{attrs:{\"tabIndex\":\"1\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}):_vm._e(),(false)?_c('div',{staticClass:\"swiper-pagination\"}):_vm._e()],1),_c('div',{staticClass:\"model1-container\"},[_c('img',{staticClass:\"model1-bg\",attrs:{\"src\":_vm.model1BgImg,\"alt\":\"\"}}),_c('img',{staticClass:\"model1-title-img\",attrs:{\"src\":_vm.model1TitleImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"model2-container\"},[_c('img',{staticClass:\"model2-bg\",attrs:{\"src\":_vm.model2BgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model2-border\"}),_c('div',{staticClass:\"model2-title-wrapper\"},[_c('img',{staticClass:\"model2-title-bg\",attrs:{\"src\":_vm.model2TitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model-title-text\"},[_vm._v(\"全国校园挑战赛总览\")])]),_c('div',{staticClass:\"model2-description\"},[_vm._v(\"\\n “百威”挑战赛,欢迎来挑战!如果你有远大抱负,如果你想法新颖,如果你一直寻求以独特视角解决问题,欢迎组队加入“百威”挑战赛!三个关键业务领域中的难题正等待聪明、勇敢、敏捷的你来挑战。\\n \")]),_c('div',{staticClass:\"model2-blank-wrapper\"},[_c('img',{staticClass:\"model2-blank-bg\",attrs:{\"src\":_vm.model2BlankBgImg,\"alt\":\"\"}}),_vm._m(0)])]),_c('div',{staticClass:\"model3-container\"},[_c('img',{staticClass:\"model3-bg\",attrs:{\"src\":_vm.model3BgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model3-border\"}),_c('div',{staticClass:\"model3-title-wrapper\"},[_c('img',{staticClass:\"model3-title-bg\",attrs:{\"src\":_vm.model3TitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model-title-text\"},[_vm._v(\"你将面临的挑战?\")])]),_vm._m(1),_c('div',{staticClass:\"model3-blank-wrapper\"},[_c('img',{staticClass:\"model3-blank-bg\",attrs:{\"src\":_vm.model3BlankBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model3-balnk-alone-wrapepr\"},[_c('img',{staticClass:\"model3-blank-alone-img\",attrs:{\"src\":_vm.model3BlankAlone1Img,\"alt\":\"\"}}),_c('div',{staticClass:\"model3-balnk-alone-title\"},[_vm._v(\"商务\")]),_c('div',{staticClass:\"model3-balnk-alone-description\"},[_vm._v(\"\\n 商业策略方向\\n \")])]),_c('div',{staticClass:\"model3-balnk-alone-wrapepr\"},[_c('img',{staticClass:\"model3-blank-alone-img\",attrs:{\"src\":_vm.model3BlankAlone2Img,\"alt\":\"\"}}),_c('div',{staticClass:\"model3-balnk-alone-title\"},[_vm._v(\"数据技术\")]),_c('div',{staticClass:\"model3-balnk-alone-description\"},[_vm._v(\"\\n 算法设计与编程方向\\n \")])]),_c('div',{staticClass:\"model3-balnk-alone-wrapepr\"},[_c('img',{staticClass:\"model3-blank-alone-img\",attrs:{\"src\":_vm.model3BlankAlone3Img,\"alt\":\"\"}}),_c('div',{staticClass:\"model3-balnk-alone-title\"},[_vm._v(\"供应链与物流\")]),_c('div',{staticClass:\"model3-balnk-alone-description\"},[_vm._v(\"\\n 智慧制造和可持续发展\\n \")])])])]),_c('div',{staticClass:\"model4-container\"},[_c('img',{staticClass:\"model4-bg\",attrs:{\"src\":_vm.model4BgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model4-blank-wrapper\"},[(_vm.isPhone)?_c('img',{staticClass:\"model4-blank-bg\",attrs:{\"src\":_vm.model4BlankPhoneBgImg,\"alt\":\"\"}}):_c('img',{staticClass:\"model4-blank-bg\",attrs:{\"src\":_vm.model4BlankBgImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"model4-title-wrapper\"},[_c('img',{staticClass:\"model4-title-bg\",attrs:{\"src\":_vm.model2TitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model-title-text\"},[_vm._v(\"你将获得什么?\")])]),_vm._m(2),_c('div',{staticClass:\"model4-prize-container\"},[_c('img',{staticClass:\"model4-prize-img\",attrs:{\"src\":_vm.model4prizeImg,\"alt\":\"\"}})]),_vm._m(3)]),_c('div',{staticClass:\"model8-container\"},[_c('img',{staticClass:\"model8-bg\",attrs:{\"src\":_vm.model8BgImg,\"alt\":\"\"}}),_vm._m(4),_c('div',{staticClass:\"model8-card-wrapper\"},[_c('img',{staticClass:\"model8-card-bg\",attrs:{\"src\":_vm.model8CardBgImg,\"alt\":\"\"}}),_vm._m(5)])]),_c('div',{staticClass:\"model5-container\"},[_c('img',{staticClass:\"model5-bg\",attrs:{\"src\":_vm.model5BgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"game-flow-container\"},[_c('div',{staticClass:\"model5-title-wrapper\"},[_c('img',{staticClass:\"model5-title-bg\",attrs:{\"src\":_vm.model3TitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model-title-text\"},[_vm._v(\"比赛流程\")])]),(_vm.isPhone)?_c('img',{staticClass:\"game-flow-line-img\",attrs:{\"src\":_vm.gameFlowLinePhoneImg,\"alt\":\"\"}}):_c('img',{staticClass:\"game-flow-line-img\",attrs:{\"src\":_vm.gameFlowLineImg,\"alt\":\"\"}}),_vm._m(6),_c('div',{staticClass:\"game-flow-wrapper game-flow-wrapper2\"},[_c('img',{staticClass:\"game-flow-img\",attrs:{\"src\":_vm.gameFlow1Img,\"alt\":\"\"}}),_vm._m(7),_vm._m(8)]),_c('div',{staticClass:\"game-flow-wrapper game-flow-wrapper3\"},[_c('img',{staticClass:\"game-flow-img\",attrs:{\"src\":_vm.gameFlow2Img,\"alt\":\"\"}}),_vm._m(9),_vm._m(10)]),_c('div',{staticClass:\"game-flow-wrapper game-flow-wrapper4\"},[_c('img',{staticClass:\"game-flow-img\",attrs:{\"src\":_vm.gameFlow3Img,\"alt\":\"\"}}),_vm._m(11),_vm._m(12)])])]),_c('div',{staticClass:\"model6-container\"},[_c('div',{staticClass:\"model6-title-container\"},[_c('img',{staticClass:\"model6-title-bg\",attrs:{\"src\":_vm.model6TitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model6-title-text1\"},[_vm._v(\"你准备好接受挑战了吗?\")]),_c('div',{staticClass:\"model6-title-text2\"},[_vm._v(\"请按照如下步骤进行报名\")])]),_c('div',{staticClass:\"model6-info-container\"},[_c('div',{staticClass:\"model6-info-border\"}),_c('div',{staticClass:\"model6-info-title-wrapper\"},[_c('img',{staticClass:\"model6-info-title-bg\",attrs:{\"src\":_vm.model6InfoTitleBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model6-info-title-text no-top-first\"},[_vm._v(\"\\n 点击“接受挑战!”按钮\\n \")]),_vm._m(13),_c('div',{staticClass:\"model6-info-title-text no-top\"},[_vm._v(\"参加挑战\")])]),_c('div',{staticClass:\"model6-btn-container\"},[_c('img',{staticClass:\"model6-btn-bg\",attrs:{\"src\":_vm.model6BtnBgImg,\"alt\":\"\"}})]),_c('img',{staticClass:\"model6-btn-img\",attrs:{\"src\":_vm.model6BtnImg,\"alt\":\"\"},on:{\"click\":_vm.goLogin}})]),_c('div',{staticClass:\"model7-container\"},[_c('img',{staticClass:\"model7-bg\",attrs:{\"src\":_vm.model7BgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"model7-title\"},[_vm._v(\"关注百威亚太\")]),_c('div',{staticClass:\"model7-description\"},[_vm._v(\"\\n 请通过以下途径关注我们,以获取有关2022\\n “百威”挑战赛的更多信息,\\n \")]),_c('div',{staticClass:\"model7-description\"},[_vm._v(\"并与我们一起探索您的未来。\")]),_c('div',{staticClass:\"model7-menu-container\"},[_c('div',{staticClass:\"model7-menu-wrapper model7-menu-wrapper-link\",on:{\"click\":_vm.jumpLinkedin}},[_c('img',{staticClass:\"model7-menu-img\",attrs:{\"src\":_vm.model7MenuImg1,\"alt\":\"\"}}),_c('div',{staticClass:\"model7-menu-text\"},[_vm._v(\"\\n 通过领英获取信息\\n \")])]),_c('div',{staticClass:\"model7-menu-wrapper\"},[_c('img',{staticClass:\"model7-menu-img\",attrs:{\"src\":_vm.model7MenuImg2,\"alt\":\"\"}}),_c('div',{staticClass:\"model7-menu-text\"},[_vm._v(\"\\n 扫描上方二维码关注我们\\n \")])]),_c('div',{staticClass:\"model7-menu-wrapper\",on:{\"click\":_vm.openDouyin}},[_c('img',{staticClass:\"model7-menu-img\",attrs:{\"src\":_vm.model7MenuImg3,\"alt\":\"\"}}),(_vm.isPhone)?_c('div',{staticClass:\"model7-menu-text\"},[_vm._v(\"\\n 通过抖音:661010017关注我们\\n \")]):_c('div',{staticClass:\"model7-menu-text\"},[_vm._v(\"\\n 通过抖音:661010017关注我们\\n \")])])]),_c('div',{staticClass:\"model7-link\",staticStyle:{\"opacity\":\"0\"},on:{\"click\":_vm.jumpOfficialWebsite}},[_vm._v(\"\\n 官网链接:https://www.budweiserapac.com/index.html\\n \")])]),_c('div',{staticClass:\"bottom-bar-container\"},[_c('div',{staticClass:\"bottom-bar-line\"}),_c('div',{staticClass:\"bottom-bar-wrapper\"},[_c('div',{staticClass:\"bottom-bar-btn\",on:{\"click\":function($event){return _vm.jumpTab(4)}}},[_vm._v(\"\\n 常见问题\\n \")]),_c('div',{staticClass:\"bottom-bar-btn\",on:{\"click\":_vm.jumpPolicy}},[_vm._v(\"\\n 隐私政策\\n \")]),_c('div',{staticClass:\"bottom-bar-btn\",on:{\"click\":function($event){return _vm.jumpTab(3)}}},[_vm._v(\"\\n 比赛规则\\n \")])]),_c('div',{staticClass:\"bottom-bar-line\"})]),_c('div',{staticClass:\"home-blank\"})]),(_vm.showDouyin)?_c('div',{staticClass:\"douyin-container\"},[_c('div',{staticClass:\"douyin-blank\",on:{\"click\":_vm.closeDouyin}}),_c('img',{staticClass:\"douyin-img\",attrs:{\"src\":_vm.douyinBigImg,\"alt\":\"\"}})]):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model2-blank-english\"},[_c('div',{staticClass:\"model2-blank-chinese-font\"},[_vm._v(\"ARE YOU\")]),_c('div',{staticClass:\"model2-blank-chinese-font\"},[_vm._v(\"READY?\")]),_c('div',{staticClass:\"model2-blank-chinese model2-blank-chinese-top\"},[_vm._v(\"\\n 准备好\\n \")]),_c('div',{staticClass:\"model2-blank-chinese\"},[_vm._v(\"接受挑战了吗?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model3-description\"},[_vm._v(\"\\n “百威”挑战赛是一项全国竞赛,我们鼓励来自各个专业背景的学生参与挑战,并展示大胆,独特和颠覆性的想法,帮助解决横跨商务、数据技术、供应链与物流三个领域的关键业务挑战。这三个领域的商业挑战主题将于\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"2022年6月1日\")]),_vm._v(\"公布。\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model4-description\"},[_vm._v(\"\\n 经过两轮比赛之后将有\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"15支\")]),_vm._v(\"参赛队伍进入中国总决赛,并向百威亚太地区高层管理人员进行内容展示。\\n \"),_c('br'),_vm._v(\"\\n中国区总冠军及各关键业务领域冠军队伍将获得\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"5000-20000元\")]),_vm._v(\"人民币的现金奖励、证书、百威周边产品,更有机会与百威亚太区高级商业领袖进行面对面交流并获得他们的悉心指导。\"),_c('br'),_vm._v(\"此外,所有关键业务领域的获奖者都将拥有快速\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"申请进入百威亚太5个优秀人才项目岗位\")]),_vm._v(\"的机会,总冠军更将直接获得人才项目邀约。\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-info-container\"},[_c('div',{staticClass:\"game-info-border\"}),_c('div',{staticClass:\"game-info-row\"},[_c('div',{staticClass:\"game-info-row-blank\"}),_c('div',{staticClass:\"game-info-row-question\"},[_vm._v(\"参赛资格\")]),_c('div',{staticClass:\"game-info-row-answer-wrapper\"},[_c('div',{staticClass:\"game-info-row-answer game-info-row-answer1\"},[_vm._v(\"\\n 非应届班的\"),_c('span',{staticClass:\"text-bg\"},[_vm._v(\"中国籍\")]),_vm._v(\"在读本科生/研究生,专业背景不限,所在院校不限。\\n \")])])]),_c('div',{staticClass:\"game-info-row\"},[_c('div',{staticClass:\"game-info-row-blank\"}),_c('div',{staticClass:\"game-info-row-question\"},[_vm._v(\"团队组成\")]),_c('div',{staticClass:\"game-info-row-answer-wrapper\"},[_c('div',{staticClass:\"game-info-row-answer\"},[_c('span',{staticClass:\"text-bg\"},[_vm._v(\"3人自由组队\")]),_vm._v(\"\\n ,选择一名同学作为主要联系人并承担团队负责人工作。我们鼓励\\n \"),_c('span',{staticClass:\"text-bg\"},[_vm._v(\"不同背景的同学\")]),_vm._v(\"\\n 组成多样化团队。\\n \")])])]),_c('div',{staticClass:\"game-info-row\"},[_c('div',{staticClass:\"game-info-row-blank\"}),_c('div',{staticClass:\"game-info-row-question\"},[_vm._v(\"报名注册\")]),_c('div',{staticClass:\"game-info-row-answer-wrapper\"},[_c('div',{staticClass:\"game-info-row-answer game-info-row-answer3\"},[_vm._v(\"\\n 点击网页最下方链接即刻报名!报名截止日期\"),_c('span',{staticClass:\"text-bg\"},[_vm._v(\"2022年5月31日24时。\")])])])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model8-title\"},[_vm._v(\"\\n 装备升级!\"),_c('span',{staticClass:\"text-yellow\"},[_vm._v(\"黄金入场券\")]),_vm._v(\"等你来赢\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model8-card-text\"},[_vm._v(\"\\n 挑战赛期间,表现突出的挑战者将有机会赢得评估委员会单独派发的限量\"),_c('span',{staticClass:\"text-yellow\"},[_vm._v(\"黄金入场券\")]),_vm._v(\",在挑战赛结束后收到\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"人才项目绿卡\")]),_vm._v(\"及\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"终面直通卡\")]),_vm._v(\"。\\n \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-wrapper game-flow-wrapper1\"},[_c('div',{staticClass:\"game-flow1-data\"},[_vm._v(\"05月10日\")]),_c('div',{staticClass:\"game-flow1-alone\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 百威挑战赛主题公布——每个小组可以从“商务”、“数据技术和分析”、“供应链与物流”三大业务领域中选择赛题。更有来自\"),_c('span',{staticClass:\"flow-text-bg\"},[_vm._v(\"百威的专家导师\")]),_vm._v(\"亲自为参赛者提供指导和辅导。\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-data game-flow-data2\"},[_c('div',[_vm._v(\"06月01日\")]),_c('div',{staticClass:\"game-flow-data-line game-flow-data-line2\"}),_c('div',[_vm._v(\"06月08日\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-alone\"},[_c('div',{staticClass:\"game-flow-alone-all game-flow-alone-up\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 提交首轮\"),_c('span',{staticClass:\"flow-text-bg\"},[_vm._v(\"演示报告(PPT)\")]),_vm._v(\",阐述初步解决方案、思路和方法。\\n \")])]),_c('div',{staticClass:\"game-flow-alone-all\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 首轮比拼后将有30支队伍入围下一轮比赛。入围队伍将获得更多关于所选赛题的细节,以进一步形成第二轮的解决方案。\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-data game-flow-data3\"},[_c('div',[_vm._v(\"06月16日\")]),_c('div',{staticClass:\"game-flow-data-line game-flow-data-line3\"}),_c('div',[_vm._v(\"06月23日\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-alone game-flow-alone3\"},[_c('div',{staticClass:\"game-flow-alone-all game-flow-alone-up\"},[_c('div',{staticClass:\"\\n game-flow1-alone-text game-flow1-alone-text3\\n \"},[_vm._v(\"\\n 每个队伍提交新的演示报告(PPT),进一步阐述分析、结果和解决方案。\\n \")])]),_c('div',{staticClass:\"game-flow-alone-all\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 第二轮比拼后将有\"),_c('span',{staticClass:\"flow-text-bg\"},[_vm._v(\"15个团队\")]),_vm._v(\"入围中国区总决赛。每个团队将会获得更多关于所选赛题的细节以准备中国区决赛的展示。\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-data game-flow-data4\"},[_c('div',[_vm._v(\"06月30日\")]),_c('div',{staticClass:\"game-flow-data-line game-flow-data-line4\"}),_c('div',[_vm._v(\"07月07日\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"game-flow-alone new-width\"},[_c('div',{staticClass:\"game-flow-alone-all game-flow-alone-up\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 15强团队将通过演讲和问答环节,向\"),_c('span',{staticClass:\"flow-text-bg\"},[_vm._v(\"百威亚太区高管跨职能小组\")]),_vm._v(\"评审团展示他们的终极解决方案。\\n \")])]),_c('div',{staticClass:\"game-flow-alone-all\"},[_c('div',{staticClass:\"game-flow1-alone-text\"},[_vm._v(\"\\n 公布中国区决赛结果。\\n \")])])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"model6-info-title-text no-top-second\"},[_vm._v(\"\\n 在\"),_c('span',{staticClass:\"red-text\"},[_vm._v(\"5月31日\")]),_vm._v(\"之前填写团体注册信息\\n \")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"top-bar-container\",class:[\n _vm.isPhone ? 'phone' : '',\n _vm.isPhone & (_vm.tabIndex == 1) ? 'phone1' : '' ]},[(!_vm.isPhone)?_c('div',{staticClass:\"top-bar-blank\"}):_vm._e(),_c('div',{staticClass:\"top-bar-logo\"},[_c('img',{staticClass:\"top-bar-logo-img\",attrs:{\"src\":_vm.topBarLogoImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"top-bar-menu-container\"},[_c('div',{staticClass:\"top-bar-menu-wrapper\",class:_vm.tabIndex == 1 ? 'menu-choose' : '',on:{\"click\":function($event){return _vm.changeTab(1)}}},[_vm._v(\"\\n 挑战赛首页\\n \")]),_c('div',{staticClass:\"top-bar-menu-wrapper\",class:_vm.tabIndex == 2 ? 'menu-choose' : '',on:{\"click\":function($event){return _vm.changeTab(2)}}},[_vm._v(\"\\n 报名入口\\n \")]),_c('div',{staticClass:\"top-bar-menu-wrapper\",class:_vm.tabIndex == 3 ? 'menu-choose' : '',on:{\"click\":function($event){return _vm.changeTab(3)}}},[_vm._v(\"\\n 比赛规则\\n \")]),_c('div',{staticClass:\"top-bar-menu-wrapper\",class:_vm.tabIndex == 4 ? 'menu-choose' : '',on:{\"click\":function($event){return _vm.changeTab(4)}}},[_vm._v(\"\\n 常见问题\\n \")]),_c('div',{staticClass:\"top-bar-back-wrapper\",on:{\"click\":_vm.jumpToHaojie}},[_c('img',{staticClass:\"top-bar-back-img\",attrs:{\"src\":_vm.backPageImg,\"alt\":\"\"}})])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopBar.vue?vue&type=template&id=32d642ce&scoped=true&\"\nimport script from \"./TopBar.vue?vue&type=script&lang=js&\"\nexport * from \"./TopBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopBar.vue?vue&type=style&index=0&id=32d642ce&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"32d642ce\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HomePage.vue?vue&type=template&id=dd613b28&\"\nimport script from \"./HomePage.vue?vue&type=script&lang=js&\"\nexport * from \"./HomePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HomePage.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"question-page\",class:_vm.isPhone ? 'phone' : ''},[(_vm.isPhone)?_c('img',{staticClass:\"question-phone-bg\",attrs:{\"src\":_vm.questionPhoneBgImg,\"alt\":\"\"}}):_c('img',{staticClass:\"question-bg\",attrs:{\"src\":_vm.questionBgImg,\"alt\":\"\"}}),_c('TopBar',{attrs:{\"tabIndex\":\"4\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}),_c('div',{staticClass:\"question-container\"},[_c('div',{staticClass:\"question-title\"},[_vm._v(\"常见问题\")]),_vm._l((_vm.qussitonArr),function(item,index){return _c('div',{key:index,staticClass:\"question-wrapper\",style:(item.isOpen\n ? (\"height: calc(\" + (_vm.isPhone ? '12vw' : '2.5vw') + \" + \" + (item.height) + \"px)\")\n : '')},[(!_vm.isPhone)?_c('div',{staticClass:\"question-top-wrapper\",on:{\"click\":function($event){return _vm.openQuestion(index)}}},[_c('div',{staticClass:\"question-top-icon\"},[_vm._v(\"Q\"+_vm._s(index + 1))]),_c('div',{staticClass:\"question-top-text\"},[_vm._v(\"\\n \"+_vm._s(item.question)+\"\\n \")]),_c('div',{staticClass:\"question-top-arrow\"},[(item.isOpen)?_c('img',{staticClass:\"question-top-arrow-up-img\",attrs:{\"src\":_vm.questionTopArrowImg,\"alt\":\"\"}}):_c('img',{staticClass:\"question-top-arrow-img\",attrs:{\"src\":_vm.questionTopArrowImg,\"alt\":\"\"}})])]):_c('div',{staticClass:\"question-top-wrapper\",on:{\"click\":function($event){return _vm.openQuestion(index)}}},[_c('div',{staticClass:\"question-top-wrapper-top\"},[_c('div',{staticClass:\"question-top-icon\"},[_vm._v(\"Q\"+_vm._s(index + 1))]),_c('div',{staticClass:\"question-top-arrow\"},[(item.isOpen)?_c('img',{staticClass:\"question-top-arrow-up-img\",attrs:{\"src\":_vm.questionTopArrowImg,\"alt\":\"\"}}):_c('img',{staticClass:\"question-top-arrow-img\",attrs:{\"src\":_vm.questionTopArrowImg,\"alt\":\"\"}})])]),_c('div',{staticClass:\"question-top-wrapper-bottom\"},[_c('div',{staticClass:\"question-top-text\"},[_vm._v(\"\\n \"+_vm._s(item.question)+\"\\n \")])])]),_c('div',{ref:\"answerContainer\",refInFor:true,staticClass:\"answer-container\"},_vm._l((item.answer),function(item2,index2){return _c('div',{key:index2},[(item2 == 'img')?_c('div',{staticClass:\"qrcode-block\"},[_c('img',{staticClass:\"qrcode-img\",attrs:{\"src\":_vm.qrcodeImg,\"alt\":\"\"}})]):_c('div',{staticClass:\"answer-text\"},[_vm._v(\"\\n \"+_vm._s(item2)+\"\\n \")])])}),0)])}),_c('div',{staticClass:\"question-blank\"})],2),_c('div',{staticClass:\"question-bottom-shadow\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QuestionPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QuestionPage.vue?vue&type=template&id=70c0f246&\"\nimport script from \"./QuestionPage.vue?vue&type=script&lang=js&\"\nexport * from \"./QuestionPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./QuestionPage.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"announce-page\",class:_vm.isPhone ? 'phone' : ''},[(_vm.isPhone)?_c('img',{staticClass:\"announce-phone-bg\",attrs:{\"src\":_vm.announcePhoneBgImg,\"alt\":\"\"}}):_c('img',{staticClass:\"announce-bg\",attrs:{\"src\":_vm.announceBgImg,\"alt\":\"\"}}),_c('TopBar',{attrs:{\"tabIndex\":\"5\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}),_c('div',{staticClass:\"announce-container\"},[(_vm.announceArr.length == 0)?_c('div',{staticClass:\"announce-none\"},[_vm._v(\"\\n 更多精彩,敬请期待......\\n \")]):_vm._e(),_c('div',{staticClass:\"announce-title\"},[_vm._v(\"比赛进程公告\")]),_c('div',{staticClass:\"announce-info-container\"},_vm._l((_vm.announceArr),function(item,index){return _c('div',{key:index,staticClass:\"announce-info-wrapper\"},[(index != 0 && !_vm.isPhone)?_c('div',{staticClass:\"announce-info-line\"}):_vm._e(),(!_vm.isPhone)?_c('div',{staticClass:\"announce-info-block\"}):_vm._e(),_c('div',{staticClass:\"announce-info-data-wrapper\"},[(index == _vm.announceArr.length - 1)?_c('img',{staticClass:\"announce-info-data-bg\",attrs:{\"src\":_vm.announceInfoDataTrueBgImg,\"alt\":\"\"}}):_c('img',{staticClass:\"announce-info-data-bg\",attrs:{\"src\":_vm.announceInfoDataBgImg,\"alt\":\"\"}}),_c('div',{staticClass:\"announce-info-data-text\"},[_vm._v(\"\\n \"+_vm._s(item.data)+\"\\n \")])]),_c('div',{staticClass:\"announce-info-text\",style:(index == _vm.announceArr.length - 1\n ? 'color:#e40112'\n : '')},[_vm._v(\"\\n \"+_vm._s(item.text)+\"\\n \")])])}),0),_c('div',{staticClass:\"announce-blank\"})]),_c('div',{staticClass:\"announce-bottom-shadow\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnouncePage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnouncePage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnnouncePage.vue?vue&type=template&id=0434477a&\"\nimport script from \"./AnnouncePage.vue?vue&type=script&lang=js&\"\nexport * from \"./AnnouncePage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AnnouncePage.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"details-page\"},[_c('TopBar',{attrs:{\"tabIndex\":\"6\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}}),_c('div',{staticClass:\"model-container\"},[(_vm.isPhone)?_c('img',{attrs:{\"src\":_vm.mobileBgImg,\"alt\":\"\"}}):_c('img',{attrs:{\"src\":_vm.pcBgImg,\"alt\":\"\"}})]),_c('div',{staticClass:\"swiper-box\",class:_vm.isPhone ? 'swiper-box swiper-mobile' : 'swiper-box swiper-pc'},[_c('div',{staticClass:\"swiper-container\"},[_c('div',{staticClass:\"swiper-wrapper\"},_vm._l((_vm.swiperImgList),function(value,key){return _c('div',{key:key,staticClass:\"swiper-slide\"},[_c('img',{staticClass:\"banner-img\",attrs:{\"src\":value,\"alt\":\"\"}})])}),0)]),(true)?_c('div',{staticClass:\"swiper-pagination\"}):_vm._e()]),(_vm.showSwiperImg)?_c('div',{staticClass:\"swiper-preview\"},[_c('div',{staticClass:\"preview-blank\",on:{\"click\":_vm.closeSwiperImg}}),_c('img',{staticClass:\"preview-img\",attrs:{\"src\":_vm.previewBigImg,\"alt\":\"\"}})]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DetailsPage.vue?vue&type=template&id=af2f1258&\"\nimport script from \"./DetailsPage.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsPage.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-page\",class:{ phone: _vm.isPhone }},[_c('div',{staticClass:\"bg\",style:({\n backgroundImage: _vm.bg8Src,\n })}),_c('div',{staticClass:\"header\"},[_c('TopBar',{attrs:{\"tabIndex\":\"2\",\"isPhone\":_vm.isPhone},on:{\"changeTab\":_vm.handleChangeTab}})],1),_c('div',{staticClass:\"body\"},[_c('div',{ref:\"joinform\",staticClass:\"join-form\",style:({\n backgroundImage: _vm.isPhone ? _vm.joinFormSrc1 : _vm.joinFormSrc,\n })},[_c('div',{staticClass:\"input-wrapper\"},[_c('div',{ref:\"inputscroll\",staticClass:\"scroller\",on:{\"touchmove\":_vm.scrollHander,\"mousewheel\":_vm.scrollHander}},[_c('div',{staticClass:\"area-wrapper\"},[_c('p',[_vm._v(\"选择业务领域\")]),_c('van-radio-group',{attrs:{\"direction\":\"horizontal\"},model:{value:(_vm.areaTypeSelected),callback:function ($$v) {_vm.areaTypeSelected=$$v},expression:\"areaTypeSelected\"}},[_c('van-radio',{attrs:{\"name\":\"1\",\"icon-size\":\"23px\",\"shape\":\"square\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(props){return [_c('img',{staticClass:\"img-icon\",attrs:{\"src\":props.checked\n ? _vm.activeIcon\n : _vm.inactiveIcon}})]}}])},[_vm._v(\"商务\\n \")]),_c('van-radio',{attrs:{\"name\":\"2\",\"icon-size\":\"23px\",\"shape\":\"square\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(props){return [_c('img',{staticClass:\"img-icon\",attrs:{\"src\":props.checked\n ? _vm.activeIcon\n : _vm.inactiveIcon}})]}}])},[_vm._v(\"数据技术和分析\\n \")]),_c('van-radio',{attrs:{\"name\":\"3\",\"icon-size\":\"23px\",\"shape\":\"square\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(props){return [_c('img',{staticClass:\"img-icon\",attrs:{\"src\":props.checked\n ? _vm.activeIcon\n : _vm.inactiveIcon}})]}}])},[_vm._v(\"供应链与物流\\n \")])],1)],1),_c('MemberInfo',{ref:\"member1\",attrs:{\"checkAll\":_vm.member1Check,\"title\":\"团队成员1(负责人)信息(必填)*\",\"isFirst\":true},on:{\"changeArrow\":_vm.handleChangeArrow}}),_c('MemberInfo',{ref:\"member2\",attrs:{\"checkAll\":_vm.member1Check,\"title\":\"团队成员2信息(必填)*\",\"isFirst\":false},on:{\"changeArrow\":_vm.handleChangeArrow}}),_c('MemberInfo',{ref:\"member3\",attrs:{\"checkAll\":_vm.member1Check,\"title\":\"团队成员3信息(必填)*\",\"isFirst\":false},on:{\"visibilitychange\":_vm.visibleHandler,\"changeArrow\":_vm.handleChangeArrow}}),_c('div',{staticClass:\"clear\"})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showDownArrow && _vm.showArrow),expression:\"showDownArrow && showArrow\"}],staticClass:\"down-arrow\"},[_c('img',{attrs:{\"src\":_vm.downArrowImg,\"alt\":\"\"}})])]),_c('div',{staticClass:\"form-bottom\"},[_vm._m(0),_c('div',{staticClass:\"submit\",on:{\"click\":_vm.submitHandler}},[_c('img',{attrs:{\"src\":_vm.submitImg,\"alt\":\"\"}})])])])]),_c('LoginHint',{staticClass:\"hint\",attrs:{\"show\":_vm.showHint,\"title\":_vm.hintInfo.title,\"buttonType\":_vm.hintInfo.buttonType,\"isPhone\":_vm.isPhone},on:{\"hintback\":_vm.hintBackHandler,\"hintok\":_vm.hintOkHandler}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-hint\"},[_c('span',[_vm._v(\"*\")]),_c('span',[_vm._v(\"团队注册信息获取,包含最多3位成员的个人信息\")])])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"member-wrapper\",class:{ phone: _vm.isPhone }},[_c('van-form',{ref:\"form\",on:{\"submit\":_vm.onSubmit}},[(_vm.isFirst)?_c('van-row',{attrs:{\"gutter\":_vm.gutter}},[_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-field',{attrs:{\"name\":\"队名\",\"label\":\"队名\",\"placeholder\":\"请输入队名\",\"rules\":_vm.teamRule},on:{\"focus\":_vm.inputFocus,\"blur\":_vm.inputBlur},model:{value:(_vm.teamName),callback:function ($$v) {_vm.teamName=$$v},expression:\"teamName\"}})],1)],1):_vm._e(),_c('p',[_vm._v(_vm._s(_vm.title))]),_c('van-row',{attrs:{\"gutter\":_vm.gutter}},[_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-field',{attrs:{\"name\":\"姓名\",\"label\":\"姓名\",\"placeholder\":\"请输入您的姓名\",\"rules\":_vm.nameRule},on:{\"focus\":_vm.inputFocus,\"blur\":_vm.inputBlur},model:{value:(_vm.submitInfo.name),callback:function ($$v) {_vm.$set(_vm.submitInfo, \"name\", $$v)},expression:\"submitInfo.name\"}})],1),_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-field',{attrs:{\"name\":\"学校\",\"label\":\"学校\",\"placeholder\":\"请输入您的学校\",\"rules\":_vm.schoolRule},on:{\"focus\":_vm.inputFocus,\"blur\":_vm.inputBlur},model:{value:(_vm.submitInfo.school),callback:function ($$v) {_vm.$set(_vm.submitInfo, \"school\", $$v)},expression:\"submitInfo.school\"}})],1)],1),_c('van-row',{attrs:{\"gutter\":_vm.gutter}},[_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-cell',{staticClass:\"common-header\",attrs:{\"title\":\"生日\"}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.submitInfo.birthday),expression:\"submitInfo.birthday\"}],staticClass:\"birth-picker\",class:{\n 'no-val': _vm.isBirthPlaceholderShow,\n },attrs:{\"type\":\"date\",\"min\":\"1950-01-01\",\"max\":\"2010-12-31\",\"placeholder\":\"请选择您的生日\"},domProps:{\"value\":(_vm.submitInfo.birthday)},on:{\"focus\":_vm.birthOnFocusHandler,\"blur\":_vm.birthOnBlurHandler,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.submitInfo, \"birthday\", $event.target.value)}}}),(_vm.showBirthHint)?_c('div',{staticClass:\"erro-hint van-field__error-message\"},[_vm._v(\"\\n 请选择您的生日\\n \")]):_vm._e()],1),_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-field',{attrs:{\"name\":\"电子邮箱\",\"label\":\"电子邮箱\",\"placeholder\":\"请输入邮箱账号\",\"rules\":_vm.mailRule},on:{\"focus\":_vm.inputFocus,\"blur\":_vm.inputBlur},model:{value:(_vm.submitInfo.email),callback:function ($$v) {_vm.$set(_vm.submitInfo, \"email\", $$v)},expression:\"submitInfo.email\"}})],1)],1),_c('van-row',{attrs:{\"gutter\":_vm.gutter}},[_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-cell',{staticClass:\"common-header\",attrs:{\"title\":\"学历\"}}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.submitInfo.education),expression:\"submitInfo.education\"}],class:{\n 'select--default': _vm.isStudyDefault,\n },attrs:{\"name\":\"\",\"id\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.submitInfo, \"education\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"\\n 请选择最高学历\\n \")]),_vm._l((_vm.studyOptions),function(education,index){return _c('option',{key:index},[_vm._v(\"\\n \"+_vm._s(education)+\"\\n \")])})],2),(_vm.showStudyHint)?_c('div',{staticClass:\"erro-hint van-field__error-message\"},[_vm._v(\"\\n 请选择最高学历\\n \")]):_vm._e()],1),_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-field',{attrs:{\"name\":\"手机号码\",\"label\":\"手机号码\",\"placeholder\":\"请输入手机号\",\"type\":\"tel\",\"rules\":_vm.mobileRule},on:{\"focus\":_vm.inputFocus,\"blur\":_vm.inputBlur},model:{value:(_vm.submitInfo.mobile),callback:function ($$v) {_vm.$set(_vm.submitInfo, \"mobile\", $$v)},expression:\"submitInfo.mobile\"}})],1)],1),_c('van-row',{attrs:{\"gutter\":_vm.gutter}},[_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-cell',{staticClass:\"common-header\",attrs:{\"title\":\"目前为在校第几年\"}}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.submitInfo.year),expression:\"submitInfo.year\"}],class:{\n 'select--default': _vm.isYearDefault,\n },attrs:{\"name\":\"\",\"id\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.submitInfo, \"year\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"请选择年限\")]),_vm._l((_vm.yearOptions),function(year,index){return _c('option',{key:index},[_vm._v(\"\\n \"+_vm._s(year)+\"\\n \")])})],2),(_vm.showYearHint)?_c('div',{staticClass:\"erro-hint van-field__error-message\"},[_vm._v(\"\\n 请选择年限\\n \")]):_vm._e()],1),_c('van-col',{attrs:{\"span\":\"12\"}},[_c('van-cell',{staticClass:\"common-header\",attrs:{\"title\":\"性别\"}}),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.submitInfo.sex),expression:\"submitInfo.sex\"}],class:{\n 'select--default': _vm.isSexDefault,\n },attrs:{\"name\":\"\",\"id\":\"\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.submitInfo, \"sex\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},[_c('option',{attrs:{\"value\":\"\",\"disabled\":\"\",\"selected\":\"\"}},[_vm._v(\"请选择性别\")]),_vm._l((_vm.sexOptions),function(sex,index){return _c('option',{key:index},[_vm._v(\"\\n \"+_vm._s(sex)+\"\\n \")])})],2),(_vm.showSexHint)?_c('div',{staticClass:\"erro-hint van-field__error-message\"},[_vm._v(\"\\n 请选择性别\\n \")]):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MemberInfo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MemberInfo.vue?vue&type=template&id=4a6f5755&scoped=true&\"\nimport script from \"./MemberInfo.vue?vue&type=script&lang=js&\"\nexport * from \"./MemberInfo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MemberInfo.vue?vue&type=style&index=0&id=4a6f5755&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a6f5755\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"wrapper\",class:{ phone: _vm.isPhone }},[_c('div',{staticClass:\"bg\"}),_c('div',{staticClass:\"hint-wrapper\"},[_c('h3',[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"btn-wrapper\",class:{ 'btn-wrapper--multi': _vm.buttonType == 1 }},[_c('div',{staticClass:\"btn\",on:{\"click\":_vm.backHandler}},[_c('img',{attrs:{\"src\":_vm.btnBackSrc,\"alt\":\"\"}})]),(_vm.buttonType == 1)?_c('div',{staticClass:\"btn\",on:{\"click\":_vm.okHandler}},[_c('img',{attrs:{\"src\":_vm.btnOkSrc,\"alt\":\"\"}})]):_vm._e()])])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginHint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginHint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginHint.vue?vue&type=template&id=cf59006e&scoped=true&\"\nimport script from \"./LoginHint.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginHint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginHint.vue?vue&type=style&index=0&id=cf59006e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"cf59006e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"member-wrapper\"},[_c('van-form',{ref:\"f\",on:{\"submit\":_vm.onSubmit}},[_c('van-field',{attrs:{\"name\":\"xx\",\"label\":\"xxx\",\"placeholder\":\"xxx\",\"rules\":[{ required: true, message: '请填写用户名' }]},model:{value:(_vm.aaa),callback:function ($$v) {_vm.aaa=$$v},expression:\"aaa\"}}),_c('van-field',{attrs:{\"type\":\"password\",\"name\":\"111\",\"label\":\"111\",\"placeholder\":\"111\",\"rules\":[{ required: true, message: '请填写密码' }]},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('div',{staticStyle:{\"margin\":\"16px\"}},[_c('van-button',{attrs:{\"round\":\"\",\"block\":\"\",\"type\":\"info\",\"native-type\":\"submit\"}},[_vm._v(\"提交\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTest.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTest.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormTest.vue?vue&type=template&id=a0483358&scoped=true&\"\nimport script from \"./FormTest.vue?vue&type=script&lang=js&\"\nexport * from \"./FormTest.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a0483358\",\n null\n \n)\n\nexport default component.exports","//防抖\nexport function debounce(func, wait, immediate) {\n let timeout;\n\n return function() {\n let context = this;\n let args = arguments;\n\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n var callNow = !timeout;\n timeout = setTimeout(() => {\n timeout = null;\n }, wait);\n if (callNow) func.apply(context, args);\n } else {\n timeout = setTimeout(function() {\n func.apply(context, args);\n }, wait);\n }\n };\n}\n//节流\nexport default function throttle(func, wait) {\n let timeout;\n return function() {\n let context = this;\n let args = arguments;\n if (!timeout) {\n timeout = setTimeout(() => {\n timeout = null;\n func.apply(context, args);\n }, wait);\n }\n };\n}\n","import axios from 'axios';\r\nimport { Toast } from 'vant';\r\n\r\naxios.defaults.timeout = 200000;\r\n// axios.defaults.baseURL =\r\n// process.env.NODE_ENV === 'development' ? '' : 'http://106.53.241.2';\r\n// axios.defaults.baseURL = 'https://kidsaround.herdsric.com/kah5';\r\naxios.defaults.baseURL = 'http://47.100.181.205:8011';\r\naxios.defaults.withCredentials = true;\r\n\r\nlet requests = [];\r\n\r\nfunction createRequestId(config) {\r\n return `baseURL=${config.baseURL}&url=${config.url}&method=${\r\n config.method\r\n }`;\r\n}\r\n\r\nfunction removeRequest(config) {\r\n const req = requests.find(req => {\r\n return req.id === createRequestId(config);\r\n });\r\n if (req) {\r\n req.cancel('request has been canceled');\r\n requests.splice(req, 1);\r\n }\r\n}\r\n\r\nfunction showToast(message) {\r\n Toast({ message, duration: 1500, forbidClick: true });\r\n}\r\n\r\naxios.interceptors.request.use(\r\n config => {\r\n // Toast.loading({ duration: 0 });\r\n removeRequest(config);\r\n config.cancelToken = new axios.CancelToken(cancel => {\r\n requests.push({ id: createRequestId(config), cancel });\r\n });\r\n return config;\r\n },\r\n error => {\r\n Promise.reject(error);\r\n }\r\n);\r\n\r\naxios.interceptors.response.use(\r\n response => {\r\n Toast.clear();\r\n removeRequest(response.config);\r\n // const { code, data } = response.data;\r\n return response.data;\r\n // if (code === 0) {\r\n // return data;\r\n // } else {\r\n // if (code == 301 || code == 302 || code == 303 || code == 304) {\r\n // return code;\r\n // }\r\n // const msg = errMsg.get(code);\r\n // msg ? showToast(msg) : showToast('请求失败,请稍后再试');\r\n // return Promise.reject(code);\r\n // }\r\n },\r\n error => {\r\n Toast.clear();\r\n // if (window.store.state.isSendImage) {\r\n // console.log(`response fuckkkkkk`);\r\n // return 'fuck';\r\n // }\r\n console.log(error);\r\n showToast('请求失败,请稍后再试');\r\n return Promise.reject(error);\r\n }\r\n);\r\n\r\nexport default axios;\r\n","import axios from 'axios';\n\n// create an axios instance\nconst service = axios.create({\n baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url\n // withCredentials: true, // send cookies when cross-domain requests\n timeout: 5000, // request timeout\n});\n\n// Add a request interceptor\nservice.interceptors.request.use(\n function(config) {\n // config.headers['Content-Type'] = 'application/x-www-form-urlencoded';\n if (config.method == 'post') {\n console.log('=== [http request] POST!!! ===');\n config.headers['Content-Type'] = 'application/json';\n // post请求时,处理数据\n\n // config.data = Object.assign({}, config.params);\n // config.params = null;\n }\n // Do something before request is sent\n console.log('=== [http request] ===');\n console.log(config);\n return config;\n },\n function(error) {\n // Do something with request error\n return Promise.reject(error);\n }\n);\n\n// Add a response interceptor\nservice.interceptors.response.use(\n function(response) {\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n console.log('=== [http response] ===');\n console.log(response);\n return response;\n },\n function(error) {\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n return Promise.reject(error);\n }\n);\n\nexport default service;\n","import axios from './axios';\r\nimport http from '@/util/http';\r\n// 获取验证码\r\nexport const getPhoneCode = memberInfo =>\r\n axios.get(\r\n `/userReservation/getPhoneCode?phone=${memberInfo.phone}`,\r\n memberInfo\r\n );\r\n\r\n// 预约\r\nexport const insertUserReservation = memberInfo =>\r\n axios.post(`/userReservation/insertUserReservation`, memberInfo);\r\n\r\n//上传去百度切割图片\r\nexport const bodySeg = memberInfo =>\r\n axios.post(`userReservation/bodySeg`, memberInfo);\r\n\r\nexport const save = query =>\r\n http({\r\n url: '/bw/bw/bwmsg/save',\r\n method: 'post',\r\n data: query,\r\n });\r\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginPage.vue?vue&type=template&id=5c55ed20&scoped=true&\"\nimport script from \"./LoginPage.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LoginPage.vue?vue&type=style&index=0&id=5c55ed20&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c55ed20\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4fac5c1a&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-undef */\n/* eslint-disable no-unused-vars */\n/* eslint-disable no-empty */\n/*!\n* SoundJS\n* Visit http://createjs.com/ for documentation, updates and examples.\n*\n* Copyright (c) 2010 gskinner.com, inc.\n*\n* Permission is hereby granted, free of charge, to any person\n* obtaining a copy of this software and associated documentation\n* files (the \"Software\"), to deal in the Software without\n* restriction, including without limitation the rights to use,\n* copy, modify, merge, publish, distribute, sublicense, and/or sell\n* copies of the Software, and to permit persons to whom the\n* Software is furnished to do so, subject to the following\n* conditions:\n*\n* The above copyright notice and this permission notice shall be\n* included in all copies or substantial portions of the Software.\n*\n* THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n* OTHER DEALINGS IN THE SOFTWARE.\n*/\n\n\n//##############################################################################\n// version.js\n//##############################################################################\n\n/**\n * createjs的soundjs插件,用于加载和播放音频\n * 这个soundjs不是原版,而是进行了一些微调以符合commonjs规范\n * this.createjs = this.createjs || {};\n * 这样的写法,在原生写法中很好用,但是在vue-cli的框架中要稍微修改下,把this改成window,然后在外部用window.createjs调用\n */\nlet createjs = {};\n\nif (!window.createjs) {\n\twindow.createjs = createjs;\n} else {\n\tcreatejs = window.createjs;\n}\n\n(function () {\n\n\t/**\n\t * Static class holding library specific information such as the version and buildDate of the library.\n\t * The SoundJS class has been renamed {{#crossLink \"Sound\"}}{{/crossLink}}. Please see {{#crossLink \"Sound\"}}{{/crossLink}}\n\t * for information on using sound.\n\t * @class SoundJS\n\t **/\n\tvar s = createjs.SoundJS = createjs.SoundJS || {};\n\n\t/**\n\t * The version string for this release.\n\t * @property version\n\t * @type String\n\t * @static\n\t **/\n\ts.version = /*=version*/\"1.0.0\"; // injected by build process\n\n\t/**\n\t * The build date for this release in UTC format.\n\t * @property buildDate\n\t * @type String\n\t * @static\n\t **/\n\ts.buildDate = /*=date*/\"Thu, 12 Oct 2017 16:34:05 GMT\"; // injected by build process\n\n})();\n\n//##############################################################################\n// extend.js\n//##############################################################################\n\n\n\n/**\n * @class Utility Methods\n */\n\n/**\n * Sets up the prototype chain and constructor property for a new class.\n *\n * This should be called right after creating the class constructor.\n *\n * \tfunction MySubClass() {}\n * \tcreatejs.extend(MySubClass, MySuperClass);\n * \tMySubClass.prototype.doSomething = function() { }\n *\n * \tvar foo = new MySubClass();\n * \tconsole.log(foo instanceof MySuperClass); // true\n * \tconsole.log(foo.prototype.constructor === MySubClass); // true\n *\n * @method extend\n * @param {Function} subclass The subclass.\n * @param {Function} superclass The superclass to extend.\n * @return {Function} Returns the subclass's new prototype.\n */\ncreatejs.extend = function (subclass, superclass) {\n\t\"use strict\";\n\n\tfunction o() { this.constructor = subclass; }\n\to.prototype = superclass.prototype;\n\treturn (subclass.prototype = new o());\n};\n\n//##############################################################################\n// promote.js\n//##############################################################################\n\n\n\n/**\n * @class Utility Methods\n */\n\n/**\n * Promotes any methods on the super class that were overridden, by creating an alias in the format `prefix_methodName`.\n * It is recommended to use the super class's name as the prefix.\n * An alias to the super class's constructor is always added in the format `prefix_constructor`.\n * This allows the subclass to call super class methods without using `function.call`, providing better performance.\n *\n * For example, if `MySubClass` extends `MySuperClass`, and both define a `draw` method, then calling `promote(MySubClass, \"MySuperClass\")`\n * would add a `MySuperClass_constructor` method to MySubClass and promote the `draw` method on `MySuperClass` to the\n * prototype of `MySubClass` as `MySuperClass_draw`.\n *\n * This should be called after the class's prototype is fully defined.\n *\n * \tfunction ClassA(name) {\n * \t\tthis.name = name;\n * \t}\n * \tClassA.prototype.greet = function() {\n * \t\treturn \"Hello \"+this.name;\n * \t}\n *\n * \tfunction ClassB(name, punctuation) {\n * \t\tthis.ClassA_constructor(name);\n * \t\tthis.punctuation = punctuation;\n * \t}\n * \tcreatejs.extend(ClassB, ClassA);\n * \tClassB.prototype.greet = function() {\n * \t\treturn this.ClassA_greet()+this.punctuation;\n * \t}\n * \tcreatejs.promote(ClassB, \"ClassA\");\n *\n * \tvar foo = new ClassB(\"World\", \"!?!\");\n * \tconsole.log(foo.greet()); // Hello World!?!\n *\n * @method promote\n * @param {Function} subclass The class to promote super class methods on.\n * @param {String} prefix The prefix to add to the promoted method names. Usually the name of the superclass.\n * @return {Function} Returns the subclass.\n */\ncreatejs.promote = function (subclass, prefix) {\n\t\"use strict\";\n\n\tvar subP = subclass.prototype, supP = (Object.getPrototypeOf && Object.getPrototypeOf(subP)) || subP.__proto__;\n\tif (supP) {\n\t\tsubP[(prefix += \"_\") + \"constructor\"] = supP.constructor; // constructor is not always innumerable\n\t\tfor (var n in supP) {\n\t\t\tif (subP.hasOwnProperty(n) && (typeof supP[n] == \"function\")) { subP[prefix + n] = supP[n]; }\n\t\t}\n\t}\n\treturn subclass;\n};\n\n//##############################################################################\n// deprecate.js\n//##############################################################################\n\n\n\n/**\n * @class Utility Methods\n */\n\n/**\n * Wraps deprecated methods so they still be used, but throw warnings to developers.\n *\n *\tobj.deprecatedMethod = createjs.deprecate(\"Old Method Name\", obj._fallbackMethod);\n *\n * The recommended approach for deprecated properties is:\n *\n *\ttry {\n *\t\tObj\tect.defineProperties(object, {\n *\t\t\treadyOnlyProp: { get: createjs.deprecate(\"readOnlyProp\", function() { return this.alternateProp; }) },\n *\t\t\treadWriteProp: {\n *\t\t\t\tget: createjs.deprecate(\"readOnlyProp\", function() { return this.alternateProp; }),\n *\t\t\t\tset: createjs.deprecate(\"readOnlyProp\", function(val) { this.alternateProp = val; })\n *\t\t});\n *\t} catch (e) {}\n *\n * @method deprecate\n * @param {Function} [fallbackMethod=null] A method to call when the deprecated method is used. See the example for how\n * @param {String} [name=null] The name of the method or property to display in the console warning.\n * to deprecate properties.\n * @return {Function} If a fallbackMethod is supplied, returns a closure that will call the fallback method after\n * logging the warning in the console.\n */\ncreatejs.deprecate = function (fallbackMethod, name) {\n\t\"use strict\";\n\treturn function () {\n\t\tvar msg = \"Deprecated property or method '\" + name + \"'. See docs for info.\";\n\t\tconsole && (console.warn ? console.warn(msg) : console.log(msg));\n\t\treturn fallbackMethod && fallbackMethod.apply(this, arguments);\n\t}\n};\n\n//##############################################################################\n// indexOf.js\n//##############################################################################\n\n\n\n/**\n * @class Utility Methods\n */\n\n/**\n * Finds the first occurrence of a specified value searchElement in the passed in array, and returns the index of\n * that value. Returns -1 if value is not found.\n *\n * var i = createjs.indexOf(myArray, myElementToFind);\n *\n * @method indexOf\n * @param {Array} array Array to search for searchElement\n * @param searchElement Element to find in array.\n * @return {Number} The first index of searchElement in array.\n */\ncreatejs.indexOf = function (array, searchElement) {\n\t\"use strict\";\n\n\tfor (var i = 0, l = array.length; i < l; i++) {\n\t\tif (searchElement === array[i]) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\n\n//##############################################################################\n// proxy.js\n//##############################################################################\n\n\n\n/**\n * Various utilities that the CreateJS Suite uses. Utilities are created as separate files, and will be available on the\n * createjs namespace directly.\n *\n *

Example

\n *\n * myObject.addEventListener(\"change\", createjs.proxy(myMethod, scope));\n *\n * @class Utility Methods\n * @main Utility Methods\n */\n\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * A function proxy for methods. By default, JavaScript methods do not maintain scope, so passing a method as a\n\t * callback will result in the method getting called in the scope of the caller. Using a proxy ensures that the\n\t * method gets called in the correct scope.\n\t *\n\t * Additional arguments can be passed that will be applied to the function when it is called.\n\t *\n\t *

Example

\n\t *\n\t * myObject.addEventListener(\"event\", createjs.proxy(myHandler, this, arg1, arg2));\n\t *\n\t * function myHandler(arg1, arg2) {\n\t * // This gets called when myObject.myCallback is executed.\n\t * }\n\t *\n\t * @method proxy\n\t * @param {Function} method The function to call\n\t * @param {Object} scope The scope to call the method name on\n\t * @param {mixed} [arg] * Arguments that are appended to the callback for additional params.\n\t * @public\n\t * @static\n\t */\n\tcreatejs.proxy = function (method, scope) {\n\t\tvar aArgs = Array.prototype.slice.call(arguments, 2);\n\t\treturn function () {\n\t\t\treturn method.apply(scope, Array.prototype.slice.call(arguments, 0).concat(aArgs));\n\t\t};\n\t}\n\n}());\n\n//##############################################################################\n// BrowserDetect.js\n//##############################################################################\n\n\n\n/**\n * @class Utility Methods\n */\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * An object that determines the current browser, version, operating system, and other environment\n\t * variables via user agent string.\n\t *\n\t * Used for audio because feature detection is unable to detect the many limitations of mobile devices.\n\t *\n\t *

Example

\n\t *\n\t * if (createjs.BrowserDetect.isIOS) { // do stuff }\n\t *\n\t * @property BrowserDetect\n\t * @type {Object}\n\t * @param {Boolean} isFirefox True if our browser is Firefox.\n\t * @param {Boolean} isOpera True if our browser is opera.\n\t * @param {Boolean} isChrome True if our browser is Chrome. Note that Chrome for Android returns true, but is a\n\t * completely different browser with different abilities.\n\t * @param {Boolean} isIOS True if our browser is safari for iOS devices (iPad, iPhone, and iPod).\n\t * @param {Boolean} isAndroid True if our browser is Android.\n\t * @param {Boolean} isBlackberry True if our browser is Blackberry.\n\t * @constructor\n\t * @static\n\t */\n\tfunction BrowserDetect() {\n\t\tthrow \"BrowserDetect cannot be instantiated\";\n\t}\n\n\tvar agent = BrowserDetect.agent = window.navigator.userAgent;\n\tBrowserDetect.isWindowPhone = (agent.indexOf(\"IEMobile\") > -1) || (agent.indexOf(\"Windows Phone\") > -1);\n\tBrowserDetect.isFirefox = (agent.indexOf(\"Firefox\") > -1);\n\tBrowserDetect.isOpera = (window.opera != null);\n\tBrowserDetect.isChrome = (agent.indexOf(\"Chrome\") > -1); // NOTE that Chrome on Android returns true but is a completely different browser with different abilities\n\tBrowserDetect.isIOS = (agent.indexOf(\"iPod\") > -1 || agent.indexOf(\"iPhone\") > -1 || agent.indexOf(\"iPad\") > -1) && !BrowserDetect.isWindowPhone;\n\tBrowserDetect.isAndroid = (agent.indexOf(\"Android\") > -1) && !BrowserDetect.isWindowPhone;\n\tBrowserDetect.isBlackberry = (agent.indexOf(\"Blackberry\") > -1);\n\n\tcreatejs.BrowserDetect = BrowserDetect;\n\n}());\n\n//##############################################################################\n// EventDispatcher.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\n\t// constructor:\n\t/**\n\t * EventDispatcher provides methods for managing queues of event listeners and dispatching events.\n\t *\n\t * You can either extend EventDispatcher or mix its methods into an existing prototype or instance by using the\n\t * EventDispatcher {{#crossLink \"EventDispatcher/initialize\"}}{{/crossLink}} method.\n\t * \n\t * Together with the CreateJS Event class, EventDispatcher provides an extended event model that is based on the\n\t * DOM Level 2 event model, including addEventListener, removeEventListener, and dispatchEvent. It supports\n\t * bubbling / capture, preventDefault, stopPropagation, stopImmediatePropagation, and handleEvent.\n\t * \n\t * EventDispatcher also exposes a {{#crossLink \"EventDispatcher/on\"}}{{/crossLink}} method, which makes it easier\n\t * to create scoped listeners, listeners that only run once, and listeners with associated arbitrary data. The \n\t * {{#crossLink \"EventDispatcher/off\"}}{{/crossLink}} method is merely an alias to\n\t * {{#crossLink \"EventDispatcher/removeEventListener\"}}{{/crossLink}}.\n\t * \n\t * Another addition to the DOM Level 2 model is the {{#crossLink \"EventDispatcher/removeAllEventListeners\"}}{{/crossLink}}\n\t * method, which can be used to listeners for all events, or listeners for a specific event. The Event object also \n\t * includes a {{#crossLink \"Event/remove\"}}{{/crossLink}} method which removes the active listener.\n\t *\n\t *

Example

\n\t * Add EventDispatcher capabilities to the \"MyClass\" class.\n\t *\n\t * EventDispatcher.initialize(MyClass.prototype);\n\t *\n\t * Add an event (see {{#crossLink \"EventDispatcher/addEventListener\"}}{{/crossLink}}).\n\t *\n\t * instance.addEventListener(\"eventName\", handlerMethod);\n\t * function handlerMethod(event) {\n\t * console.log(event.target + \" Was Clicked\");\n\t * }\n\t *\n\t * Maintaining proper scope
\n\t * Scope (ie. \"this\") can be be a challenge with events. Using the {{#crossLink \"EventDispatcher/on\"}}{{/crossLink}}\n\t * method to subscribe to events simplifies this.\n\t *\n\t * instance.addEventListener(\"click\", function(event) {\n\t * console.log(instance == this); // false, scope is ambiguous.\n\t * });\n\t * \n\t * instance.on(\"click\", function(event) {\n\t * console.log(instance == this); // true, \"on\" uses dispatcher scope by default.\n\t * });\n\t * \n\t * If you want to use addEventListener instead, you may want to use function.bind() or a similar proxy to manage\n\t * scope.\n\t *\n\t * Browser support\n\t * The event model in CreateJS can be used separately from the suite in any project, however the inheritance model\n\t * requires modern browsers (IE9+).\n\t * \n\t *\n\t * @class EventDispatcher\n\t * @constructor\n\t **/\n\tfunction EventDispatcher() {\n\n\n\t\t// private properties:\n\t\t/**\n\t\t * @protected\n\t\t * @property _listeners\n\t\t * @type Object\n\t\t **/\n\t\tthis._listeners = null;\n\n\t\t/**\n\t\t * @protected\n\t\t * @property _captureListeners\n\t\t * @type Object\n\t\t **/\n\t\tthis._captureListeners = null;\n\t}\n\tvar p = EventDispatcher.prototype;\n\n\t// static public methods:\n\t/**\n\t * Static initializer to mix EventDispatcher methods into a target object or prototype.\n\t * \n\t * \t\tEventDispatcher.initialize(MyClass.prototype); // add to the prototype of the class\n\t * \t\tEventDispatcher.initialize(myObject); // add to a specific instance\n\t * \n\t * @method initialize\n\t * @static\n\t * @param {Object} target The target object to inject EventDispatcher methods into. This can be an instance or a\n\t * prototype.\n\t **/\n\tEventDispatcher.initialize = function (target) {\n\t\ttarget.addEventListener = p.addEventListener;\n\t\ttarget.on = p.on;\n\t\ttarget.removeEventListener = target.off = p.removeEventListener;\n\t\ttarget.removeAllEventListeners = p.removeAllEventListeners;\n\t\ttarget.hasEventListener = p.hasEventListener;\n\t\ttarget.dispatchEvent = p.dispatchEvent;\n\t\ttarget._dispatchEvent = p._dispatchEvent;\n\t\ttarget.willTrigger = p.willTrigger;\n\t};\n\n\n\t// public methods:\n\t/**\n\t * Adds the specified event listener. Note that adding multiple listeners to the same function will result in\n\t * multiple callbacks getting fired.\n\t *\n\t *

Example

\n\t *\n\t * displayObject.addEventListener(\"click\", handleClick);\n\t * function handleClick(event) {\n\t * // Click happened.\n\t * }\n\t *\n\t * @method addEventListener\n\t * @param {String} type The string type of the event.\n\t * @param {Function | Object} listener An object with a handleEvent method, or a function that will be called when\n\t * the event is dispatched.\n\t * @param {Boolean} [useCapture] For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.\n\t * @return {Function | Object} Returns the listener for chaining or assignment.\n\t **/\n\tp.addEventListener = function (type, listener, useCapture) {\n\t\tvar listeners;\n\t\tif (useCapture) {\n\t\t\tlisteners = this._captureListeners = this._captureListeners || {};\n\t\t} else {\n\t\t\tlisteners = this._listeners = this._listeners || {};\n\t\t}\n\t\tvar arr = listeners[type];\n\t\tif (arr) { this.removeEventListener(type, listener, useCapture); }\n\t\tarr = listeners[type]; // remove may have deleted the array\n\t\tif (!arr) { listeners[type] = [listener]; }\n\t\telse { arr.push(listener); }\n\t\treturn listener;\n\t};\n\n\t/**\n\t * A shortcut method for using addEventListener that makes it easier to specify an execution scope, have a listener\n\t * only run once, associate arbitrary data with the listener, and remove the listener.\n\t * \n\t * This method works by creating an anonymous wrapper function and subscribing it with addEventListener.\n\t * The wrapper function is returned for use with `removeEventListener` (or `off`).\n\t * \n\t * IMPORTANT: To remove a listener added with `on`, you must pass in the returned wrapper function as the listener, or use\n\t * {{#crossLink \"Event/remove\"}}{{/crossLink}}. Likewise, each time you call `on` a NEW wrapper function is subscribed, so multiple calls\n\t * to `on` with the same params will create multiple listeners.\n\t * \n\t *

Example

\n\t * \n\t * \t\tvar listener = myBtn.on(\"click\", handleClick, null, false, {count:3});\n\t * \t\tfunction handleClick(evt, data) {\n\t * \t\t\tdata.count -= 1;\n\t * \t\t\tconsole.log(this == myBtn); // true - scope defaults to the dispatcher\n\t * \t\t\tif (data.count == 0) {\n\t * \t\t\t\talert(\"clicked 3 times!\");\n\t * \t\t\t\tmyBtn.off(\"click\", listener);\n\t * \t\t\t\t// alternately: evt.remove();\n\t * \t\t\t}\n\t * \t\t}\n\t * \n\t * @method on\n\t * @param {String} type The string type of the event.\n\t * @param {Function | Object} listener An object with a handleEvent method, or a function that will be called when\n\t * the event is dispatched.\n\t * @param {Object} [scope] The scope to execute the listener in. Defaults to the dispatcher/currentTarget for function listeners, and to the listener itself for object listeners (ie. using handleEvent).\n\t * @param {Boolean} [once=false] If true, the listener will remove itself after the first time it is triggered.\n\t * @param {*} [data] Arbitrary data that will be included as the second parameter when the listener is called.\n\t * @param {Boolean} [useCapture=false] For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.\n\t * @return {Function} Returns the anonymous function that was created and assigned as the listener. This is needed to remove the listener later using .removeEventListener.\n\t **/\n\tp.on = function (type, listener, scope, once, data, useCapture) {\n\t\tif (listener.handleEvent) {\n\t\t\tscope = scope || listener;\n\t\t\tlistener = listener.handleEvent;\n\t\t}\n\t\tscope = scope || this;\n\t\treturn this.addEventListener(type, function (evt) {\n\t\t\tlistener.call(scope, evt, data);\n\t\t\tonce && evt.remove();\n\t\t}, useCapture);\n\t};\n\n\t/**\n\t * Removes the specified event listener.\n\t *\n\t * Important Note: that you must pass the exact function reference used when the event was added. If a proxy\n\t * function, or function closure is used as the callback, the proxy/closure reference must be used - a new proxy or\n\t * closure will not work.\n\t *\n\t *

Example

\n\t *\n\t * displayObject.removeEventListener(\"click\", handleClick);\n\t *\n\t * @method removeEventListener\n\t * @param {String} type The string type of the event.\n\t * @param {Function | Object} listener The listener function or object.\n\t * @param {Boolean} [useCapture] For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.\n\t **/\n\tp.removeEventListener = function (type, listener, useCapture) {\n\t\tvar listeners = useCapture ? this._captureListeners : this._listeners;\n\t\tif (!listeners) { return; }\n\t\tvar arr = listeners[type];\n\t\tif (!arr) { return; }\n\t\tfor (var i = 0, l = arr.length; i < l; i++) {\n\t\t\tif (arr[i] == listener) {\n\t\t\t\tif (l == 1) { delete (listeners[type]); } // allows for faster checks.\n\t\t\t\telse { arr.splice(i, 1); }\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * A shortcut to the removeEventListener method, with the same parameters and return value. This is a companion to the\n\t * .on method.\n\t * \n\t * IMPORTANT: To remove a listener added with `on`, you must pass in the returned wrapper function as the listener. See \n\t * {{#crossLink \"EventDispatcher/on\"}}{{/crossLink}} for an example.\n\t *\n\t * @method off\n\t * @param {String} type The string type of the event.\n\t * @param {Function | Object} listener The listener function or object.\n\t * @param {Boolean} [useCapture] For events that bubble, indicates whether to listen for the event in the capture or bubbling/target phase.\n\t **/\n\tp.off = p.removeEventListener;\n\n\t/**\n\t * Removes all listeners for the specified type, or all listeners of all types.\n\t *\n\t *

Example

\n\t *\n\t * // Remove all listeners\n\t * displayObject.removeAllEventListeners();\n\t *\n\t * // Remove all click listeners\n\t * displayObject.removeAllEventListeners(\"click\");\n\t *\n\t * @method removeAllEventListeners\n\t * @param {String} [type] The string type of the event. If omitted, all listeners for all types will be removed.\n\t **/\n\tp.removeAllEventListeners = function (type) {\n\t\tif (!type) { this._listeners = this._captureListeners = null; }\n\t\telse {\n\t\t\tif (this._listeners) { delete (this._listeners[type]); }\n\t\t\tif (this._captureListeners) { delete (this._captureListeners[type]); }\n\t\t}\n\t};\n\n\t/**\n\t * Dispatches the specified event to all listeners.\n\t *\n\t *

Example

\n\t *\n\t * // Use a string event\n\t * this.dispatchEvent(\"complete\");\n\t *\n\t * // Use an Event instance\n\t * var event = new createjs.Event(\"progress\");\n\t * this.dispatchEvent(event);\n\t *\n\t * @method dispatchEvent\n\t * @param {Object | String | Event} eventObj An object with a \"type\" property, or a string type.\n\t * While a generic object will work, it is recommended to use a CreateJS Event instance. If a string is used,\n\t * dispatchEvent will construct an Event instance if necessary with the specified type. This latter approach can\n\t * be used to avoid event object instantiation for non-bubbling events that may not have any listeners.\n\t * @param {Boolean} [bubbles] Specifies the `bubbles` value when a string was passed to eventObj.\n\t * @param {Boolean} [cancelable] Specifies the `cancelable` value when a string was passed to eventObj.\n\t * @return {Boolean} Returns false if `preventDefault()` was called on a cancelable event, true otherwise.\n\t **/\n\tp.dispatchEvent = function (eventObj, bubbles, cancelable) {\n\t\tif (typeof eventObj == \"string\") {\n\t\t\t// skip everything if there's no listeners and it doesn't bubble:\n\t\t\tvar listeners = this._listeners;\n\t\t\tif (!bubbles && (!listeners || !listeners[eventObj])) { return true; }\n\t\t\teventObj = new createjs.Event(eventObj, bubbles, cancelable);\n\t\t} else if (eventObj.target && eventObj.clone) {\n\t\t\t// redispatching an active event object, so clone it:\n\t\t\teventObj = eventObj.clone();\n\t\t}\n\n\t\t// TODO: it would be nice to eliminate this. Maybe in favour of evtObj instanceof Event? Or !!evtObj.createEvent\n\t\ttry { eventObj.target = this; } catch (e) { } // try/catch allows redispatching of native events\n\n\t\tif (!eventObj.bubbles || !this.parent) {\n\t\t\tthis._dispatchEvent(eventObj, 2);\n\t\t} else {\n\t\t\tvar top = this, list = [top];\n\t\t\twhile (top.parent) { list.push(top = top.parent); }\n\t\t\tvar i, l = list.length;\n\n\t\t\t// capture & atTarget\n\t\t\tfor (i = l - 1; i >= 0 && !eventObj.propagationStopped; i--) {\n\t\t\t\tlist[i]._dispatchEvent(eventObj, 1 + (i == 0));\n\t\t\t}\n\t\t\t// bubbling\n\t\t\tfor (i = 1; i < l && !eventObj.propagationStopped; i++) {\n\t\t\t\tlist[i]._dispatchEvent(eventObj, 3);\n\t\t\t}\n\t\t}\n\t\treturn !eventObj.defaultPrevented;\n\t};\n\n\t/**\n\t * Indicates whether there is at least one listener for the specified event type.\n\t * @method hasEventListener\n\t * @param {String} type The string type of the event.\n\t * @return {Boolean} Returns true if there is at least one listener for the specified event.\n\t **/\n\tp.hasEventListener = function (type) {\n\t\tvar listeners = this._listeners, captureListeners = this._captureListeners;\n\t\treturn !!((listeners && listeners[type]) || (captureListeners && captureListeners[type]));\n\t};\n\n\t/**\n\t * Indicates whether there is at least one listener for the specified event type on this object or any of its\n\t * ancestors (parent, parent's parent, etc). A return value of true indicates that if a bubbling event of the\n\t * specified type is dispatched from this object, it will trigger at least one listener.\n\t * \n\t * This is similar to {{#crossLink \"EventDispatcher/hasEventListener\"}}{{/crossLink}}, but it searches the entire\n\t * event flow for a listener, not just this object.\n\t * @method willTrigger\n\t * @param {String} type The string type of the event.\n\t * @return {Boolean} Returns `true` if there is at least one listener for the specified event.\n\t **/\n\tp.willTrigger = function (type) {\n\t\tvar o = this;\n\t\twhile (o) {\n\t\t\tif (o.hasEventListener(type)) { return true; }\n\t\t\to = o.parent;\n\t\t}\n\t\treturn false;\n\t};\n\n\t/**\n\t * @method toString\n\t * @return {String} a string representation of the instance.\n\t **/\n\tp.toString = function () {\n\t\treturn \"[EventDispatcher]\";\n\t};\n\n\n\t// private methods:\n\t/**\n\t * @method _dispatchEvent\n\t * @param {Object | Event} eventObj\n\t * @param {Object} eventPhase\n\t * @protected\n\t **/\n\tp._dispatchEvent = function (eventObj, eventPhase) {\n\t\tvar l, arr, listeners = (eventPhase <= 2) ? this._captureListeners : this._listeners;\n\t\tif (eventObj && listeners && (arr = listeners[eventObj.type]) && (l = arr.length)) {\n\t\t\ttry { eventObj.currentTarget = this; } catch (e) { }\n\t\t\ttry { eventObj.eventPhase = eventPhase | 0; } catch (e) { }\n\t\t\teventObj.removed = false;\n\n\t\t\tarr = arr.slice(); // to avoid issues with items being removed or added during the dispatch\n\t\t\tfor (var i = 0; i < l && !eventObj.immediatePropagationStopped; i++) {\n\t\t\t\tvar o = arr[i];\n\t\t\t\tif (o.handleEvent) { o.handleEvent(eventObj); }\n\t\t\t\telse { o(eventObj); }\n\t\t\t\tif (eventObj.removed) {\n\t\t\t\t\tthis.off(eventObj.type, o, eventPhase == 1);\n\t\t\t\t\teventObj.removed = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (eventPhase === 2) { this._dispatchEvent(eventObj, 2.1); }\n\t};\n\n\n\tcreatejs.EventDispatcher = EventDispatcher;\n}());\n\n//##############################################################################\n// Event.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor:\n\t/**\n\t * Contains properties and methods shared by all events for use with\n\t * {{#crossLink \"EventDispatcher\"}}{{/crossLink}}.\n\t * \n\t * Note that Event objects are often reused, so you should never\n\t * rely on an event object's state outside of the call stack it was received in.\n\t * @class Event\n\t * @param {String} type The event type.\n\t * @param {Boolean} bubbles Indicates whether the event will bubble through the display list.\n\t * @param {Boolean} cancelable Indicates whether the default behaviour of this event can be cancelled.\n\t * @constructor\n\t **/\n\tfunction Event(type, bubbles, cancelable) {\n\n\n\t\t// public properties:\n\t\t/**\n\t\t * The type of event.\n\t\t * @property type\n\t\t * @type String\n\t\t **/\n\t\tthis.type = type;\n\n\t\t/**\n\t\t * The object that generated an event.\n\t\t * @property target\n\t\t * @type Object\n\t\t * @default null\n\t\t * @readonly\n\t\t*/\n\t\tthis.target = null;\n\n\t\t/**\n\t\t * The current target that a bubbling event is being dispatched from. For non-bubbling events, this will\n\t\t * always be the same as target. For example, if childObj.parent = parentObj, and a bubbling event\n\t\t * is generated from childObj, then a listener on parentObj would receive the event with\n\t\t * target=childObj (the original target) and currentTarget=parentObj (where the listener was added).\n\t\t * @property currentTarget\n\t\t * @type Object\n\t\t * @default null\n\t\t * @readonly\n\t\t*/\n\t\tthis.currentTarget = null;\n\n\t\t/**\n\t\t * For bubbling events, this indicates the current event phase:
    \n\t\t * \t
  1. capture phase: starting from the top parent to the target
  2. \n\t\t * \t
  3. at target phase: currently being dispatched from the target
  4. \n\t\t * \t
  5. bubbling phase: from the target to the top parent
  6. \n\t\t *
\n\t\t * @property eventPhase\n\t\t * @type Number\n\t\t * @default 0\n\t\t * @readonly\n\t\t*/\n\t\tthis.eventPhase = 0;\n\n\t\t/**\n\t\t * Indicates whether the event will bubble through the display list.\n\t\t * @property bubbles\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.bubbles = !!bubbles;\n\n\t\t/**\n\t\t * Indicates whether the default behaviour of this event can be cancelled via\n\t\t * {{#crossLink \"Event/preventDefault\"}}{{/crossLink}}. This is set via the Event constructor.\n\t\t * @property cancelable\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.cancelable = !!cancelable;\n\n\t\t/**\n\t\t * The epoch time at which this event was created.\n\t\t * @property timeStamp\n\t\t * @type Number\n\t\t * @default 0\n\t\t * @readonly\n\t\t*/\n\t\tthis.timeStamp = (new Date()).getTime();\n\n\t\t/**\n\t\t * Indicates if {{#crossLink \"Event/preventDefault\"}}{{/crossLink}} has been called\n\t\t * on this event.\n\t\t * @property defaultPrevented\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.defaultPrevented = false;\n\n\t\t/**\n\t\t * Indicates if {{#crossLink \"Event/stopPropagation\"}}{{/crossLink}} or\n\t\t * {{#crossLink \"Event/stopImmediatePropagation\"}}{{/crossLink}} has been called on this event.\n\t\t * @property propagationStopped\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.propagationStopped = false;\n\n\t\t/**\n\t\t * Indicates if {{#crossLink \"Event/stopImmediatePropagation\"}}{{/crossLink}} has been called\n\t\t * on this event.\n\t\t * @property immediatePropagationStopped\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.immediatePropagationStopped = false;\n\n\t\t/**\n\t\t * Indicates if {{#crossLink \"Event/remove\"}}{{/crossLink}} has been called on this event.\n\t\t * @property removed\n\t\t * @type Boolean\n\t\t * @default false\n\t\t * @readonly\n\t\t*/\n\t\tthis.removed = false;\n\t}\n\tvar p = Event.prototype;\n\n\t// public methods:\n\t/**\n\t * Sets {{#crossLink \"Event/defaultPrevented\"}}{{/crossLink}} to true if the event is cancelable.\n\t * Mirrors the DOM level 2 event standard. In general, cancelable events that have `preventDefault()` called will\n\t * cancel the default behaviour associated with the event.\n\t * @method preventDefault\n\t **/\n\tp.preventDefault = function () {\n\t\tthis.defaultPrevented = this.cancelable && true;\n\t};\n\n\t/**\n\t * Sets {{#crossLink \"Event/propagationStopped\"}}{{/crossLink}} to true.\n\t * Mirrors the DOM event standard.\n\t * @method stopPropagation\n\t **/\n\tp.stopPropagation = function () {\n\t\tthis.propagationStopped = true;\n\t};\n\n\t/**\n\t * Sets {{#crossLink \"Event/propagationStopped\"}}{{/crossLink}} and\n\t * {{#crossLink \"Event/immediatePropagationStopped\"}}{{/crossLink}} to true.\n\t * Mirrors the DOM event standard.\n\t * @method stopImmediatePropagation\n\t **/\n\tp.stopImmediatePropagation = function () {\n\t\tthis.immediatePropagationStopped = this.propagationStopped = true;\n\t};\n\n\t/**\n\t * Causes the active listener to be removed via removeEventListener();\n\t * \n\t * \t\tmyBtn.addEventListener(\"click\", function(evt) {\n\t * \t\t\t// do stuff...\n\t * \t\t\tevt.remove(); // removes this listener.\n\t * \t\t});\n\t * \n\t * @method remove\n\t **/\n\tp.remove = function () {\n\t\tthis.removed = true;\n\t};\n\n\t/**\n\t * Returns a clone of the Event instance.\n\t * @method clone\n\t * @return {Event} a clone of the Event instance.\n\t **/\n\tp.clone = function () {\n\t\treturn new Event(this.type, this.bubbles, this.cancelable);\n\t};\n\n\t/**\n\t * Provides a chainable shortcut method for setting a number of properties on the instance.\n\t *\n\t * @method set\n\t * @param {Object} props A generic object containing properties to copy to the instance.\n\t * @return {Event} Returns the instance the method is called on (useful for chaining calls.)\n\t * @chainable\n\t*/\n\tp.set = function (props) {\n\t\tfor (var n in props) { this[n] = props[n]; }\n\t\treturn this;\n\t};\n\n\t/**\n\t * Returns a string representation of this object.\n\t * @method toString\n\t * @return {String} a string representation of the instance.\n\t **/\n\tp.toString = function () {\n\t\treturn \"[Event (type=\" + this.type + \")]\";\n\t};\n\n\tcreatejs.Event = Event;\n}());\n\n//##############################################################################\n// ErrorEvent.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * A general error {{#crossLink \"Event\"}}{{/crossLink}}, that describes an error that occurred, as well as any details.\n\t * @class ErrorEvent\n\t * @param {String} [title] The error title\n\t * @param {String} [message] The error description\n\t * @param {Object} [data] Additional error data\n\t * @constructor\n\t */\n\tfunction ErrorEvent(title, message, data) {\n\t\tthis.Event_constructor(\"error\");\n\n\t\t/**\n\t\t * The short error title, which indicates the type of error that occurred.\n\t\t * @property title\n\t\t * @type String\n\t\t */\n\t\tthis.title = title;\n\n\t\t/**\n\t\t * The verbose error message, containing details about the error.\n\t\t * @property message\n\t\t * @type String\n\t\t */\n\t\tthis.message = message;\n\n\t\t/**\n\t\t * Additional data attached to an error.\n\t\t * @property data\n\t\t * @type {Object}\n\t\t */\n\t\tthis.data = data;\n\t}\n\n\tvar p = createjs.extend(ErrorEvent, createjs.Event);\n\n\tp.clone = function () {\n\t\treturn new createjs.ErrorEvent(this.title, this.message, this.data);\n\t};\n\n\tcreatejs.ErrorEvent = createjs.promote(ErrorEvent, \"Event\");\n\n}());\n\n//##############################################################################\n// ProgressEvent.js\n//##############################################################################\n\n\n\n(function (scope) {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * A CreateJS {{#crossLink \"Event\"}}{{/crossLink}} that is dispatched when progress changes.\n\t * @class ProgressEvent\n\t * @param {Number} loaded The amount that has been loaded. This can be any number relative to the total.\n\t * @param {Number} [total=1] The total amount that will load. This will default to 1, so if the `loaded` value is\n\t * a percentage (between 0 and 1), it can be omitted.\n\t * @todo Consider having this event be a \"fileprogress\" event as well\n\t * @constructor\n\t */\n\tfunction ProgressEvent(loaded, total) {\n\t\tthis.Event_constructor(\"progress\");\n\n\t\t/**\n\t\t * The amount that has been loaded (out of a total amount)\n\t\t * @property loaded\n\t\t * @type {Number}\n\t\t */\n\t\tthis.loaded = loaded;\n\n\t\t/**\n\t\t * The total \"size\" of the load.\n\t\t * @property total\n\t\t * @type {Number}\n\t\t * @default 1\n\t\t */\n\t\tthis.total = (total == null) ? 1 : total;\n\n\t\t/**\n\t\t * The percentage (out of 1) that the load has been completed. This is calculated using `loaded/total`.\n\t\t * @property progress\n\t\t * @type {Number}\n\t\t * @default 0\n\t\t */\n\t\tthis.progress = (total == 0) ? 0 : this.loaded / this.total;\n\t}\n\n\tvar p = createjs.extend(ProgressEvent, createjs.Event);\n\n\t/**\n\t * Returns a clone of the ProgressEvent instance.\n\t * @method clone\n\t * @return {ProgressEvent} a clone of the Event instance.\n\t **/\n\tp.clone = function () {\n\t\treturn new createjs.ProgressEvent(this.loaded, this.total);\n\t};\n\n\tcreatejs.ProgressEvent = createjs.promote(ProgressEvent, \"Event\");\n\n}(window));\n\n//##############################################################################\n// LoadItem.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * All loaders accept an item containing the properties defined in this class. If a raw object is passed instead,\n\t * it will not be affected, but it must contain at least a {{#crossLink \"src:property\"}}{{/crossLink}} property. A\n\t * string path or HTML tag is also acceptable, but it will be automatically converted to a LoadItem using the\n\t * {{#crossLink \"create\"}}{{/crossLink}} method by {{#crossLink \"AbstractLoader\"}}{{/crossLink}}\n\t * @class LoadItem\n\t * @constructor\n\t * @since 0.6.0\n\t */\n\tfunction LoadItem() {\n\t\t/**\n\t\t * The source of the file that is being loaded. This property is required. The source can either be a\n\t\t * string (recommended), or an HTML tag.\n\t\t * This can also be an object, but in that case it has to include a type and be handled by a plugin.\n\t\t * @property src\n\t\t * @type {String}\n\t\t * @default null\n\t\t */\n\t\tthis.src = null;\n\n\t\t/**\n\t\t * The type file that is being loaded. The type of the file is usually inferred by the extension, but can also\n\t\t * be set manually. This is helpful in cases where a file does not have an extension.\n\t\t * @property type\n\t\t * @type {String}\n\t\t * @default null\n\t\t */\n\t\tthis.type = null;\n\n\t\t/**\n\t\t * A string identifier which can be used to reference the loaded object. If none is provided, this will be\n\t\t * automatically set to the {{#crossLink \"src:property\"}}{{/crossLink}}.\n\t\t * @property id\n\t\t * @type {String}\n\t\t * @default null\n\t\t */\n\t\tthis.id = null;\n\n\t\t/**\n\t\t * Determines if a manifest will maintain the order of this item, in relation to other items in the manifest\n\t\t * that have also set the `maintainOrder` property to `true`. This only applies when the max connections has\n\t\t * been set above 1 (using {{#crossLink \"LoadQueue/setMaxConnections\"}}{{/crossLink}}). Everything with this\n\t\t * property set to `false` will finish as it is loaded. Ordered items are combined with script tags loading in\n\t\t * order when {{#crossLink \"LoadQueue/maintainScriptOrder:property\"}}{{/crossLink}} is set to `true`.\n\t\t * @property maintainOrder\n\t\t * @type {Boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.maintainOrder = false;\n\n\t\t/**\n\t\t * A callback used by JSONP requests that defines what global method to call when the JSONP content is loaded.\n\t\t * @property callback\n\t\t * @type {String}\n\t\t * @default null\n\t\t */\n\t\tthis.callback = null;\n\n\t\t/**\n\t\t * An arbitrary data object, which is included with the loaded object.\n\t\t * @property data\n\t\t * @type {Object}\n\t\t * @default null\n\t\t */\n\t\tthis.data = null;\n\n\t\t/**\n\t\t * The request method used for HTTP calls. Both {{#crossLink \"Methods/GET:property\"}}{{/crossLink}} or\n\t\t * {{#crossLink \"Methods/POST:property\"}}{{/crossLink}} request types are supported, and are defined as\n\t\t * constants on {{#crossLink \"AbstractLoader\"}}{{/crossLink}}.\n\t\t * @property method\n\t\t * @type {String}\n\t\t * @default GET\n\t\t */\n\t\tthis.method = createjs.Methods.GET;\n\n\t\t/**\n\t\t * An object hash of name/value pairs to send to the server.\n\t\t * @property values\n\t\t * @type {Object}\n\t\t * @default null\n\t\t */\n\t\tthis.values = null;\n\n\t\t/**\n\t\t * An object hash of headers to attach to an XHR request. PreloadJS will automatically attach some default\n\t\t * headers when required, including \"Origin\", \"Content-Type\", and \"X-Requested-With\". You may override the\n\t\t * default headers by including them in your headers object.\n\t\t * @property headers\n\t\t * @type {Object}\n\t\t * @default null\n\t\t */\n\t\tthis.headers = null;\n\n\t\t/**\n\t\t * Enable credentials for XHR requests.\n\t\t * @property withCredentials\n\t\t * @type {Boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.withCredentials = false;\n\n\t\t/**\n\t\t * Set the mime type of XHR-based requests. This is automatically set to \"text/plain; charset=utf-8\" for text\n\t\t * based files (json, xml, text, css, js).\n\t\t * @property mimeType\n\t\t * @type {String}\n\t\t * @default null\n\t\t */\n\t\tthis.mimeType = null;\n\n\t\t/**\n\t\t * Sets the crossOrigin attribute for CORS-enabled images loading cross-domain.\n\t\t * @property crossOrigin\n\t\t * @type {boolean}\n\t\t * @default Anonymous\n\t\t */\n\t\tthis.crossOrigin = null;\n\n\t\t/**\n\t\t * The duration in milliseconds to wait before a request times out. This only applies to tag-based and and XHR\n\t\t * (level one) loading, as XHR (level 2) provides its own timeout event.\n\t\t * @property loadTimeout\n\t\t * @type {Number}\n\t\t * @default 8000 (8 seconds)\n\t\t */\n\t\tthis.loadTimeout = s.LOAD_TIMEOUT_DEFAULT;\n\t}\n\n\tvar p = LoadItem.prototype = {};\n\tvar s = LoadItem;\n\n\t/**\n\t * Default duration in milliseconds to wait before a request times out. This only applies to tag-based and and XHR\n\t * (level one) loading, as XHR (level 2) provides its own timeout event.\n\t * @property LOAD_TIMEOUT_DEFAULT\n\t * @type {number}\n\t * @static\n\t */\n\ts.LOAD_TIMEOUT_DEFAULT = 8000;\n\n\t/**\n\t * Create a LoadItem.\n\t * \n\t * @method create\n\t * @param {LoadItem|String|Object} value The load item value\n\t * @returns {LoadItem|Object}\n\t * @static\n\t */\n\ts.create = function (value) {\n\t\tif (typeof value == \"string\") {\n\t\t\tvar item = new LoadItem();\n\t\t\titem.src = value;\n\t\t\treturn item;\n\t\t} else if (value instanceof s) {\n\t\t\treturn value;\n\t\t} else if (value instanceof Object && value.src) {\n\t\t\tif (value.loadTimeout == null) {\n\t\t\t\tvalue.loadTimeout = s.LOAD_TIMEOUT_DEFAULT;\n\t\t\t}\n\t\t\treturn value;\n\t\t} else {\n\t\t\tthrow new Error(\"Type not recognized.\");\n\t\t}\n\t};\n\n\t/**\n\t * Provides a chainable shortcut method for setting a number of properties on the instance.\n\t *\n\t *

Example

\n\t *\n\t * var loadItem = new createjs.LoadItem().set({src:\"image.png\", maintainOrder:true});\n\t *\n\t * @method set\n\t * @param {Object} props A generic object containing properties to copy to the LoadItem instance.\n\t * @return {LoadItem} Returns the instance the method is called on (useful for chaining calls.)\n\t*/\n\tp.set = function (props) {\n\t\tfor (var n in props) { this[n] = props[n]; }\n\t\treturn this;\n\t};\n\n\tcreatejs.LoadItem = s;\n\n}());\n\n//##############################################################################\n// Methods.js\n//##############################################################################\n\n\n\n(function () {\n\tvar s = {};\n\n\t/**\n\t * Defines a POST request, use for a method value when loading data.\n\t * @property POST\n\t * @type {string}\n\t * @default post\n\t * @static\n\t */\n\ts.POST = \"POST\";\n\n\t/**\n\t * Defines a GET request, use for a method value when loading data.\n\t * @property GET\n\t * @type {string}\n\t * @default get\n\t * @static\n\t */\n\ts.GET = \"GET\";\n\n\tcreatejs.Methods = s;\n}());\n\n//##############################################################################\n// Types.js\n//##############################################################################\n\n\n\n(function () {\n\tvar s = {};\n\n\t/**\n\t * The preload type for generic binary types. Note that images are loaded as binary files when using XHR.\n\t * @property BINARY\n\t * @type {String}\n\t * @default binary\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.BINARY = \"binary\";\n\n\t/**\n\t * The preload type for css files. CSS files are loaded using a <link> when loaded with XHR, or a\n\t * <style> tag when loaded with tags.\n\t * @property CSS\n\t * @type {String}\n\t * @default css\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.CSS = \"css\";\n\n\t/**\n\t * The preload type for font files.\n\t * @property FONT\n\t * @type {String}\n\t * @default font\n\t * @static\n\t * @since 0.9.0\n\t */\n\ts.FONT = \"font\";\n\n\t/**\n\t * The preload type for fonts specified with CSS (such as Google fonts)\n\t * @property FONTCSS\n\t * @type {String}\n\t * @default fontcss\n\t * @static\n\t * @since 0.9.0\n\t */\n\ts.FONTCSS = \"fontcss\";\n\n\t/**\n\t * The preload type for image files, usually png, gif, or jpg/jpeg. Images are loaded into an <image> tag.\n\t * @property IMAGE\n\t * @type {String}\n\t * @default image\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.IMAGE = \"image\";\n\n\t/**\n\t * The preload type for javascript files, usually with the \"js\" file extension. JavaScript files are loaded into a\n\t * <script> tag.\n\t *\n\t * Since version 0.4.1+, due to how tag-loaded scripts work, all JavaScript files are automatically injected into\n\t * the body of the document to maintain parity between XHR and tag-loaded scripts. In version 0.4.0 and earlier,\n\t * only tag-loaded scripts are injected.\n\t * @property JAVASCRIPT\n\t * @type {String}\n\t * @default javascript\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.JAVASCRIPT = \"javascript\";\n\n\t/**\n\t * The preload type for json files, usually with the \"json\" file extension. JSON data is loaded and parsed into a\n\t * JavaScript object. Note that if a `callback` is present on the load item, the file will be loaded with JSONP,\n\t * no matter what the {{#crossLink \"LoadQueue/preferXHR:property\"}}{{/crossLink}} property is set to, and the JSON\n\t * must contain a matching wrapper function.\n\t * @property JSON\n\t * @type {String}\n\t * @default json\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.JSON = \"json\";\n\n\t/**\n\t * The preload type for jsonp files, usually with the \"json\" file extension. JSON data is loaded and parsed into a\n\t * JavaScript object. You are required to pass a callback parameter that matches the function wrapper in the JSON.\n\t * Note that JSONP will always be used if there is a callback present, no matter what the {{#crossLink \"LoadQueue/preferXHR:property\"}}{{/crossLink}}\n\t * property is set to.\n\t * @property JSONP\n\t * @type {String}\n\t * @default jsonp\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.JSONP = \"jsonp\";\n\n\t/**\n\t * The preload type for json-based manifest files, usually with the \"json\" file extension. The JSON data is loaded\n\t * and parsed into a JavaScript object. PreloadJS will then look for a \"manifest\" property in the JSON, which is an\n\t * Array of files to load, following the same format as the {{#crossLink \"LoadQueue/loadManifest\"}}{{/crossLink}}\n\t * method. If a \"callback\" is specified on the manifest object, then it will be loaded using JSONP instead,\n\t * regardless of what the {{#crossLink \"LoadQueue/preferXHR:property\"}}{{/crossLink}} property is set to.\n\t * @property MANIFEST\n\t * @type {String}\n\t * @default manifest\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.MANIFEST = \"manifest\";\n\n\t/**\n\t * The preload type for sound files, usually mp3, ogg, or wav. When loading via tags, audio is loaded into an\n\t * <audio> tag.\n\t * @property SOUND\n\t * @type {String}\n\t * @default sound\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.SOUND = \"sound\";\n\n\t/**\n\t * The preload type for video files, usually mp4, ts, or ogg. When loading via tags, video is loaded into an\n\t * <video> tag.\n\t * @property VIDEO\n\t * @type {String}\n\t * @default video\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.VIDEO = \"video\";\n\n\t/**\n\t * The preload type for SpriteSheet files. SpriteSheet files are JSON files that contain string image paths.\n\t * @property SPRITESHEET\n\t * @type {String}\n\t * @default spritesheet\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.SPRITESHEET = \"spritesheet\";\n\n\t/**\n\t * The preload type for SVG files.\n\t * @property SVG\n\t * @type {String}\n\t * @default svg\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.SVG = \"svg\";\n\n\t/**\n\t * The preload type for text files, which is also the default file type if the type can not be determined. Text is\n\t * loaded as raw text.\n\t * @property TEXT\n\t * @type {String}\n\t * @default text\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.TEXT = \"text\";\n\n\t/**\n\t * The preload type for xml files. XML is loaded into an XML document.\n\t * @property XML\n\t * @type {String}\n\t * @default xml\n\t * @static\n\t * @since 0.6.0\n\t */\n\ts.XML = \"xml\";\n\n\tcreatejs.Types = s;\n}());\n\n//##############################################################################\n// Elements.js\n//##############################################################################\n\n(function () {\n\n\t/**\n\t * Convenience methods for creating various elements used by PrelaodJS.\n\t *\n\t * @class DomUtils\n\t */\n\tvar s = {};\n\n\ts.a = function () {\n\t\treturn s.el(\"a\");\n\t}\n\n\ts.svg = function () {\n\t\treturn s.el(\"svg\");\n\t}\n\n\ts.object = function () {\n\t\treturn s.el(\"object\");\n\t}\n\n\ts.image = function () {\n\t\treturn s.el(\"image\");\n\t}\n\n\ts.img = function () {\n\t\treturn s.el(\"img\");\n\t}\n\n\ts.style = function () {\n\t\treturn s.el(\"style\");\n\t}\n\n\ts.link = function () {\n\t\treturn s.el(\"link\");\n\t}\n\n\ts.script = function () {\n\t\treturn s.el(\"script\");\n\t}\n\n\ts.audio = function () {\n\t\treturn s.el(\"audio\");\n\t}\n\n\ts.video = function () {\n\t\treturn s.el(\"video\");\n\t}\n\n\ts.text = function (value) {\n\t\treturn document.createTextNode(value);\n\t}\n\n\ts.el = function (name) {\n\t\treturn document.createElement(name);\n\t}\n\n\tcreatejs.Elements = s;\n\n}());\n\n//##############################################################################\n// DomUtils.js\n//##############################################################################\n\n(function () {\n\n\t/**\n\t * A few utilities for interacting with the dom.\n\t * @class DomUtils\n\t */\n\tvar s = {\n\t\tcontainer: null\n\t};\n\n\ts.appendToHead = function (el) {\n\t\ts.getHead().appendChild(el);\n\t}\n\n\ts.appendToBody = function (el) {\n\t\tif (s.container == null) {\n\t\t\ts.container = document.createElement(\"div\");\n\t\t\ts.container.id = \"preloadjs-container\";\n\t\t\tvar style = s.container.style;\n\t\t\tstyle.visibility = \"hidden\";\n\t\t\tstyle.position = \"absolute\";\n\t\t\tstyle.width = s.container.style.height = \"10px\";\n\t\t\tstyle.overflow = \"hidden\";\n\t\t\tstyle.transform = style.msTransform = style.webkitTransform = style.oTransform = \"translate(-10px, -10px)\"; //LM: Not working\n\t\t\ts.getBody().appendChild(s.container);\n\t\t}\n\t\ts.container.appendChild(el);\n\t}\n\n\ts.getHead = function () {\n\t\treturn document.head || document.getElementsByTagName(\"head\")[0];\n\t}\n\n\ts.getBody = function () {\n\t\treturn document.body || document.getElementsByTagName(\"body\")[0];\n\t}\n\n\ts.removeChild = function (el) {\n\t\tif (el.parent) {\n\t\t\tel.parent.removeChild(el);\n\t\t}\n\t}\n\n\t/**\n\t * Check if item is a valid HTMLImageElement\n\t * @method isImageTag\n\t * @param {Object} item\n\t * @returns {Boolean}\n\t * @static\n\t */\n\ts.isImageTag = function (item) {\n\t\treturn item instanceof HTMLImageElement;\n\t};\n\n\t/**\n\t * Check if item is a valid HTMLAudioElement\n\t * @method isAudioTag\n\t * @param {Object} item\n\t * @returns {Boolean}\n\t * @static\n\t */\n\ts.isAudioTag = function (item) {\n\t\tif (window.HTMLAudioElement) {\n\t\t\treturn item instanceof HTMLAudioElement;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * Check if item is a valid HTMLVideoElement\n\t * @method isVideoTag\n\t * @param {Object} item\n\t * @returns {Boolean}\n\t * @static\n\t */\n\ts.isVideoTag = function (item) {\n\t\tif (window.HTMLVideoElement) {\n\t\t\treturn item instanceof HTMLVideoElement;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tcreatejs.DomUtils = s;\n\n}());\n\n//##############################################################################\n// RequestUtils.js\n//##############################################################################\n\n(function () {\n\n\t/**\n\t * Utilities that assist with parsing load items, and determining file types, etc.\n\t * @class RequestUtils\n\t */\n\tvar s = {};\n\n\t/**\n\t * Determine if a specific type should be loaded as a binary file. Currently, only images and items marked\n\t * specifically as \"binary\" are loaded as binary. Note that audio is not a binary type, as we can not play\n\t * back using an audio tag if it is loaded as binary. Plugins can change the item type to binary to ensure they get\n\t * a binary result to work with. Binary files are loaded using XHR2. Types are defined as static constants on\n\t * {{#crossLink \"AbstractLoader\"}}{{/crossLink}}.\n\t * @method isBinary\n\t * @param {String} type The item type.\n\t * @return {Boolean} If the specified type is binary.\n\t * @static\n\t */\n\ts.isBinary = function (type) {\n\t\tswitch (type) {\n\t\t\tcase createjs.Types.IMAGE:\n\t\t\tcase createjs.Types.BINARY:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * Determine if a specific type is a text-based asset, and should be loaded as UTF-8.\n\t * @method isText\n\t * @param {String} type The item type.\n\t * @return {Boolean} If the specified type is text.\n\t * @static\n\t */\n\ts.isText = function (type) {\n\t\tswitch (type) {\n\t\t\tcase createjs.Types.TEXT:\n\t\t\tcase createjs.Types.JSON:\n\t\t\tcase createjs.Types.MANIFEST:\n\t\t\tcase createjs.Types.XML:\n\t\t\tcase createjs.Types.CSS:\n\t\t\tcase createjs.Types.SVG:\n\t\t\tcase createjs.Types.JAVASCRIPT:\n\t\t\tcase createjs.Types.SPRITESHEET:\n\t\t\t\treturn true;\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t};\n\n\t/**\n\t * Determine the type of the object using common extensions. Note that the type can be passed in with the load item\n\t * if it is an unusual extension.\n\t * @method getTypeByExtension\n\t * @param {String} extension The file extension to use to determine the load type.\n\t * @return {String} The determined load type (for example, `createjs.Types.IMAGE`). Will return `null` if\n\t * the type can not be determined by the extension.\n\t * @static\n\t */\n\ts.getTypeByExtension = function (extension) {\n\t\tif (extension == null) {\n\t\t\treturn createjs.Types.TEXT;\n\t\t}\n\n\t\tswitch (extension.toLowerCase()) {\n\t\t\tcase \"jpeg\":\n\t\t\tcase \"jpg\":\n\t\t\tcase \"gif\":\n\t\t\tcase \"png\":\n\t\t\tcase \"webp\":\n\t\t\tcase \"bmp\":\n\t\t\t\treturn createjs.Types.IMAGE;\n\t\t\tcase \"ogg\":\n\t\t\tcase \"mp3\":\n\t\t\tcase \"webm\":\n\t\t\t\treturn createjs.Types.SOUND;\n\t\t\tcase \"mp4\":\n\t\t\tcase \"ts\":\n\t\t\t\treturn createjs.Types.VIDEO;\n\t\t\tcase \"json\":\n\t\t\t\treturn createjs.Types.JSON;\n\t\t\tcase \"xml\":\n\t\t\t\treturn createjs.Types.XML;\n\t\t\tcase \"css\":\n\t\t\t\treturn createjs.Types.CSS;\n\t\t\tcase \"js\":\n\t\t\t\treturn createjs.Types.JAVASCRIPT;\n\t\t\tcase 'svg':\n\t\t\t\treturn createjs.Types.SVG;\n\t\t\tdefault:\n\t\t\t\treturn createjs.Types.TEXT;\n\t\t}\n\t};\n\n\tcreatejs.RequestUtils = s;\n\n}());\n\n//##############################################################################\n// URLUtils.js\n//##############################################################################\n\n(function () {\n\n\t/**\n\t * Utilities that assist with parsing load items, and determining file types, etc.\n\t * @class URLUtils\n\t */\n\tvar s = {};\n\n\t/**\n\t * The Regular Expression used to test file URLS for an absolute path.\n\t * @property ABSOLUTE_PATH\n\t * @type {RegExp}\n\t * @static\n\t */\n\ts.ABSOLUTE_PATT = /^(?:\\w+:)?\\/{2}/i;\n\n\t/**\n\t * The Regular Expression used to test file URLS for a relative path.\n\t * @property RELATIVE_PATH\n\t * @type {RegExp}\n\t * @static\n\t */\n\ts.RELATIVE_PATT = (/^[./]*?\\//i);\n\n\t/**\n\t * The Regular Expression used to test file URLS for an extension. Note that URIs must already have the query string\n\t * removed.\n\t * @property EXTENSION_PATT\n\t * @type {RegExp}\n\t * @static\n\t */\n\ts.EXTENSION_PATT = /\\/?[^/]+\\.(\\w{1,5})$/i;\n\n\t/**\n\t * Parse a file path to determine the information we need to work with it. Currently, PreloadJS needs to know:\n\t * \n\t *\n\t * @method parseURI\n\t * @param {String} path\n\t * @returns {Object} An Object with an `absolute` and `relative` Boolean values,\n\t * \tthe pieces of the path (protocol, hostname, port, pathname, search, hash, host)\n\t * \tas well as an optional 'extension` property, which is the lowercase extension.\n\t *\n\t * @static\n\t */\n\ts.parseURI = function (path) {\n\t\tvar info = {\n\t\t\tabsolute: false,\n\t\t\trelative: false,\n\t\t\tprotocol: null,\n\t\t\thostname: null,\n\t\t\tport: null,\n\t\t\tpathname: null,\n\t\t\tsearch: null,\n\t\t\thash: null,\n\t\t\thost: null\n\t\t};\n\n\t\tif (path == null) { return info; }\n\n\t\t// Inject the path parts.\n\t\tvar parser = createjs.Elements.a();\n\t\tparser.href = path;\n\n\t\tfor (var n in info) {\n\t\t\tif (n in parser) {\n\t\t\t\tinfo[n] = parser[n];\n\t\t\t}\n\t\t}\n\n\t\t// Drop the query string\n\t\tvar queryIndex = path.indexOf(\"?\");\n\t\tif (queryIndex > -1) {\n\t\t\tpath = path.substr(0, queryIndex);\n\t\t}\n\n\t\t// Absolute\n\t\tvar match;\n\t\tif (s.ABSOLUTE_PATT.test(path)) {\n\t\t\tinfo.absolute = true;\n\n\t\t\t// Relative\n\t\t} else if (s.RELATIVE_PATT.test(path)) {\n\t\t\tinfo.relative = true;\n\t\t}\n\n\t\t// Extension\n\t\t// eslint-disable-next-line no-cond-assign\n\t\tif (match = path.match(s.EXTENSION_PATT)) {\n\t\t\tinfo.extension = match[1].toLowerCase();\n\t\t}\n\n\t\treturn info;\n\t};\n\n\t/**\n\t * Formats an object into a query string for either a POST or GET request.\n\t * @method formatQueryString\n\t * @param {Object} data The data to convert to a query string.\n\t * @param {Array} [query] Existing name/value pairs to append on to this query.\n\t * @static\n\t */\n\ts.formatQueryString = function (data, query) {\n\t\tif (data == null) {\n\t\t\tthrow new Error(\"You must specify data.\");\n\t\t}\n\t\tvar params = [];\n\t\tfor (var n in data) {\n\t\t\tparams.push(n + \"=\" + escape(data[n]));\n\t\t}\n\t\tif (query) {\n\t\t\tparams = params.concat(query);\n\t\t}\n\t\treturn params.join(\"&\");\n\t};\n\n\t/**\n\t * A utility method that builds a file path using a source and a data object, and formats it into a new path.\n\t * @method buildURI\n\t * @param {String} src The source path to add values to.\n\t * @param {Object} [data] Object used to append values to this request as a query string. Existing parameters on the\n\t * path will be preserved.\n\t * @returns {string} A formatted string that contains the path and the supplied parameters.\n\t * @static\n\t */\n\ts.buildURI = function (src, data) {\n\t\tif (data == null) {\n\t\t\treturn src;\n\t\t}\n\n\t\tvar query = [];\n\t\tvar idx = src.indexOf(\"?\");\n\n\t\tif (idx != -1) {\n\t\t\tvar q = src.slice(idx + 1);\n\t\t\tquery = query.concat(q.split(\"&\"));\n\t\t}\n\n\t\tif (idx != -1) {\n\t\t\treturn src.slice(0, idx) + \"?\" + this.formatQueryString(data, query);\n\t\t} else {\n\t\t\treturn src + \"?\" + this.formatQueryString(data, query);\n\t\t}\n\t};\n\n\t/**\n\t * @method isCrossDomain\n\t * @param {LoadItem|Object} item A load item with a `src` property.\n\t * @return {Boolean} If the load item is loading from a different domain than the current location.\n\t * @static\n\t */\n\ts.isCrossDomain = function (item) {\n\t\tvar target = createjs.Elements.a();\n\t\ttarget.href = item.src;\n\n\t\tvar host = createjs.Elements.a();\n\t\thost.href = location.href;\n\n\t\tvar crossdomain = (target.hostname != \"\") &&\n\t\t\t(target.port != host.port ||\n\t\t\t\ttarget.protocol != host.protocol ||\n\t\t\t\ttarget.hostname != host.hostname);\n\t\treturn crossdomain;\n\t};\n\n\t/**\n\t * @method isLocal\n\t * @param {LoadItem|Object} item A load item with a `src` property\n\t * @return {Boolean} If the load item is loading from the \"file:\" protocol. Assume that the host must be local as\n\t * well.\n\t * @static\n\t */\n\ts.isLocal = function (item) {\n\t\tvar target = createjs.Elements.a();\n\t\ttarget.href = item.src;\n\t\treturn target.hostname == \"\" && target.protocol == \"file:\";\n\t};\n\n\tcreatejs.URLUtils = s;\n\n}());\n\n//##############################################################################\n// AbstractLoader.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * The base loader, which defines all the generic methods, properties, and events. All loaders extend this class,\n\t * including the {{#crossLink \"LoadQueue\"}}{{/crossLink}}.\n\t * @class AbstractLoader\n\t * @param {LoadItem|object|string} loadItem The item to be loaded.\n\t * @param {Boolean} [preferXHR] Determines if the LoadItem should try and load using XHR, or take a\n\t * tag-based approach, which can be better in cross-domain situations. Not all loaders can load using one or the\n\t * other, so this is a suggested directive.\n\t * @param {String} [type] The type of loader. Loader types are defined as constants on the AbstractLoader class,\n\t * such as {{#crossLink \"IMAGE:property\"}}{{/crossLink}}, {{#crossLink \"CSS:property\"}}{{/crossLink}}, etc.\n\t * @extends EventDispatcher\n\t */\n\tfunction AbstractLoader(loadItem, preferXHR, type) {\n\t\tthis.EventDispatcher_constructor();\n\n\t\t// public properties\n\t\t/**\n\t\t * If the loader has completed loading. This provides a quick check, but also ensures that the different approaches\n\t\t * used for loading do not pile up resulting in more than one `complete` {{#crossLink \"Event\"}}{{/crossLink}}.\n\t\t * @property loaded\n\t\t * @type {Boolean}\n\t\t * @default false\n\t\t */\n\t\tthis.loaded = false;\n\n\t\t/**\n\t\t * Determine if the loader was canceled. Canceled loads will not fire complete events. Note that this property\n\t\t * is readonly, so {{#crossLink \"LoadQueue\"}}{{/crossLink}} queues should be closed using {{#crossLink \"LoadQueue/close\"}}{{/crossLink}}\n\t\t * instead.\n\t\t * @property canceled\n\t\t * @type {Boolean}\n\t\t * @default false\n\t\t * @readonly\n\t\t */\n\t\tthis.canceled = false;\n\n\t\t/**\n\t\t * The current load progress (percentage) for this item. This will be a number between 0 and 1.\n\t\t *\n\t\t *

Example

\n\t\t *\n\t\t * var queue = new createjs.LoadQueue();\n\t\t * queue.loadFile(\"largeImage.png\");\n\t\t * queue.on(\"progress\", function() {\n\t\t * console.log(\"Progress:\", queue.progress, event.progress);\n\t\t * });\n\t\t *\n\t\t * @property progress\n\t\t * @type {Number}\n\t\t * @default 0\n\t\t */\n\t\tthis.progress = 0;\n\n\t\t/**\n\t\t * The type of item this loader will load. See {{#crossLink \"AbstractLoader\"}}{{/crossLink}} for a full list of\n\t\t * supported types.\n\t\t * @property type\n\t\t * @type {String}\n\t\t */\n\t\tthis.type = type;\n\n\t\t/**\n\t\t * A formatter function that converts the loaded raw result into the final result. For example, the JSONLoader\n\t\t * converts a string of text into a JavaScript object. Not all loaders have a resultFormatter, and this property\n\t\t * can be overridden to provide custom formatting.\n\t\t *\n\t\t * Optionally, a resultFormatter can return a callback function in cases where the formatting needs to be\n\t\t * asynchronous, such as creating a new image. The callback function is passed 2 parameters, which are callbacks\n\t\t * to handle success and error conditions in the resultFormatter. Note that the resultFormatter method is\n\t\t * called in the current scope, as well as the success and error callbacks.\n\t\t *\n\t\t *

Example asynchronous resultFormatter

\n\t\t *\n\t\t * \tfunction _formatResult(loader) {\n\t\t * \t\treturn function(success, error) {\n\t\t * \t\t\tif (errorCondition) { error(errorDetailEvent); }\n\t\t * \t\t\tsuccess(result);\n\t\t * \t\t}\n\t\t * \t}\n\t\t * @property resultFormatter\n\t\t * @type {Function}\n\t\t * @default null\n\t\t */\n\t\tthis.resultFormatter = null;\n\n\t\t// protected properties\n\t\t/**\n\t\t * The {{#crossLink \"LoadItem\"}}{{/crossLink}} this loader represents. Note that this is null in a {{#crossLink \"LoadQueue\"}}{{/crossLink}},\n\t\t * but will be available on loaders such as {{#crossLink \"XMLLoader\"}}{{/crossLink}} and {{#crossLink \"ImageLoader\"}}{{/crossLink}}.\n\t\t * @property _item\n\t\t * @type {LoadItem|Object}\n\t\t * @private\n\t\t */\n\t\tif (loadItem) {\n\t\t\tthis._item = createjs.LoadItem.create(loadItem);\n\t\t} else {\n\t\t\tthis._item = null;\n\t\t}\n\n\t\t/**\n\t\t * Whether the loader will try and load content using XHR (true) or HTML tags (false).\n\t\t * @property _preferXHR\n\t\t * @type {Boolean}\n\t\t * @private\n\t\t */\n\t\tthis._preferXHR = preferXHR;\n\n\t\t/**\n\t\t * The loaded result after it is formatted by an optional {{#crossLink \"resultFormatter\"}}{{/crossLink}}. For\n\t\t * items that are not formatted, this will be the same as the {{#crossLink \"_rawResult:property\"}}{{/crossLink}}.\n\t\t * The result is accessed using the {{#crossLink \"getResult\"}}{{/crossLink}} method.\n\t\t * @property _result\n\t\t * @type {Object|String}\n\t\t * @private\n\t\t */\n\t\tthis._result = null;\n\n\t\t/**\n\t\t * The loaded result before it is formatted. The rawResult is accessed using the {{#crossLink \"getResult\"}}{{/crossLink}}\n\t\t * method, and passing `true`.\n\t\t * @property _rawResult\n\t\t * @type {Object|String}\n\t\t * @private\n\t\t */\n\t\tthis._rawResult = null;\n\n\t\t/**\n\t\t * A list of items that loaders load behind the scenes. This does not include the main item the loader is\n\t\t * responsible for loading. Examples of loaders that have sub-items include the {{#crossLink \"SpriteSheetLoader\"}}{{/crossLink}} and\n\t\t * {{#crossLink \"ManifestLoader\"}}{{/crossLink}}.\n\t\t * @property _loadItems\n\t\t * @type {null}\n\t\t * @protected\n\t\t */\n\t\tthis._loadedItems = null;\n\n\t\t/**\n\t\t * The attribute the items loaded using tags use for the source.\n\t\t * @type {string}\n\t\t * @default null\n\t\t * @private\n\t\t */\n\t\tthis._tagSrcAttribute = null;\n\n\t\t/**\n\t\t * An HTML tag (or similar) that a loader may use to load HTML content, such as images, scripts, etc.\n\t\t * @property _tag\n\t\t * @type {Object}\n\t\t * @private\n\t\t */\n\t\tthis._tag = null;\n\t}\n\n\tvar p = createjs.extend(AbstractLoader, createjs.EventDispatcher);\n\tvar s = AbstractLoader;\n\n\t// Remove these @deprecated properties after 1.0\n\ttry {\n\t\tObject.defineProperties(s, {\n\t\t\tPOST: { get: createjs.deprecate(function () { return createjs.Methods.POST; }, \"AbstractLoader.POST\") },\n\t\t\tGET: { get: createjs.deprecate(function () { return createjs.Methods.GET; }, \"AbstractLoader.GET\") },\n\n\t\t\tBINARY: { get: createjs.deprecate(function () { return createjs.Types.BINARY; }, \"AbstractLoader.BINARY\") },\n\t\t\tCSS: { get: createjs.deprecate(function () { return createjs.Types.CSS; }, \"AbstractLoader.CSS\") },\n\t\t\tFONT: { get: createjs.deprecate(function () { return createjs.Types.FONT; }, \"AbstractLoader.FONT\") },\n\t\t\tFONTCSS: { get: createjs.deprecate(function () { return createjs.Types.FONTCSS; }, \"AbstractLoader.FONTCSS\") },\n\t\t\tIMAGE: { get: createjs.deprecate(function () { return createjs.Types.IMAGE; }, \"AbstractLoader.IMAGE\") },\n\t\t\tJAVASCRIPT: { get: createjs.deprecate(function () { return createjs.Types.JAVASCRIPT; }, \"AbstractLoader.JAVASCRIPT\") },\n\t\t\tJSON: { get: createjs.deprecate(function () { return createjs.Types.JSON; }, \"AbstractLoader.JSON\") },\n\t\t\tJSONP: { get: createjs.deprecate(function () { return createjs.Types.JSONP; }, \"AbstractLoader.JSONP\") },\n\t\t\tMANIFEST: { get: createjs.deprecate(function () { return createjs.Types.MANIFEST; }, \"AbstractLoader.MANIFEST\") },\n\t\t\tSOUND: { get: createjs.deprecate(function () { return createjs.Types.SOUND; }, \"AbstractLoader.SOUND\") },\n\t\t\tVIDEO: { get: createjs.deprecate(function () { return createjs.Types.VIDEO; }, \"AbstractLoader.VIDEO\") },\n\t\t\tSPRITESHEET: { get: createjs.deprecate(function () { return createjs.Types.SPRITESHEET; }, \"AbstractLoader.SPRITESHEET\") },\n\t\t\tSVG: { get: createjs.deprecate(function () { return createjs.Types.SVG; }, \"AbstractLoader.SVG\") },\n\t\t\tTEXT: { get: createjs.deprecate(function () { return createjs.Types.TEXT; }, \"AbstractLoader.TEXT\") },\n\t\t\tXML: { get: createjs.deprecate(function () { return createjs.Types.XML; }, \"AbstractLoader.XML\") }\n\t\t});\n\t} catch (e) { }\n\n\t// Events\n\t/**\n\t * The {{#crossLink \"ProgressEvent\"}}{{/crossLink}} that is fired when the overall progress changes. Prior to\n\t * version 0.6.0, this was just a regular {{#crossLink \"Event\"}}{{/crossLink}}.\n\t * @event progress\n\t * @since 0.3.0\n\t */\n\n\t/**\n\t * The {{#crossLink \"Event\"}}{{/crossLink}} that is fired when a load starts.\n\t * @event loadstart\n\t * @param {Object} target The object that dispatched the event.\n\t * @param {String} type The event type.\n\t * @since 0.3.1\n\t */\n\n\t/**\n\t * The {{#crossLink \"Event\"}}{{/crossLink}} that is fired when the entire queue has been loaded.\n\t * @event complete\n\t * @param {Object} target The object that dispatched the event.\n\t * @param {String} type The event type.\n\t * @since 0.3.0\n\t */\n\n\t/**\n\t * The {{#crossLink \"ErrorEvent\"}}{{/crossLink}} that is fired when the loader encounters an error. If the error was\n\t * encountered by a file, the event will contain the item that caused the error. Prior to version 0.6.0, this was\n\t * just a regular {{#crossLink \"Event\"}}{{/crossLink}}.\n\t * @event error\n\t * @since 0.3.0\n\t */\n\n\t/**\n\t * The {{#crossLink \"Event\"}}{{/crossLink}} that is fired when the loader encounters an internal file load error.\n\t * This enables loaders to maintain internal queues, and surface file load errors.\n\t * @event fileerror\n\t * @param {Object} target The object that dispatched the event.\n\t * @param {String} type The event type (\"fileerror\")\n\t * @param {LoadItem|object} The item that encountered the error\n\t * @since 0.6.0\n\t */\n\n\t/**\n\t * The {{#crossLink \"Event\"}}{{/crossLink}} that is fired when a loader internally loads a file. This enables\n\t * loaders such as {{#crossLink \"ManifestLoader\"}}{{/crossLink}} to maintain internal {{#crossLink \"LoadQueue\"}}{{/crossLink}}s\n\t * and notify when they have loaded a file. The {{#crossLink \"LoadQueue\"}}{{/crossLink}} class dispatches a\n\t * slightly different {{#crossLink \"LoadQueue/fileload:event\"}}{{/crossLink}} event.\n\t * @event fileload\n\t * @param {Object} target The object that dispatched the event.\n\t * @param {String} type The event type (\"fileload\")\n\t * @param {Object} item The file item which was specified in the {{#crossLink \"LoadQueue/loadFile\"}}{{/crossLink}}\n\t * or {{#crossLink \"LoadQueue/loadManifest\"}}{{/crossLink}} call. If only a string path or tag was specified, the\n\t * object will contain that value as a `src` property.\n\t * @param {Object} result The HTML tag or parsed result of the loaded item.\n\t * @param {Object} rawResult The unprocessed result, usually the raw text or binary data before it is converted\n\t * to a usable object.\n\t * @since 0.6.0\n\t */\n\n\t/**\n\t * The {{#crossLink \"Event\"}}{{/crossLink}} that is fired after the internal request is created, but before a load.\n\t * This allows updates to the loader for specific loading needs, such as binary or XHR image loading.\n\t * @event initialize\n\t * @param {Object} target The object that dispatched the event.\n\t * @param {String} type The event type (\"initialize\")\n\t * @param {AbstractLoader} loader The loader that has been initialized.\n\t */\n\n\n\t/**\n\t * Get a reference to the manifest item that is loaded by this loader. In some cases this will be the value that was\n\t * passed into {{#crossLink \"LoadQueue\"}}{{/crossLink}} using {{#crossLink \"LoadQueue/loadFile\"}}{{/crossLink}} or\n\t * {{#crossLink \"LoadQueue/loadManifest\"}}{{/crossLink}}. However if only a String path was passed in, then it will\n\t * be a {{#crossLink \"LoadItem\"}}{{/crossLink}}.\n\t * @method getItem\n\t * @return {Object} The manifest item that this loader is responsible for loading.\n\t * @since 0.6.0\n\t */\n\tp.getItem = function () {\n\t\treturn this._item;\n\t};\n\n\t/**\n\t * Get a reference to the content that was loaded by the loader (only available after the {{#crossLink \"complete:event\"}}{{/crossLink}}\n\t * event is dispatched.\n\t * @method getResult\n\t * @param {Boolean} [raw=false] Determines if the returned result will be the formatted content, or the raw loaded\n\t * data (if it exists).\n\t * @return {Object}\n\t * @since 0.6.0\n\t */\n\tp.getResult = function (raw) {\n\t\treturn raw ? this._rawResult : this._result;\n\t};\n\n\t/**\n\t * Return the `tag` this object creates or uses for loading.\n\t * @method getTag\n\t * @return {Object} The tag instance\n\t * @since 0.6.0\n\t */\n\tp.getTag = function () {\n\t\treturn this._tag;\n\t};\n\n\t/**\n\t * Set the `tag` this item uses for loading.\n\t * @method setTag\n\t * @param {Object} tag The tag instance\n\t * @since 0.6.0\n\t */\n\tp.setTag = function (tag) {\n\t\tthis._tag = tag;\n\t};\n\n\t/**\n\t * Begin loading the item. This method is required when using a loader by itself.\n\t *\n\t *

Example

\n\t *\n\t * var queue = new createjs.LoadQueue();\n\t * queue.on(\"complete\", handleComplete);\n\t * queue.loadManifest(fileArray, false); // Note the 2nd argument that tells the queue not to start loading yet\n\t * queue.load();\n\t *\n\t * @method load\n\t */\n\tp.load = function () {\n\t\tthis._createRequest();\n\n\t\tthis._request.on(\"complete\", this, this);\n\t\tthis._request.on(\"progress\", this, this);\n\t\tthis._request.on(\"loadStart\", this, this);\n\t\tthis._request.on(\"abort\", this, this);\n\t\tthis._request.on(\"timeout\", this, this);\n\t\tthis._request.on(\"error\", this, this);\n\n\t\tvar evt = new createjs.Event(\"initialize\");\n\t\tevt.loader = this._request;\n\t\tthis.dispatchEvent(evt);\n\n\t\tthis._request.load();\n\t};\n\n\t/**\n\t * Close the the item. This will stop any open requests (although downloads using HTML tags may still continue in\n\t * the background), but events will not longer be dispatched.\n\t * @method cancel\n\t */\n\tp.cancel = function () {\n\t\tthis.canceled = true;\n\t\tthis.destroy();\n\t};\n\n\t/**\n\t * Clean up the loader.\n\t * @method destroy\n\t */\n\tp.destroy = function () {\n\t\tif (this._request) {\n\t\t\tthis._request.removeAllEventListeners();\n\t\t\tthis._request.destroy();\n\t\t}\n\n\t\tthis._request = null;\n\n\t\tthis._item = null;\n\t\tthis._rawResult = null;\n\t\tthis._result = null;\n\n\t\tthis._loadItems = null;\n\n\t\tthis.removeAllEventListeners();\n\t};\n\n\t/**\n\t * Get any items loaded internally by the loader. The enables loaders such as {{#crossLink \"ManifestLoader\"}}{{/crossLink}}\n\t * to expose items it loads internally.\n\t * @method getLoadedItems\n\t * @return {Array} A list of the items loaded by the loader.\n\t * @since 0.6.0\n\t */\n\tp.getLoadedItems = function () {\n\t\treturn this._loadedItems;\n\t};\n\n\n\t// Private methods\n\t/**\n\t * Create an internal request used for loading. By default, an {{#crossLink \"XHRRequest\"}}{{/crossLink}} or\n\t * {{#crossLink \"TagRequest\"}}{{/crossLink}} is created, depending on the value of {{#crossLink \"preferXHR:property\"}}{{/crossLink}}.\n\t * Other loaders may override this to use different request types, such as {{#crossLink \"ManifestLoader\"}}{{/crossLink}},\n\t * which uses {{#crossLink \"JSONLoader\"}}{{/crossLink}} or {{#crossLink \"JSONPLoader\"}}{{/crossLink}} under the hood.\n\t * @method _createRequest\n\t * @protected\n\t */\n\tp._createRequest = function () {\n\t\tif (!this._preferXHR) {\n\t\t\tthis._request = new createjs.TagRequest(this._item, this._tag || this._createTag(), this._tagSrcAttribute);\n\t\t} else {\n\t\t\tthis._request = new createjs.XHRRequest(this._item);\n\t\t}\n\t};\n\n\t/**\n\t * Create the HTML tag used for loading. This method does nothing by default, and needs to be implemented\n\t * by loaders that require tag loading.\n\t * @method _createTag\n\t * @param {String} src The tag source\n\t * @return {HTMLElement} The tag that was created\n\t * @protected\n\t */\n\tp._createTag = function (src) { return null; };\n\n\t/**\n\t * Dispatch a loadstart {{#crossLink \"Event\"}}{{/crossLink}}. Please see the {{#crossLink \"AbstractLoader/loadstart:event\"}}{{/crossLink}}\n\t * event for details on the event payload.\n\t * @method _sendLoadStart\n\t * @protected\n\t */\n\tp._sendLoadStart = function () {\n\t\tif (this._isCanceled()) { return; }\n\t\tthis.dispatchEvent(\"loadstart\");\n\t};\n\n\t/**\n\t * Dispatch a {{#crossLink \"ProgressEvent\"}}{{/crossLink}}.\n\t * @method _sendProgress\n\t * @param {Number | Object} value The progress of the loaded item, or an object containing loaded\n\t * and total properties.\n\t * @protected\n\t */\n\tp._sendProgress = function (value) {\n\t\tif (this._isCanceled()) { return; }\n\t\tvar event = null;\n\t\tif (typeof (value) == \"number\") {\n\t\t\tthis.progress = value;\n\t\t\tevent = new createjs.ProgressEvent(this.progress);\n\t\t} else {\n\t\t\tevent = value;\n\t\t\tthis.progress = value.loaded / value.total;\n\t\t\tevent.progress = this.progress;\n\t\t\tif (isNaN(this.progress) || this.progress == Infinity) { this.progress = 0; }\n\t\t}\n\t\tthis.hasEventListener(\"progress\") && this.dispatchEvent(event);\n\t};\n\n\t/**\n\t * Dispatch a complete {{#crossLink \"Event\"}}{{/crossLink}}. Please see the {{#crossLink \"AbstractLoader/complete:event\"}}{{/crossLink}} event\n\t * @method _sendComplete\n\t * @protected\n\t */\n\tp._sendComplete = function () {\n\t\tif (this._isCanceled()) { return; }\n\n\t\tthis.loaded = true;\n\n\t\tvar event = new createjs.Event(\"complete\");\n\t\tevent.rawResult = this._rawResult;\n\n\t\tif (this._result != null) {\n\t\t\tevent.result = this._result;\n\t\t}\n\n\t\tthis.dispatchEvent(event);\n\t};\n\n\t/**\n\t * Dispatch an error {{#crossLink \"Event\"}}{{/crossLink}}. Please see the {{#crossLink \"AbstractLoader/error:event\"}}{{/crossLink}}\n\t * event for details on the event payload.\n\t * @method _sendError\n\t * @param {ErrorEvent} event The event object containing specific error properties.\n\t * @protected\n\t */\n\tp._sendError = function (event) {\n\t\tif (this._isCanceled() || !this.hasEventListener(\"error\")) { return; }\n\t\tif (event == null) {\n\t\t\tevent = new createjs.ErrorEvent(\"PRELOAD_ERROR_EMPTY\"); // TODO: Populate error\n\t\t}\n\t\tthis.dispatchEvent(event);\n\t};\n\n\t/**\n\t * Determine if the load has been canceled. This is important to ensure that method calls or asynchronous events\n\t * do not cause issues after the queue has been cleaned up.\n\t * @method _isCanceled\n\t * @return {Boolean} If the loader has been canceled.\n\t * @protected\n\t */\n\tp._isCanceled = function () {\n\t\tif (window.createjs == null || this.canceled) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\t/**\n\t * A custom result formatter function, which is called just before a request dispatches its complete event. Most\n\t * loader types already have an internal formatter, but this can be user-overridden for custom formatting. The\n\t * formatted result will be available on Loaders using {{#crossLink \"getResult\"}}{{/crossLink}}, and passing `true`.\n\t * @property resultFormatter\n\t * @type Function\n\t * @return {Object} The formatted result\n\t * @since 0.6.0\n\t */\n\tp.resultFormatter = null;\n\n\t/**\n\t * Handle events from internal requests. By default, loaders will handle, and redispatch the necessary events, but\n\t * this method can be overridden for custom behaviours.\n\t * @method handleEvent\n\t * @param {Event} event The event that the internal request dispatches.\n\t * @protected\n\t * @since 0.6.0\n\t */\n\tp.handleEvent = function (event) {\n\t\tswitch (event.type) {\n\t\t\tcase \"complete\":\n\t\t\t\tthis._rawResult = event.target._response;\n\t\t\t\tvar result = this.resultFormatter && this.resultFormatter(this);\n\t\t\t\t// The resultFormatter is asynchronous\n\t\t\t\tif (result instanceof Function) {\n\t\t\t\t\tresult.call(this,\n\t\t\t\t\t\tcreatejs.proxy(this._resultFormatSuccess, this),\n\t\t\t\t\t\tcreatejs.proxy(this._resultFormatFailed, this)\n\t\t\t\t\t);\n\t\t\t\t\t// The result formatter is synchronous\n\t\t\t\t} else {\n\t\t\t\t\tthis._result = result || this._rawResult;\n\t\t\t\t\tthis._sendComplete();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"progress\":\n\t\t\t\tthis._sendProgress(event);\n\t\t\t\tbreak;\n\t\t\tcase \"error\":\n\t\t\t\tthis._sendError(event);\n\t\t\t\tbreak;\n\t\t\tcase \"loadstart\":\n\t\t\t\tthis._sendLoadStart();\n\t\t\t\tbreak;\n\t\t\tcase \"abort\":\n\t\t\tcase \"timeout\":\n\t\t\t\tif (!this._isCanceled()) {\n\t\t\t\t\tthis.dispatchEvent(new createjs.ErrorEvent(\"PRELOAD_\" + event.type.toUpperCase() + \"_ERROR\"));\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\t/**\n\t * The \"success\" callback passed to {{#crossLink \"AbstractLoader/resultFormatter\"}}{{/crossLink}} asynchronous\n\t * functions.\n\t * @method _resultFormatSuccess\n\t * @param {Object} result The formatted result\n\t * @private\n\t */\n\tp._resultFormatSuccess = function (result) {\n\t\tthis._result = result;\n\t\tthis._sendComplete();\n\t};\n\n\t/**\n\t * The \"error\" callback passed to {{#crossLink \"AbstractLoader/resultFormatter\"}}{{/crossLink}} asynchronous\n\t * functions.\n\t * @method _resultFormatSuccess\n\t * @param {Object} error The error event\n\t * @private\n\t */\n\tp._resultFormatFailed = function (event) {\n\t\tthis._sendError(event);\n\t};\n\n\t/**\n\t * @method toString\n\t * @return {String} a string representation of the instance.\n\t */\n\tp.toString = function () {\n\t\treturn \"[PreloadJS AbstractLoader]\";\n\t};\n\n\tcreatejs.AbstractLoader = createjs.promote(AbstractLoader, \"EventDispatcher\");\n\n}());\n\n//##############################################################################\n// AbstractMediaLoader.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * The AbstractMediaLoader is a base class that handles some of the shared methods and properties of loaders that\n\t * handle HTML media elements, such as Video and Audio.\n\t * @class AbstractMediaLoader\n\t * @param {LoadItem|Object} loadItem\n\t * @param {Boolean} preferXHR\n\t * @param {String} type The type of media to load. Usually \"video\" or \"audio\".\n\t * @extends AbstractLoader\n\t * @constructor\n\t */\n\tfunction AbstractMediaLoader(loadItem, preferXHR, type) {\n\t\tthis.AbstractLoader_constructor(loadItem, preferXHR, type);\n\n\t\t// public properties\n\t\tthis.resultFormatter = this._formatResult;\n\n\t\t// protected properties\n\t\tthis._tagSrcAttribute = \"src\";\n\n\t\tthis.on(\"initialize\", this._updateXHR, this);\n\t}\n\n\tvar p = createjs.extend(AbstractMediaLoader, createjs.AbstractLoader);\n\n\t// static properties\n\t// public methods\n\tp.load = function () {\n\t\t// TagRequest will handle most of this, but Sound / Video need a few custom properties, so just handle them here.\n\t\tif (!this._tag) {\n\t\t\tthis._tag = this._createTag(this._item.src);\n\t\t}\n\n\t\tthis._tag.preload = \"auto\";\n\t\tthis._tag.load();\n\n\t\tthis.AbstractLoader_load();\n\t};\n\n\t// protected methods\n\t/**\n\t * Creates a new tag for loading if it doesn't exist yet.\n\t * @method _createTag\n\t * @private\n\t */\n\tp._createTag = function () { };\n\n\n\tp._createRequest = function () {\n\t\tif (!this._preferXHR) {\n\t\t\tthis._request = new createjs.MediaTagRequest(this._item, this._tag || this._createTag(), this._tagSrcAttribute);\n\t\t} else {\n\t\t\tthis._request = new createjs.XHRRequest(this._item);\n\t\t}\n\t};\n\n\t// protected methods\n\t/**\n\t * Before the item loads, set its mimeType and responseType.\n\t * @property _updateXHR\n\t * @param {Event} event\n\t * @private\n\t */\n\tp._updateXHR = function (event) {\n\t\t// Only exists for XHR\n\t\tif (event.loader.setResponseType) {\n\t\t\tevent.loader.setResponseType(\"blob\");\n\t\t}\n\t};\n\n\t/**\n\t * The result formatter for media files.\n\t * @method _formatResult\n\t * @param {AbstractLoader} loader\n\t * @returns {HTMLVideoElement|HTMLAudioElement}\n\t * @private\n\t */\n\tp._formatResult = function (loader) {\n\t\tthis._tag.removeEventListener && this._tag.removeEventListener(\"canplaythrough\", this._loadedHandler);\n\t\tthis._tag.onstalled = null;\n\t\tif (this._preferXHR) {\n\t\t\tvar URL = window.URL || window.webkitURL;\n\t\t\tvar result = loader.getResult(true);\n\n\t\t\tloader.getTag().src = URL.createObjectURL(result);\n\t\t}\n\t\treturn loader.getTag();\n\t};\n\n\tcreatejs.AbstractMediaLoader = createjs.promote(AbstractMediaLoader, \"AbstractLoader\");\n\n}());\n\n//##############################################################################\n// AbstractRequest.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * A base class for actual data requests, such as {{#crossLink \"XHRRequest\"}}{{/crossLink}}, {{#crossLink \"TagRequest\"}}{{/crossLink}},\n\t * and {{#crossLink \"MediaRequest\"}}{{/crossLink}}. PreloadJS loaders will typically use a data loader under the\n\t * hood to get data.\n\t * @class AbstractRequest\n\t * @param {LoadItem} item\n\t * @constructor\n\t */\n\tvar AbstractRequest = function (item) {\n\t\tthis._item = item;\n\t};\n\n\tvar p = createjs.extend(AbstractRequest, createjs.EventDispatcher);\n\n\t// public methods\n\t/**\n\t * Begin a load.\n\t * @method load\n\t */\n\tp.load = function () { };\n\n\t/**\n\t * Clean up a request.\n\t * @method destroy\n\t */\n\tp.destroy = function () { };\n\n\t/**\n\t * Cancel an in-progress request.\n\t * @method cancel\n\t */\n\tp.cancel = function () { };\n\n\tcreatejs.AbstractRequest = createjs.promote(AbstractRequest, \"EventDispatcher\");\n\n}());\n\n//##############################################################################\n// TagRequest.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * An {{#crossLink \"AbstractRequest\"}}{{/crossLink}} that loads HTML tags, such as images and scripts.\n\t * @class TagRequest\n\t * @param {LoadItem} loadItem\n\t * @param {HTMLElement} tag\n\t * @param {String} srcAttribute The tag attribute that specifies the source, such as \"src\", \"href\", etc.\n\t */\n\tfunction TagRequest(loadItem, tag, srcAttribute) {\n\t\tthis.AbstractRequest_constructor(loadItem);\n\n\t\t// protected properties\n\t\t/**\n\t\t * The HTML tag instance that is used to load.\n\t\t * @property _tag\n\t\t * @type {HTMLElement}\n\t\t * @protected\n\t\t */\n\t\tthis._tag = tag;\n\n\t\t/**\n\t\t * The tag attribute that specifies the source, such as \"src\", \"href\", etc.\n\t\t * @property _tagSrcAttribute\n\t\t * @type {String}\n\t\t * @protected\n\t\t */\n\t\tthis._tagSrcAttribute = srcAttribute;\n\n\t\t/**\n\t\t * A method closure used for handling the tag load event.\n\t\t * @property _loadedHandler\n\t\t * @type {Function}\n\t\t * @private\n\t\t */\n\t\tthis._loadedHandler = createjs.proxy(this._handleTagComplete, this);\n\n\t\t/**\n\t\t * Determines if the element was added to the DOM automatically by PreloadJS, so it can be cleaned up after.\n\t\t * @property _addedToDOM\n\t\t * @type {Boolean}\n\t\t * @private\n\t\t */\n\t\tthis._addedToDOM = false;\n\n\t}\n\n\tvar p = createjs.extend(TagRequest, createjs.AbstractRequest);\n\n\t// public methods\n\tp.load = function () {\n\t\tthis._tag.onload = createjs.proxy(this._handleTagComplete, this);\n\t\tthis._tag.onreadystatechange = createjs.proxy(this._handleReadyStateChange, this);\n\t\tthis._tag.onerror = createjs.proxy(this._handleError, this);\n\n\t\tvar evt = new createjs.Event(\"initialize\");\n\t\tevt.loader = this._tag;\n\n\t\tthis.dispatchEvent(evt);\n\n\t\tthis._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), this._item.loadTimeout);\n\n\t\tthis._tag[this._tagSrcAttribute] = this._item.src;\n\n\t\t// wdg:: Append the tag AFTER setting the src, or SVG loading on iOS will fail.\n\t\tif (this._tag.parentNode == null) {\n\t\t\tcreatejs.DomUtils.appendToBody(this._tag);\n\t\t\tthis._addedToDOM = true;\n\t\t}\n\t};\n\n\tp.destroy = function () {\n\t\tthis._clean();\n\t\tthis._tag = null;\n\n\t\tthis.AbstractRequest_destroy();\n\t};\n\n\t// private methods\n\t/**\n\t * Handle the readyStateChange event from a tag. We need this in place of the `onload` callback (mainly SCRIPT\n\t * and LINK tags), but other cases may exist.\n\t * @method _handleReadyStateChange\n\t * @private\n\t */\n\tp._handleReadyStateChange = function () {\n\t\tclearTimeout(this._loadTimeout);\n\t\t// This is strictly for tags in browsers that do not support onload.\n\t\tvar tag = this._tag;\n\n\t\t// Complete is for old IE support.\n\t\tif (tag.readyState == \"loaded\" || tag.readyState == \"complete\") {\n\t\t\tthis._handleTagComplete();\n\t\t}\n\t};\n\n\t/**\n\t * Handle any error events from the tag.\n\t * @method _handleError\n\t * @protected\n\t */\n\tp._handleError = function () {\n\t\tthis._clean();\n\t\tthis.dispatchEvent(\"error\");\n\t};\n\n\t/**\n\t * Handle the tag's onload callback.\n\t * @method _handleTagComplete\n\t * @private\n\t */\n\tp._handleTagComplete = function () {\n\t\tthis._rawResult = this._tag;\n\t\tthis._result = this.resultFormatter && this.resultFormatter(this) || this._rawResult;\n\n\t\tthis._clean();\n\n\t\tthis.dispatchEvent(\"complete\");\n\t};\n\n\t/**\n\t * The tag request has not loaded within the time specified in loadTimeout.\n\t * @method _handleError\n\t * @param {Object} event The XHR error event.\n\t * @private\n\t */\n\tp._handleTimeout = function () {\n\t\tthis._clean();\n\t\tthis.dispatchEvent(new createjs.Event(\"timeout\"));\n\t};\n\n\t/**\n\t * Remove event listeners, but don't destroy the request object\n\t * @method _clean\n\t * @private\n\t */\n\tp._clean = function () {\n\t\tthis._tag.onload = null;\n\t\tthis._tag.onreadystatechange = null;\n\t\tthis._tag.onerror = null;\n\t\tif (this._addedToDOM && this._tag.parentNode != null) {\n\t\t\tthis._tag.parentNode.removeChild(this._tag);\n\t\t}\n\t\tclearTimeout(this._loadTimeout);\n\t};\n\n\t/**\n\t * Handle a stalled audio event. The main place this happens is with HTMLAudio in Chrome when playing back audio\n\t * that is already in a load, but not complete.\n\t * @method _handleStalled\n\t * @private\n\t */\n\tp._handleStalled = function () {\n\t\t//Ignore, let the timeout take care of it. Sometimes its not really stopped.\n\t};\n\n\tcreatejs.TagRequest = createjs.promote(TagRequest, \"AbstractRequest\");\n\n}());\n\n//##############################################################################\n// MediaTagRequest.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * An {{#crossLink \"TagRequest\"}}{{/crossLink}} that loads HTML tags for video and audio.\n\t * @class MediaTagRequest\n\t * @param {LoadItem} loadItem\n\t * @param {HTMLAudioElement|HTMLVideoElement} tag\n\t * @param {String} srcAttribute The tag attribute that specifies the source, such as \"src\", \"href\", etc.\n\t * @constructor\n\t */\n\tfunction MediaTagRequest(loadItem, tag, srcAttribute) {\n\t\tthis.AbstractRequest_constructor(loadItem);\n\n\t\t// protected properties\n\t\tthis._tag = tag;\n\t\tthis._tagSrcAttribute = srcAttribute;\n\t\tthis._loadedHandler = createjs.proxy(this._handleTagComplete, this);\n\t}\n\n\tvar p = createjs.extend(MediaTagRequest, createjs.TagRequest);\n\tvar s = MediaTagRequest;\n\n\t// public methods\n\tp.load = function () {\n\t\tvar sc = createjs.proxy(this._handleStalled, this);\n\t\tthis._stalledCallback = sc;\n\n\t\tvar pc = createjs.proxy(this._handleProgress, this);\n\t\tthis._handleProgress = pc;\n\n\t\tthis._tag.addEventListener(\"stalled\", sc);\n\t\tthis._tag.addEventListener(\"progress\", pc);\n\n\t\t// This will tell us when audio is buffered enough to play through, but not when its loaded.\n\t\t// The tag doesn't keep loading in Chrome once enough has buffered, and we have decided that behaviour is sufficient.\n\t\tthis._tag.addEventListener && this._tag.addEventListener(\"canplaythrough\", this._loadedHandler, false); // canplaythrough callback doesn't work in Chrome, so we use an event.\n\n\t\tthis.TagRequest_load();\n\t};\n\n\t// private methods\n\tp._handleReadyStateChange = function () {\n\t\tclearTimeout(this._loadTimeout);\n\t\t// This is strictly for tags in browsers that do not support onload.\n\t\tvar tag = this._tag;\n\n\t\t// Complete is for old IE support.\n\t\tif (tag.readyState == \"loaded\" || tag.readyState == \"complete\") {\n\t\t\tthis._handleTagComplete();\n\t\t}\n\t};\n\n\tp._handleStalled = function () {\n\t\t//Ignore, let the timeout take care of it. Sometimes its not really stopped.\n\t};\n\n\t/**\n\t * An XHR request has reported progress.\n\t * @method _handleProgress\n\t * @param {Object} event The XHR progress event.\n\t * @private\n\t */\n\tp._handleProgress = function (event) {\n\t\tif (!event || event.loaded > 0 && event.total == 0) {\n\t\t\treturn; // Sometimes we get no \"total\", so just ignore the progress event.\n\t\t}\n\n\t\tvar newEvent = new createjs.ProgressEvent(event.loaded, event.total);\n\t\tthis.dispatchEvent(newEvent);\n\t};\n\n\t// protected methods\n\tp._clean = function () {\n\t\tthis._tag.removeEventListener && this._tag.removeEventListener(\"canplaythrough\", this._loadedHandler);\n\t\tthis._tag.removeEventListener(\"stalled\", this._stalledCallback);\n\t\tthis._tag.removeEventListener(\"progress\", this._progressCallback);\n\n\t\tthis.TagRequest__clean();\n\t};\n\n\tcreatejs.MediaTagRequest = createjs.promote(MediaTagRequest, \"TagRequest\");\n\n}());\n\n//##############################################################################\n// XHRRequest.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * A preloader that loads items using XHR requests, usually XMLHttpRequest. However XDomainRequests will be used\n\t * for cross-domain requests if possible, and older versions of IE fall back on to ActiveX objects when necessary.\n\t * XHR requests load the content as text or binary data, provide progress and consistent completion events, and\n\t * can be canceled during load. Note that XHR is not supported in IE 6 or earlier, and is not recommended for\n\t * cross-domain loading.\n\t * @class XHRRequest\n\t * @constructor\n\t * @param {Object} item The object that defines the file to load. Please see the {{#crossLink \"LoadQueue/loadFile\"}}{{/crossLink}}\n\t * for an overview of supported file properties.\n\t * @extends AbstractLoader\n\t */\n\tfunction XHRRequest(item) {\n\t\tthis.AbstractRequest_constructor(item);\n\n\t\t// protected properties\n\t\t/**\n\t\t * A reference to the XHR request used to load the content.\n\t\t * @property _request\n\t\t * @type {XMLHttpRequest | XDomainRequest | ActiveX.XMLHTTP}\n\t\t * @private\n\t\t */\n\t\tthis._request = null;\n\n\t\t/**\n\t\t * A manual load timeout that is used for browsers that do not support the onTimeout event on XHR (XHR level 1,\n\t\t * typically IE9).\n\t\t * @property _loadTimeout\n\t\t * @type {Number}\n\t\t * @private\n\t\t */\n\t\tthis._loadTimeout = null;\n\n\t\t/**\n\t\t * The browser's XHR (XMLHTTPRequest) version. Supported versions are 1 and 2. There is no official way to detect\n\t\t * the version, so we use capabilities to make a best guess.\n\t\t * @property _xhrLevel\n\t\t * @type {Number}\n\t\t * @default 1\n\t\t * @private\n\t\t */\n\t\tthis._xhrLevel = 1;\n\n\t\t/**\n\t\t * The response of a loaded file. This is set because it is expensive to look up constantly. This property will be\n\t\t * null until the file is loaded.\n\t\t * @property _response\n\t\t * @type {mixed}\n\t\t * @private\n\t\t */\n\t\tthis._response = null;\n\n\t\t/**\n\t\t * The response of the loaded file before it is modified. In most cases, content is converted from raw text to\n\t\t * an HTML tag or a formatted object which is set to the result property, but the developer may still\n\t\t * want to access the raw content as it was loaded.\n\t\t * @property _rawResponse\n\t\t * @type {String|Object}\n\t\t * @private\n\t\t */\n\t\tthis._rawResponse = null;\n\n\t\tthis._canceled = false;\n\n\t\t// Setup our event handlers now.\n\t\tthis._handleLoadStartProxy = createjs.proxy(this._handleLoadStart, this);\n\t\tthis._handleProgressProxy = createjs.proxy(this._handleProgress, this);\n\t\tthis._handleAbortProxy = createjs.proxy(this._handleAbort, this);\n\t\tthis._handleErrorProxy = createjs.proxy(this._handleError, this);\n\t\tthis._handleTimeoutProxy = createjs.proxy(this._handleTimeout, this);\n\t\tthis._handleLoadProxy = createjs.proxy(this._handleLoad, this);\n\t\tthis._handleReadyStateChangeProxy = createjs.proxy(this._handleReadyStateChange, this);\n\n\t\tif (!this._createXHR(item)) {\n\t\t\t//TODO: Throw error?\n\t\t}\n\t}\n\n\tvar p = createjs.extend(XHRRequest, createjs.AbstractRequest);\n\n\t// static properties\n\t/**\n\t * A list of XMLHTTP object IDs to try when building an ActiveX object for XHR requests in earlier versions of IE.\n\t * @property ACTIVEX_VERSIONS\n\t * @type {Array}\n\t * @since 0.4.2\n\t * @private\n\t */\n\tXHRRequest.ACTIVEX_VERSIONS = [\n\t\t\"Msxml2.XMLHTTP.6.0\",\n\t\t\"Msxml2.XMLHTTP.5.0\",\n\t\t\"Msxml2.XMLHTTP.4.0\",\n\t\t\"MSXML2.XMLHTTP.3.0\",\n\t\t\"MSXML2.XMLHTTP\",\n\t\t\"Microsoft.XMLHTTP\"\n\t];\n\n\t// Public methods\n\t/**\n\t * Look up the loaded result.\n\t * @method getResult\n\t * @param {Boolean} [raw=false] Return a raw result instead of a formatted result. This applies to content\n\t * loaded via XHR such as scripts, XML, CSS, and Images. If there is no raw result, the formatted result will be\n\t * returned instead.\n\t * @return {Object} A result object containing the content that was loaded, such as:\n\t * \n\t * Note that if a raw result is requested, but not found, the result will be returned instead.\n\t */\n\tp.getResult = function (raw) {\n\t\tif (raw && this._rawResponse) {\n\t\t\treturn this._rawResponse;\n\t\t}\n\t\treturn this._response;\n\t};\n\n\t// Overrides abstract method in AbstractRequest\n\tp.cancel = function () {\n\t\tthis.canceled = true;\n\t\tthis._clean();\n\t\tthis._request.abort();\n\t};\n\n\t// Overrides abstract method in AbstractLoader\n\tp.load = function () {\n\t\tif (this._request == null) {\n\t\t\tthis._handleError();\n\t\t\treturn;\n\t\t}\n\n\t\t//Events\n\t\tif (this._request.addEventListener != null) {\n\t\t\tthis._request.addEventListener(\"loadstart\", this._handleLoadStartProxy, false);\n\t\t\tthis._request.addEventListener(\"progress\", this._handleProgressProxy, false);\n\t\t\tthis._request.addEventListener(\"abort\", this._handleAbortProxy, false);\n\t\t\tthis._request.addEventListener(\"error\", this._handleErrorProxy, false);\n\t\t\tthis._request.addEventListener(\"timeout\", this._handleTimeoutProxy, false);\n\n\t\t\t// Note: We don't get onload in all browsers (earlier FF and IE). onReadyStateChange handles these.\n\t\t\tthis._request.addEventListener(\"load\", this._handleLoadProxy, false);\n\t\t\tthis._request.addEventListener(\"readystatechange\", this._handleReadyStateChangeProxy, false);\n\t\t} else {\n\t\t\t// IE9 support\n\t\t\tthis._request.onloadstart = this._handleLoadStartProxy;\n\t\t\tthis._request.onprogress = this._handleProgressProxy;\n\t\t\tthis._request.onabort = this._handleAbortProxy;\n\t\t\tthis._request.onerror = this._handleErrorProxy;\n\t\t\tthis._request.ontimeout = this._handleTimeoutProxy;\n\n\t\t\t// Note: We don't get onload in all browsers (earlier FF and IE). onReadyStateChange handles these.\n\t\t\tthis._request.onload = this._handleLoadProxy;\n\t\t\tthis._request.onreadystatechange = this._handleReadyStateChangeProxy;\n\t\t}\n\n\t\t// Set up a timeout if we don't have XHR2\n\t\tif (this._xhrLevel == 1) {\n\t\t\tthis._loadTimeout = setTimeout(createjs.proxy(this._handleTimeout, this), this._item.loadTimeout);\n\t\t}\n\n\t\t// Sometimes we get back 404s immediately, particularly when there is a cross origin request. // note this does not catch in Chrome\n\t\ttry {\n\t\t\tif (!this._item.values) {\n\t\t\t\tthis._request.send();\n\t\t\t} else {\n\t\t\t\tthis._request.send(createjs.URLUtils.formatQueryString(this._item.values));\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.dispatchEvent(new createjs.ErrorEvent(\"XHR_SEND\", null, error));\n\t\t}\n\t};\n\n\tp.setResponseType = function (type) {\n\t\t// Some old browsers doesn't support blob, so we convert arraybuffer to blob after response is downloaded\n\t\tif (type === 'blob') {\n\t\t\ttype = window.URL ? 'blob' : 'arraybuffer';\n\t\t\tthis._responseType = type;\n\t\t}\n\t\tthis._request.responseType = type;\n\t};\n\n\t/**\n\t * Get all the response headers from the XmlHttpRequest.\n\t *\n\t * From the docs: Return all the HTTP headers, excluding headers that are a case-insensitive match\n\t * for Set-Cookie or Set-Cookie2, as a single string, with each header line separated by a U+000D CR U+000A LF pair,\n\t * excluding the status line, and with each header name and header value separated by a U+003A COLON U+0020 SPACE\n\t * pair.\n\t * @method getAllResponseHeaders\n\t * @return {String}\n\t * @since 0.4.1\n\t */\n\tp.getAllResponseHeaders = function () {\n\t\tif (this._request.getAllResponseHeaders instanceof Function) {\n\t\t\treturn this._request.getAllResponseHeaders();\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\t/**\n\t * Get a specific response header from the XmlHttpRequest.\n\t *\n\t * From the docs: Returns the header field value from the response of which the field name matches\n\t * header, unless the field name is Set-Cookie or Set-Cookie2.\n\t * @method getResponseHeader\n\t * @param {String} header The header name to retrieve.\n\t * @return {String}\n\t * @since 0.4.1\n\t */\n\tp.getResponseHeader = function (header) {\n\t\tif (this._request.getResponseHeader instanceof Function) {\n\t\t\treturn this._request.getResponseHeader(header);\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\t// protected methods\n\t/**\n\t * The XHR request has reported progress.\n\t * @method _handleProgress\n\t * @param {Object} event The XHR progress event.\n\t * @private\n\t */\n\tp._handleProgress = function (event) {\n\t\tif (!event || event.loaded > 0 && event.total == 0) {\n\t\t\treturn; // Sometimes we get no \"total\", so just ignore the progress event.\n\t\t}\n\n\t\tvar newEvent = new createjs.ProgressEvent(event.loaded, event.total);\n\t\tthis.dispatchEvent(newEvent);\n\t};\n\n\t/**\n\t * The XHR request has reported a load start.\n\t * @method _handleLoadStart\n\t * @param {Object} event The XHR loadStart event.\n\t * @private\n\t */\n\tp._handleLoadStart = function (event) {\n\t\tclearTimeout(this._loadTimeout);\n\t\tthis.dispatchEvent(\"loadstart\");\n\t};\n\n\t/**\n\t * The XHR request has reported an abort event.\n\t * @method handleAbort\n\t * @param {Object} event The XHR abort event.\n\t * @private\n\t */\n\tp._handleAbort = function (event) {\n\t\tthis._clean();\n\t\tthis.dispatchEvent(new createjs.ErrorEvent(\"XHR_ABORTED\", null, event));\n\t};\n\n\t/**\n\t * The XHR request has reported an error event.\n\t * @method _handleError\n\t * @param {Object} event The XHR error event.\n\t * @private\n\t */\n\tp._handleError = function (event) {\n\t\tthis._clean();\n\t\tthis.dispatchEvent(new createjs.ErrorEvent(event.message));\n\t};\n\n\t/**\n\t * The XHR request has reported a readyState change. Note that older browsers (IE 7 & 8) do not provide an onload\n\t * event, so we must monitor the readyStateChange to determine if the file is loaded.\n\t * @method _handleReadyStateChange\n\t * @param {Object} event The XHR readyStateChange event.\n\t * @private\n\t */\n\tp._handleReadyStateChange = function (event) {\n\t\tif (this._request.readyState == 4) {\n\t\t\tthis._handleLoad();\n\t\t}\n\t};\n\n\t/**\n\t * The XHR request has completed. This is called by the XHR request directly, or by a readyStateChange that has\n\t * request.readyState == 4. Only the first call to this method will be processed.\n\t *\n\t * Note that This method uses {{#crossLink \"_checkError\"}}{{/crossLink}} to determine if the server has returned an\n\t * error code.\n\t * @method _handleLoad\n\t * @param {Object} event The XHR load event.\n\t * @private\n\t */\n\tp._handleLoad = function (event) {\n\t\tif (this.loaded) {\n\t\t\treturn;\n\t\t}\n\t\tthis.loaded = true;\n\n\t\tvar error = this._checkError();\n\t\tif (error) {\n\t\t\tthis._handleError(error);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._response = this._getResponse();\n\t\t// Convert arraybuffer back to blob\n\t\tif (this._responseType === 'arraybuffer') {\n\t\t\ttry {\n\t\t\t\tthis._response = new Blob([this._response]);\n\t\t\t} catch (e) {\n\t\t\t\t// Fallback to use BlobBuilder if Blob constructor is not supported\n\t\t\t\t// Tested on Android 2.3 ~ 4.2 and iOS5 safari\n\t\t\t\twindow.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n\t\t\t\tif (e.name === 'TypeError' && window.BlobBuilder) {\n\t\t\t\t\tvar builder = new BlobBuilder();\n\t\t\t\t\tbuilder.append(this._response);\n\t\t\t\t\tthis._response = builder.getBlob();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis._clean();\n\n\t\tthis.dispatchEvent(new createjs.Event(\"complete\"));\n\t};\n\n\t/**\n\t * The XHR request has timed out. This is called by the XHR request directly, or via a setTimeout\n\t * callback.\n\t * @method _handleTimeout\n\t * @param {Object} [event] The XHR timeout event. This is occasionally null when called by the backup setTimeout.\n\t * @private\n\t */\n\tp._handleTimeout = function (event) {\n\t\tthis._clean();\n\t\tthis.dispatchEvent(new createjs.ErrorEvent(\"PRELOAD_TIMEOUT\", null, event));\n\t};\n\n\t// Protected\n\t/**\n\t * Determine if there is an error in the current load.\n\t * Currently this checks the status of the request for problem codes, and not actual response content:\n\t * \n\t * @method _checkError\n\t * @return {Error} An error with the status code in the `message` argument.\n\t * @private\n\t */\n\tp._checkError = function () {\n\t\tvar status = parseInt(this._request.status);\n\t\tif (status >= 400 && status <= 599) {\n\t\t\treturn new Error(status);\n\t\t} else if (status == 0) {\n\t\t\tif ((/^https?:/).test(location.protocol)) { return new Error(0); }\n\t\t\treturn null; // Likely an embedded app.\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t};\n\n\n\t/**\n\t * Validate the response. Different browsers have different approaches, some of which throw errors when accessed\n\t * in other browsers. If there is no response, the _response property will remain null.\n\t * @method _getResponse\n\t * @private\n\t */\n\tp._getResponse = function () {\n\t\tif (this._response != null) {\n\t\t\treturn this._response;\n\t\t}\n\n\t\tif (this._request.response != null) {\n\t\t\treturn this._request.response;\n\t\t}\n\n\t\t// Android 2.2 uses .responseText\n\t\ttry {\n\t\t\tif (this._request.responseText != null) {\n\t\t\t\treturn this._request.responseText;\n\t\t\t}\n\t\t} catch (e) {\n\t\t}\n\n\t\t// When loading XML, IE9 does not return .response, instead it returns responseXML.xml\n\t\ttry {\n\t\t\tif (this._request.responseXML != null) {\n\t\t\t\treturn this._request.responseXML;\n\t\t\t}\n\t\t} catch (e) {\n\t\t}\n\n\t\treturn null;\n\t};\n\n\t/**\n\t * Create an XHR request. Depending on a number of factors, we get totally different results.\n\t *
  1. Some browsers get an XDomainRequest when loading cross-domain.
  2. \n\t *
  3. XMLHttpRequest are created when available.
  4. \n\t *
  5. ActiveX.XMLHTTP objects are used in older IE browsers.
  6. \n\t *
  7. Text requests override the mime type if possible
  8. \n\t *
  9. Origin headers are sent for crossdomain requests in some browsers.
  10. \n\t *
  11. Binary loads set the response type to \"arraybuffer\"
\n\t * @method _createXHR\n\t * @param {Object} item The requested item that is being loaded.\n\t * @return {Boolean} If an XHR request or equivalent was successfully created.\n\t * @private\n\t */\n\tp._createXHR = function (item) {\n\t\t// Check for cross-domain loads. We can't fully support them, but we can try.\n\t\tvar crossdomain = createjs.URLUtils.isCrossDomain(item);\n\t\tvar headers = {};\n\n\t\t// Create the request. Fallback to whatever support we have.\n\t\tvar req = null;\n\t\tif (window.XMLHttpRequest) {\n\t\t\treq = new XMLHttpRequest();\n\t\t\t// This is 8 or 9, so use XDomainRequest instead.\n\t\t\tif (crossdomain && req.withCredentials === undefined && window.XDomainRequest) {\n\t\t\t\treq = new XDomainRequest();\n\t\t\t}\n\t\t} else { // Old IE versions use a different approach\n\t\t\tfor (var i = 0, l = s.ACTIVEX_VERSIONS.length; i < l; i++) {\n\t\t\t\tvar axVersion = s.ACTIVEX_VERSIONS[i];\n\t\t\t\ttry {\n\t\t\t\t\treq = new ActiveXObject(axVersion);\n\t\t\t\t\tbreak;\n\t\t\t\t} catch (e) {\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (req == null) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\t// Default to utf-8 for Text requests.\n\t\tif (item.mimeType == null && createjs.RequestUtils.isText(item.type)) {\n\t\t\titem.mimeType = \"text/plain; charset=utf-8\";\n\t\t}\n\n\t\t// IE9 doesn't support overrideMimeType(), so we need to check for it.\n\t\tif (item.mimeType && req.overrideMimeType) {\n\t\t\treq.overrideMimeType(item.mimeType);\n\t\t}\n\n\t\t// Determine the XHR level\n\t\tthis._xhrLevel = (typeof req.responseType === \"string\") ? 2 : 1;\n\n\t\tvar src = null;\n\t\tif (item.method == createjs.Methods.GET) {\n\t\t\tsrc = createjs.URLUtils.buildURI(item.src, item.values);\n\t\t} else {\n\t\t\tsrc = item.src;\n\t\t}\n\n\t\t// Open the request. Set cross-domain flags if it is supported (XHR level 1 only)\n\t\treq.open(item.method || createjs.Methods.GET, src, true);\n\n\t\tif (crossdomain && req instanceof XMLHttpRequest && this._xhrLevel == 1) {\n\t\t\theaders[\"Origin\"] = location.origin;\n\t\t}\n\n\t\t// To send data we need to set the Content-type header)\n\t\tif (item.values && item.method == createjs.Methods.POST) {\n\t\t\theaders[\"Content-Type\"] = \"application/x-www-form-urlencoded\";\n\t\t}\n\n\t\tif (!crossdomain && !headers[\"X-Requested-With\"]) {\n\t\t\theaders[\"X-Requested-With\"] = \"XMLHttpRequest\";\n\t\t}\n\n\t\tif (item.headers) {\n\t\t\tfor (var n in item.headers) {\n\t\t\t\theaders[n] = item.headers[n];\n\t\t\t}\n\t\t}\n\n\t\tfor (n in headers) {\n\t\t\treq.setRequestHeader(n, headers[n])\n\t\t}\n\n\t\tif (req instanceof XMLHttpRequest && item.withCredentials !== undefined) {\n\t\t\treq.withCredentials = item.withCredentials;\n\t\t}\n\n\t\tthis._request = req;\n\n\t\treturn true;\n\t};\n\n\t/**\n\t * A request has completed (or failed or canceled), and needs to be disposed.\n\t * @method _clean\n\t * @private\n\t */\n\tp._clean = function () {\n\t\tclearTimeout(this._loadTimeout);\n\n\t\tif (this._request.removeEventListener != null) {\n\t\t\tthis._request.removeEventListener(\"loadstart\", this._handleLoadStartProxy);\n\t\t\tthis._request.removeEventListener(\"progress\", this._handleProgressProxy);\n\t\t\tthis._request.removeEventListener(\"abort\", this._handleAbortProxy);\n\t\t\tthis._request.removeEventListener(\"error\", this._handleErrorProxy);\n\t\t\tthis._request.removeEventListener(\"timeout\", this._handleTimeoutProxy);\n\t\t\tthis._request.removeEventListener(\"load\", this._handleLoadProxy);\n\t\t\tthis._request.removeEventListener(\"readystatechange\", this._handleReadyStateChangeProxy);\n\t\t} else {\n\t\t\tthis._request.onloadstart = null;\n\t\t\tthis._request.onprogress = null;\n\t\t\tthis._request.onabort = null;\n\t\t\tthis._request.onerror = null;\n\t\t\tthis._request.ontimeout = null;\n\t\t\tthis._request.onload = null;\n\t\t\tthis._request.onreadystatechange = null;\n\t\t}\n\t};\n\n\tp.toString = function () {\n\t\treturn \"[PreloadJS XHRRequest]\";\n\t};\n\n\tcreatejs.XHRRequest = createjs.promote(XHRRequest, \"AbstractRequest\");\n\n}());\n\n//##############################################################################\n// SoundLoader.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\n\t// constructor\n\t/**\n\t * A loader for HTML audio files. PreloadJS can not load WebAudio files, as a WebAudio context is required, which\n\t * should be created by either a library playing the sound (such as SoundJS, or an\n\t * external framework that handles audio playback. To load content that can be played by WebAudio, use the\n\t * {{#crossLink \"BinaryLoader\"}}{{/crossLink}}, and handle the audio context decoding manually.\n\t * @class SoundLoader\n\t * @param {LoadItem|Object} loadItem\n\t * @param {Boolean} preferXHR\n\t * @extends AbstractMediaLoader\n\t * @constructor\n\t */\n\tfunction SoundLoader(loadItem, preferXHR) {\n\t\tthis.AbstractMediaLoader_constructor(loadItem, preferXHR, createjs.Types.SOUND);\n\n\t\t// protected properties\n\t\tif (createjs.DomUtils.isAudioTag(loadItem)) {\n\t\t\tthis._tag = loadItem;\n\t\t} else if (createjs.DomUtils.isAudioTag(loadItem.src)) {\n\t\t\tthis._tag = loadItem;\n\t\t} else if (createjs.DomUtils.isAudioTag(loadItem.tag)) {\n\t\t\tthis._tag = createjs.DomUtils.isAudioTag(loadItem) ? loadItem : loadItem.src;\n\t\t}\n\n\t\tif (this._tag != null) {\n\t\t\tthis._preferXHR = false;\n\t\t}\n\t}\n\n\tvar p = createjs.extend(SoundLoader, createjs.AbstractMediaLoader);\n\tvar s = SoundLoader;\n\n\t// static methods\n\t/**\n\t * Determines if the loader can load a specific item. This loader can only load items that are of type\n\t * {{#crossLink \"Types/SOUND:property\"}}{{/crossLink}}.\n\t * @method canLoadItem\n\t * @param {LoadItem|Object} item The LoadItem that a LoadQueue is trying to load.\n\t * @returns {Boolean} Whether the loader can load the item.\n\t * @static\n\t */\n\ts.canLoadItem = function (item) {\n\t\treturn item.type == createjs.Types.SOUND;\n\t};\n\n\t// protected methods\n\tp._createTag = function (src) {\n\t\tvar tag = createjs.Elements.audio();\n\t\ttag.autoplay = false;\n\t\ttag.preload = \"none\";\n\n\t\t//LM: Firefox fails when this the preload=\"none\" for other tags, but it needs to be \"none\" to ensure PreloadJS works.\n\t\ttag.src = src;\n\t\treturn tag;\n\t};\n\n\tcreatejs.SoundLoader = createjs.promote(SoundLoader, \"AbstractMediaLoader\");\n\n}());\n\n//##############################################################################\n// AudioSprite.js\n//##############################################################################\n\n// NOTE this is \"Class\" is purely to document audioSprite Setup and usage.\n\n\n/**\n * Note: AudioSprite is not a class, but its usage is easily lost in the documentation, so it has been called\n * out here for quick reference.\n *\n * Audio sprites are much like CSS sprites or image sprite sheets: multiple audio assets grouped into a single file.\n * Audio sprites work around limitations in certain browsers, where only a single sound can be loaded and played at a\n * time. We recommend at least 300ms of silence between audio clips to deal with HTML audio tag inaccuracy, and to prevent\n * accidentally playing bits of the neighbouring clips.\n *\n * Benefits of Audio Sprites:\n * \n *\n * Drawbacks of Audio Sprites\n * \n *\n *

Example

\n *\n *\t\tcreatejs.Sound.initializeDefaultPlugins();\n *\t\tvar assetsPath = \"./assets/\";\n *\t\tvar sounds = [{\n *\t\t\tsrc:\"MyAudioSprite.ogg\", data: {\n *\t\t\t\taudioSprite: [\n *\t\t\t\t\t{id:\"sound1\", startTime:0, duration:500},\n *\t\t\t\t\t{id:\"sound2\", startTime:1000, duration:400},\n *\t\t\t\t\t{id:\"sound3\", startTime:1700, duration: 1000}\n *\t\t\t\t]}\n *\t\t\t}\n *\t\t];\n *\t\tcreatejs.Sound.alternateExtensions = [\"mp3\"];\n *\t\tcreatejs.Sound.on(\"fileload\", loadSound);\n *\t\tcreatejs.Sound.registerSounds(sounds, assetsPath);\n *\t\t// after load is complete\n *\t\tcreatejs.Sound.play(\"sound2\");\n *\n * You can also create audio sprites on the fly by setting the startTime and duration when creating an new AbstractSoundInstance.\n *\n * \t\tcreatejs.Sound.play(\"MyAudioSprite\", {startTime: 1000, duration: 400});\n *\n * The excellent CreateJS community has created a tool to create audio sprites, available at\n * https://github.com/tonistiigi/audiosprite,\n * as well as a jsfiddle to convert the output\n * to SoundJS format.\n *\n * @class AudioSprite\n * @since 0.6.0\n */\n\n//##############################################################################\n// PlayPropsConfig.js\n//##############################################################################\n\n\n\n(function () {\n\t\"use strict\";\n\t/**\n\t * A class to store the optional play properties passed in {{#crossLink \"Sound/play\"}}{{/crossLink}} and\n\t * {{#crossLink \"AbstractSoundInstance/play\"}}{{/crossLink}} calls.\n\t *\n\t * Optional Play Properties Include:\n\t * \n\t *\n\t *

Example

\n\t *\n\t * \tvar props = new createjs.PlayPropsConfig().set({interrupt: createjs.Sound.INTERRUPT_ANY, loop: -1, volume: 0.5})\n\t * \tcreatejs.Sound.play(\"mySound\", props);\n\t * \t// OR\n\t * \tmySoundInstance.play(props);\n\t *\n\t * @class PlayPropsConfig\n\t * @constructor\n\t * @since 0.6.1\n\t */\n\t// TODO think of a better name for this class\n\tvar PlayPropsConfig = function () {\n\t\t// Public Properties\n\t\t/**\n\t\t * How to interrupt any currently playing instances of audio with the same source,\n\t\t * if the maximum number of instances of the sound are already playing. Values are defined as\n\t\t * INTERRUPT_TYPE constants on the Sound class, with the default defined by\n\t\t * {{#crossLink \"Sound/defaultInterruptBehavior:property\"}}{{/crossLink}}.\n\t\t * @property interrupt\n\t\t * @type {string}\n\t\t * @default null\n\t\t */\n\t\tthis.interrupt = null;\n\n\t\t/**\n\t\t * The amount of time to delay the start of audio playback, in milliseconds.\n\t\t * @property delay\n\t\t * @type {Number}\n\t\t * @default null\n\t\t */\n\t\tthis.delay = null;\n\n\t\t/**\n\t\t * The offset from the start of the audio to begin playback, in milliseconds.\n\t\t * @property offset\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.offset = null;\n\n\t\t/**\n\t\t * How many times the audio loops when it reaches the end of playback. The default is 0 (no\n\t\t * loops), and -1 can be used for infinite playback.\n\t\t * @property loop\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.loop = null;\n\n\t\t/**\n\t\t * The volume of the sound, between 0 and 1. Note that the master volume is applied\n\t\t * against the individual volume.\n\t\t * @property volume\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.volume = null;\n\n\t\t/**\n\t\t * The left-right pan of the sound (if supported), between -1 (left) and 1 (right).\n\t\t * @property pan\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.pan = null;\n\n\t\t/**\n\t\t * Used to create an audio sprite (with duration), the initial offset to start playback and loop from, in milliseconds.\n\t\t * @property startTime\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.startTime = null;\n\n\t\t/**\n\t\t * Used to create an audio sprite (with startTime), the amount of time to play the clip for, in milliseconds.\n\t\t * @property duration\n\t\t * @type {number}\n\t\t * @default null\n\t\t */\n\t\tthis.duration = null;\n\t};\n\tvar p = PlayPropsConfig.prototype = {};\n\tvar s = PlayPropsConfig;\n\n\n\t// Static Methods\n\t/**\n\t * Creates a PlayPropsConfig from another PlayPropsConfig or an Object.\n\t *\n\t * @method create\n\t * @param {PlayPropsConfig|Object} value The play properties\n\t * @returns {PlayPropsConfig}\n\t * @static\n\t */\n\ts.create = function (value) {\n\t\tif (typeof (value) === \"string\") {\n\t\t\t// Handle the old API gracefully.\n\t\t\tconsole && (console.warn || console.log)(\"Deprecated behaviour. Sound.play takes a configuration object instead of individual arguments. See docs for info.\");\n\t\t\treturn new createjs.PlayPropsConfig().set({ interrupt: value });\n\t\t} else if (value == null || value instanceof s || value instanceof Object) {\n\t\t\treturn new createjs.PlayPropsConfig().set(value);\n\t\t} else if (value == null) {\n\t\t\tthrow new Error(\"PlayProps configuration not recognized.\");\n\t\t}\n\t};\n\n\t// Public Methods\n\t/**\n\t * Provides a chainable shortcut method for setting a number of properties on the instance.\n\t *\n\t *

Example

\n\t *\n\t * var PlayPropsConfig = new createjs.PlayPropsConfig().set({loop:-1, volume:0.7});\n\t *\n\t * @method set\n\t * @param {Object} props A generic object containing properties to copy to the PlayPropsConfig instance.\n\t * @return {PlayPropsConfig} Returns the instance the method is called on (useful for chaining calls.)\n\t*/\n\tp.set = function (props) {\n\t\tif (props != null) {\n\t\t\tfor (var n in props) { this[n] = props[n]; }\n\t\t}\n\t\treturn this;\n\t};\n\n\tp.toString = function () {\n\t\treturn \"[PlayPropsConfig]\";\n\t};\n\n\tcreatejs.PlayPropsConfig = s;\n\n}());\n\n//##############################################################################\n// Sound.js\n//##############################################################################\n\n\n\n\n\n(function () {\n\t\"use strict\";\n\n\t/**\n\t * The Sound class is the public API for creating sounds, controlling the overall sound levels, and managing plugins.\n\t * All Sound APIs on this class are static.\n\t *\n\t * Registering and Preloading
\n\t * Before you can play a sound, it must be registered. You can do this with {{#crossLink \"Sound/registerSound\"}}{{/crossLink}},\n\t * or register multiple sounds using {{#crossLink \"Sound/registerSounds\"}}{{/crossLink}}. If you don't register a\n\t * sound prior to attempting to play it using {{#crossLink \"Sound/play\"}}{{/crossLink}} or create it using {{#crossLink \"Sound/createInstance\"}}{{/crossLink}},\n\t * the sound source will be automatically registered but playback will fail as the source will not be ready. If you use\n\t * PreloadJS, registration is handled for you when the sound is\n\t * preloaded. It is recommended to preload sounds either internally using the register functions or externally using\n\t * PreloadJS so they are ready when you want to use them.\n\t *\n\t * Playback
\n\t * To play a sound once it's been registered and preloaded, use the {{#crossLink \"Sound/play\"}}{{/crossLink}} method.\n\t * This method returns a {{#crossLink \"AbstractSoundInstance\"}}{{/crossLink}} which can be paused, resumed, muted, etc.\n\t * Please see the {{#crossLink \"AbstractSoundInstance\"}}{{/crossLink}} documentation for more on the instance control APIs.\n\t *\n\t * Plugins
\n\t * By default, the {{#crossLink \"WebAudioPlugin\"}}{{/crossLink}} or the {{#crossLink \"HTMLAudioPlugin\"}}{{/crossLink}}\n\t * are used (when available), although developers can change plugin priority or add new plugins (such as the\n\t * provided {{#crossLink \"FlashAudioPlugin\"}}{{/crossLink}}). Please see the {{#crossLink \"Sound\"}}{{/crossLink}} API\n\t * methods for more on the playback and plugin APIs. To install plugins, or specify a different plugin order, see\n\t * {{#crossLink \"Sound/installPlugins\"}}{{/crossLink}}.\n\t *\n\t *

Example

\n\t *\n\t * createjs.FlashAudioPlugin.swfPath = \"../src/soundjs/flashaudio\";\n\t * createjs.Sound.registerPlugins([createjs.WebAudioPlugin, createjs.FlashAudioPlugin]);\n\t * createjs.Sound.alternateExtensions = [\"mp3\"];\n\t * createjs.Sound.on(\"fileload\", this.loadHandler, this);\n\t * createjs.Sound.registerSound(\"path/to/mySound.ogg\", \"sound\");\n\t * function loadHandler(event) {\n * // This is fired for each sound that is registered.\n * var instance = createjs.Sound.play(\"sound\"); // play using id. Could also use full source path or event.src.\n * instance.on(\"complete\", this.handleComplete, this);\n * instance.volume = 0.5;\n\t * }\n\t *\n\t * The maximum number of concurrently playing instances of the same sound can be specified in the \"data\" argument\n\t * of {{#crossLink \"Sound/registerSound\"}}{{/crossLink}}. Note that if not specified, the active plugin will apply\n\t * a default limit. Currently HTMLAudioPlugin sets a default limit of 2, while WebAudioPlugin and FlashAudioPlugin set a\n\t * default limit of 100.\n\t *\n\t * createjs.Sound.registerSound(\"sound.mp3\", \"soundId\", 4);\n\t *\n\t * Sound can be used as a plugin with PreloadJS to help preload audio properly. Audio preloaded with PreloadJS is\n\t * automatically registered with the Sound class. When audio is not preloaded, Sound will do an automatic internal\n\t * load. As a result, it may fail to play the first time play is called if the audio is not finished loading. Use\n\t * the {{#crossLink \"Sound/fileload:event\"}}{{/crossLink}} event to determine when a sound has finished internally\n\t * preloading. It is recommended that all audio is preloaded before it is played.\n\t *\n\t * var queue = new createjs.LoadQueue();\n\t *\t\tqueue.installPlugin(createjs.Sound);\n\t *\n\t * Audio Sprites
\n\t * SoundJS has added support for {{#crossLink \"AudioSprite\"}}{{/crossLink}}, available as of version 0.6.0.\n\t * For those unfamiliar with audio sprites, they are much like CSS sprites or sprite sheets: multiple audio assets\n\t * grouped into a single file.\n\t *\n\t *

Example

\n\t *\n\t *\t\tvar assetsPath = \"./assets/\";\n\t *\t\tvar sounds = [{\n\t *\t\t\tsrc:\"MyAudioSprite.ogg\", data: {\n\t *\t\t\t\taudioSprite: [\n\t *\t\t\t\t\t{id:\"sound1\", startTime:0, duration:500},\n\t *\t\t\t\t\t{id:\"sound2\", startTime:1000, duration:400},\n\t *\t\t\t\t\t{id:\"sound3\", startTime:1700, duration: 1000}\n\t *\t\t\t\t]}\n \t *\t\t\t}\n\t *\t\t];\n\t *\t\tcreatejs.Sound.alternateExtensions = [\"mp3\"];\n\t *\t\tcreatejs.Sound.on(\"fileload\", loadSound);\n\t *\t\tcreatejs.Sound.registerSounds(sounds, assetsPath);\n\t *\t\t// after load is complete\n\t *\t\tcreatejs.Sound.play(\"sound2\");\n\t *\n\t * Mobile Playback
\n\t * Devices running iOS require the WebAudio context to be \"unlocked\" by playing at least one sound inside of a user-\n\t * initiated event (such as touch/click). Earlier versions of SoundJS included a \"MobileSafe\" sample, but this is no\n\t * longer necessary as of SoundJS 0.6.2.\n\t * \n\t *\n\t * Loading Alternate Paths and Extension-less Files
\n\t * SoundJS supports loading alternate paths and extension-less files by passing an object instead of a string for\n\t * the `src` property, which is a hash using the format `{extension:\"path\", extension2:\"path2\"}`. These labels are\n\t * how SoundJS determines if the browser will support the sound. This also enables multiple formats to live in\n\t * different folders, or on CDNs, which often has completely different filenames for each file.\n\t *\n\t * Priority is determined by the property order (first property is tried first). This is supported by both internal loading\n\t * and loading with PreloadJS.\n\t *\n\t * Note: an id is required for playback.\n\t *\n\t *

Example

\n\t *\n\t *\t\tvar sounds = {path:\"./audioPath/\",\n\t * \t\t\t\tmanifest: [\n\t *\t\t\t\t{id: \"cool\", src: {mp3:\"mp3/awesome.mp3\", ogg:\"noExtensionOggFile\"}}\n\t *\t\t]};\n\t *\n\t *\t\tcreatejs.Sound.alternateExtensions = [\"mp3\"];\n\t *\t\tcreatejs.Sound.addEventListener(\"fileload\", handleLoad);\n\t *\t\tcreatejs.Sound.registerSounds(sounds);\n\t *\n\t *

Known Browser and OS issues

\n\t * IE 9 HTML Audio limitations
\n\t * \n\t *\n\t * Firefox 25 Web Audio limitations\n\t * \n\n\t * Safari limitations
\n\t * \n\t *\n\t * iOS 6 Web Audio limitations
\n\t * \n\t *\n\t * Android HTML Audio limitations
\n\t * \n\t *\n\t * Web Audio and PreloadJS
\n\t *