{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/ScrollPane.vue?54a7","webpack:///./src/components/Sidebar/Logo.vue?a6b6","webpack:///src/App.vue","webpack:///./src/api/common.js","webpack:///./src/App.vue?8864","webpack:///./src/Auth/applicationusermanager.js","webpack:///./src/utils/LodopFuncs.js","webpack:///./src/views/Layout/Layout.vue?d99d","webpack:///./src/views/Layout/Layout.vue","webpack:///./src/components/Pagination/index.vue?1d82","webpack:///./src/utils/scroll-to.js","webpack:///src/components/Pagination/index.vue","webpack:///./src/components/Pagination/index.vue?029c","webpack:///./src/components/Pagination/index.vue","webpack:///./src/api/auth.js","webpack:///./src/Auth/UserAuth.js","webpack:///./src/App.vue?13a8","webpack:///./src/api/sysdev.js","webpack:///./src/App.vue?0707","webpack:///./src/components/Hamburger/index.vue?3449","webpack:///src/components/Hamburger/index.vue","webpack:///./src/components/Hamburger/index.vue?4627","webpack:///./src/components/Hamburger/index.vue","webpack:///./src/assets/logo1.png","webpack:///./src/App.vue?b9fc","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/utils/mtfmqtt.js","webpack:///./src/main.js","webpack:///./src/components/Sidebar.vue?7e3e","webpack:///./src/components/AppLink.vue?b45a","webpack:///./util/validate.js","webpack:///src/components/AppLink.vue","webpack:///./src/components/AppLink.vue?400c","webpack:///./src/components/AppLink.vue","webpack:///src/components/Sidebar.vue","webpack:///./src/components/Sidebar.vue?7ef4","webpack:///./src/components/Sidebar.vue","webpack:///./src/components/Pagination/index.vue?ded2","webpack:///./src lazy ^\\.\\/views.*\\.vue$ namespace object","webpack:///./src/components/Hamburger/index.vue?2b2d","webpack:///./src/router/_import_production.js","webpack:///./src/style/variables.scss","webpack:///./src/App.vue?e1e0","webpack:///./src/components/Sidebar/Logo.vue?039d","webpack:///src/components/Sidebar/Logo.vue","webpack:///./src/components/Sidebar/Logo.vue?5627","webpack:///./src/components/Sidebar/Logo.vue","webpack:///./util/global.js","webpack:///./src/views/404.vue?67e1","webpack:///./src/views/LoginCallbackView.vue?21c3","webpack:///src/views/LoginCallbackView.vue","webpack:///./src/views/LoginCallbackView.vue?2fc4","webpack:///./src/views/LoginCallbackView.vue","webpack:///./src/views/404.vue?3307","webpack:///src/views/404.vue","webpack:///./src/views/404.vue?8d54","webpack:///./src/views/404.vue","webpack:///./src/style/index.scss?0140","webpack:///./src/router/index.js","webpack:///./src/views/Login.vue?d30c","webpack:///src/views/Login.vue","webpack:///./src/views/Login.vue?09c2","webpack:///./src/views/Login.vue","webpack:///./src/assets/ga.png","webpack:///./src/views/needwx.vue?6e89","webpack:///./src/App.vue?ca56","webpack:///./src/views/needwx.vue?ed74","webpack:///src/views/needwx.vue","webpack:///./src/views/needwx.vue?a12f","webpack:///./src/views/needwx.vue","webpack:///./src/utils/request.js","webpack:///./src/getters.js","webpack:///./src/store.js","webpack:///./src/App.vue?ba1d","webpack:///./src/promissionRouter.js","webpack:///./src/components/ScrollPane.vue?e0bf","webpack:///src/components/ScrollPane.vue","webpack:///./src/components/ScrollPane.vue?7bba","webpack:///./src/components/ScrollPane.vue","webpack:///./src/App.vue?5d67","webpack:///./src/App.vue?76d7","webpack:///./src/views/Login.vue?bc70","webpack:///./src/api/employee.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","components","Sidebar","ScrollPane","Logo","Hamburger","mixins","cmdindex","AgentPhone","listenmark","NewsVisible","collapsed","zModalShadow","SidebarVisible","collapsedClass","sysUserName","newsDialogCss","sysUserAvatar","ExpirationDate","ExpirationDay","printdevlist","tagsList","mqttinit","editpwdfrom","show","oldpwd","newpwd","renewpwd","editpwdrules","required","trigger","device","printmodel","printtime","printdetail","printdetaillist","routes","visible","top","left","selectedTag","affixTags","onemark","destroyed","vm","mqtt","client","connected","end","methods","init","localStorage","this","JSON","parse","emp","syspara","filter","ParaValue","saveorderaddgoodsprint","toJSON","substr","replace","printdev","pr","dylist","printgoodsss","LODOP","paperwidth","strHTML","printerName","html","listenonoff","$confirm","catch","gotappath","Path","$router","path","toggleSideBar","downlodop","downlodwin","saveeditpwd","_this","$message","editpwd","showClose","showCancelButton","sessionStorage","global","applicationUserManager","refresh","$route","platform","handleOpen","keyPath","toindex","handleClose","onSubmit","handleopen","handleclose","handleselect","logout","collapse","screen","width","showMenu","status","$refs","menuCollapsed","getElementsByClassName","style","display","isActive","fullPath","closeTags","index","item","delItem","$store","commit","stringify","closeAll","closeOther","curItem","setTags","route","meta","NoTabPage","title","topic","basetopic","callaudio","content","command","duration","position","audio","action","serialportpowerhandle","serialportpowerhandlesync","msg","handleTags","getUserInfoByToken","token","loginParams","getUserByToken","success","mounted","tags","getItem","NavigationBar","updated","user","EmpName","avatar","computed","mapState","classObj","hideSidebar","openSidebar","withoutAnimation","mobile","showTags","variables","watch","created","getttsurl","params","service","upfileimage","post","ApplicationUserManager","authority","client_id","redirect_uri","response_type","scope","post_logout_redirect_uri","signinRedirect","getUser","signoutRedirect","UserManager","CreatedOKLodopObject","CLodopIsLocal","CLodopJsState","needCLodop","ua","navigator","userAgent","match","verTrident","verIE","verOPR","verFF","x64","verChrome","loadCLodop","documentElement","JS1","JS2","evt","insertBefore","firstChild","getLodop","oOBJECT","oEMBED","strHtmInstall","strHtmUpdate","strHtm64_Install","strHtm64_Update","strHtmFireFox","strHtmChrome","strCLodopInstall_1","strCLodopInstall_2","strCLodopInstall_3","strCLodopUpdate","isIE","getCLodop","body","innerHTML","CLODOP","CVERSION","is64IE","VERSION","indexOf","SET_LICENSES","alert","render","_vm","_h","$createElement","_c","_self","staticClass","staticStyle","_e","keepAlive","staticRenderFns","component","class","hidden","_b","attrs","background","currentPage","pageSize","layout","pageSizes","total","on","$event","handleSizeChange","handleCurrentChange","$attrs","Math","easeInOutQuad","b","requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","callback","move","amount","scrollTop","scrollTo","to","start","change","increment","currentTime","animateScroll","val","props","page","default","limit","autoScroll","set","$emit","requestLogin","refreshToken","getNavigationBar","getsystemtime","saveRefreshtime","nowtime","Date","lastRefreshtime","refreshtime","expiretime","TokenExpire","refreshCount","setMinutes","getMinutes","ToLogin","store","removeItem","router","query","redirect","currentRoute","location","reload","userAuth","isAuthenticated","refreshUserInfo","profile","save","getdevsetbykey","getsysparalist","editpara","put","datacleartypelist","cleandata","saveaddress","getlongitudeandlatitude","savesyspara","getsysparabytype","getauthlogmv","toggleClick","NoNeedHome","sidebar","opened","handleClickOutside","menuBg","menuText","menuActiveText","_l","menu","id","hasTagsView","_v","_s","slot","nativeOn","arguments","ref","refInFor","active","button","preventDefault","stopPropagation","directives","rawName","expression","$set","model","$$v","TypeName","TableName","TablePeopleCount","row","GoodsName","UnitName","Quantity","child","yindex","Remark","initMqtt","commonApi","state","mqttuser","options","username","password","clientId","clean","cleanSession","reconnectPeriod","connect","subscribe","log","stop","Vue","use","VueBus","ElementUI","size","Cookies","beforeEach","from","next","config","productionTip","getViewHeight","clientHeight","getViewWidth","getdocViewWidth","clientWidth","parseInt","numformat2","parseFloat","isNaN","Number","toFixed","h","App","$mount","IsButton","isExternalLink","iconCls","children","IsHide","cop","linkProps","_t","isExternal","test","AppLink","map","webpackAsyncContext","req","ids","keys","file","topath","logo","ChainType","antRouter","IS_IDS4","_m","curTime","expiredate","GetNavigationBar","uid","userinfo","getRouter","goback","_import","require","Router","createRouter","base","process","NoPage","requireAuth","WxPage","Login","LoginCallbackView","filterAsyncRouter","asyncRouterMap","accessedRouters","Layout","info","resetRouter","newRouter","matcher","$addRoutes","f","addRoutes","loginbyempcode","changeloginmode","ruleForm","rules","domProps","composing","_k","keyCode","handleSubmit","Array","isArray","rememberpwd","_i","$$a","$$el","$$c","checked","$$i","concat","logining","keyupEnter","loginStr","getdate","packconfig","version","instance","loginmode","account","empcode","pwd","rememberuser","remembermark","ev","rulelogin","validate","valid","Id","DeviceKey","res","confirmButtonText","dangerouslyUseHTMLString","url","decodeURIComponent","GetFirstRouter","Routers","element","go","loading","axios","baseURL","storeTemp","startLoading","$loading","lock","fullscreen","endLoading","needLoadingRequestCount","close","showFullScreenLoading","interceptors","tokenExpire","headers","Authorization","response","errInfo","originalRequest","_retry","Token","setSeconds","getSeconds","expires_in","__isRetryRequest","getters","app","language","visitedViews","tagsView","cachedViews","introduction","roles","permission_routes","permission","errorLogs","errorLog","logs","Vuex","Store","tagsStoreList","mutations","saveToken","setItem","savemqtt","saveTokenExpire","saveTagsData","SET_LANGUAGE","actions","setLanguage","getObjArr","saveObjArr","routerGo","login","buttonList","getButtonList","routePath","routers","forEach","toLowerCase","ButtonList","handleScroll","scrollWrapper","scrollContainer","wrap","$scrollWrapper","moveToTarget","currentTag","tagList","firstTag","lastTag","afterNextTagOffsetLeft","scrollLeft","$containerWidth","getempbyid","queryemp","createemp","editemp","deleteemp","delete"],"mappings":"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BAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OACh4FyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,wDC1QT,W,6DCAA,W,kjECwQe,QACb+F,WAAYA,CAAdC,eAAAC,kBAAAC,YAAAC,kBACEC,OAAQA,CAACA,QACTxH,KAHF,WAII,MAAO,CACLyH,SAAUA,EACVC,WAAYA,GACZC,YAAYA,EACZC,aAAaA,EACbC,WAAWA,EACXC,cAAcA,EACdC,gBAAgBA,EAChBC,eAAgBA,gBAChBC,YAAaA,GACbC,cAAeA,cACfC,cAAeA,GACfC,eAAgBA,GAChBC,cAAeA,IACfC,aAAcA,GACdC,SAAUA,GACVC,UAAUA,EACVC,YAAaA,CACXC,MAAMA,EACNC,OAAQA,GACRC,OAAQA,GACRC,SAAUA,IAEZC,aAAcA,CACZH,OAAQA,CAChB,CAAUI,UAAVA,EAAU7D,QAAVA,UAAU8D,QAAVA,SAEQJ,OAAQA,CAChB,CAAUG,UAAVA,EAAU7D,QAAVA,UAAU8D,QAAVA,SAEQH,SAAUA,CAClB,CAAUE,UAAVA,EAAU7D,QAAVA,YAAU8D,QAAVA,UAGMC,OAAQA,GACR9C,EAAGA,GACH+C,WAAYA,CACVC,UAAWA,GACXC,YAAaA,IAEfC,gBAAiBA,GACjBC,OAAQA,GACRC,SAASA,EACTC,IAAKA,EACLC,KAAMA,EACNC,YAAaA,GACbC,UAAWA,GACXC,SAASA,IAGbC,UAtDF,WAuDI,IAAJ,OACQC,EAAGC,KAAKC,OAAOC,WAAWH,EAAGC,KAAKC,OAAOE,OAE/CC,QAASA,CACPC,KADJ,WAGApD,2CACAA,oCAE8C,GAAlCA,OAAOqD,aAAa1C,YAAyD,SAAlCX,OAAOqD,aAAa1C,WACjE2C,KAAK3C,YAAa,EAElB2C,KAAK3C,YAAa,GAI5BX,6CACAA,sCAEQsD,KAAKhC,aAAeiC,KAAKC,MAAMxD,OAAOqD,aAAa/B,eAErD,IACE,IAAR,kDACQgC,KAAKV,QAAUa,EAAIC,QAAQC,QACnC,YAAU,MAAV,sBACA,GAAAC,UACA,YAEIC,uBAzBJ,sKA0BA,oDACAC,SACAC,OAAA,MACAC,QAAA,SA7BA,sCA+BA1K,GA/BA,6GAiCA8I,EAAA,0BACA,2DAEAtC,iBACAsC,YArCA,oBAsCA6B,EAAA,uBACA,8CAEA,gCAzCA,sBA0CAA,YA1CA,wBA2CAC,EAAAD,KACA,2BACA,iBA7CA,UA8CA,kBA9CA,QA+CAE,EAAAZ,8BACA/J,EAAA2K,SACA3J,EAAA,EAjDA,aAiDAA,KAjDA,wBAkDA,gCACA,iBAnDA,UAoDA,kBApDA,QAiDAA,IAjDA,mDAwDA,oCACA+I,qBAEAU,+BA3DA,kCA4DA,qBA5DA,sHA+BA3K,EAAA,EA/BA,YA+BAA,MA/BA,yCA+BAA,GA/BA,eA+BAA,IA/BA,uHAmEI8K,aAnEJ,SAmEAH,GAAA,WACM,OAAO,IAAI1I,SAAQ,SAAzB,GACQ8C,YAAWA,WACT,IAAV,mDACU,IAGE,GAFA4F,EAASA,cACrBA,2BACA,QAAgB,EAAhB,UACc,IAAd,mBACcI,EAAMA,WAAWA,IACjBA,EAAMA,kBAAkBA,EAASA,WACL,QAAxBJ,EAASK,YACXD,EAAMA,mBAAmBA,EAAGA,OAAQA,OAAQA,oBAElB,QAAxBJ,EAASK,YACXD,EAAMA,mBAAmBA,EAAGA,OAAQA,OAAQA,oBAE9CA,EAAMA,gBAAgBA,WAAYA,IAClCA,EAAMA,gBAAgBA,OAAQA,GAC9BA,EAAMA,eAAeA,qBAAsBA,eAC3CA,EAAMA,eAAeA,qBAAsBA,cAC3CA,EAAMA,cAAcA,GAAIA,EAAGA,OAAQA,OAAQA,GAC3CA,EAAMA,sBACpBJ,4BAGcI,EAAMA,QAER,GAAZ,QAAgB,EAAhB,UAC0C,QAAxBJ,EAASK,aACXC,EAAUA,SAASA,eAAeA,YAAYA,WAGhD,IADA,IAAd,IACA,qBACgBA,GAChB,mDAE0C,QAAxBN,EAASK,aACXC,GAAWA,mDACXA,GAAWA,uCACXA,GAAWA,wCAEbvE,OAAOA,UAAUA,KAAKA,WAAYA,CAChCwE,YAAaA,EAASA,UACtBC,KAAMA,EACNH,WAAYA,EAASA,cAGrC,UACU9I,MACV,UAGIkJ,YAxHJ,SAwHApI,GAAA,WACM,OAAQA,GACN,KAAK,EACHgH,KAAKqB,SAAS,kCAAmC,KAAM,IAGjEvH,MAAA,WACY4C,OAAZA,2BACY,EAAZ,iBAEA4E,OAAA,eACU,MACF,KAAK,EACH5E,OAAOA,aAAaA,YAAaA,EACjCsD,KAAK3C,YAAa,EAClB,QAGNkE,UA1IJ,SA0IAC,GACMxB,KAAKyB,QAAQf,QAAQ,CACnBgB,KAAMA,KAGVC,cA/IJ,YAgJ6B,IAAnB3B,KAAKzC,UACPyC,KAAKzC,WAAY,EAEjByC,KAAKzC,WAAY,GAGrBqE,UAtJJ,WAuJMlF,OAAOA,KACb,gEAGImF,WA3JJ,WA4JMnF,OAAOA,KAAKA,kDAEdoF,YA9JJ,WA8JA,WACUC,EAAQ/B,KACRA,KAAK7B,YAAYG,QAAU0B,KAAK7B,YAAYI,SAC9CyB,KAAKgC,SAASzH,MAAM,sBAEpB0H,eAAQA,CACN5D,OAAQA,KAAKA,YAAYA,OACzBC,OAAQA,KAAKA,YAAYA,SACnCxE,MAAA,YACU,EAAV,oBACU,EAAV,sBACU,EAAV,sBACU,EAAV,wBACU,EAAV,gCACYoI,WAAWA,EACXC,kBAAkBA,IAE9BrI,MAAA,WACY4C,OAAZA,gCACYA,OAAZA,iCACYA,OAAZA,uCACYA,OAAZA,yCACYA,OAAZA,uCACYA,OAAZA,kCACYA,OAAZA,gCACY0F,eAAZA,mBACYC,EAAZA,aACY,EAAZ,YACY,EAAZ,UACY,EAAZ,iCACA,UACcC,gBAEAP,EAAdA,qBAIAT,OAAA,mBAIIiB,QAvMJ,SAuMAb,GACU1B,KAAKwC,OAAOd,OAASA,GACD,QAAlB1B,KAAKyC,UACP/F,OAAOA,SAASA,UAItBgG,WA9MJ,SA8MAxG,EAAAyG,KAGIC,QAjNJ,WAkNM5C,KAAKyB,QAAQf,QAAQ,CACnBgB,KAAMA,OAGVmB,YAtNJ,SAsNA3G,EAAAyG,KAGIG,SAzNJ,aA4NIC,WA5NJ,aA+NIC,YA/NJ,aAkOIC,aAAcA,SAAlBA,OAEIC,OAAQA,WAAZ,WACUnB,EAAQ/B,KACZA,KAAKqB,SAAS,SAAU,KAAM,IAGpCvH,MAAA,WACQ,IACEiI,EAAVA,YACA,UACQA,EAARA,YACQrF,OAARA,gCACQA,OAARA,iCACQA,OAARA,uCACQA,OAARA,yCACQA,OAARA,uCACQA,OAARA,kCACQ0F,eAARA,mBACQC,EAARA,aACQ,EAAR,YACQ,EAAR,UACQ,EAAR,iCACA,UACUC,gBAEAP,EAAVA,qBAIAT,OAAA,gBAGI6B,SAAUA,WACRnD,KAAKzC,WAAayC,KAAKzC,UACnByC,KAAKzC,WACPyC,KAAKtC,eAAiB,iBACtBsC,KAAKvC,gBAAiB,IAEtBuC,KAAKtC,eAAiB,gBAClBhB,OAAO0G,OAAOC,MAAQ,MACxBrD,KAAKvC,gBAAiB,IAI1Bf,OAAOA,aAAaA,SAAWA,KAAKA,WAEtC4G,SAjRJ,SAiRAtN,EAAAuN,GACMvD,KAAKwD,MAAMC,cAAcC,uBAC/B,mBACA,GAAAC,MAAAC,QAAAL,kBAEIM,SAtRJ,SAsRAnC,GACM,OAAOA,IAAS1B,KAAKwC,OAAOsB,UAG9BC,UA1RJ,SA0RAC,GACM,IAAN,+BACA,mBACA,iBACA,mBACUC,GACFC,EAAQA,OAASA,KAAKA,OAAOA,UAAYA,KAAKA,QAAQA,KAAKA,EAAKA,MAChElE,KAAKmE,OAAOC,OAAO,eAAgBnE,KAAKoE,UAAUrE,KAAK/B,YAEvD+B,KAAKyB,QAAQjL,KAAK,MAItB8N,SAvSJ,WAwSMtE,KAAK/B,SAAW,GAChB+B,KAAKyB,QAAQjL,KAAK,KAClB4L,eAAeA,WAAWA,SAG5BmC,WA7SJ,WA6SA,WACA,oCACQ,OAAON,EAAKvC,OAAS,EAA7B,mBAEM1B,KAAK/B,SAAWuG,EAChBpC,eAAeA,QAAQA,OAAQA,KAAKA,UAAUA,KAAKA,YAGrDqC,QArTJ,SAqTAC,GACM,IAAN,OACM,IAAKA,EAAMC,KAAKC,UAAW,CACzB,IAAR,+BACU,OAAOX,EAAKvC,OAASgD,EAAMZ,aAGrC,QACAY,iBACAA,uBAEUlF,EAAGA,SAASA,KAAKA,CACfqF,MAAOA,EAAMA,KAAKA,MAClBnD,KAAMA,EAAMA,WAMxB,YACAgD,cACAA,gBACAA,mBAEQlF,EAAGA,KAAKA,WACRA,EAAGA,KAAKA,KAAKA,OAAOA,GAAGA,WAAWA,SAAUA,EAAOA,GACjD,GAAIsF,GAAStF,EAAGC,KAAKA,KAAKsF,UAAW,CACd,IAAjBvF,EAAGpC,aACLoC,EAAGA,WAAaA,OAAOA,aAAaA,YAEtC,IAAZ,mBACA,0BACA,gBACYhD,QAAQA,IAAIA,GACZ,IAAZ,SACA,KACY,OAAQ,EAApB,iBACc,IAAK,OACHwI,EAAYA,KACZ,MACF,IAAK,KACHA,EAAYA,KACZ,MACF,IAAK,KACHA,EAAYA,KACZ,MACF,IAAK,OACHA,EAAYA,KACZ,MACF,IAAK,KACHA,EAAYA,KACZ,MAEJ,OAAQ,EAApB,QACc,IAAK,OACHC,EAChBlO,iBACA,WACAA,kBACA,UACgB,MACF,IAAK,SACHyI,EAAGA,KAAKA,MAAMA,SAAUA,UAExB,MACF,IAAK,KACHqF,EAAQA,OACRI,EAAUA,kBACV,MACF,IAAK,QACHJ,EAAQA,OACRI,EAAUA,EAA1BA,KACgB,MACF,IAAK,WAEHzF,EAAGA,WAAaA,GAChBA,EAAGA,WAAaA,KAAKA,MAAMA,EAA3CA,MACgBA,EAAGA,gBAAkBA,GACrBA,EAAGA,gBAAkBA,EAAGA,WAAWA,YACnCA,EAAGA,yBACHwF,EAAYA,KACZH,EAAQA,OACRI,EAAUA,EAAGA,WAAWA,UAAYA,eACpC,MACF,IAAK,kBACH,GAAoB,QAAhBzF,EAAGiD,SAAoB,CACzB,IAAIyC,EAAU,EAAhC,KACkB1F,EAAGA,sBAAsBA,GACzBA,EAAGA,KAAKA,MAAMA,SAAUA,UAE1B,MACF,IAAK,eACHqF,EAAQA,SACRI,EAAUA,8BAAgCA,EAAGA,WAC7C,MAEJ,GACZlO,oBACAA,6BAEkByI,EAAGnC,WAAY,CACjBmC,EAAGA,QAAQA,CACTqF,MAAOA,EACPjK,QAASA,EAAEA,KAAMA,CAAnC+I,wBAAA,GACkBwB,SAAUA,EACVC,SAAUA,iBAEZ,IAAhB,YACgBC,EAAMA,IACtB,+CACA,SAGgBA,EAAMA,QAAUA,mBAOpB,GAAqB,mBAAjBtO,OAAOuO,OAA6B,CACtC,IAAd,2BACA,KAAkB,EAAlB,KACoB,EAApB,OAIgB9F,EAAGA,SAASA,CACV5E,QAASA,EAA3BA,IACkB5B,KAAMA,cAMhBwG,EAAGA,UAAWA,IAIlB+F,sBAhcJ,oEAgcAL,GAhcA,+FAicA,iBAjcA,uBAkcA,gBAlcA,SAmcA,kCAncA,6BAqcAnK,uBACA,iCACA,KAvcA,yGA0cIyK,0BA1cJ,SA0cAN,GAAA,WACM,OAAO,IAAIjN,SAAQ,SAAzB,GACQ8C,YAAWA,WACT,IACE2B,OAAOA,UAAUA,KAAKA,cAAeA,GACrC,EAAZ,WACYA,OAAOA,UAAUA,QAAQA,eAAeA,SAAUA,GAErC,WAAP+I,GAEFvN,OAGhB,aACA,SAIIwN,WA5dJ,SA4dAR,GACkBA,UAAZA,EAAsBA,KAAKA,aAAeA,KAAKA,YAEjDS,mBA/dJ,SA+dAC,GAAA,WACU7D,EAAQ/B,KACR6F,EAAc,CAAxBD,SACME,eAAeA,GAAaA,MAAKA,SAAnBA,GACZ,EAAR,YACapQ,EAAKqQ,SAMRhE,EAAMA,QAAQA,CACZ/I,KAAMA,UACN4B,QAASA,SAArBA,gCACYuK,SAAUA,MAEZpD,EAAMA,YAAcA,EAAKA,SAASA,QAClCrF,OAAOA,aAAaA,KAAOA,KAAKA,UAAUA,EAAKA,WAX/CqF,EAAMA,SAASA,CACbnH,QAASA,EAAKA,QACd5B,KAAMA,eAchBgN,QA/iBF,WAgjBI,IAAJ,OACIxG,EAAGA,eAAiBA,OAAOA,aAAaA,eACxCA,EAAGA,cAAgBA,OAAOA,aAAaA,cACvC,IAAIyG,EAAO7D,eAAe8D,QAAQ,QACtCjG,2CACA,GACQgG,GAAQA,EAAK/P,OAAS,IACxBsJ,EAAGA,SAAWA,GAEhB,IAAI2G,EAAgBlG,KAAKC,MAC7BxD,4DAGQ8C,EAAGR,OAAO9I,QAAU,GAAKiQ,GAAiBA,EAAcjQ,QAAU,IACpEsJ,EAAGA,OAASA,IAQhB4G,QAtkBF,WAukBI,IAAIC,EAAOpG,KAAKC,MACpBxD,wDAEQ2J,IACFrG,KAAKrC,YAAc0I,EAAKC,QACxBtG,KAAKnC,cAAgBwI,EAAKE,QAE5B,IAAIJ,EAAgBlG,KAAKC,MAC7BxD,4DAEQyJ,GAAiBA,EAAcjQ,QAAU,IAEjD,uBACA+J,kDAEQD,KAAKhB,OAASmH,IAIpBK,SAAUA,EAAZA,KACAC,oBADA,IAQIC,SARJ,WASM,MAAO,CACLC,YAAaA,KAAKA,UAClBC,aAAcA,KAAKA,UACnBC,kBAAkBA,EAClBC,OAAwBA,WAAhBA,KAAKA,SAGjBC,SAhBJ,WAoBM,OAHI/G,KAAK/B,SAAS/H,OAAS,GACzB8J,KAAKmE,OAAOC,OAAO,eAAgBnE,KAAKoE,UAAUrE,KAAK/B,WAElD+B,KAAK/B,SAAS/H,OAAS,GAEhC8Q,UAtBJ,WAuBM,OAAO,OAGXC,MAAOA,CAELzE,OAAQA,WAAZ,gKACAH,UADA,gCAEA,uBAFA,OAIA,gBACA4D,EAAA,eACA,2BACA,gBACAA,GADA,IACA,0CACA,8BACA,qCAKA,QARA,mCAPA,wGAAYzD,IAsBV0E,QA5oBF,WA6oBIlH,KAAKF,OAELE,KAAKyE,QAAQzE,KAAKwC,QAEkB,QAAhC9F,OAAOqD,aAAaoD,UACtBnD,KAAKzC,WAAY,EACjByC,KAAKmD,aAELnD,KAAKzC,WAAY,EACjByC,KAAKmD,gB,mGC95BX,oFAEagE,EAAY,SAAAC,GAAW,OAAOC,OAAQ7L,IAAR,wBAAqC,CAAC4L,OAAQA,KAE5EE,EAAc,SAAAF,GACvB,OAAOC,OAAQE,KAAR,0BAAwCH,K,oCCLnD,W,ypBCEMI,E,2CACJ,aAAe,0CACP,CACJC,UAAW,0BACXC,UAAW,cACXC,aAAc,wCACdC,cAAe,iBACfC,MAAO,qCACPC,yBAA0B,iC,qGAG9B,8GACQ9H,KAAK+H,iBADb,gCAES/H,KAAKgI,WAFd,gD,sIAIA,uHACShI,KAAKiI,mBADd,gD,8DAfmCC,kBAmB/B5F,EAAyB,IAAIkF,G,0ECpB/BW,EAAsBC,EAAeC,E,oBAEzC,SAASC,IACL,IACI,IAAIC,EAAKC,UAAUC,UACnB,GAAIF,EAAGG,MAAM,mBACT,OAAO,EACX,GAAIH,EAAGG,MAAM,qBACT,OAAO,EACX,GAAIH,EAAGG,MAAM,YACT,OAAO,EACX,GAAIH,EAAGG,MAAM,eACT,OAAO,EACX,IAAIC,EAAaJ,EAAGG,MAAM,kBACtBE,EAAQL,EAAGG,MAAM,eACjBG,EAASN,EAAGG,MAAM,cAClBI,EAAQP,EAAGG,MAAM,kBACjBK,EAAMR,EAAGG,MAAM,QACnB,IAAMC,IAAiBC,GAAWG,EAC9B,OAAO,EACN,GAAID,GAEL,GADAA,EAAQA,EAAM,GAAGJ,MAAM,OAClBI,EAAM,IAAM,IAAQC,EACrB,OAAO,OACR,GAAIF,GAEP,GADAA,EAASA,EAAO,GAAGH,MAAM,OACrBG,EAAO,IAAM,GACb,OAAO,OACR,IAAMF,IAAiBC,EAAQ,CAClC,IAAII,EAAYT,EAAGG,MAAM,iBACzB,GAAIM,IACAA,EAAYA,EAAU,GAAGN,MAAM,OAC3BM,EAAU,IAAM,IAChB,OAAO,EAGnB,OAAO,EACT,MAAOzP,GACL,OAAO,GAKf,SAAS0P,IACL,GAAqB,WAAjBZ,GAA+C,YAAjBA,EAAlC,CACAA,EAAgB,UAChB,IAAIzO,EAAOrB,SAASqB,MAAQrB,SAASC,qBAAqB,QAAQ,IAAMD,SAAS2Q,gBAC7EC,EAAM5Q,SAASQ,cAAc,UAC7BqQ,EAAM7Q,SAASQ,cAAc,UAK7BoQ,EAAI7P,IAAM,uCACV8P,EAAI9P,IAAM,wCAEd6P,EAAIlQ,OAASmQ,EAAInQ,OAAS,WAAaoP,EAAgB,YACvDc,EAAIjQ,QAAUkQ,EAAIlQ,QAAU,SAASmQ,GAAOhB,EAAgB,YAC5DzO,EAAK0P,aAAaH,EAAKvP,EAAK2P,YAC5B3P,EAAK0P,aAAaF,EAAKxP,EAAK2P,YAC5BnB,KAAoBe,EAAI7P,IAAM8P,EAAI9P,KAAKoP,MAAM,8BAIjD,SAASc,EAASC,EAASC,GACvB,IAUI3I,EAVA4I,EAAgB,oHAChBC,EAAe,gHACfC,EAAmB,oHACnBC,EAAkB,gHAClBC,EAAgB,mGAChBC,EAAe,0EACfC,EAAqB,oHACrBC,EAAqB,8EACrBC,EAAqB,wBACrBC,EAAkB,qIAEtB,IACI,IAAI7B,EAAKC,UAAUC,UACf4B,IAAU9B,EAAGG,MAAM,YAAgBH,EAAGG,MAAM,YAChD,GAAIJ,IAAc,CACd,IACIvH,EAAQuJ,YACV,MAAO/Q,IACT,IAAKwH,GAA2B,aAAlBsH,EAEV,OAEJ,IAAKtH,EAED,YADAxI,SAASgS,KAAKC,UAAYP,GAAsB7B,EAAgB8B,EAAqB,IAAMC,EAAqB5R,SAASgS,KAAKC,WAG1HC,OAAOC,SAAW,YAClBnS,SAASgS,KAAKC,UAAYJ,EAAkB7R,SAASgS,KAAKC,WAE1Dd,GAAUA,EAAOhQ,YACjBgQ,EAAOhQ,WAAWC,YAAY+P,GAC9BD,GAAWA,EAAQ/P,YACnB+P,EAAQ/P,WAAWC,YAAY8P,OAEpC,CACH,IAAIkB,EAASN,KAAW9B,EAAGG,MAAM,QAqBjC,GAnBIe,GAAWC,EAEP3I,EADAsJ,EACQZ,EAEAC,EACJvB,EAYRpH,EAAQoH,GAXRpH,EAAQxI,SAASQ,cAAc,UAC/BgI,EAAMzG,aAAa,QAAS,GAC5ByG,EAAMzG,aAAa,SAAU,GAC7ByG,EAAMzG,aAAa,QAAS,+DACxB+P,EACAtJ,EAAMzG,aAAa,UAAW,8CAE9ByG,EAAMzG,aAAa,OAAQ,6BAC/B/B,SAAS2Q,gBAAgBrP,YAAYkH,GACrCoH,EAAuBpH,IAIrBA,IAAYA,EAAM6J,QAMpB,OALIrC,EAAGsC,QAAQ,WAAa,IACxBtS,SAASgS,KAAKC,UAAYR,EAAezR,SAASgS,KAAKC,WACvDjC,EAAGsC,QAAQ,YAAc,IACzBtS,SAASgS,KAAKC,UAAYT,EAAgBxR,SAASgS,KAAKC,WAC5DjS,SAASgS,KAAKC,WAAaG,EAASd,EAAmBF,GAAiBpR,SAASgS,KAAKC,UAC/EzJ,EAUf,OAPIA,EAAM6J,QAAU,YACXtC,MACD/P,SAASgS,KAAKC,WAAaG,EAASb,EAAkBF,GAAgBrR,SAASgS,KAAKC,YAG5FzJ,EAAM+J,aAAa,GAAG,sCAAsC,GAAG,IAExD/J,EACT,MAAOxH,GACLwR,MAAM,cAAgBxR,IA7E1B+O,KAAgBW,K,4CC/DpB,IAAI+B,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACE,YAAY,mBAAmBC,YAAY,CAAC,OAAS,SAAS,CAACH,EAAG,aAAa,CAAEH,EAAIzI,OAAOmC,KAAc,UAAEyG,EAAG,eAAeH,EAAIO,MAAM,GAAKP,EAAIzI,OAAOmC,KAAK8G,UAA6BR,EAAIO,KAAtBJ,EAAG,gBAAyB,IACnTM,EAAkB,G,YCAlBxR,EAAS,GAKTyR,EAAY,eACdzR,EACA8Q,EACAU,GACA,EACA,KACA,KACA,MAIa,aAAAC,E,6CCjBf,IAAIX,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,uBAAuBM,MAAM,CAAC,OAASX,EAAIY,SAAS,CAACT,EAAG,gBAAgBH,EAAIa,GAAG,CAACC,MAAM,CAAC,WAAad,EAAIe,WAAW,eAAef,EAAIgB,YAAY,YAAYhB,EAAIiB,SAAS,OAASjB,EAAIkB,OAAO,aAAalB,EAAImB,UAAU,MAAQnB,EAAIoB,OAAOC,GAAG,CAAC,qBAAqB,SAASC,GAAQtB,EAAIgB,YAAYM,GAAQ,sBAAsB,SAASA,GAAQtB,EAAIgB,YAAYM,GAAQ,kBAAkB,SAASA,GAAQtB,EAAIiB,SAASK,GAAQ,mBAAmB,SAASA,GAAQtB,EAAIiB,SAASK,GAAQ,cAActB,EAAIuB,iBAAiB,iBAAiBvB,EAAIwB,sBAAsB,gBAAgBxB,EAAIyB,QAAO,KAAS,IACnsBhB,EAAkB,G,UCDtBiB,KAAKC,cAAgB,SAAS/Q,EAAGgR,EAAG3R,EAAGC,GAErC,OADAU,GAAKV,EAAI,EACLU,EAAI,EACCX,EAAI,EAAIW,EAAIA,EAAIgR,GAEzBhR,KACQX,EAAI,GAAKW,GAAKA,EAAI,GAAK,GAAKgR,IAGtC,IAAIC,EAAoB,WACtB,OAAOpQ,OAAOqQ,uBAAyBrQ,OAAOsQ,6BAA+BtQ,OAAOuQ,0BAA4B,SAASC,GAAYxQ,OAAO3B,WAAWmS,EAAU,IAAO,KADlJ,GAOxB,SAASC,EAAKC,GACZ7U,SAAS2Q,gBAAgBmE,UAAYD,EACrC7U,SAASgS,KAAK7Q,WAAW2T,UAAYD,EACrC7U,SAASgS,KAAK8C,UAAYD,EAE5B,SAAShI,IACP,OAAO7M,SAAS2Q,gBAAgBmE,WAAa9U,SAASgS,KAAK7Q,WAAW2T,WAAa9U,SAASgS,KAAK8C,UAO5F,SAASC,EAASC,EAAIpI,EAAU+H,GACrC,IAAMM,EAAQpI,IACRqI,EAASF,EAAKC,EACdE,EAAY,GACdC,EAAc,EAClBxI,EAAkC,qBAAdA,EAA6B,IAAMA,EACvD,IAAIyI,EAAgB,SAAhBA,IAEFD,GAAeD,EAEf,IAAIG,EAAMlB,KAAKC,cAAce,EAAaH,EAAOC,EAAQtI,GAEzDgI,EAAKU,GAEDF,EAAcxI,EAChB2H,EAAiBc,GAEbV,GAAkC,oBAAdA,GAEtBA,KAINU,ICnCa,OACb/S,KAAMA,aACNiT,MAAOA,CACLzB,MAAOA,CACL5N,UAAUA,EACVzF,KAAMA,QAER+U,KAAMA,CACJ/U,KAAMA,OACNgV,QAASA,GAEXC,MAAOA,CACLjV,KAAMA,OACNgV,QAASA,IAEX5B,UAAWA,CACTpT,KAAMA,MACNgV,QAFN,WAGQ,MAAO,CAAC,GAAI,GAAI,IAAK,OAGzB7B,OAAQA,CACNnT,KAAMA,OACNgV,QAASA,2CAEXhC,WAAYA,CACVhT,KAAMA,QACNgV,SAASA,GAEXE,WAAYA,CACVlV,KAAMA,QACNgV,SAASA,GAEXnC,OAAQA,CACN7S,KAAMA,QACNgV,SAASA,IAGbxH,SAAUA,CACRyF,YAAaA,CACXzQ,IADN,WAEQ,OAAOwE,KAAK+N,MAEdI,IAJN,SAIAN,GACQ7N,KAAKoO,MAAM,cAAeP,KAG9B3B,SAAUA,CACR1Q,IADN,WAEQ,OAAOwE,KAAKiO,OAEdE,IAJN,SAIAN,GACQ7N,KAAKoO,MAAM,eAAgBP,MAIjChO,QAASA,CACP2M,iBADJ,SACAqB,GACM7N,KAAKoO,MAAM,aAAc,CAA/BL,sBAAAE,UACUjO,KAAKkO,YACPZ,EAASA,EAAGA,MAGhBb,oBAPJ,SAOAoB,GACM7N,KAAKoO,MAAM,aAAc,CAA/BL,OAAAE,sBACUjO,KAAKkO,YACPZ,EAASA,EAAGA,QCnF0U,I,wBCQ1V3B,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,oWCfF0C,EAAe,SAAAjH,GACxB,OAAOC,OAAQ7L,IAAR,kBAA+B,CAAE4L,OAAQA,KAGvCkH,EAAe,SAAAlH,GACxB,OAAOC,OAAQ7L,IAAR,yBAAsC,CAAE4L,OAAQA,KAG9CtB,EAAiB,SAAAsB,GAC1B,OAAOC,OAAQ7L,IAAR,2BAAwC,CAAE4L,OAAQA,KAGhDmH,EAAmB,SAAAnH,GAC5B,OAAOC,OAAQ7L,IAAR,6BAA0C,CAAE4L,OAAQA,KAGlDoH,EAAgB,SAAApH,GAAW,OAAOC,OAAQ7L,IAAR,0BAAuC,CAAE4L,OAAQA,KACnFqH,EAAkB,SAAArH,GAC3B,IAAIsH,EAAU,IAAIC,KACdC,EAAkBlS,OAAOqD,aAAa8O,YAAc,IAAIF,KAAKjS,OAAOqD,aAAa8O,aAAe,IAAIF,MAAM,GAC1GG,EAAa,IAAIH,KAAKA,KAAKzO,MAAMxD,OAAOqD,aAAagP,cACrDC,EAAe,GACfJ,GAAmBF,GACnBE,EAAkBF,EAAUI,EAAaJ,EAAUI,EACnDF,EAAgBK,WAAWL,EAAgBM,aAAeF,GAC1DtS,OAAOqD,aAAa8O,YAAcD,GAElClS,OAAOqD,aAAa8O,YAAc,IAAIF,MAAM,IAGvCQ,EAAU,SAAA/H,GACnBgI,OAAMhL,OAAO,YAAa,IAC1BgL,OAAMhL,OAAO,kBAAmB,IAChCgL,OAAMhL,OAAO,eAAgB,IAC7B1H,OAAOqD,aAAasP,WAAW,QAC/B3S,OAAOqD,aAAasP,WAAW,iBAC/BC,OAAO5O,QAAQ,CACXgB,KAAM,SACN6N,MAAO,CAAEC,SAAUF,OAAOG,aAAa3L,YAE3CpH,OAAOgT,SAASC,W,oFC3CdC,EAAW,CACfla,KADe,WAEb,MAAO,CACL2Q,KAAM,CACJxL,KAAM,GACNgV,iBAAiB,KAIvBhQ,QAAS,CACDiQ,gBADC,6KAEcxN,OAAuB0F,UAFrC,OAEC3B,EAFD,OAGDA,GACFrG,KAAKqG,KAAKxL,KAAOwL,EAAK0J,QAAQlV,KAC9BmF,KAAKqG,KAAKwJ,iBAAkB,IAE5B7P,KAAKqG,KAAKxL,KAAO,GACjBmF,KAAKqG,KAAKwJ,iBAAkB,GARzB,yGAYH3I,QArBS,uKAsBPlH,KAAK8P,kBAtBE,yGAyBFF,U,oCC1Bf,W,oCCAA,sYAEaI,EAAO,SAAA5I,GAAY,OAAOC,OAAQE,KAAR,uBAAqCH,IAE/D6I,EAAiB,SAAA7I,GAAY,OAAOC,OAAQ7L,IAAR,iCAA8C,CAAE4L,YAEpF8I,EAAiB,SAAA9I,GAAY,OAAOC,OAAQ7L,IAAR,iCAA8C,CAAE4L,YAEpF+I,EAAW,SAAA/I,GAAW,OAAOC,OAAQ+I,IAAR,2BAAwChJ,IAErEiJ,EAAoB,SAAAjJ,GAAY,OAAOC,OAAQ7L,IAAR,oCAAiD,CAAE4L,YAE1FkJ,EAAY,SAAAlJ,GAAY,OAAOC,OAAQE,KAAR,4BAA0CH,IAEzEmJ,EAAc,SAAAnJ,GAAW,OAAOC,OAAQE,KAAR,8BAA4CH,IAE5EoJ,EAA0B,SAAApJ,GAAY,OAAOC,OAAQ7L,IAAR,0CAAuD,CAAE4L,YAEtGqJ,EAAc,SAAArJ,GAAY,OAAOC,OAAQE,KAAR,8BAA4CH,IAE7EsJ,EAAmB,SAAAtJ,GAAY,OAAOC,OAAQ7L,IAAR,mCAAgD,CAAE4L,YAExFuJ,EAAe,SAAAvJ,GAAY,OAAOC,OAAQE,KAAR,+BAA6CH,K,oCCtB5F,W,+ECAA,IAAI4D,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACG,YAAY,CAAC,QAAU,UAAUe,GAAG,CAAC,MAAQrB,EAAI2F,cAAc,CAACxF,EAAG,MAAM,CAACE,YAAY,YAAYM,MAAM,CAAC,YAAYX,EAAIpH,UAAUkI,MAAM,CAAC,QAAU,gBAAgB,MAAQ,6BAA6B,MAAQ,KAAK,OAAS,OAAO,CAACX,EAAG,OAAO,CAACW,MAAM,CAAC,EAAI,2dACnWL,EAAkB,GCcP,GACb7Q,KAAMA,YACNiT,MAAOA,CACLjK,SAAUA,CACR7K,KAAMA,QACNgV,SAASA,IAGbnO,QAASA,CACP+Q,YADJ,WAEM5Q,KAAKoO,MAAM,kBCzB6U,I,wBCQ1VzC,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,kDCnBf/T,EAAOD,QAAU,IAA0B,0B,8ICAvC,EAAS,WAAa,IAAIsT,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACW,MAAM,CAAC,GAAK,QAAQ,CAAGd,EAAIzI,OAAOmC,KAAKkM,WAIosFzF,EAAG,MAAM,CAACA,EAAG,aAAa,CAACW,MAAM,CAAC,KAAO,OAAO,KAAO,WAAW,CAACX,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,gBAAgB,MAAM,GAJ50FA,EAAG,MAAM,CAACE,YAAY,cAAcM,MAAMX,EAAIvE,UAAU,CAAiB,WAAfuE,EAAItM,QAAuBsM,EAAI6F,QAAQC,OAAQ3F,EAAG,MAAM,CAACE,YAAY,YAAYgB,GAAG,CAAC,MAAQrB,EAAI+F,sBAAsB/F,EAAIO,KAAKJ,EAAG,MAAM,CAACE,YAAY,oBAAoBM,MAAM,CAAE,WAAYX,EAAI1N,YAAa,CAAQ6N,EAAG,OAAO,CAACW,MAAM,CAAC,SAAWd,EAAI1N,aAAsB6N,EAAG,eAAe,CAACW,MAAM,CAAC,aAAa,sBAAsB,CAACX,EAAG,UAAU,CAACW,MAAM,CAAC,iBAAiBd,EAAIzI,OAAOd,KAAK,gBAAgB,GAAG,OAAS,GAAG,SAAWuJ,EAAI1N,UAAU,mBAAmB0N,EAAIjE,UAAUiK,OAAO,aAAahG,EAAIjE,UAAUkK,SAAS,oBAAoBjG,EAAIjE,UAAUmK,eAAe,KAAO,YAAY7E,GAAG,CAAC,KAAOrB,EAAIlI,WAAW,MAAQkI,EAAIjI,YAAY,OAASiI,EAAIhI,eAAegI,EAAImG,GAAInG,EAAU,QAAE,SAASoG,EAAKrN,GAAO,OAAOoH,EAAG,UAAU,CAAClP,IAAImV,EAAKC,GAAGvF,MAAM,CAAC,KAAOsF,QAAU,IAAI,IAAI,GAAGjG,EAAG,MAAM,CAACE,YAAY,iBAAiBM,MAAM,CAAE2F,aAAa,IAAQ,CAACnG,EAAG,MAAM,CAACQ,MAAM,CAAE,gBAAgB,IAAQ,CAACR,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,YAAY,CAACE,YAAY,sBAAsBS,MAAM,CAAC,GAAK,sBAAsB,aAAad,EAAI1N,WAAW+O,GAAG,CAAC,YAAcrB,EAAI9H,YAAYiI,EAAG,gBAAgB,CAACE,YAAY,sCAAsCS,MAAM,CAAC,UAAY,IAAI,GAAK,yBAAyBd,EAAImG,GAAInG,EAAIzI,OAAc,SAAE,SAASyB,GAAM,OAAOmH,EAAG,qBAAqB,CAAClP,IAAI+H,EAAKvC,MAAM,CAAC0J,EAAG,OAAO,CAACG,YAAY,IAAI,CAACN,EAAIuG,GAAG,IAAIvG,EAAIwG,GAAGxN,EAAKpJ,cAAa,GAAGuQ,EAAG,MAAM,CAACE,YAAY,cAAc,CAAEL,EAAc,WAAEG,EAAG,OAAO,CAACG,YAAY,CAAC,YAAY,OAAO,eAAe,OAAO,OAAS,WAAWe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAI7J,YAAY,MAAM,CAACgK,EAAG,IAAI,CAACE,YAAY,eAAeC,YAAY,CAAC,MAAQ,iBAAiBN,EAAIuG,GAAG,aAAavG,EAAIO,KAAOP,EAAI5N,WAAoP4N,EAAIO,KAA5OJ,EAAG,OAAO,CAACG,YAAY,CAAC,YAAY,OAAO,eAAe,OAAO,OAAS,WAAWe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAI7J,YAAY,MAAM,CAACgK,EAAG,IAAI,CAACE,YAAY,eAAeC,YAAY,CAAC,MAAQ,YAAYN,EAAIuG,GAAG,aAAuBvG,EAAIlN,eAAiB,EAAGqN,EAAG,OAAO,CAACG,YAAY,CAAC,MAAQ,MAAM,eAAe,OAAO,YAAY,SAAS,CAACN,EAAIuG,GAAG,UAAUvG,EAAIwG,GAAGxG,EAAInN,mBAAmBmN,EAAIO,KAAqB,WAAfP,EAAItM,YAAqB,EAAOsM,EAAIO,KAAKJ,EAAG,cAAc,CAACW,MAAM,CAAC,KAAO,WAAW,QAAU,SAAS2F,KAAK,YAAY,CAACtG,EAAG,OAAO,CAACE,YAAY,kCAAkCC,YAAY,CAAC,OAAS,YAAY,CAACH,EAAG,IAAI,CAACE,YAAY,mBAAmBC,YAAY,CAAC,YAAY,UAAUN,EAAIuG,GAAG,qBAAqBvG,EAAIwG,GAAGxG,EAAItN,aAAa,sBAAsByN,EAAG,IAAI,CAACE,YAAY,2BAA2BF,EAAG,mBAAmB,CAACW,MAAM,CAAC,KAAO,YAAY2F,KAAK,YAAY,CAACtG,EAAG,mBAAmB,CAACuG,SAAS,CAAC,MAAQ,SAASpF,GAAQtB,EAAI9M,YAAYC,MAAO,KAAQ,CAACgN,EAAG,IAAI,CAACE,YAAY,aAAaC,YAAY,CAAC,MAAQ,QAAQ,eAAe,QAAQQ,MAAM,CAAC,cAAc,UAAUd,EAAIuG,GAAG,UAA4B,QAAjBvG,EAAIxI,SAAoB2I,EAAG,mBAAmB,CAACuG,SAAS,CAAC,MAAQ,SAASpF,GAAQ,OAAOtB,EAAIrJ,eAAe,CAACwJ,EAAG,IAAI,CAACE,YAAY,uBAAuBC,YAAY,CAAC,MAAQ,SAASQ,MAAM,CAAC,cAAc,UAAUd,EAAIuG,GAAG,YAAYvG,EAAIO,KAAuB,QAAjBP,EAAIxI,SAAoB2I,EAAG,mBAAmB,CAACuG,SAAS,CAAC,MAAQ,SAASpF,GAAQ,OAAOtB,EAAIpJ,gBAAgB,CAACuJ,EAAG,IAAI,CAACE,YAAY,uBAAuBC,YAAY,CAAC,MAAQ,SAASQ,MAAM,CAAC,cAAc,UAAUd,EAAIuG,GAAG,kBAAkBvG,EAAIO,KAAKJ,EAAG,mBAAmB,CAACW,MAAM,CAAC,QAAU,IAAI4F,SAAS,CAAC,MAAQ,SAASpF,GAAQ,OAAOtB,EAAI/H,OAAOrM,MAAM,KAAM+a,cAAc,CAACxG,EAAG,IAAI,CAACE,YAAY,iBAAiBC,YAAY,CAAC,MAAQ,SAASQ,MAAM,CAAC,cAAc,UAAUd,EAAIuG,GAAG,WAAW,IAAI,IAAI,IAAI,GAAIvG,EAAY,SAAEG,EAAG,MAAM,CAACE,YAAY,sBAAsBS,MAAM,CAAC,GAAK,wBAAwB,CAACX,EAAG,SAAS,CAACA,EAAG,SAAS,CAACW,MAAM,CAAC,KAAO,KAAK,CAACX,EAAG,cAAc,CAACyG,IAAI,aAAavG,YAAY,qBAAqBL,EAAImG,GAAInG,EAAY,UAAE,SAASxS,EAAIuL,GAAO,OAAOoH,EAAG,cAAc,CAAClP,IAAIzD,EAAIiJ,KAAKmQ,IAAI,MAAMC,UAAS,EAAKxG,YAAY,iBAAiBM,MAAM,CAAEmG,OAAQ9G,EAAIpH,SAASpL,EAAIiJ,OAAQqK,MAAM,CAAC,GAAK,CACvgIrK,KAAMjJ,EAAIiJ,KACV6N,MAAO9W,EAAI8W,MACXzL,SAAUrL,EAAIqL,UACd,IAAM,QAAQ6N,SAAS,CAAC,QAAU,SAASpF,GAAQ,MAAG,WAAYA,GAA4B,IAAlBA,EAAOyF,OAAsB,KAAc/G,EAAIlH,UAAUC,MAAU,CAACoH,EAAG,OAAO,CAACkB,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAI1I,QAAQ9J,EAAIiJ,SAAS,CAACuJ,EAAIuG,GAAG,IAAIvG,EAAIwG,GAAGhZ,EAAIoM,UAAWoG,EAAIhN,SAAS/H,OAAS,EAAGkV,EAAG,OAAO,CAACE,YAAY,gBAAgBgB,GAAG,CAAC,MAAQ,SAASC,GAAyD,OAAjDA,EAAO0F,iBAAiB1F,EAAO2F,kBAAyBjH,EAAIlH,UAAUC,OAAWiH,EAAIO,UAAS,IAAI,GAAGJ,EAAG,SAAS,CAACW,MAAM,CAAC,KAAO,IAAI,CAACX,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,cAAc,CAACkB,GAAG,CAAC,QAAUrB,EAAIvF,aAAa,CAAC0F,EAAG,YAAY,CAACG,YAAY,CAAC,aAAa,OAAOQ,MAAM,CAAC,KAAO,UAAU,CAACX,EAAG,IAAI,CAACE,YAAY,wCAAwCF,EAAG,mBAAmB,CAACW,MAAM,CAAC,KAAO,WAAW,KAAO,SAAS2F,KAAK,YAAY,CAACtG,EAAG,mBAAmB,CAACW,MAAM,CAAC,QAAU,UAAU,CAACd,EAAIuG,GAAG,WAAW,IAAI,IAAI,MAAM,IAAI,GAAGvG,EAAIO,OAAOJ,EAAG,UAAU,CAACE,YAAY,YAAY,CAACF,EAAG,aAAa,CAACW,MAAM,CAAC,KAAO,iBAAiB,KAAO,WAAW,CAACX,EAAG,gBAAgB,IAAI,KAAKA,EAAG,MAAM,CAAC+G,WAAW,CAAC,CAACtX,KAAK,OAAOuX,QAAQ,SAASxW,MAAOqP,EAAkB,eAAEoH,WAAW,mBAAmB/G,YAAY,UAAUC,YAAY,CAAC,UAAU,QAAQQ,MAAM,CAAC,SAAW,KAAKO,GAAG,CAAC,MAAQrB,EAAI9H,YAAYiI,EAAG,YAAY,CAACW,MAAM,CAAC,MAAQ,OAAO,QAAUd,EAAI9M,YAAYC,KAAK,MAAQ,QAAQ,kBAAiB,EAAK,wBAAuB,EAAM,oBAAmB,EAAK,wBAAuB,GAAOkO,GAAG,CAAC,iBAAiB,SAASC,GAAQ,OAAOtB,EAAIqH,KAAKrH,EAAI9M,YAAa,OAAQoO,MAAW,CAACnB,EAAG,UAAU,CAACyG,IAAI,cAAc9F,MAAM,CAAC,MAAQd,EAAI9M,YAAY,MAAQ8M,EAAIzM,eAAe,CAAC4M,EAAG,eAAe,CAACW,MAAM,CAAC,MAAQ,OAAO,cAAc,QAAQ,KAAO,WAAW,CAACX,EAAG,WAAW,CAACW,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,GAAG,aAAe,OAAOwG,MAAM,CAAC3W,MAAOqP,EAAI9M,YAAkB,OAAE+O,SAAS,SAAUsF,GAAMvH,EAAIqH,KAAKrH,EAAI9M,YAAa,SAAUqU,IAAMH,WAAW,yBAAyB,GAAGjH,EAAG,eAAe,CAACW,MAAM,CAAC,MAAQ,OAAO,cAAc,QAAQ,KAAO,WAAW,CAACX,EAAG,WAAW,CAACW,MAAM,CAAC,gBAAgB,GAAG,UAAY,KAAK,kBAAkB,GAAG,aAAe,OAAOwG,MAAM,CAAC3W,MAAOqP,EAAI9M,YAAkB,OAAE+O,SAAS,SAAUsF,GAAMvH,EAAIqH,KAAKrH,EAAI9M,YAAa,SAAUqU,IAAMH,WAAW,yBAAyB,GAAGjH,EAAG,eAAe,CAACW,MAAM,CAAC,MAAQ,SAAS,cAAc,QAAQ,KAAO,aAAa,CAACX,EAAG,WAAW,CAACW,MAAM,CAAC,gBAAgB,GAAG,UAAY,KAAK,kBAAkB,GAAG,aAAe,OAAOwG,MAAM,CAAC3W,MAAOqP,EAAI9M,YAAoB,SAAE+O,SAAS,SAAUsF,GAAMvH,EAAIqH,KAAKrH,EAAI9M,YAAa,WAAYqU,IAAMH,WAAW,2BAA2B,IAAI,GAAGjH,EAAG,MAAM,CAACE,YAAY,gBAAgBS,MAAM,CAAC,KAAO,UAAU2F,KAAK,UAAU,CAACtG,EAAG,YAAY,CAACkB,GAAG,CAAC,MAAQ,SAASC,GAAQtB,EAAI9M,YAAYC,MAAO,KAAS,CAAC6M,EAAIuG,GAAG,SAASpG,EAAG,YAAY,CAACW,MAAM,CAAC,KAAO,WAAWO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAInJ,iBAAiB,CAACmJ,EAAIuG,GAAG,WAAW,IAAI,IAAI,GAA0JpG,EAAG,MAAM,CAACE,YAAY,kBAAkBC,YAAY,CAAC,MAAQ,QAAQ,QAAU,OAAO,cAAc,OAAO,YAAY,QAAQQ,MAAM,CAAC,GAAK,gBAAgB,CAACX,EAAG,MAAM,CAACG,YAAY,CAAC,MAAQ,QAAQ,aAAa,SAAS,cAAc,OAAO,YAAY,SAAS,CAACN,EAAIuG,GAAG,WAAWvG,EAAIwG,GAAGxG,EAAIrM,WAAW6T,SAAW,IAAMxH,EAAIrM,WAAW8T,UAAY,QAAQ,YAAYtH,EAAG,QAAQ,CAACE,YAAY,QAAQC,YAAY,CAAC,MAAQ,QAAQ,gBAAgB,mBAAmB,CAACH,EAAG,KAAK,CAACA,EAAG,KAAK,CAACW,MAAM,CAAC,MAAQ,QAAQ,CAACd,EAAIuG,GAAG,WAAWpG,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,MAAQ,QAAQ,CAACd,EAAIuG,GAAG,eAAevG,EAAIwG,GAAGxG,EAAIrM,WAAW+T,kBAAkB,oBAAoBvH,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACG,YAAY,CAAC,gBAAgB,iBAAiB,MAAQ,SAASQ,MAAM,CAAC,YAAc,IAAI,YAAc,MAAMd,EAAImG,GAAInG,EAAIrM,WAAsB,aAAE,SAASgU,EAAI5O,GAAO,OAAOoH,EAAG,MAAM,CAAClP,IAAI0W,EAAItB,IAAI,CAAClG,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,mBAAmBvG,EAAIwG,GAAGmB,EAAIC,WAAW,IAAI5H,EAAIwG,GAAGmB,EAAIE,UAAU,qBAAqB1H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,IAAIvG,EAAIwG,GAAGmB,EAAIG,eAAe9H,EAAImG,GAAIwB,EAAc,YAAE,SAASI,EAAMC,GAAQ,OAAO7H,EAAG,KAAK,CAAClP,IAAI+W,EAAO1H,YAAY,CAAC,aAAa,QAAQ,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,cAAc,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,sBAAsBvG,EAAIwG,GAAGuB,EAAMH,WAAW,IAAI5H,EAAIwG,GAAGuB,EAAMF,UAAU,qBAAqB1H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,oBAAoBvG,EAAIwG,GAAGuB,EAAMD,UAAU,yBAAuC,IAAdH,EAAIM,aAA8BpY,GAAd8X,EAAIM,OAAqB9H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,sBAAsBvG,EAAIwG,GAAGmB,EAAIM,QAAQ,sBAAsBjI,EAAIO,MAAM,MAAK,GAAGJ,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACG,YAAY,CAAC,MAAQ,QAAQ,aAAa,SAAS,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACW,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,QAAQvG,EAAIwG,GAAGxG,EAAIrM,WAAWC,sBAAsBuM,EAAG,MAAM,CAACE,YAAY,kBAAkBC,YAAY,CAAC,MAAQ,QAAQ,QAAU,OAAO,cAAc,OAAO,YAAY,QAAQQ,MAAM,CAAC,GAAK,aAAa,CAACX,EAAG,MAAM,CAACG,YAAY,CAAC,MAAQ,QAAQ,aAAa,SAAS,cAAc,OAAO,YAAY,SAAS,CAACN,EAAIuG,GAAG,WAAWvG,EAAIwG,GAAGxG,EAAIrM,WAAW6T,SAAW,IAAMxH,EAAIrM,WAAW8T,UAAY,QAAQ,YAAYtH,EAAG,QAAQ,CAACE,YAAY,QAAQC,YAAY,CAAC,MAAQ,QAAQ,gBAAgB,iBAAiB,YAAY,SAAS,CAACH,EAAG,KAAK,CAACA,EAAG,KAAK,CAACW,MAAM,CAAC,MAAQ,QAAQ,CAACd,EAAIuG,GAAG,WAAWpG,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,MAAQ,QAAQ,CAACd,EAAIuG,GAAG,eAAevG,EAAIwG,GAAGxG,EAAIrM,WAAW+T,kBAAkB,oBAAoBvH,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,QAAQ,CAACG,YAAY,CAAC,MAAQ,QAAQ,gBAAgB,kBAAkBQ,MAAM,CAAC,YAAc,IAAI,YAAc,MAAMd,EAAImG,GAAInG,EAAIrM,WAAsB,aAAE,SAASgU,EAAI5O,GAAO,OAAOoH,EAAG,MAAM,CAAClP,IAAI8H,GAAO,CAACoH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,mBAAmBvG,EAAIwG,GAAGmB,EAAIC,WAAW,IAAI5H,EAAIwG,GAAGmB,EAAIE,UAAU,qBAAqB1H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,IAAIvG,EAAIwG,GAAGmB,EAAIG,eAAe9H,EAAImG,GAAIwB,EAAc,YAAE,SAASI,EAAMC,GAAQ,OAAO7H,EAAG,KAAK,CAAClP,IAAI+W,EAAO1H,YAAY,CAAC,aAAa,QAAQ,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,cAAc,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,sBAAsBvG,EAAIwG,GAAGuB,EAAMH,WAAW,IAAI5H,EAAIwG,GAAGuB,EAAMF,UAAU,qBAAqB1H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAASQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,oBAAoBvG,EAAIwG,GAAGuB,EAAMD,UAAU,yBAAuC,IAAdH,EAAIM,aAA8BpY,GAAd8X,EAAIM,OAAqB9H,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,QAAQQ,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,sBAAsBvG,EAAIwG,GAAGmB,EAAIM,QAAQ,sBAAsBjI,EAAIO,MAAM,MAAK,GAAGJ,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACG,YAAY,CAAC,aAAa,SAAS,aAAa,OAAO,YAAY,SAAS,CAACH,EAAG,KAAK,CAACW,MAAM,CAAC,QAAU,MAAM,CAACd,EAAIuG,GAAG,QAAQvG,EAAIwG,GAAGxG,EAAIrM,WAAWC,yBACnvO6M,EAAkB,G,YCLwS,S,8FCe1TC,EAAY,eACd,EACA,EACAD,GACA,EACA,KACA,WACA,MAIa,EAAAC,E,iKCxBA,GACdlM,KAAM,GAEN0T,SAAU,WACT,IAAI3T,EAAKQ,KACLqG,EAAO,GACP+M,EAAY,kCAGf/M,OAF2BvL,GAAxBsU,OAAMiE,MAAMC,UAAiD,MAAxBlE,OAAMiE,MAAMC,SAE7CrT,KAAKC,MAAMxD,OAAOqD,aAAauT,UAE/BlE,OAAMiE,MAAMC,SAEpB,IAAIC,EAAU,CAEbC,SAAUnN,EAAKmN,SACfC,SAAUpN,EAAKoN,SACfC,SAAUrN,EAAKqN,SACfC,OAAO,EACPC,cAAc,EACdC,gBAAiB,KAElBnX,OAAOqD,aAAauT,SAAWrT,KAAKoE,UAAUkP,GAC9C/T,EAAGC,KAAKC,OAASD,IAAKqU,QAAQV,EAAWG,GACzC/T,EAAGC,KAAKsF,UAAYsB,EAAKmN,SACzBhU,EAAGC,KAAKC,OAAO4M,GAAG,WAAW,WAC5B9M,EAAGC,KAAKC,OAAOqU,UAAU1N,EAAKmN,UAAU,SAAUja,UAOnDiG,EAAGC,KAAKC,OAAO4M,GAAG,aAAa,SAAC/R,GAC/BiC,QAAQwX,IAAI,QAASzZ,MAGtBiF,EAAGC,KAAKC,OAAO4M,GAAG,SAAS,SAAU/S,GACpCiD,QAAQwX,IAAI,QAASza,GACrBiG,EAAGC,KAAKC,OAAOE,UAGjBL,UA1Cc,WA2Cb,IAAIC,EAAKQ,KACLR,EAAGC,KAAKC,OAAOC,WAAWH,EAAGC,KAAKC,OAAOE,OAE9CqU,KA9Cc,WA+Cb,IAAIzU,EAAKQ,KACLR,EAAGC,KAAKC,OAAOC,WAAWH,EAAGC,KAAKC,OAAOE,Q,UCrC/CsU,aAAIC,IAAIC,QAERF,aAAIC,IAAIE,IAAW,CACjBC,KAAMC,IAAQ/Y,IAAI,SAAW,WAG/B8T,OAAOkF,YAAW,SAACjH,EAAIkH,EAAMC,GAEvBnH,EAAG5I,KAAKE,QACVtM,SAASsM,MAAQ0I,EAAG5I,KAAKE,OAE3B6P,OAEFR,aAAI9d,UAAUqM,SAAW,MAEzByR,aAAIS,OAAOC,eAAgB,EAC3BV,aAAI9d,UAAUye,cAAgB,WAC5B,OAAOtc,SAAS2Q,gBAAgB4L,aAAe,KAEjDZ,aAAI9d,UAAU2e,aAAe,WAC3B,OAAO,KAETb,aAAI9d,UAAUqJ,KAAOA,EACrByU,aAAI9d,UAAU4e,gBAAkB,WAC9B,IAAIC,EAAc1c,SAAS2Q,gBAAgB+L,YAC3C,OAAIA,GAAe,KACVC,SAAuB,IAAdD,GAEdA,EAAc,MAAQA,GAAe,KAChC,MAELA,EAAc,KAAOA,GAAe,MAGpCA,EAAc,IAFT,OAKA,KAYXf,aAAI9d,UAAU+e,WAAa,SAAC/Y,GAE1B,OADAA,EAAIgZ,WAAWhZ,GACXiZ,MAAMjZ,GACD,GAEPA,EAAIkZ,OAAOlZ,EAAEmZ,QAAQ,IACdnZ,IAGX,IAAI8X,aAAI,CACN5E,cACAF,aACApE,OAAQ,SAAAwK,GAAC,OAAIA,EAAEC,MACdC,OAAO,S,6DC3EV,IAAI1K,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEH,EAAIhH,KAAa,SAAE,CAAmB,IAAfgH,EAAIhH,KAAKvC,MAAyB,KAAfuJ,EAAIhH,KAAKvC,MAA0B,KAAfuJ,EAAIhH,KAAKvC,MAAauJ,EAAIhH,KAAK0R,SAAyhC,CAAG1K,EAAIhH,KAAK0R,SAAkb1K,EAAIO,KAA5aJ,EAAG,WAAW,CAAClP,IAAI+O,EAAIhH,KAAKvC,KAAK,IAAIqK,MAAM,CAAC,GAAKd,EAAIhH,KAAKvC,OAAO,CAAC0J,EAAG,eAAe,CAAClP,IAAI+O,EAAIhH,KAAKvC,KAAK,IAAIqK,MAAM,CAAC,MAAQd,EAAI2K,eAAe3K,EAAIhH,KAAKvC,MAAO,GAAGuJ,EAAIhH,KAAKvC,OAAO,CAAC0J,EAAG,IAAI,CAACE,YAAY,KAAKM,MAAMX,EAAIhH,KAAK4R,QAAQtK,YAAY,CAAC,YAAY,OAAO,MAAQ,aAAaH,EAAG,WAAW,CAACsG,KAAK,SAAS,CAACtG,EAAG,OAAO,CAACE,YAAY,aAAaS,MAAM,CAAC,KAAO,SAAS2F,KAAK,SAAS,CAACzG,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAIhH,KAAKpJ,YAAY,IAAI,IAA18CuQ,EAAG,aAAa,CAAClP,IAAI+O,EAAIhH,KAAKvC,KAAKqK,MAAM,CAAC,MAAQd,EAAIhH,KAAKqN,GAAG,UAAU,CAAClG,EAAG,WAAW,CAACsG,KAAK,SAAS,CAAEzG,EAAIhH,KAAK6R,UAAU7K,EAAIhH,KAAK6R,SAAS5f,OAAO,GAAG+U,EAAIhH,KAAK4R,UAAU5K,EAAIhH,KAAK0R,SAAUvK,EAAG,IAAI,CAACE,YAAY,KAAKM,MAAMX,EAAIhH,KAAK4R,QAAQtK,YAAY,CAAC,YAAY,OAAO,MAAQ,aAAaN,EAAIO,KAAKJ,EAAG,OAAO,CAACE,YAAY,aAAaS,MAAM,CAAC,KAAO,SAAS2F,KAAK,SAAS,CAACzG,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAIhH,KAAKpJ,WAAWoQ,EAAImG,GAAInG,EAAIhH,KAAa,UAAE,SAAS+O,GAAO,MAAO,CAAGA,EAAM+C,QAAS9K,EAAIhH,KAAK0R,SAA2hB1K,EAAIO,KAArhB,CAAEwH,EAAM8C,UAAU9C,EAAM8C,SAAS5f,OAAO,EAAGkV,EAAG,UAAU,CAAClP,IAAI8W,EAAMtR,KAAKqK,MAAM,CAAC,KAAOiH,EAAM,MAAQA,EAAM1B,MAAMlG,EAAG,WAAW,CAAClP,IAAI8W,EAAMtR,KAAKqK,MAAM,CAAC,GAAKiH,EAAMtR,OAAO,CAAC0J,EAAG,eAAe,CAAClP,IAAI8W,EAAMtR,KAAKqK,MAAM,CAAC,MAAQd,EAAI2K,eAAe5C,EAAMtR,MAAO,GAAGsR,EAAMtR,MAAM4K,GAAG,CAAC,MAAQrB,EAAI+K,MAAM,CAAC5K,EAAG,IAAI,CAACE,YAAY,KAAKM,MAAMoH,EAAM6C,QAAQtK,YAAY,CAAC,YAAY,OAAO,MAAQ,aAAaH,EAAG,WAAW,CAACsG,KAAK,SAAS,CAACtG,EAAG,OAAO,CAACE,YAAY,aAAaS,MAAM,CAAC,KAAO,SAAS2F,KAAK,SAAS,CAACzG,EAAIuG,GAAGvG,EAAIwG,GAAGuB,EAAMnY,YAAY,IAAI,SAAiB,IAA4c,CAACuQ,EAAG,WAAW,CAAClP,IAAI+O,EAAIhH,KAAKvC,KAAK,IAAIqK,MAAM,CAAC,GAAKd,EAAIhH,KAAKvC,OAAO,CAAC0J,EAAG,eAAe,CAAClP,IAAI+O,EAAIhH,KAAKvC,KAAK,IAAIqK,MAAM,CAAC,MAAQd,EAAI2K,eAAe3K,EAAIhH,KAAKvC,MAAO,GAAGuJ,EAAIhH,KAAKvC,MAAM4K,GAAG,CAAC,MAAQrB,EAAI+K,MAAM,CAAC5K,EAAG,IAAI,CAACE,YAAY,KAAKM,MAAMX,EAAIhH,KAAK4R,QAAQtK,YAAY,CAAC,YAAY,OAAO,MAAQ,aAAaH,EAAG,WAAW,CAACsG,KAAK,SAAS,CAACtG,EAAG,OAAO,CAACE,YAAY,aAAaS,MAAM,CAAC,KAAO,SAAS2F,KAAK,SAAS,CAACzG,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAIhH,KAAKpJ,YAAY,IAAI,KAAK,IACtmE6Q,EAAkB,GCDlB,EAAS,WAAa,IAAIT,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAGH,EAAIjS,KAAKiS,EAAIa,GAAG,CAACrT,IAAI,aAAa,YAAYwS,EAAIgL,UAAUhL,EAAIsC,KAAI,GAAO,CAACtC,EAAIiL,GAAG,YAAY,IAC9L,EAAkB,G,8BCDf,SAASC,EAAWzU,GACzB,MAAO,0BAA0B0U,KAAK1U,GCMzB,OACboM,MAAOA,CACLP,GAAIA,CACFvU,KAAMA,OACNyF,UAAUA,IAGd+H,SAAUA,CACR2P,WADJ,WAEM,OAAO,YAETnd,KAJJ,WAKM,OAAIgH,KAAKmW,WACA,IAEF,gBAGXtW,QAASA,CACPoW,UADJ,SACA1I,GACM,OAAIvN,KAAKmW,WACA,CACL/d,KAAMA,EACNiB,OAAQA,SACRsK,MAAVA,eAGa,CACL4J,GAAIA,MCnCqU,I,YCO7U5B,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,EAAAA,E,QCsDA,GACb9Q,KAAMA,UACNgC,WAAYA,CAAdwZ,WACEvI,MAAOA,CACL7J,KAAMA,CACJjL,KAAMA,OACNyF,UAAUA,IAGdoB,QAASA,CACP+V,eADJ,SACArI,GACM,OAAO,EAAWA,IAEpByI,IAAKA,WAEHhW,KAAKoO,MAAM,UAAW,UCvFqT,ICO7U,EAAY,eACd,EACApD,EACAU,GACA,EACA,KACA,KACA,MAIa,S,+DClBf,W,uBCAA,IAAI4K,EAAM,CACT,kBAAmB,CAClB,OACA,kBAED,kBAAmB,CAClB,QAED,oBAAqB,CACpB,OACA,kBAED,4BAA6B,CAC5B,SAED,oBAAqB,CACpB,QAED,gCAAiC,CAChC,QAED,qCAAsC,CACrC,OACA,kBAED,sCAAuC,CACtC,OACA,kBAED,2BAA4B,CAC3B,OACA,kBAED,4BAA6B,CAC5B,OACA,kBAED,mDAAoD,CACnD,OACA,kBAED,yDAA0D,CACzD,OACA,kBAED,0CAA2C,CAC1C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,wCAAyC,CACxC,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,qCAAsC,CACrC,OACA,iBACA,kBAED,mCAAoC,CACnC,OACA,kBAED,mCAAoC,CACnC,OACA,kBAED,gCAAiC,CAChC,OACA,iBACA,kBAED,iCAAkC,CACjC,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,+BAAgC,CAC/B,OACA,iBACA,kBAED,0BAA2B,CAC1B,OACA,iBACA,iBACA,iBACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,gCAAiC,CAChC,QACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,wCAAyC,CACxC,OACA,iBACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,4CAA6C,CAC5C,OACA,iBACA,iBACA,kBAED,0CAA2C,CAC1C,OACA,iBACA,iBACA,iBACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,0CAA2C,CAC1C,OACA,iBACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,4CAA6C,CAC5C,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,0CAA2C,CAC1C,OACA,kBAED,wBAAyB,CACxB,OACA,iBACA,iBACA,iBACA,iBACA,kBAED,mCAAoC,CACnC,OACA,kBAED,0CAA2C,CAC1C,OACA,kBAED,+CAAgD,CAC/C,OACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,6CAA8C,CAC7C,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,oCAAqC,CACpC,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,gCAAiC,CAChC,OACA,iBACA,kBAED,oCAAqC,CACpC,OACA,kBAED,kCAAmC,CAClC,OACA,kBAED,qBAAsB,CACrB,QAED,6CAA8C,CAC7C,OACA,kBAED,gDAAiD,CAChD,OACA,kBAED,oDAAqD,CACpD,OACA,kBAED,mCAAoC,CACnC,OACA,iBACA,kBAED,sCAAuC,CACtC,OACA,kBAED,6BAA8B,CAC7B,OACA,kBAED,sCAAuC,CACtC,OACA,kBAED,6CAA8C,CAC7C,OACA,iBACA,kBAED,2CAA4C,CAC3C,OACA,iBACA,iBACA,kBAED,gCAAiC,CAChC,OACA,kBAED,iCAAkC,CACjC,OACA,iBACA,iBACA,iBACA,kBAED,iCAAkC,CACjC,OACA,kBAED,qCAAsC,CACrC,OACA,iBACA,iBACA,iBACA,kBAED,2BAA4B,CAC3B,OACA,iBACA,iBACA,iBACA,kBAED,gCAAiC,CAChC,OACA,iBACA,iBACA,iBACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,yCAA0C,CACzC,OACA,kBAED,wCAAyC,CACxC,OACA,kBAED,qCAAsC,CACrC,OACA,iBACA,iBACA,iBACA,kBAED,4CAA6C,CAC5C,OACA,kBAED,0CAA2C,CAC1C,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,+CAAgD,CAC/C,OACA,kBAED,6CAA8C,CAC7C,QACA,kBAED,8CAA+C,CAC9C,OACA,kBAED,iDAAkD,CACjD,OACA,kBAED,8BAA+B,CAC9B,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,4BAA6B,CAC5B,OACA,iBACA,kBAED,6BAA8B,CAC7B,OACA,iBACA,kBAED,gCAAiC,CAChC,OACA,kBAED,+CAAgD,CAC/C,OACA,kBAED,qCAAsC,CACrC,OACA,kBAED,gCAAiC,CAChC,OACA,kBAED,iCAAkC,CACjC,OACA,kBAED,0CAA2C,CAC1C,OACA,kBAED,2CAA4C,CAC3C,OACA,kBAED,+CAAgD,CAC/C,OACA,kBAED,+BAAgC,CAC/B,OACA,kBAED,gCAAiC,CAChC,OACA,iBACA,kBAED,iCAAkC,CACjC,OACA,kBAED,qCAAsC,CACrC,QACA,mBAGF,SAASC,EAAoBC,GAC5B,IAAInf,EAAoBgE,EAAEib,EAAKE,GAC9B,OAAOve,QAAQC,UAAU4B,MAAK,WAC7B,IAAIhC,EAAI,IAAI0B,MAAM,uBAAyBgd,EAAM,KAEjD,MADA1e,EAAE2B,KAAO,mBACH3B,KAIR,IAAI2e,EAAMH,EAAIE,GAAMlF,EAAKmF,EAAI,GAC7B,OAAOxe,QAAQ+C,IAAIyb,EAAI7Z,MAAM,GAAG0Z,IAAIjf,EAAoBS,IAAIgC,MAAK,WAChE,OAAOzC,EAAoBia,MAG7BiF,EAAoBG,KAAO,WAC1B,OAAOvgB,OAAOugB,KAAKJ,IAEpBC,EAAoBjF,GAAK,OACzB1Z,EAAOD,QAAU4e,G,kCC/djB,W,6DCAA,OAUe,sBAAAI,GAAI,OAAI,kBACnB,UAAQ,UAAYA,EAAO,W,qBCV/B/e,EAAOD,QAAU,CAAC,SAAW,UAAU,eAAiB,UAAU,kBAAoB,UAAU,OAAS,UAAU,UAAY,UAAU,UAAY,UAAU,aAAe,UAAU,aAAe,QAAQ,aAAe,OAAO,cAAgB,uB,kCCDrP,W,oCCAA,IAAIqT,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,yBAAyBM,MAAM,CAAEzI,SAAU8H,EAAI9H,WAAY,CAACiI,EAAG,aAAa,CAACW,MAAM,CAAC,KAAO,oBAAoB,CAAEd,EAAY,SAAEG,EAAG,cAAc,CAAClP,IAAI,WAAWoP,YAAY,oBAAoBS,MAAM,CAAC,GAAKd,EAAI2L,SAAS,CAAE3L,EAAQ,KAAEG,EAAG,MAAM,CAACE,YAAY,eAAeS,MAAM,CAAC,IAAMd,EAAI4L,QAAQzL,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACL,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAIpG,YAAYuG,EAAG,cAAc,CAAClP,IAAI,SAASoP,YAAY,oBAAoBS,MAAM,CAAC,GAAKd,EAAI2L,SAAS,CAAE3L,EAAQ,KAAEG,EAAG,MAAM,CAACE,YAAY,eAAeS,MAAM,CAAC,IAAMd,EAAI4L,QAAQ5L,EAAIO,KAAKJ,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACL,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAIpG,aAAa,IAAI,IAC/sB6G,EAAkB,GCwBP,GACb7Q,KAAMA,cACNiT,MAAOA,CACL3K,SAAUA,CACRnK,KAAMA,QACNyF,UAAUA,IAGdyI,QARF,WASIlH,KAAK8W,UAAYpa,OAAOqD,aAAa+W,UACf,GAAlB9W,KAAK8W,UACP9W,KAAK4W,OAAS,oBAEd5W,KAAK4W,OAAS,cAGlBlhB,KAhBF,WAiBI,MAAO,CACLmP,MAAOA,SACPgS,KAAMA,kDACNC,UAAWA,EACXF,OAAQA,gBC9C+U,I,wBCQzVjL,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,iCCnBftJ,cAAO0U,UAAY,GAEnB1U,EAAO2U,SAAU,I,0DCFjB,W,2CCAA,IAAIhM,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAsBF,EAAII,MAAMD,GAAO,OAAOH,EAAIgM,GAAG,IACnGvL,EAAkB,CAAC,WAAa,IAAIT,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACW,MAAM,CAAC,QAAU,KAAK,OAAS,MAAM,CAACX,EAAG,KAAK,CAACA,EAAG,KAAK,CAACH,EAAIuG,GAAG,sBAAsBpG,EAAG,KAAK,CAACH,EAAIuG,GAAG,oD,0FCmBpN,GACb3W,KAAMA,qBACNnF,KAFF,WAGI,MAAO,IAETwR,QALF,4LAOA5E,gCAPA,cAQAP,EAAA,KARA,SASAO,iBATA,OASA+D,EATA,OAUAtE,4CACAmV,EAAA,SACAC,EAAA,SACAD,2CAEAnV,qCACArF,kCACAA,4CACAqF,WACA/I,eACA4B,2BACAuK,eAEAkB,2BACAA,0CACAA,oBACA3J,2CACA,SACAqF,0BA5BA,qDA+BA,kCAAAnH,eA/BA,kHAkCEiF,QAASA,CAEPuX,iBAFJ,SAEAC,GACM,IAAItV,EAAQ/B,KACR6F,EAAc,CAAxBwR,MAAAxb,YACM0S,eAAiBA,GAAaA,MAAKA,SAAnBA,GACd,GAAK7Y,EAAKqQ,QAKlB,CAEUhE,EAAMA,SAASA,CACbnH,QAASA,UACT5B,KAAMA,YAER,IAAV,aACA0D,wDAEUqF,EAAMA,QAAQA,CACZ/I,KAAMA,UACN4B,QAASA,iBAArBA,OACA0c,YADA,sBAEApC,4CAFA,WAGY/P,SAAUA,MAEZzI,OAAOA,aAAaA,OAASA,KAAKA,UAAUA,EAAKA,SAASA,UAC1D,IAAV,sBACU6a,EAAYA,eAAkBA,GAC9BjI,OAAOA,WAAWA,GAClBvN,EAAMA,QAAQA,QACxBA,0DAzBUA,EAAMA,SAASA,CACbnH,QAASA,EAAKA,QACd5B,KAAMA,gBC/DyU,I,YCOvV2S,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,KACA,MAIa,aAAAC,E,sGClBf,IAAIX,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACL,EAAIuG,GAAG,mBAAmBpG,EAAG,MAAMH,EAAIuG,GAAG,kBAAkBpG,EAAG,YAAY,CAACW,MAAM,CAAC,KAAO,QAAQO,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAIuM,YAAY,CAACvM,EAAIuG,GAAG,WAAW,MACtT9F,EAAkB,GCkBP,GACb7O,WAAYA,GACZsV,WAAYA,GACZzc,KAHF,WAII,MAAO,IAETwR,QANF,aAOErH,QAASA,CACP2X,OADJ,WAEMxX,KAAKyB,QAAQjL,KAAK,QC5BqT,I,wBCQzUmV,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,gCClBf/T,EAAOD,QAAU,CAAC,SAAW,UAAU,eAAiB,UAAU,kBAAoB,UAAU,OAAS,UAAU,UAAY,UAAU,UAAY,UAAU,aAAe,UAAU,aAAe,QAAQ,aAAe,OAAO,cAAgB,uB,ipECK/O8f,EAAUC,EAAQ,QAExBxD,aAAIC,IAAIwD,QACR,IAAMC,EAAe,kBACpB,IAAID,OAAO,CACV7b,KAAM,UACN+b,KAAMC,IACN9Y,OAAQ,CACP,CACC0C,KAAM,OACNiK,UAAWoM,aACXld,KAAM,SACN8J,KAAM,CACLE,MAAO,SACPmT,aAAa,EACbpT,WAAW,EACXiM,YAAY,GAEbhF,QAAQ,GAET,CACCnK,KAAM,UACNiK,UAAWsM,aACXpd,KAAM,SACN8J,KAAM,CACLE,MAAO,SACPmT,aAAa,EACbpT,WAAW,EACXiM,YAAY,GAEbhF,QAAQ,GAET,CACCnK,KAAM,IACNiK,UAAWuM,aACXrd,KAAM,QACNgb,QAAS,kBACTlR,KAAM,CACLE,MAAO,KACPD,WAAW,EACXiM,YAAY,GAEbhF,QAAQ,GAET,CACCnK,KAAM,YACN7G,KAAM,oBACN8Q,UAAWwM,aACXxT,KAAM,CACLE,MAAO,KACPD,WAAW,GAEZiH,QAAQ,GAET,CACCnK,KAAM,IACNmK,QAAQ,EACR2D,SAAU,CAAE9N,KAAM,UAIhB4N,EAASsI,IACR,SAASQ,EAAkBC,GAEjC,IAAMC,EAAkBD,EAAehY,QAAO,SAACqE,GAC9C,GAAIA,EAAMhD,OAASgD,EAAMiR,SACxB,GAAmB,MAAfjR,EAAMhD,MAA+B,MAAfgD,EAAMhD,KAE/BgD,EAAMiH,UAAY4M,kBAElB,IACC7T,EAAMiH,UAAY8L,EAAQ/S,EAAMhD,KAAKhB,QAAQ,OAAQ,KACpD,MAAO5I,GACR,IACC4M,EAAMiH,UAAY,kBACjB,UAAO,UAAYjH,EAAMhD,KAAKhB,QAAQ,OAAQ,IAAM,SACpD,MAAOnG,GACRiC,QAAQgc,KACP,WACC9T,EAAMhD,KAAKhB,QAAQ,OAAQ,IAC3B,+CACD,cASL,OAHIgE,EAAMoR,UAAYpR,EAAMoR,SAAS5f,SAAWwO,EAAMiR,WACrDjR,EAAMoR,SAAWsC,EAAkB1T,EAAMoR,YAEnC,KAER,OAAOwC,EAED,SAASG,IACf,IAAMC,EAAYd,IAClBtI,EAAOqJ,QAAUD,EAAUC,QAE5BrJ,EAAOsJ,WAAa,SAACxR,GACpB,IAAIyR,EAAI,SAAJA,EAAK5U,GACR,OAAIA,EAAK,aACRA,EAAK,YAAcA,EAAK,YAAY5D,OAAOwY,IACpC,IACG5U,EAAK,cACa,IAArBA,EAAK,aAKVmD,EAASA,EAAO/G,OAAOwY,GAC3BvJ,EAAOwJ,UAAU1R,IAEHkI,U,yCCtHf,IAAItE,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACL,EAAIgM,GAAG,GAAG7L,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,KAAK,CAACA,EAAG,OAAO,CAACQ,OAA6B,IAAvBX,EAAI8N,eAA2B,SAAW,GAAGxN,YAAY,CAAC,eAAe,OAAO,OAAS,WAAWe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAI+N,gBAAgB,MAAM,CAAC/N,EAAIuG,GAAG,UAAUvG,EAAIuG,GAAG,KAAKpG,EAAG,OAAO,CAACQ,OAA6B,IAAvBX,EAAI8N,eAA0B,SAAW,GAAGxN,YAAY,CAAC,cAAc,OAAO,OAAS,WAAWe,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOtB,EAAI+N,gBAAgB,MAAM,CAAC/N,EAAIuG,GAAG,YAAYpG,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,UAAU,CAACyG,IAAI,WAAW9F,MAAM,CAAC,MAAQd,EAAIgO,SAAS,MAAQhO,EAAIiO,QAAQ,CAAC9N,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,QAAQ,CAAC+G,WAAW,CAAC,CAACtX,KAAK,QAAQuX,QAAQ,UAAUxW,MAAOqP,EAAIgO,SAAgB,QAAE5G,WAAW,qBAAqBtG,MAAM,CAAC,KAAO,OAAO,KAAO,KAAK,SAAW,IAAIoN,SAAS,CAAC,MAASlO,EAAIgO,SAAgB,SAAG3M,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOlT,OAAO+f,WAAqBnO,EAAIqH,KAAKrH,EAAIgO,SAAU,UAAW1M,EAAOlT,OAAOuC,WAAWwP,EAAG,QAAQ,CAACH,EAAIuG,GAAGvG,EAAIwG,GAAGxG,EAAI8N,eAAiB,QAAU,SAAS3N,EAAG,UAAUA,EAAG,MAAM,CAAC+G,WAAW,CAAC,CAACtX,KAAK,OAAOuX,QAAQ,SAASxW,MAAOqP,EAAkB,eAAEoH,WAAW,mBAAmB/G,YAAY,gBAAgB,CAACF,EAAG,QAAQ,CAAC+G,WAAW,CAAC,CAACtX,KAAK,QAAQuX,QAAQ,UAAUxW,MAAOqP,EAAIgO,SAAgB,QAAE5G,WAAW,qBAAqBtG,MAAM,CAAC,KAAO,OAAO,KAAO,KAAK,SAAW,IAAIoN,SAAS,CAAC,MAASlO,EAAIgO,SAAgB,SAAG3M,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOlT,OAAO+f,WAAqBnO,EAAIqH,KAAKrH,EAAIgO,SAAU,UAAW1M,EAAOlT,OAAOuC,WAAWwP,EAAG,QAAQ,CAACH,EAAIuG,GAAG,QAAQpG,EAAG,UAAUA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,QAAQ,CAAC+G,WAAW,CAAC,CAACtX,KAAK,QAAQuX,QAAQ,UAAUxW,MAAOqP,EAAIgO,SAAY,IAAE5G,WAAW,iBAAiBtG,MAAM,CAAC,KAAO,WAAW,KAAO,WAAW,SAAW,IAAIoN,SAAS,CAAC,MAASlO,EAAIgO,SAAY,KAAG3M,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAIA,EAAOvT,KAAK6R,QAAQ,QAAQI,EAAIoO,GAAG9M,EAAO+M,QAAQ,QAAQ,GAAG/M,EAAOrQ,IAAI,SAAkB,KAAc+O,EAAIsO,aAAa1iB,MAAM,KAAM+a,YAAY,MAAQ,SAASrF,GAAWA,EAAOlT,OAAO+f,WAAqBnO,EAAIqH,KAAKrH,EAAIgO,SAAU,MAAO1M,EAAOlT,OAAOuC,WAAWwP,EAAG,QAAQ,CAACH,EAAIuG,GAAG,QAAQpG,EAAG,UAAUA,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,QAAQ,CAAC+G,WAAW,CAAC,CAACtX,KAAK,QAAQuX,QAAQ,UAAUxW,MAAOqP,EAAe,YAAEoH,WAAW,gBAAgBtG,MAAM,CAAC,KAAO,WAAW,GAAK,QAAQ,MAAQ,IAAIoN,SAAS,CAAC,QAAUK,MAAMC,QAAQxO,EAAIyO,aAAazO,EAAI0O,GAAG1O,EAAIyO,YAAY,KAAK,EAAGzO,EAAe,aAAGqB,GAAG,CAAC,OAAS,SAASC,GAAQ,IAAIqN,EAAI3O,EAAIyO,YAAYG,EAAKtN,EAAOlT,OAAOygB,IAAID,EAAKE,QAAuB,GAAGP,MAAMC,QAAQG,GAAK,CAAC,IAAIpH,EAAI,GAAGwH,EAAI/O,EAAI0O,GAAGC,EAAIpH,GAAQqH,EAAKE,QAASC,EAAI,IAAI/O,EAAIyO,YAAYE,EAAIK,OAAO,CAACzH,KAAYwH,GAAK,IAAI/O,EAAIyO,YAAYE,EAAIhd,MAAM,EAAEod,GAAKC,OAAOL,EAAIhd,MAAMod,EAAI,UAAW/O,EAAIyO,YAAYI,MAAS1O,EAAG,QAAQ,CAACW,MAAM,CAAC,IAAM,UAAU,CAACX,EAAG,QAAQH,EAAIuG,GAAG,YAAYpG,EAAG,KAAK,CAACA,EAAG,IAAI,CAACW,MAAM,CAAC,KAAO,WAAWX,EAAG,MAAM,CAACE,YAAY,eAAe,GAAGF,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACF,EAAG,YAAY,CAACW,MAAM,CAAC,QAAUd,EAAIiP,UAAUvI,SAAS,CAAC,MAAQ,SAASpF,GAAgC,OAAxBA,EAAO0F,iBAAwBhH,EAAIsO,aAAa1iB,MAAM,KAAM+a,YAAY,MAAQ,SAASrF,GAAQ,OAAIA,EAAOvT,KAAK6R,QAAQ,QAAQI,EAAIoO,GAAG9M,EAAO+M,QAAQ,QAAQ,GAAG/M,EAAOrQ,IAAI,SAAkB,KAAc+O,EAAIkP,WAAWtjB,MAAM,KAAM+a,cAAc,CAAC3G,EAAIuG,GAAG,aAAavG,EAAIwG,GAAGxG,EAAImP,UAAU,eAAe,KAAKhP,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,IAAI,CAACH,EAAIuG,GAAG,aAAapG,EAAG,OAAO,CAACG,YAAY,CAAC,cAAc,QAAQ,CAACN,EAAIuG,GAAG,QAAQvG,EAAIwG,GAAGxG,EAAIoP,YAAYpP,EAAIuG,GAAG,6BAA8C,OAAhBvG,EAAIxI,SAAmB2I,EAAG,IAAI,CAACW,MAAM,CAAC,KAAO,4BAA4B,OAAS,WAAW,CAACd,EAAIuG,GAAG,sBAAsBvG,EAAIO,KAAKJ,EAAG,OAAO,CAACG,YAAY,CAAC,cAAc,SAAS,CAACN,EAAIuG,GAAG,SAASvG,EAAIwG,GAAGxG,EAAIqP,WAAWC,cAA+B,OAAhBtP,EAAIxI,SAAmB2I,EAAG,MAAM,CAACG,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAAS,QAAU,WAAW,CAACN,EAAIgM,GAAG,KAAKhM,EAAIO,UAC75HE,EAAkB,CAAC,WAAa,IAAIT,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,KAAK,CAACA,EAAG,MAAM,CAACG,YAAY,CAAC,MAAQ,QAAQ,OAAS,SAASQ,MAAM,CAAC,IAAM,EAAQ,WAA0Bd,EAAIuG,GAAG,iBAAiB,WAAa,IAAIvG,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACG,YAAY,CAAC,QAAU,eAAe,kBAAkB,OAAO,OAAS,OAAO,cAAc,QAAQQ,MAAM,CAAC,OAAS,SAAS,KAAO,gFAAgF,CAACX,EAAG,MAAM,CAACG,YAAY,CAAC,MAAQ,QAAQQ,MAAM,CAAC,IAAM,EAAQ,WAAuBX,EAAG,IAAI,CAACG,YAAY,CAAC,MAAQ,OAAO,OAAS,OAAO,cAAc,OAAO,OAAS,kBAAkB,MAAQ,SAAS,CAACN,EAAIuG,GAAG,uD,wJCiFruB,GACb3U,WAAYA,CAAdmH,cACEtO,KAFF,WAGI,MAAO,CACL8kB,SAAUA,GACVJ,SAAUA,KACVF,UAAUA,EACVnB,gBAAgBA,EAChB0B,UAAWA,OACXxB,SAAUA,CACRyB,QAASA,GACTC,QAASA,GACTC,IAAKA,IAEPxd,WAAYA,GACZid,SAASA,IAAIA,MAAOA,cACpBC,WAAYA,EACZ5Y,KAAMA,GACNwX,MAAOA,CACLwB,QAASA,CACjB,CAAUjc,UAAVA,EAAU7D,QAAVA,QAAU8D,QAAVA,SAGQkc,IAAKA,CACb,CAAUnc,UAAVA,EAAU7D,QAAVA,QAAU8D,QAAVA,UAIMgb,aAAaA,IAGjBxS,QA/BF,WAsCI,GALJxK,2CACAA,2CAEMsD,KAAKyB,QAAQf,QAAQ,WAG3BhE,6CACAA,oCACA,CACM,IAAIme,EAAe5a,KAAKC,MAAMxD,OAAOqD,aAAa8a,cAClD7a,KAAKiZ,SAASyB,QAAUG,EAAaH,QACrC1a,KAAKiZ,SAAS2B,IAAMC,EAAaD,IACjC5a,KAAKiZ,SAAS0B,QAAUE,EAAaF,QACrC3a,KAAK0Z,YAAcmB,EAAaC,aAElC9a,KAAKma,cAEPta,QAASA,CACPsa,WADJ,WACA,WACM5hB,SAASA,UAAYA,SAA3BA,GACQ,IAAR,2CAEAT,gBACAA,iCACAA,cAEU,EAAV,iBAIIkhB,gBAbJ,SAaApd,GAEQoE,KAAK+Y,eADM,KAATnd,GAON2d,aArBJ,SAqBAwB,GAAA,WACUhZ,EAAQ/B,KACRgb,GAAY,EACc,KAA1Bhb,KAAKiZ,SAASyB,SAAwC,KAAtB1a,KAAKiZ,SAAS2B,IAChD7Y,EAAMA,SAASA,MAAMA,cAErBiZ,GAAYA,EAEVA,IAAqC,IAAxBhb,KAAK+Y,gBACU,KAA1B/Y,KAAKiZ,SAAS0B,UAChBK,GAAYA,EACZjZ,EAAMA,SAASA,MAAMA,iBAGrBiZ,GACFhb,KAAKwD,MAAMyV,SAASgC,UAAS,SAArC,GACU,IAAIC,EA2DF,OAAO,EAzDP,EAAZ,YAEY,IAAIrV,EAAc,CAChB6U,QAASA,EAAvBA,iBACcC,QAAdA,GAAuBA,EAAvBA,qCACcC,IAAKA,EAAnBA,cAGY7Y,EAAMA,SAAWA,SACjBsM,eAAaA,GACzBvU,MAAA,YACc,IAAd,UACciI,EAAdA,0BACgByR,SAAhBA,4CACgBC,SAAhBA,UACgBC,SAChB,8CACA,qBACA,gDACA,IACA,IACA/G,yCAEc5K,EAAdA,6BACc,IAAd,WACA,WACAmV,2CAgBc,GAdAnV,EAAdA,mCACcrF,OAAdA,2BACcA,OAAdA,qCACcA,OAAdA,6CACcA,OAAdA,2CACcA,OAAdA,mCACcA,OAAdA,mCACcA,OAAdA,mCACcA,OAAdA,uCACcA,OAAdA,iCACAhH,sBACcgH,OAAdA,6CACcA,OAAdA,qCACc,EAAd,wBACA,eACgB,IAAhB,yCACgBme,EAAhBA,gBACgBne,OAAhBA,0BACAuD,uBAEgBvD,OAAhBA,+BAEcqF,EAAdA,yBAEAT,OAAA,YACcS,EAAdA,YACcA,EAAdA,uBASI4D,mBAtGJ,SAsGAC,GACM,IAAI7D,EAAQ/B,KACZ8F,iBAAiBA,MAAKA,SAARA,GACZpJ,OAAOA,aAAaA,KAAOA,KAAKA,UAAUA,GAC1B,MAAZhH,EAAKylB,KACPpZ,EAAMA,mBAENkO,eAAeA,CAAzBmL,mBAAA,kBACuB,MAAPC,IACF3e,OAAOA,aAAaA,aAAeA,EAAIA,wBAOjD0a,iBAtHJ,WAsHA,WACUrV,EAAQ/B,KACZuO,iBAAmBA,MAAKA,SAARA,GACd,IAAR,aACA7R,wDAEQqF,EAAMA,QAAQA,CACZ/I,KAAMA,UACN4B,QAASA,eAAnBA,uBACUuK,SAAUA,MAEZ,IAAIpH,EAAgBuX,OAAO5Y,OAAOqD,aAAahC,eAC/C,GAAIA,GAAiB,EAAG,CACtB,IAAI0H,EACd,kDACA1H,EACA,8DACU,EAAV,iBACYud,kBAAmBA,KACnBC,0BAA0BA,IAG9B7e,OAAOA,aAAaA,OAASA,KAAKA,UAAUA,EAAKA,UACjD,IAAR,aAIQ,GAHA6a,EAAYA,eAAkBA,GAC9BjI,OAAOA,WAAWA,GAClB,EAAR,uBAC2CxU,GAA/BiH,EAAMS,OAAO+M,MAAMC,SAAuB,CAC5C,IAAIgM,EAAMC,mBAAmB1Z,EAAMS,OAAO+M,MAAMC,UAChD,QAAW1U,GAAP0gB,GAA2B,MAAPA,EAAa,CACnC,IAAK,IAAjB,aACcA,EAAMA,mBAAmBA,GAE3BA,EAAMA,EAAIA,UAAUA,EAAIA,YAAYA,aAAeA,EAAGA,EAAIA,QAE5DzZ,EAAMA,QAAQA,QAAQA,GAAYA,EAA5CA,WAEUA,EAAMA,QAAQA,QAAQA,EAAhCA,UAII2Z,eA/JJ,SA+JAC,GAAA,WACMA,EAAQA,MAAKA,SAAnBA,GACQ,GAAqB,MAAjBC,EAAQla,KAEV,OADA,EAAV,aACiB,EACjB,uCACU,EAAV,gCAKEsE,QA5NF,WA6NItJ,OAAOA,aAAaA,WAAWA,cAC/BA,OAAOA,aAAaA,WAAWA,YAC/BA,OAAOA,aAAaA,WAAWA,eAC/BA,OAAOA,aAAaA,WAAWA,UAC/BA,OAAOA,aAAaA,WAAWA,SAC/BA,OAAOA,aAAaA,WAAWA,QAC/BA,OAAOA,aAAaA,WAAWA,iBCrT4S,I,wBCQ3UiP,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,8BCnBf/T,EAAOD,QAAU,IAA0B,uB,kCCA3C,W,kCCAA,W,yCCAA,IAAIqT,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAsBF,EAAII,MAAMD,GAAO,OAAOH,EAAIgM,GAAG,IACnGvL,EAAkB,CAAC,WAAa,IAAIT,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,IAAI,CAACE,YAAY,kBAAkB,CAACL,EAAIuG,GAAG,iBCuBxK,GACb3U,WAAYA,GACZsV,WAAYA,GACZzc,KAHF,WAII,MAAO,IAETwR,QANF,aAOErH,QAASA,CACP2X,OADJ,WAEMxX,KAAKyB,QAAQoa,IAAI,MCjCyT,I,wBCQ5UlQ,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,gFCNXmQ,E,yDANEzU,EAAU0U,IAAM9f,OAAO,CAC5B+f,QAAS,yBAET5hB,QAAS,MAEN6hB,EAAY7M,OAEhB,SAAS8M,IACRJ,EAAU5H,aAAI9d,UAAU+lB,SAAS,CAChCnQ,WAAY,mBACZoQ,MAAM,EACNC,YAAY,IAGd,SAASC,IACRC,EAA0B,EAC1BT,EAAQU,QAGT,IAAID,EAA0B,EAC9B,SAASE,IACwB,IAA5BF,GACHL,IAEDK,IAQDlV,EAAQqV,aAAatjB,QAAQ+a,KAC5B,SAACQ,GACA8H,IACA,IAAIvF,EAAU,IAAIvI,KACdG,EAAa,IAAIH,KAAKA,KAAKzO,MAAM+b,EAAU5I,MAAMsJ,cASrD,OAPCV,EAAU5I,MAAMzN,OACfsR,EAAUpI,GAAcmN,EAAU5I,MAAMsJ,cAGzChI,EAAOiI,QAAQC,cAAgB,UAAYZ,EAAU5I,MAAMzN,OAE5D6I,iBACOkG,KAER,SAACpb,GACA,OAAOtB,QAAQE,OAAOoB,MAIxB8N,EAAQqV,aAAaI,SAAS3I,KAC7B,SAAC2I,GAEA,OADAR,IACKQ,EAASpnB,KAAKqQ,QAOZ+W,EAASpnB,KAAKonB,UANpB5I,aAAI9d,UAAU4L,SAAS,CACtBpH,QAASkiB,EAASpnB,KAAK+P,IACvBzM,KAAM,UAEAf,QAAQE,OAAO,IAAIqB,MAAM6hB,IAAIzgB,SAAW,cAIjD,SAACL,GACA,IAAIwiB,EAAU,CAAEhX,SAAS,EAAOnL,QAAS,MAErCoiB,EAAkBziB,EAAMoa,OAC5B,GACe,gBAAdpa,EAAMd,OAC+B,GAArCc,EAAMK,QAAQiQ,QAAQ,YACrBmS,EAAgBC,OAIX,GAAI1iB,EAAMuiB,SAAU,CAC1B,GAA6B,KAAzBviB,EAAMuiB,SAASvZ,OAAe,CACjC,IAAI2T,EAAU,IAAIvI,KACdE,EAAc,IAAIF,KAAKA,KAAKzO,MAAMxD,OAAOqD,aAAa8O,cAE1D,OAAInS,OAAOqD,aAAa8O,aAAeqI,GAAWrI,EAC1CP,eAAa,CAAE1I,MAAOlJ,OAAOqD,aAAamd,QAASpjB,MACzD,SAACuhB,GACA,GAAIA,EAAItV,QAAS,CAChBqJ,OAAMhL,OAAO,YAAaiX,EAAIzV,OAC9B,IAAIsR,EAAU,IAAIvI,KACdwI,EAAa,IAAIxI,KACpBuI,EAAQiG,WAAWjG,EAAQkG,aAAe/B,EAAIgC,aAM/C,OAJAjO,OAAMhL,OAAO,kBAAmB+S,GAChC5c,EAAMoa,OAAO2I,kBAAmB,EAChC/iB,EAAMoa,OAAOiI,QAAQC,cAAgB,UAAYxB,EAAIzV,MACrD0W,IACOjV,EAAQ9M,EAAMoa,QASrB,OANA2H,IACAnN,iBACA+E,aAAI9d,UAAU4L,SAAS,CACtBpH,QAAS,iBACT5B,KAAM,UAEAf,QAAQE,OACd,IAAIqB,MAAM,uBAOd8iB,IACAnN,iBACA+E,aAAI9d,UAAU4L,SAAS,CACtBpH,QAAS,iBACT5B,KAAM,UAEAf,QAAQE,OAAO,IAAIqB,MAAM,oBAEE,KAAzBe,EAAMuiB,SAASvZ,OACzBwZ,EAAQniB,QAAU,gBAGe,KAAzBL,EAAMuiB,SAASvZ,OACvBwZ,EAAQniB,QAAU,YAGe,KAAzBL,EAAMuiB,SAASvZ,OACvBwZ,EAAQniB,QAAU,kBACiB,KAAzBL,EAAMuiB,SAASvZ,OAEzBwZ,EAAQniB,QAAU,aACiB,KAAzBL,EAAMuiB,SAASvZ,OAEzBwZ,EAAQniB,QAAU,WACiB,KAAzBL,EAAMuiB,SAASvZ,OAEzBwZ,EAAQniB,QAAU,gBACiB,KAAzBL,EAAMuiB,SAASvZ,OAEzBwZ,EAAQniB,QAAU,uBAGlBmiB,EAAQniB,QAAU,UAAYL,EAAMuiB,SAASvZ,YAG9CwZ,EAAQniB,QAAU,gBAxElBmiB,EAAQniB,QAAU,QAClBoiB,EAAgBC,QAAS,EA8E1B,OALAX,IACApI,aAAI9d,UAAU4L,SAAS,CACtBpH,QAASmiB,EAAQniB,QACjB5B,KAAM,UAEAf,QAAQE,OAAO,IAAIqB,MAAM6hB,IAAIzgB,SAAW,aAIlCyM,U,8DCnKTkW,G,UAAU,CACdzM,QAAS,SAAAuC,GAAK,OAAIA,EAAMmK,IAAI1M,SAC5B2M,SAAU,SAAApK,GAAK,OAAIA,EAAMmK,IAAIC,UAC7BnJ,KAAM,SAAAjB,GAAK,OAAIA,EAAMmK,IAAIlJ,MACzB3V,OAAQ,SAAA0U,GAAK,OAAIA,EAAMmK,IAAI7e,QAC3B+e,aAAc,SAAArK,GAAK,OAAIA,EAAMsK,SAASD,cACtCE,YAAa,SAAAvK,GAAK,OAAIA,EAAMsK,SAASC,aACrChY,MAAO,SAAAyN,GAAK,OAAIA,EAAMhN,KAAKT,OAC3BW,OAAQ,SAAA8M,GAAK,OAAIA,EAAMhN,KAAKE,QAC5B1L,KAAM,SAAAwY,GAAK,OAAIA,EAAMhN,KAAKxL,MAC1BgjB,aAAc,SAAAxK,GAAK,OAAIA,EAAMhN,KAAKwX,cAClCC,MAAO,SAAAzK,GAAK,OAAIA,EAAMhN,KAAKyX,OAC3BC,kBAAmB,SAAA1K,GAAK,OAAIA,EAAM2K,WAAWhf,QAC7Cif,UAAW,SAAA5K,GAAK,OAAIA,EAAM6K,SAASC,QAEtBZ,ICZfrJ,aAAIC,IAAIiK,QACO,WAAIA,OAAKC,MAAM,CAC7Bd,QAASA,EACTlK,MAAO,CACNzN,MAAO,KACP+W,YAAa,KACbrJ,SAAU,KACVgL,cAAe,IAEhBC,UAAW,CACVC,UADU,SACAnL,EAAO3d,GAChB2d,EAAMzN,MAAQlQ,EACdgH,OAAOqD,aAAa0e,QAAQ,QAAS/oB,IAEtCgpB,SALU,SAKDrL,EAAO3d,GACf2d,EAAMC,SAAW5d,EACjBgH,OAAOqD,aAAa0e,QAAQ,WAAWxe,KAAKoE,UAAU3O,KAEvDipB,gBATU,SASMtL,EAAO3d,GACtB2d,EAAMsJ,YAAcjnB,EACpBgH,OAAOqD,aAAa0e,QAAQ,cAAe/oB,IAE5CkpB,aAbU,SAaGvL,EAAO3d,GACnB2d,EAAMiL,cAAgB5oB,EACtB0M,eAAeqc,QAAQ,OAAQ/oB,IAEhCmpB,aAAc,SAACxL,EAAOoK,GACrBpK,EAAMoK,SAAWA,IAGnBqB,QAAS,CACRC,YADQ,WACgBtB,GAAU,IAApBrZ,EAAoB,EAApBA,OACbA,EAAO,eAAgBqZ,Q,kCCnC1B,W,kLCMIlG,E,opBACJ,IAAKA,EACD,GAAKyH,EAAU,UAgBXzH,EAAYyH,EAAU,UACtBzH,EAAYa,eAAkBb,GAC9BjI,OAAOsJ,WAAWrB,GAClBlV,EAAO0U,UAAYQ,MAnBG,CAEtB,IAAIlR,EAAO3J,OAAOqD,aAAasG,KAAOpG,KAAKC,MAAMxD,OAAOqD,aAAasG,MAAQ,KACzEA,GAAoB,MAAZA,EAAK8U,IACb5M,iBAAmBzU,MAAK,SAAApE,GAChBA,EAAKqQ,UAELwR,EAAY7hB,EAAKonB,SAAShH,SAC1BmJ,EAAW,SAAU1H,OAczC,IAAI0E,EAAY7M,OAsEhB,SAAS8P,EAAS3R,EAAImH,GAElB6C,EAAYa,eAAkBb,GAC9BkB,iBAEAnJ,OAAOsJ,WAAWrB,GAElBlV,EAAO0U,UAAYQ,EACnB7C,EAAK,EAAD,KAAKnH,GAAL,IAAS7M,SAAS,KAG1B,SAASue,EAAWpkB,EAAMnF,GACtBqK,aAAa0e,QAAQ5jB,EAAMoF,KAAKoE,UAAU3O,IAG9C,SAASspB,EAAUnkB,GACf,OAAOoF,KAAKC,MAAMxD,OAAOqD,aAAamG,QAAQrL,IArFlDyU,OAAOkF,YAAW,SAACjH,EAAIkH,EAAMC,GAUrB,GAPKuH,EAAU5I,MAAMzN,OACjBqW,EAAU7X,OAAO,YAAa1H,OAAOqD,aAAamd,OAEjDjB,EAAU5I,MAAMsJ,aACjBV,EAAU7X,OAAO,kBAAmB1H,OAAOqD,aAAagP,aAE5DN,iBACIlB,EAAG5I,KAAKqT,YAAa,CAEP,IAAIrJ,KACD,IAAIA,KAAKA,KAAKzO,MAAMxD,OAAOqD,aAAagP,cACrDkN,EAAU5I,MAAMzN,OAAkC,aAAzBqW,EAAU5I,MAAMzN,MAEzC8O,KAEAtF,OAAMhL,OAAO,YAAa,IAC1BgL,OAAMhL,OAAO,kBAAmB,IAChCgL,OAAMhL,OAAO,eAAgB,IAC7B1H,OAAOqD,aAAasP,WAAW,QAC/B3S,OAAOqD,aAAasP,WAAW,iBAC/B3S,OAAOqD,aAAasP,WAAW,UAC3BhN,EAAO2U,QACP1U,OAAuB6c,QAEvBzK,EAAK,CACDhT,KAAM,SACN6N,MAAO,CAAEC,SAAUjC,EAAGzJ,kBAMlC4Q,IAMJ,GAAK6C,EAkBGhK,EAAG1S,MAAmB,SAAX0S,EAAG1S,OACd0c,EAAYyH,EAAU,UACtB3c,EAAO0U,UAAYQ,QAnBvB,GAAKyH,EAAU,UAaXzH,EAAYyH,EAAU,UACtBE,EAAS3R,EAAImH,OAdS,CACtB,IAAIrO,EAAO3J,OAAOqD,aAAasG,KAAOpG,KAAKC,MAAMxD,OAAOqD,aAAasG,MAAQ,KACzEA,GAAoB,MAAZA,EAAK8U,IACb5M,iBAAmBzU,MAAK,SAAApE,GAChBA,EAAKqQ,UACLwR,EAAY7hB,EAAKonB,SAAShH,SAC1BmJ,EAAW,SAAU1H,GACrB2H,EAAS3R,EAAImH,WAsCzC,IAAI0K,EAAa,GACJC,EAAgB,SAAhBA,EAAiBC,EAAWC,GAYrC,OAXAA,EAAQC,SAAQ,SAAA5D,GACZ,GAAI0D,GAAa1D,EAAQla,KAAM,CAC3B,IAAIA,EAAO4d,EAAUG,cACrB,GAAI7D,EAAQla,MAAQka,EAAQla,KAAK+d,gBAAkB/d,EAE/C,YADA0d,EAAaxD,EAAQ8D,YAEd9D,EAAQ9F,UACfuJ,EAAc3d,EAAMka,EAAQ9F,cAIjCsJ,K,wDCnIX,IAAIpU,EAAS,WAAa,IAAIC,EAAIjL,KAASkL,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,eAAe,CAACyG,IAAI,kBAAkBvG,YAAY,mBAAmBS,MAAM,CAAC,UAAW,GAAO4F,SAAS,CAAC,MAAQ,SAASpF,GAAgC,OAAxBA,EAAO0F,iBAAwBhH,EAAI0U,aAAa9oB,MAAM,KAAM+a,cAAc,CAAC3G,EAAIiL,GAAG,YAAY,IAC9TxK,EAAkB,GCKtB,G,UAAA,GACe,GACb7Q,KAAMA,aACNnF,KAFF,WAGI,MAAO,CACLyJ,KAAMA,IAGVqH,SAAUA,CACRoZ,cADJ,WAEM,OAAO5f,KAAKwD,MAAMqc,gBAAgBrc,MAAMsc,OAG5CjgB,QAASA,CACP8f,aADJ,SACA7nB,GACM,IAAN,6BACA,qBACMioB,EAAeA,WAAaA,EAAeA,WAAaA,EAAaA,GAEvEC,aANJ,SAMAC,EAAAC,GACM,IAAN,iCACA,gBACA,qBAEA,OACA,OAMM,GAJIA,EAAQhqB,OAAS,IACnBiqB,EAAWA,EAAQA,GACnBC,EAAUA,EAAQA,EAAQA,OAASA,IAEjCD,IAAaF,EACfF,EAAeA,WAAaA,OACpC,SACQA,EAAeA,WAAaA,EAAeA,YAAcA,MACjE,CAEQ,IAAR,2CACA,SACA,SAEA,uCAEA,qBACYM,EAAyBN,EAAeO,WAAaC,EACvDR,EAAeA,WAAaA,EAAyBA,EAC/D,iBACUA,EAAeA,WAAaA,OCrD8S,I,wBCQhVpU,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,OAAAC,E,kECnBf,W,kCCAA,W,yDCAA,W,kCCAA,4NAEa6U,EAAa,SAAApZ,GAAW,OAAOC,OAAQ7L,IAAR,yBAAsC,CAAC4L,YAEtEqZ,EAAW,SAAArZ,GAAW,OAAOC,OAAQE,KAAR,2BAAyCH,IAEtEsZ,EAAY,SAAAtZ,GAAW,OAAOC,OAAQE,KAAR,4BAA2CH,IAIzEnF,EAAU,SAAAmF,GAAW,OAAOC,OAAQ7L,IAAR,6BAA0C,CAAC4L,YAMvEuZ,EAAU,SAAAvZ,GAAW,OAAOC,OAAQ+I,IAAR,0BAAwChJ,IAEpEwZ,EAAY,SAAAxZ,GAAW,OAAOC,OAAQwZ,OAAR,4BAA4C,CAACzZ","file":"js/app.846f7cf6.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(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && 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\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0434a312\":\"25435acd\",\"chunk-07d71b4e\":\"73de7d41\",\"chunk-08b97c33\":\"37d0c8bd\",\"chunk-0a16c6a4\":\"e0bc87b2\",\"chunk-0d903154\":\"c3e27f54\",\"chunk-0e40af96\":\"b9069489\",\"chunk-115dc57a\":\"9e750350\",\"chunk-1236a2b2\":\"3002b13a\",\"chunk-12c00ef5\":\"bf29f828\",\"chunk-13abab80\":\"98811175\",\"chunk-13d25dda\":\"eb62e93e\",\"chunk-160fc62c\":\"6d8ae061\",\"chunk-19481e53\":\"57f4f796\",\"chunk-196147ff\":\"625ebd9c\",\"chunk-1c3138ce\":\"4d6b99db\",\"chunk-25486ab2\":\"1b4fa88f\",\"chunk-26d71291\":\"e449ea70\",\"chunk-09d60624\":\"a562863e\",\"chunk-2d3c9a52\":\"7164cce5\",\"chunk-e67b2c8c\":\"715a201e\",\"chunk-72330e1e\":\"97570299\",\"chunk-f21c43de\":\"7308a71e\",\"chunk-62095b67\":\"51fb5fb2\",\"chunk-471fd95d\":\"5f61d345\",\"chunk-053bdf34\":\"c795670a\",\"chunk-1d1d4f86\":\"a772c178\",\"chunk-503781e2\":\"acbd535d\",\"chunk-52e64242\":\"83590d13\",\"chunk-56df2a2a\":\"4fe0a5c5\",\"chunk-a2005792\":\"a25fdfb0\",\"chunk-2cc0ec75\":\"64c54b78\",\"chunk-2d0b3dd2\":\"54b2ccfc\",\"chunk-2d228876\":\"e07d9208\",\"chunk-2d22d746\":\"4c703d3f\",\"chunk-2ee0728e\":\"29d414c2\",\"chunk-306a67be\":\"a86e8394\",\"chunk-30a910fd\":\"a7ef8226\",\"chunk-318befc6\":\"286c55ae\",\"chunk-344bd489\":\"8db2acb4\",\"chunk-34c6f28a\":\"3c47b658\",\"chunk-38136da7\":\"edb78da2\",\"chunk-395a3f54\":\"00b59c41\",\"chunk-eabe95f8\":\"93d111e4\",\"chunk-39d7263e\":\"b66f9e12\",\"chunk-3d1aebba\":\"05395a18\",\"chunk-3fa328f2\":\"c5aadcd6\",\"chunk-4010d314\":\"3e7271a6\",\"chunk-404ca992\":\"d6b15db9\",\"chunk-639a6d1e\":\"7d6b48ca\",\"chunk-423744c0\":\"7fd3d584\",\"chunk-430a81e6\":\"6db5b680\",\"chunk-47d3ad30\":\"8d49f40b\",\"chunk-49a95e6a\":\"6120bce5\",\"chunk-4d8e2a34\":\"d00b35a1\",\"chunk-4fee2b7e\":\"06034f8d\",\"chunk-50b60645\":\"3f8a6253\",\"chunk-526eb10c\":\"01268c3a\",\"chunk-fa17de12\":\"a3083994\",\"chunk-5320adfa\":\"4c1597a4\",\"chunk-ffc60a46\":\"c4004d8f\",\"chunk-532f4166\":\"035ec61a\",\"chunk-54d86c86\":\"f2610a52\",\"chunk-553eba3b\":\"6cecf603\",\"chunk-57af33f2\":\"9ae78785\",\"chunk-57d15a87\":\"e56a72e8\",\"chunk-5f782cee\":\"3f47670e\",\"chunk-3a6ad0ce\":\"f64ed744\",\"chunk-5fa71b20\":\"ef93cacc\",\"chunk-635c8c03\":\"88d2d1f3\",\"chunk-63b1240a\":\"970ecc6e\",\"chunk-63bf4b64\":\"59f87a4c\",\"chunk-6439fd8c\":\"2ce5e02d\",\"chunk-64f9b5dd\":\"56ebcb1f\",\"chunk-66211f76\":\"e99c56e1\",\"chunk-67c04cb4\":\"019c6643\",\"chunk-69b79c64\":\"428aef5c\",\"chunk-6b1a58e3\":\"55aa557a\",\"chunk-6cc05983\":\"118bb5e5\",\"chunk-6dcefd66\":\"c0dba438\",\"chunk-b52e253c\":\"ec820570\",\"chunk-71693ee8\":\"0f51e141\",\"chunk-71e049d4\":\"f00895ce\",\"chunk-77db7641\":\"60071f77\",\"chunk-7bcefacc\":\"6a56c56a\",\"chunk-7c402656\":\"e90fedc2\",\"chunk-7c6a1ac0\":\"2da5dca6\",\"chunk-02ca65b2\":\"7a26e445\",\"chunk-2526292c\":\"71b9ef12\",\"chunk-7cafdb4a\":\"062e17d4\",\"chunk-7ce31761\":\"a170abba\",\"chunk-7d63a1f9\":\"d6b619ce\",\"chunk-7ee248ae\":\"bd20a90a\",\"chunk-902fc914\":\"954165c3\",\"chunk-b5f50534\":\"d0d17cdb\",\"chunk-bc2d8256\":\"017ed8db\",\"chunk-c673e236\":\"ecf0b978\",\"chunk-d96462d8\":\"779a5457\",\"chunk-e6a0e9ac\":\"10b3a253\",\"chunk-e73bbb16\":\"458bedcd\",\"chunk-ebb62920\":\"116f843f\",\"chunk-f52e3b10\":\"99fac7e2\",\"chunk-fb09bd9c\":\"be4b2038\",\"chunk-906ca6e8\":\"5b6bd7ff\"}[chunkId] + \".js\"\n \t}\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 \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0434a312\":1,\"chunk-08b97c33\":1,\"chunk-0a16c6a4\":1,\"chunk-0d903154\":1,\"chunk-0e40af96\":1,\"chunk-1236a2b2\":1,\"chunk-12c00ef5\":1,\"chunk-13d25dda\":1,\"chunk-19481e53\":1,\"chunk-196147ff\":1,\"chunk-25486ab2\":1,\"chunk-09d60624\":1,\"chunk-2d3c9a52\":1,\"chunk-e67b2c8c\":1,\"chunk-72330e1e\":1,\"chunk-f21c43de\":1,\"chunk-62095b67\":1,\"chunk-471fd95d\":1,\"chunk-053bdf34\":1,\"chunk-1d1d4f86\":1,\"chunk-503781e2\":1,\"chunk-52e64242\":1,\"chunk-56df2a2a\":1,\"chunk-a2005792\":1,\"chunk-2cc0ec75\":1,\"chunk-2ee0728e\":1,\"chunk-30a910fd\":1,\"chunk-34c6f28a\":1,\"chunk-38136da7\":1,\"chunk-395a3f54\":1,\"chunk-eabe95f8\":1,\"chunk-39d7263e\":1,\"chunk-4010d314\":1,\"chunk-404ca992\":1,\"chunk-639a6d1e\":1,\"chunk-47d3ad30\":1,\"chunk-49a95e6a\":1,\"chunk-4d8e2a34\":1,\"chunk-4fee2b7e\":1,\"chunk-50b60645\":1,\"chunk-fa17de12\":1,\"chunk-5320adfa\":1,\"chunk-ffc60a46\":1,\"chunk-532f4166\":1,\"chunk-54d86c86\":1,\"chunk-553eba3b\":1,\"chunk-57af33f2\":1,\"chunk-57d15a87\":1,\"chunk-5f782cee\":1,\"chunk-3a6ad0ce\":1,\"chunk-5fa71b20\":1,\"chunk-635c8c03\":1,\"chunk-63b1240a\":1,\"chunk-63bf4b64\":1,\"chunk-6439fd8c\":1,\"chunk-64f9b5dd\":1,\"chunk-66211f76\":1,\"chunk-67c04cb4\":1,\"chunk-69b79c64\":1,\"chunk-6b1a58e3\":1,\"chunk-6dcefd66\":1,\"chunk-b52e253c\":1,\"chunk-71e049d4\":1,\"chunk-77db7641\":1,\"chunk-7c402656\":1,\"chunk-7c6a1ac0\":1,\"chunk-02ca65b2\":1,\"chunk-2526292c\":1,\"chunk-7cafdb4a\":1,\"chunk-7ce31761\":1,\"chunk-7d63a1f9\":1,\"chunk-7ee248ae\":1,\"chunk-b5f50534\":1,\"chunk-c673e236\":1,\"chunk-e6a0e9ac\":1,\"chunk-e73bbb16\":1,\"chunk-ebb62920\":1,\"chunk-fb09bd9c\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0434a312\":\"8cdb4502\",\"chunk-07d71b4e\":\"31d6cfe0\",\"chunk-08b97c33\":\"4992762d\",\"chunk-0a16c6a4\":\"ef11402f\",\"chunk-0d903154\":\"1d793535\",\"chunk-0e40af96\":\"ea68c93f\",\"chunk-115dc57a\":\"31d6cfe0\",\"chunk-1236a2b2\":\"8cdb4502\",\"chunk-12c00ef5\":\"8cdb4502\",\"chunk-13abab80\":\"31d6cfe0\",\"chunk-13d25dda\":\"8cdb4502\",\"chunk-160fc62c\":\"31d6cfe0\",\"chunk-19481e53\":\"02a2117a\",\"chunk-196147ff\":\"e16f56b1\",\"chunk-1c3138ce\":\"31d6cfe0\",\"chunk-25486ab2\":\"8cdb4502\",\"chunk-26d71291\":\"31d6cfe0\",\"chunk-09d60624\":\"6c95c53a\",\"chunk-2d3c9a52\":\"33c34afc\",\"chunk-e67b2c8c\":\"d9f37d6a\",\"chunk-72330e1e\":\"b7c751d8\",\"chunk-f21c43de\":\"f257b221\",\"chunk-62095b67\":\"61238fae\",\"chunk-471fd95d\":\"91df5f84\",\"chunk-053bdf34\":\"8cdb4502\",\"chunk-1d1d4f86\":\"8cdb4502\",\"chunk-503781e2\":\"8cdb4502\",\"chunk-52e64242\":\"8cdb4502\",\"chunk-56df2a2a\":\"8cdb4502\",\"chunk-a2005792\":\"8cdb4502\",\"chunk-2cc0ec75\":\"957e8d33\",\"chunk-2d0b3dd2\":\"31d6cfe0\",\"chunk-2d228876\":\"31d6cfe0\",\"chunk-2d22d746\":\"31d6cfe0\",\"chunk-2ee0728e\":\"8cdb4502\",\"chunk-306a67be\":\"31d6cfe0\",\"chunk-30a910fd\":\"53cec2bd\",\"chunk-318befc6\":\"31d6cfe0\",\"chunk-344bd489\":\"31d6cfe0\",\"chunk-34c6f28a\":\"8cdb4502\",\"chunk-38136da7\":\"8cdb4502\",\"chunk-395a3f54\":\"c7593148\",\"chunk-eabe95f8\":\"6f87f48b\",\"chunk-39d7263e\":\"8cdb4502\",\"chunk-3d1aebba\":\"31d6cfe0\",\"chunk-3fa328f2\":\"31d6cfe0\",\"chunk-4010d314\":\"8cdb4502\",\"chunk-404ca992\":\"d40f6e6e\",\"chunk-639a6d1e\":\"5feacbb5\",\"chunk-423744c0\":\"31d6cfe0\",\"chunk-430a81e6\":\"31d6cfe0\",\"chunk-47d3ad30\":\"c147885a\",\"chunk-49a95e6a\":\"6b15a083\",\"chunk-4d8e2a34\":\"b4a2f707\",\"chunk-4fee2b7e\":\"ef0acc12\",\"chunk-50b60645\":\"841ce70d\",\"chunk-526eb10c\":\"31d6cfe0\",\"chunk-fa17de12\":\"8cdb4502\",\"chunk-5320adfa\":\"2204bb53\",\"chunk-ffc60a46\":\"6543776e\",\"chunk-532f4166\":\"a0a9af08\",\"chunk-54d86c86\":\"467cc96f\",\"chunk-553eba3b\":\"fbfc6110\",\"chunk-57af33f2\":\"6c95c53a\",\"chunk-57d15a87\":\"8cdb4502\",\"chunk-5f782cee\":\"8681d006\",\"chunk-3a6ad0ce\":\"51070939\",\"chunk-5fa71b20\":\"8cdb4502\",\"chunk-635c8c03\":\"8cdb4502\",\"chunk-63b1240a\":\"8cdb4502\",\"chunk-63bf4b64\":\"8cdb4502\",\"chunk-6439fd8c\":\"187fb242\",\"chunk-64f9b5dd\":\"8cdb4502\",\"chunk-66211f76\":\"8cdb4502\",\"chunk-67c04cb4\":\"8cdb4502\",\"chunk-69b79c64\":\"8cdb4502\",\"chunk-6b1a58e3\":\"9b612570\",\"chunk-6cc05983\":\"31d6cfe0\",\"chunk-6dcefd66\":\"76e2e860\",\"chunk-b52e253c\":\"367f2fff\",\"chunk-71693ee8\":\"31d6cfe0\",\"chunk-71e049d4\":\"c7593148\",\"chunk-77db7641\":\"8cdb4502\",\"chunk-7bcefacc\":\"31d6cfe0\",\"chunk-7c402656\":\"570f69f4\",\"chunk-7c6a1ac0\":\"51bca4ad\",\"chunk-02ca65b2\":\"8cdb4502\",\"chunk-2526292c\":\"8cdb4502\",\"chunk-7cafdb4a\":\"8cdb4502\",\"chunk-7ce31761\":\"8cdb4502\",\"chunk-7d63a1f9\":\"89a79747\",\"chunk-7ee248ae\":\"3edefdc6\",\"chunk-902fc914\":\"31d6cfe0\",\"chunk-b5f50534\":\"3d100d9b\",\"chunk-bc2d8256\":\"31d6cfe0\",\"chunk-c673e236\":\"597cf4d0\",\"chunk-d96462d8\":\"31d6cfe0\",\"chunk-e6a0e9ac\":\"8cdb4502\",\"chunk-e73bbb16\":\"b3d56220\",\"chunk-ebb62920\":\"8743ac87\",\"chunk-f52e3b10\":\"31d6cfe0\",\"chunk-fb09bd9c\":\"8cdb4502\",\"chunk-906ca6e8\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\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 \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\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([1,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScrollPane.vue?vue&type=style&index=0&id=dc6167ae&scoped=true&lang=css&\"","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/dist/cjs.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!./Logo.vue?vue&type=style&index=0&id=c5d5c44e&lang=scss&scoped=true&\"","<template>\r\n  <div id=\"app\">\r\n    <div v-if=\"!$route.meta.NoNeedHome\" :class=\"classObj\" class=\"app-wrapper\">\r\n      <div v-if=\"device === 'mobile' && sidebar.opened\" class=\"drawer-bg\" @click=\"handleClickOutside\" />\r\n      <div :class=\"{ 'has-logo': collapsed }\" class=\"sidebar-container\">\r\n        <logo v-if=\"true\" :collapse=\"collapsed\" />\r\n        <el-scrollbar wrap-class=\"scrollbar-wrapper\">\r\n          <el-menu :default-active=\"$route.path\" @open=\"handleopen\" @close=\"handleclose\" @select=\"handleselect\"\r\n            unique-opened router :collapse=\"collapsed\" :background-color=\"variables.menuBg\"\r\n            :text-color=\"variables.menuText\" :active-text-color=\"variables.menuActiveText\" mode=\"vertical\">\r\n            <sidebar v-for=\"(menu, index) in routes\" :key=\"menu.id\" :item=\"menu\" />\r\n          </el-menu>\r\n        </el-scrollbar>\r\n      </div>\r\n      <div :class=\"{ hasTagsView: true }\" class=\"main-container\">\r\n        <div :class=\"{ 'fixed-header': true }\">\r\n          <div class=\"navbar\">\r\n            <hamburger id=\"hamburger-container\" :is-active=\"!collapsed\" class=\"hamburger-container\"\r\n              @toggleClick=\"collapse\" />\r\n            <el-breadcrumb separator=\"/\" id=\"breadcrumb-container\" class=\"breadcrumb-container app-breadcrumb\">\r\n              <el-breadcrumb-item v-for=\"item in $route.matched\" :key=\"item.path\">\r\n                <span style=\"no-redirect\"> {{ item.name }}</span>\r\n              </el-breadcrumb-item>\r\n            </el-breadcrumb>\r\n            <div class=\"right-menu\">\r\n              <span style=\"font-size: 12px; margin-right: 10px; cursor: pointer;\" v-if=\"listenmark\"\r\n                @click=\"listenonoff(0)\"> <i class=\"fa fa-circle\" style=\"color: forestgreen\"></i>消息接收已开启</span>\r\n              <span style=\"font-size: 12px; margin-right: 10px;cursor: pointer;\" v-if=\"!listenmark\"\r\n                @click=\"listenonoff(1)\"> <i class=\"fa fa-circle\" style=\"color: maroon\"></i>消息接收已关闭</span>\r\n              <span style=\"color: red; margin-right: 20px; font-size: 14px\" v-if=\"ExpirationDay <= 7\">软件有效期至:{{\r\n                ExpirationDate }}</span>\r\n              <template v-if=\"device !== 'mobile'\"> </template>\r\n              <el-dropdown trigger=\"hover\" slot=\"dropdown\">\r\n                <span class=\"el-dropdown-link userinfo-inner\" style=\"cursor: pointer\">\r\n                  <i class=\"el-icon-s-custom\" style=\"font-size: 20px\"></i>\r\n                  {{ sysUserName }}\r\n                  <i class=\"el-icon-caret-bottom\" />\r\n                </span>\r\n                <el-dropdown-menu slot=\"dropdown\">\r\n                  <el-dropdown-item @click.native=\"editpwdfrom.show = true\"><i class=\"fa fa-lock\"\r\n                      style=\"color: black; margin-right: 15px\" aria-hidden=\"true\"></i>修改密码</el-dropdown-item>\r\n                  <el-dropdown-item v-if=\"platform === 'web'\" @click.native=\"downlodop()\"><i\r\n                      class=\"fa fa-cloud-download\" style=\"color: black\" aria-hidden=\"true\"></i>下载打印插件</el-dropdown-item>\r\n                  <el-dropdown-item v-if=\"platform === 'web'\" @click.native=\"downlodwin()\"><i\r\n                      class=\"fa fa-cloud-download\" style=\"color: black\"\r\n                      aria-hidden=\"true\"></i>下载Windows客户端</el-dropdown-item>\r\n                  <el-dropdown-item divided @click.native=\"logout\"><i class=\"fa fa-sign-out\" style=\"color: black\"\r\n                      aria-hidden=\"true\"></i>退出登录</el-dropdown-item>\r\n                </el-dropdown-menu>\r\n              </el-dropdown>\r\n            </div>\r\n          </div>\r\n          <div id=\"tags-view-container\" class=\"tags-view-container\" v-if=\"showTags\">\r\n            <el-row><el-col :span=\"23\">\r\n                <scroll-pane ref=\"scrollPane\" class=\"tags-view-wrapper\">\r\n                  <router-link v-for=\"(tag, index) in tagsList\" ref=\"tag\" :key=\"tag.path\"\r\n                    :class=\"{ active: isActive(tag.path) }\" :to=\"{\r\n                      path: tag.path,\r\n                      query: tag.query,\r\n                      fullPath: tag.fullPath,\r\n                    }\" tag=\"span\" @click.middle.native=\"closeTags(index)\" class=\"tags-view-item\">\r\n                    <span @click=\"refresh(tag.path)\"> {{ tag.title }}</span>\r\n                    <span v-if=\"tagsList.length > 1\" class=\"el-icon-close\" @click.prevent.stop=\"closeTags(index)\" />\r\n                  </router-link> </scroll-pane></el-col><el-col :span=\"1\">\r\n                <div class=\"tags-close-box\">\r\n                  <el-dropdown @command=\"handleTags\">\r\n                    <el-button size=\"small\" style=\"margin-top: 4px\">\r\n                      <i class=\"el-icon-arrow-down el-icon--right\"></i>\r\n                    </el-button>\r\n                    <el-dropdown-menu size=\"small\" slot=\"dropdown\">\r\n                      <el-dropdown-item command=\"other\">关闭其他</el-dropdown-item>\r\n                      <!-- <el-dropdown-item command=\"all\">关闭所有</el-dropdown-item> -->\r\n                    </el-dropdown-menu>\r\n                  </el-dropdown>\r\n                </div>\r\n              </el-col></el-row>\r\n          </div>\r\n        </div>\r\n        <section class=\"app-main\">\r\n          <transition name=\"fade-transform\" mode=\"out-in\">\r\n            <!-- 含有母版的路由页面 -->\r\n            <router-view></router-view>\r\n          </transition>\r\n        </section>\r\n      </div>\r\n      <div class=\"v-modal\" @click=\"collapse\" v-show=\"SidebarVisible\" tabindex=\"0\" style=\"z-index: 2999\"></div>\r\n      <el-dialog title=\"修改密码\" :visible.sync=\"editpwdfrom.show\" width=\"450px\" :append-to-body=\"true\"\r\n        :modal-append-to-body=\"false\" :destroy-on-close=\"true\" :close-on-click-modal=\"false\">\r\n        <el-form :model=\"editpwdfrom\" ref=\"editpwdfrom\" :rules=\"editpwdrules\">\r\n          <el-form-item label=\"原密码:\" label-width=\"120px\" prop=\"oldpwd\">\r\n            <el-input v-model=\"editpwdfrom.oldpwd\" show-password show-word-limit autocomplete=\"off\"></el-input>\r\n          </el-form-item>\r\n          <el-form-item label=\"新密码:\" label-width=\"120px\" prop=\"newpwd\">\r\n            <el-input v-model=\"editpwdfrom.newpwd\" show-password maxlength=\"30\" show-word-limit\r\n              autocomplete=\"off\"></el-input>\r\n          </el-form-item>\r\n          <el-form-item label=\"确认新密码:\" label-width=\"120px\" prop=\"renewpwd\">\r\n            <el-input v-model=\"editpwdfrom.renewpwd\" show-password maxlength=\"30\" show-word-limit\r\n              autocomplete=\"off\"></el-input>\r\n          </el-form-item>\r\n        </el-form>\r\n        <div slot=\"footer\" class=\"dialog-footer\">\r\n          <el-button @click=\"editpwdfrom.show = false\">取 消</el-button>\r\n          <el-button type=\"primary\" @click=\"saveeditpwd()\">确认修改</el-button>\r\n        </div>\r\n      </el-dialog>\r\n    </div>\r\n    <div v-else>\r\n      <transition name=\"fade\" mode=\"out-in\">\r\n        <div class=\"content-az router-view-withly\">\r\n          <!-- 含有母版的路由页面 -->\r\n          <router-view></router-view>\r\n        </div>\r\n      </transition>\r\n    </div>\r\n    <div class=\"tab_company_out\" id=\"boxprintapp\"\r\n      style=\"width: 300px; display: none; line-height: 26px; font-size: 20px\">\r\n      <div style=\"\r\n                                          width: 300px;\r\n                                          text-align: center;\r\n                                          line-height: 30px;\r\n                                          font-size: 20px;\r\n                                        \">\r\n        {{ printmodel.TypeName + \"-\" + printmodel.TableName + \"(后厨)\" }}\r\n      </div>\r\n      <table class=\"cont1\" style=\"width: 300px; border-bottom: 1px solid #000\">\r\n        <tr>\r\n          <td width=\"150\">顾客人数:</td>\r\n          <td width=\"150\" style=\"text-align: right\">\r\n            {{ printmodel.TablePeopleCount }}\r\n          </td>\r\n        </tr>\r\n      </table>\r\n      <div class=\"content\">\r\n        <table cellpadding=\"0\" cellspacing=\"0\" style=\"border-bottom: 1px solid #000; width: 300px\">\r\n          <!-- 每页显示onePageRow条数据 -->\r\n          <div v-for=\"(row, index) in printmodel.printdetail\" :key=\"row.id\">\r\n            <tr style=\"margin-top: 10px; font-size: 24px\">\r\n              <td style=\"text-align: left\" colspan=\"1\">\r\n                {{ row.GoodsName }}({{ row.UnitName }})\r\n              </td>\r\n              <td style=\"text-align: right\" colspan=\"1\">X{{ row.Quantity }}</td>\r\n            </tr>\r\n            <tr v-for=\"(child, yindex) in row.childgoods\" :key=\"yindex\"\r\n              style=\"text-align: right; margin-top: 10px; font-size: 15px\">\r\n              <td style=\"text-align: left; margin-left: 30px\" colspan=\"1\">\r\n                ---{{ child.GoodsName }}({{ child.UnitName }})\r\n              </td>\r\n              <td style=\"text-align: right\" colspan=\"1\">\r\n                X{{ child.Quantity }}\r\n              </td>\r\n            </tr>\r\n            <tr v-if=\"row.Remark != '' && row.Remark != undefined\" style=\"margin-top: 10px; font-size: 16px\">\r\n              <td style=\"text-align: left\" colspan=\"2\">\r\n                备注:{{ row.Remark }}\r\n              </td>\r\n            </tr>\r\n            <!-- <tr style=\"text-align: left; margin-top: 10px; font-size: 20px\">\r\n              <td colspan=\"2\">\r\n                {{\r\n                  row.Quantity +\r\n                  row.UnitName +\r\n                  \" x \" +\r\n                  row.SellPrice +\r\n                  \"元 小计:\" +\r\n                  row.ShouldAmount +\r\n                  \"元\"\r\n                }}\r\n              </td>\r\n              <td colspan=\"2\">`</td>\r\n            </tr> -->\r\n          </div>\r\n        </table>\r\n        <table>\r\n          <tr style=\"\r\n                                              width: 300px;\r\n                                              text-align: center;\r\n                                              margin-top: 10px;\r\n                                              font-size: 16px;\r\n                                            \">\r\n            <td colspan=\"2\">点单时间:{{ printmodel.printtime }}</td>\r\n          </tr>\r\n        </table>\r\n      </div>\r\n    </div>\r\n    <div class=\"tab_company_out\" id=\"box58app\" style=\"width: 200px; display: none; line-height: 26px; font-size: 16px\">\r\n      <div style=\"\r\n                                          width: 200px;\r\n                                          text-align: center;\r\n                                          line-height: 30px;\r\n                                          font-size: 15px;\r\n                                        \">\r\n        {{ printmodel.TypeName + \"-\" + printmodel.TableName + \"(后厨)\" }}\r\n      </div>\r\n      <table class=\"cont1\" style=\"width: 200px; border-bottom: 1px solid #000; font-size: 14px\">\r\n        <tr>\r\n          <td width=\"150\">顾客人数:</td>\r\n          <td width=\"150\" style=\"text-align: right\">\r\n            {{ printmodel.TablePeopleCount }}\r\n          </td>\r\n        </tr>\r\n      </table>\r\n      <div class=\"content\">\r\n        <table cellpadding=\"0\" cellspacing=\"0\" style=\"width: 200px; border-bottom: 1px solid #000\">\r\n          <!-- 每页显示onePageRow条数据 -->\r\n          <div v-for=\"(row, index) in printmodel.printdetail\" :key=\"index\">\r\n            <tr style=\"margin-top: 10px; font-size: 24px\">\r\n              <td style=\"text-align: left\" colspan=\"1\">\r\n                {{ row.GoodsName }}({{ row.UnitName }})\r\n              </td>\r\n              <td style=\"text-align: right\" colspan=\"1\">X{{ row.Quantity }}</td>\r\n            </tr>\r\n            <tr v-for=\"(child, yindex) in row.childgoods\" :key=\"yindex\"\r\n              style=\"text-align: right; margin-top: 10px; font-size: 15px\">\r\n              <td style=\"text-align: left; margin-left: 30px\" colspan=\"1\">\r\n                ---{{ child.GoodsName }}({{ child.UnitName }})\r\n              </td>\r\n              <td style=\"text-align: right\" colspan=\"1\">\r\n                X{{ child.Quantity }}\r\n              </td>\r\n            </tr>\r\n            <tr v-if=\"row.Remark != '' && row.Remark != undefined\" style=\"margin-top: 10px; font-size: 16px\">\r\n              <td style=\"text-align: left\" colspan=\"2\">\r\n                备注:{{ row.Remark }}\r\n              </td>\r\n            </tr>\r\n            <!-- <tr style=\"text-align: left; margin-top: 10px; font-size: 20px\">\r\n              <td colspan=\"2\">\r\n                {{\r\n                  row.Quantity +\r\n                  row.UnitName +\r\n                  \" x \" +\r\n                  row.SellPrice +\r\n                  \"元 小计:\" +\r\n                  row.ShouldAmount +\r\n                  \"元\"\r\n                }}\r\n              </td>\r\n              <td colspan=\"2\">`</td>\r\n            </tr> -->\r\n          </div>\r\n        </table>\r\n        <table>\r\n          <tr style=\"text-align: center; margin-top: 10px; font-size: 14px\">\r\n            <td colspan=\"2\">点单时间:{{ printmodel.printtime }}</td>\r\n          </tr>\r\n        </table>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport Sidebar from \"./components/Sidebar\";\r\nimport { editpwd } from \"@/api/employee\";\r\nimport Logo from \"./components/Sidebar/Logo.vue\";\r\nimport ScrollPane from \"./components/ScrollPane\";\r\nimport { getUserByToken } from \"./api/auth\";\r\nimport Hamburger from \"@/components/Hamburger\";\r\nimport applicationUserManager from \"./Auth/applicationusermanager\";\r\nimport userAuth from \"./Auth/UserAuth\";\r\nimport { mapState } from \"vuex\";\r\nimport variables from \"@/style/variables.scss\";\r\nimport { getttsurl } from \"@/api/common\";\r\nimport { getLodop } from \"@/utils/LodopFuncs\";\r\nexport default {\r\n  components: { Sidebar, ScrollPane, Logo, Hamburger },\r\n  mixins: [userAuth],\r\n  data() {\r\n    return {\r\n      cmdindex: 1,\r\n      AgentPhone: \"\",\r\n      listenmark: true,\r\n      NewsVisible: false,\r\n      collapsed: false,\r\n      zModalShadow: false,\r\n      SidebarVisible: false,\r\n      collapsedClass: \"menu-expanded\",\r\n      sysUserName: \"\",\r\n      newsDialogCss: \"news-dialog\",\r\n      sysUserAvatar: \"\",\r\n      ExpirationDate: \"\",\r\n      ExpirationDay: 999,\r\n      printdevlist: [],\r\n      tagsList: [],\r\n      mqttinit: false,\r\n      editpwdfrom: {\r\n        show: false,\r\n        oldpwd: \"\",\r\n        newpwd: \"\",\r\n        renewpwd: \"\",\r\n      },\r\n      editpwdrules: {\r\n        oldpwd: [\r\n          { required: true, message: \"原密码不能为空\", trigger: \"blur\" },\r\n        ],\r\n        newpwd: [\r\n          { required: true, message: \"新密码不能为空\", trigger: \"blur\" },\r\n        ],\r\n        renewpwd: [\r\n          { required: true, message: \"确认新密码不能为空\", trigger: \"blur\" },\r\n        ],\r\n      },\r\n      device: \"\",\r\n      t: \"\",\r\n      printmodel: {\r\n        printtime: \"\",\r\n        printdetail: [],\r\n      },\r\n      printdetaillist: [],\r\n      routes: [],\r\n      visible: false,\r\n      top: 0,\r\n      left: 0,\r\n      selectedTag: {},\r\n      affixTags: [],\r\n      onemark: false,\r\n    };\r\n  },\r\n  destroyed() {\r\n    let vm = this;\r\n    if (vm.mqtt.client.connected) vm.mqtt.client.end();\r\n  },\r\n  methods: {\r\n    init() {\r\n      if (\r\n        window.localStorage.listenmark != null &&\r\n        window.localStorage.listenmark != undefined\r\n      ) {\r\n        if (window.localStorage.listenmark == false || window.localStorage.listenmark == \"false\") {\r\n          this.listenmark = false;\r\n        } else {\r\n          this.listenmark = true;\r\n        }\r\n      }\r\n      if (\r\n        window.localStorage.printdevlist != null &&\r\n        window.localStorage.printdevlist != undefined\r\n      ) {\r\n        this.printdevlist = JSON.parse(window.localStorage.printdevlist);\r\n      }\r\n      try {\r\n        let emp = JSON.parse(window.localStorage.getItem(\"user\"));\r\n        this.onemark = emp.syspara.filter(\r\n          (it) => it.ParaKey === \"ht19\"\r\n        )[0].ParaValue;\r\n      } catch { }\r\n    },\r\n    async saveorderaddgoodsprint() {\r\n      this.printmodel.printtime = new Date(+new Date() + 8 * 3600 * 1000)\r\n        .toJSON()\r\n        .substr(0, 19)\r\n        .replace(\"T\", \" \");\r\n      //打印商品\r\n      for (let i = 1; i <= 5; i++) {\r\n        try {\r\n          let printdetail = this.printdetaillist.filter(\r\n            (p) => p.PrintList.indexOf(i.toString()) > -1\r\n          );\r\n          console.log(printdetail)\r\n          if (printdetail.length > 0) {\r\n            let printdev = this.printdevlist.filter(\r\n              (p) => p.Id === i && p.Enable === true\r\n            );\r\n            if (this.onemark == true || this.onemark == \"true\") {\r\n              if (printdev.length > 0) {\r\n                let pr = printdev[0];\r\n                this.printmodel.printdetail = printdetail;\r\n                this.$forceUpdate();\r\n                await this.printgoodsss(pr);\r\n                let dylist = JSON.parse(JSON.stringify(printdetail));\r\n                let length = dylist.length;\r\n                for (let j = 0; j < length; j++) {\r\n                  this.printmodel.printdetail = [dylist[j]];\r\n                  this.$forceUpdate();\r\n                  await this.printgoodsss(pr);\r\n                }\r\n              }\r\n            } else {\r\n              this.printmodel.printdetail = JSON.parse(\r\n                JSON.stringify(printdetail)\r\n              );\r\n              if (printdev.length > 0 && printdev[0].printtype != 2) {\r\n                await this.printgoodsss(printdev[0]);\r\n              }\r\n            }\r\n          }\r\n        } catch { }\r\n      }\r\n    },\r\n    printgoodsss(printdev) {\r\n      return new Promise((resolve) => {\r\n        setTimeout(() => {\r\n          let strHTML = document.getElementById(\"boxprintapp\").innerHTML;\r\n          try {\r\n            printdev.printnum =\r\n              printdev.printnum == undefined ? 1 : printdev.printnum;\r\n            if (this.platform === \"web\") {\r\n              let LODOP = getLodop();\r\n              LODOP.PRINT_INIT(\"\");\r\n              LODOP.SET_PRINTER_INDEX(printdev.printname);\r\n              if (printdev.paperwidth === \"800\") {\r\n                LODOP.SET_PRINT_PAGESIZE(3, \"80mm\", \"10mm\", \"CreateCustomPage\");\r\n              }\r\n              if (printdev.paperwidth === \"480\") {\r\n                LODOP.SET_PRINT_PAGESIZE(3, \"48mm\", \"10mm\", \"CreateCustomPage\");\r\n              }\r\n              LODOP.SET_PRINT_STYLE(\"FontSize\", 15); // 设置打印字体\r\n              LODOP.SET_PRINT_STYLE(\"Bold\", 1); // 设置加粗\r\n              LODOP.SET_PRINT_MODE(\"PRINT_PAGE_PERCENT\", \"Height:100%\");\r\n              LODOP.SET_PRINT_MODE(\"PRINT_PAGE_PERCENT\", \"Full-Width\");\r\n              LODOP.ADD_PRINT_HTM(10, 0, \"100%\", \"100%\", strHTML);\r\n              LODOP.SET_PRINT_COPIES(\r\n                printdev.printnum == undefined ? 1 : printdev.printnum\r\n              ); //指定份数\r\n              //LODOP.PREVIEW();\r\n              LODOP.PRINT();\r\n            }\r\n            if (this.platform === \"win\") {\r\n              if (printdev.paperwidth === \"480\") {\r\n                strHTML = document.getElementById(\"box58app\").innerHTML;\r\n              }\r\n              let basehtml = strHTML;\r\n              for (let i = 1; i < printdev.printnum; i++) {\r\n                strHTML +=\r\n                  \"<div style='page-break-before: always;'></div>\" + basehtml;\r\n              }\r\n              if (printdev.paperwidth === \"480\") {\r\n                strHTML += \"<div style='text-aglin:left;height:30px'>.</div>\";\r\n                strHTML += \"<div style='text-aglin:left'>.</div>\";\r\n                strHTML += \"<div style='text-aglin:left'>.</div>\";\r\n              }\r\n              window.ipcRender.send(\"do-print\", {\r\n                printerName: printdev.printname,\r\n                html: strHTML,\r\n                paperwidth: printdev.paperwidth,\r\n              });\r\n            }\r\n          } catch { }\r\n          resolve();\r\n        }, 1500);\r\n      });\r\n    },\r\n    listenonoff(type) {\r\n      switch (type) {\r\n        case 0:\r\n          this.$confirm(\"关闭消息接收,将接收不到客户扫码呼叫,自助点单提醒,确认关闭吗\", \"提示\", {\r\n            //type: 'warning'\r\n          })\r\n            .then(() => {\r\n              window.localStorage.listenmark = false;\r\n              this.listenmark = false;\r\n            })\r\n            .catch(() => { });\r\n          break;\r\n        case 1:\r\n          window.localStorage.listenmark = true;\r\n          this.listenmark = true;\r\n          break;\r\n      }\r\n    },\r\n    gotappath(Path) {\r\n      this.$router.replace({\r\n        path: Path,\r\n      });\r\n    },\r\n    toggleSideBar() {\r\n      if (this.collapsed === false) {\r\n        this.collapsed = true;\r\n      } else {\r\n        this.collapsed = false;\r\n      }\r\n    },\r\n    downlodop() {\r\n      window.open(\r\n        \"https://www.mtfpos.com/upfiles/CLodop_Setup_for_Win32NT.exe\"\r\n      );\r\n    },\r\n    downlodwin() {\r\n      window.open(\"https://files.mtfpos.com/update/满天飞门店管理系统.exe\");\r\n    },\r\n    saveeditpwd() {\r\n      var _this = this;\r\n      if (this.editpwdfrom.newpwd != this.editpwdfrom.renewpwd) {\r\n        this.$message.error(\"新密码和确认新密码不一致,请重新输入\");\r\n      } else {\r\n        editpwd({\r\n          oldpwd: this.editpwdfrom.oldpwd,\r\n          newpwd: this.editpwdfrom.newpwd,\r\n        }).then((res) => {\r\n          this.editpwdfrom.show = false;\r\n          this.editpwdfrom.oldpwd = \"\";\r\n          this.editpwdfrom.newpwd = \"\";\r\n          this.editpwdfrom.renewpwd = \"\";\r\n          this.$confirm(\"修改成功,点击确定重新登录!\", \"提示\", {\r\n            showClose: false,\r\n            showCancelButton: false,\r\n          })\r\n            .then(() => {\r\n              window.localStorage.removeItem(\"user\");\r\n              window.localStorage.removeItem(\"Token\");\r\n              window.localStorage.removeItem(\"TokenExpire\");\r\n              window.localStorage.removeItem(\"NavigationBar\");\r\n              window.localStorage.removeItem(\"refreshtime\");\r\n              window.localStorage.removeItem(\"router\");\r\n              window.localStorage.removeItem(\"mqtt\");\r\n              sessionStorage.removeItem(\"Tags\");\r\n              global.antRouter = [];\r\n              this.tagsList = [];\r\n              this.routes = [];\r\n              this.$store.commit(\"saveTagsData\", \"\");\r\n              if (global.IS_IDS4) {\r\n                applicationUserManager.logout();\r\n              } else {\r\n                _this.$router.push(\"/\");\r\n                //window.location.reload()\r\n              }\r\n            })\r\n            .catch(() => { });\r\n        });\r\n      }\r\n    },\r\n    refresh(path) {\r\n      if (this.$route.path === path) {\r\n        if (this.platform === \"web\") {\r\n          window.location.reload();\r\n        }\r\n      }\r\n    },\r\n    handleOpen(key, keyPath) {\r\n      // console.log(key, keyPath);\r\n    },\r\n    toindex() {\r\n      this.$router.replace({\r\n        path: \"/\",\r\n      });\r\n    },\r\n    handleClose(key, keyPath) {\r\n      //console.log(key, keyPath);\r\n    },\r\n    onSubmit() {\r\n      //console.log(\"submit!\");\r\n    },\r\n    handleopen() {\r\n      //console.log('handleopen');\r\n    },\r\n    handleclose() {\r\n      //console.log('handleclose');\r\n    },\r\n    handleselect: function (a, b) { },\r\n    //退出登录\r\n    logout: function () {\r\n      var _this = this;\r\n      this.$confirm(\"确认退出吗?\", \"提示\", {\r\n        //type: 'warning'\r\n      })\r\n        .then(() => {\r\n          try {\r\n            _this.mqtt.stop();\r\n          } catch { }\r\n          _this.mqttinit = false;\r\n          window.localStorage.removeItem(\"user\");\r\n          window.localStorage.removeItem(\"Token\");\r\n          window.localStorage.removeItem(\"TokenExpire\");\r\n          window.localStorage.removeItem(\"NavigationBar\");\r\n          window.localStorage.removeItem(\"refreshtime\");\r\n          window.localStorage.removeItem(\"router\");\r\n          sessionStorage.removeItem(\"Tags\");\r\n          global.antRouter = [];\r\n          this.tagsList = [];\r\n          this.routes = [];\r\n          this.$store.commit(\"saveTagsData\", \"\");\r\n          if (global.IS_IDS4) {\r\n            applicationUserManager.logout();\r\n          } else {\r\n            _this.$router.push(\"/\");\r\n            //window.location.reload()\r\n          }\r\n        })\r\n        .catch(() => { });\r\n    },\r\n    //折叠导航栏\r\n    collapse: function () {\r\n      this.collapsed = !this.collapsed;\r\n      if (this.collapsed) {\r\n        this.collapsedClass = \"menu-collapsed\";\r\n        this.SidebarVisible = false;\r\n      } else {\r\n        this.collapsedClass = \"menu-expanded\";\r\n        if (window.screen.width < 680) {\r\n          this.SidebarVisible = true;\r\n        }\r\n      }\r\n      //记录折叠状态\r\n      window.localStorage.collapse = this.collapsed;\r\n    },\r\n    showMenu(i, status) {\r\n      this.$refs.menuCollapsed.getElementsByClassName(\r\n        \"submenu-hook-\" + i\r\n      )[0].style.display = status ? \"block\" : \"none\";\r\n    },\r\n    isActive(path) {\r\n      return path === this.$route.fullPath;\r\n    },\r\n    // 关闭单个标签\r\n    closeTags(index) {\r\n      const delItem = this.tagsList.splice(index, 1)[0];\r\n      const item = this.tagsList[index]\r\n        ? this.tagsList[index]\r\n        : this.tagsList[index - 1];\r\n      if (item) {\r\n        delItem.path === this.$route.fullPath && this.$router.push(item.path);\r\n        this.$store.commit(\"saveTagsData\", JSON.stringify(this.tagsList));\r\n      } else {\r\n        this.$router.push(\"/\");\r\n      }\r\n    },\r\n    // 关闭全部标签\r\n    closeAll() {\r\n      this.tagsList = [];\r\n      this.$router.push(\"/\");\r\n      sessionStorage.removeItem(\"Tags\");\r\n    },\r\n    // 关闭其他标签\r\n    closeOther() {\r\n      const curItem = this.tagsList.filter((item) => {\r\n        return item.path === this.$route.fullPath;\r\n      });\r\n      this.tagsList = curItem;\r\n      sessionStorage.setItem(\"Tags\", JSON.stringify(this.tagsList));\r\n    },\r\n    // 设置标签\r\n    setTags(route) {\r\n      let vm = this;\r\n      if (!route.meta.NoTabPage) {\r\n        const isExist = vm.tagsList.some((item) => {\r\n          return item.path === route.fullPath;\r\n        });\r\n        if (\r\n          !isExist &&\r\n          route.meta.title != undefined &&\r\n          route.meta.title.length > 1\r\n        ) {\r\n          vm.tagsList.push({\r\n            title: route.meta.title,\r\n            path: route.fullPath,\r\n            // name: route.matched[1].components.default.name\r\n          });\r\n        }\r\n      }\r\n      if (\r\n        !vm.mqttinit &&\r\n        route.path !== \"/\" &&\r\n        route.path !== \"404\" &&\r\n        route.path != \"needwx\"\r\n      ) {\r\n        vm.mqtt.initMqtt();\r\n        vm.mqtt.mqtt.client.on(\"message\", function (topic, payload) {\r\n          if (topic == vm.mqtt.mqtt.basetopic) {\r\n            if (vm.AgentPhone == \"\") {\r\n              vm.AgentPhone = window.localStorage.AgentPhone;\r\n            }\r\n            const h = vm.$createElement;\r\n            let content = \"1组呼叫服务员,需要添加茶水,请及时处理!\";\r\n            let result = JSON.parse(payload);\r\n            console.log(result)\r\n            let title = \"呼叫服务\";\r\n            let callaudio = \"\";\r\n            switch (result.data.actionname) {\r\n              case \"添加茶水\":\r\n                callaudio = \"cs\";\r\n                break;\r\n              case \"购物\":\r\n                callaudio = \"gw\";\r\n                break;\r\n              case \"买单\":\r\n                callaudio = \"md\";\r\n                break;\r\n              case \"其他服务\":\r\n                callaudio = \"qt\";\r\n                break;\r\n              case \"预定\":\r\n                callaudio = \"yd\";\r\n                break;\r\n            }\r\n            switch (result.action) {\r\n              case \"call\":\r\n                content =\r\n                  result.data.tablename +\r\n                  \"呼叫服务员,需要\" +\r\n                  result.data.actionname +\r\n                  \",请及时处理!\";\r\n                break;\r\n              case \"finish\":\r\n                vm.$bus.$emit(\"finish\", \"finish\");\r\n                //vm.refreshtable();\r\n                break;\r\n              case \"yd\":\r\n                title = \"预定信息\";\r\n                content = \"您有新的预定信息,请及时处理!\";\r\n                break;\r\n              case \"voice\":\r\n                title = \"到时提醒\";\r\n                content = result.data;\r\n                break;\r\n              case \"addgoods\":\r\n                //console.log(result.data);\r\n                vm.printmodel = {};\r\n                vm.printmodel = JSON.parse(result.data);\r\n                vm.printdetaillist = [];\r\n                vm.printdetaillist = vm.printmodel.printdetail;\r\n                vm.saveorderaddgoodsprint();\r\n                callaudio = \"dc\";\r\n                title = \"点餐服务\";\r\n                content = vm.printmodel.TableName + \"顾客已点餐,请及时处理!\";\r\n                break;\r\n              case \"serialportpower\":\r\n                if (vm.platform === \"win\") {\r\n                  var command = result.data;\r\n                  vm.serialportpowerhandle(command);\r\n                  vm.$bus.$emit(\"finish\", \"finish\");\r\n                }\r\n                break;\r\n              case \"systemnotice\":\r\n                title = \"电源控制失败\";\r\n                content = \"您的电控设备流量已到期,请联系客服充值流量,联系电话:\" + vm.AgentPhone;\r\n                break;\r\n            }\r\n            if (\r\n              result.action != \"finish\" &&\r\n              result.action != \"serialportpower\"\r\n            ) {\r\n              if (vm.listenmark) {\r\n                vm.$notify({\r\n                  title: title,\r\n                  message: h(\"h3\", { style: \"color: #F56C6C\" }, content),\r\n                  duration: 0,\r\n                  position: \"bottom-right\",\r\n                });\r\n                let audio = new Audio(); //在VUE中使用audio标签\r\n                audio.src =\r\n                  \"https://www.mtfpos.com/upfiles/tts/\" + callaudio + \".mp3\"; //设置audio的src为上面生成的url\r\n                let playPromiser = audio.play(); //进行播放\r\n                //在谷歌内核中,audio.play()会返回一个promise的值,在IE内核中就不会返回任何的值\r\n                //所以如果你要分浏览器,可以判断playPromiser的值来进行操作哦\r\n                audio.onended = () => {\r\n                  //onended可以检测语音是否播完\r\n                  //dosometing\r\n                };\r\n              }\r\n            }\r\n          } else {\r\n            if (result.action != \"serialportpower\") {\r\n              let result = JSON.parse(payload.toString());\r\n              if (result.code == 200) {\r\n                if (result.attach == \"sd\") {\r\n                  //vm.$message.success(\"操作成功\");\r\n                }\r\n              } else {\r\n                vm.$message({\r\n                  message: result.msg,\r\n                  type: \"error\",\r\n                });\r\n              }\r\n            }\r\n          }\r\n        });\r\n        vm.mqttinit = true;\r\n      }\r\n    },\r\n    //串口电控开关\r\n    async serialportpowerhandle(command) {\r\n      if (this.cmdindex == 1) {\r\n        this.cmdindex = 2;\r\n        await this.serialportpowerhandlesync(command);\r\n      } else {\r\n        setTimeout(() => {\r\n          this.serialportpowerhandlesync(command);\r\n        }, 2000);\r\n      }\r\n    },\r\n    serialportpowerhandlesync(command) {\r\n      return new Promise((resolve) => {\r\n        setTimeout(() => {\r\n          try {\r\n            window.ipcRender.send(\"powerhandle\", command);\r\n            this.cmdindex = 1;\r\n            window.ipcRender.receive(\"powerhandle\", function (msg) {\r\n\r\n              if (msg == \"success\") {\r\n\r\n                resolve();\r\n              }\r\n            });\r\n          } catch { }\r\n        }, 1000);\r\n      });\r\n    },\r\n    // 当关闭所有页面时隐藏\r\n    handleTags(command) {\r\n      command === \"other\" ? this.closeOther() : this.closeAll();\r\n    },\r\n    getUserInfoByToken(token) {\r\n      var _this = this;\r\n      var loginParams = { token: token };\r\n      getUserByToken(loginParams).then((data) => {\r\n        this.logining = false;\r\n        if (!data.success) {\r\n          _this.$message({\r\n            message: data.message,\r\n            type: \"error\",\r\n          });\r\n        } else {\r\n          _this.$notify({\r\n            type: \"success\",\r\n            message: `欢迎管理员:${data.response.EmpName} !`,\r\n            duration: 3000,\r\n          });\r\n          _this.sysUserName = data.response.EmpName;\r\n          window.localStorage.user = JSON.stringify(data.response);\r\n        }\r\n      });\r\n    },\r\n  },\r\n  mounted() {\r\n    let vm = this;\r\n    vm.ExpirationDate = window.localStorage.ExpirationDate;\r\n    vm.ExpirationDay = window.localStorage.ExpirationDay;\r\n    var tags = sessionStorage.getItem(\"Tags\")\r\n      ? JSON.parse(sessionStorage.getItem(\"Tags\"))\r\n      : [];\r\n    if (tags && tags.length > 0) {\r\n      vm.tagsList = tags;\r\n    }\r\n    var NavigationBar = JSON.parse(\r\n      window.localStorage.router ? window.localStorage.router : null\r\n    );\r\n    // var NavigationBar = global.antRouter;\r\n    if (vm.routes.length <= 0 && NavigationBar && NavigationBar.length >= 0) {\r\n      vm.routes = NavigationBar;\r\n    }\r\n    // let pathname = window.location.pathname;\r\n    // if (pathname !== \"/\" && pathname !== \"404\" && pathname != \"needwx\") {\r\n    //   vm.mqtt.initMqtt();\r\n    // }\r\n    // 折叠菜单栏\r\n  },\r\n  updated() {\r\n    var user = JSON.parse(\r\n      window.localStorage.user ? window.localStorage.user : null\r\n    );\r\n    if (user) {\r\n      this.sysUserName = user.EmpName;\r\n      this.sysUserAvatar = user.avatar;\r\n    }\r\n    var NavigationBar = JSON.parse(\r\n      window.localStorage.router ? window.localStorage.router : null\r\n    );\r\n    if (NavigationBar && NavigationBar.length >= 0) {\r\n      if (\r\n        this.routes.length <= 0 ||\r\n        JSON.stringify(this.routes) != JSON.stringify(NavigationBar)\r\n      ) {\r\n        this.routes = NavigationBar;\r\n      }\r\n    }\r\n  },\r\n  computed: {\r\n    ...mapState({\r\n      //sidebar: state => state.app.sidebar,\r\n      //device: state => state.app.device,\r\n      // showSettings: state => state.settings.showSettings,\r\n      // needTagsView: state => state.settings.tagsView,\r\n      // fixedHeader: state => state.settings.fixedHeader\r\n    }),\r\n    classObj() {\r\n      return {\r\n        hideSidebar: this.collapsed,\r\n        openSidebar: !this.collapsed,\r\n        withoutAnimation: false,\r\n        mobile: this.device === \"mobile\",\r\n      };\r\n    },\r\n    showTags() {\r\n      if (this.tagsList.length > 1) {\r\n        this.$store.commit(\"saveTagsData\", JSON.stringify(this.tagsList));\r\n      }\r\n      return this.tagsList.length > 0;\r\n    },\r\n    variables() {\r\n      return variables;\r\n    },\r\n  },\r\n  watch: {\r\n    // 对router进行监听,每当访问router时,对tags的进行修改\r\n    $route: async function (newValue, from) {\r\n      if (global.IS_IDS4) {\r\n        await this.refreshUserInfo();\r\n      }\r\n      this.setTags(newValue);\r\n      const tags = this.$refs.tag;\r\n      this.$nextTick(() => {\r\n        if (tags) {\r\n          for (const tag of tags) {\r\n            if (tag.to.path === this.$route.path) {\r\n              this.$refs.scrollPane.moveToTarget(tag, tags);\r\n              // when query is different then update\r\n              // if (tag.to.fullPath !== this.$route.fullPath) {\r\n              //     this.$store.dispatch('tagsView/updateVisitedView', this.$route)\r\n              // }\r\n              break;\r\n            }\r\n          }\r\n        }\r\n      });\r\n    },\r\n  },\r\n  created() {\r\n    this.init();\r\n    // 第一次进入页面时,修改tag的值\r\n    this.setTags(this.$route);\r\n    //读取折叠状态\r\n    if (window.localStorage.collapse == \"true\") {\r\n      this.collapsed = false;\r\n      this.collapse();\r\n    } else {\r\n      this.collapsed = true;\r\n      this.collapse();\r\n    }\r\n  },\r\n};\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n@import \"~@/style/mixin.scss\";\r\n@import \"~@/style/variables.scss\";\r\n\r\n.app-wrapper {\r\n  @include clearfix;\r\n  position: relative;\r\n  height: 100%;\r\n  width: 100%;\r\n\r\n  &.mobile.openSidebar {\r\n    position: fixed;\r\n    top: 0;\r\n  }\r\n}\r\n\r\n.fixed-header {\r\n  position: fixed;\r\n  top: 0;\r\n  right: 0;\r\n  z-index: 9;\r\n  width: calc(100% - #{$sideBarWidth});\r\n  transition: width 0.28s;\r\n}\r\n\r\n.hideSidebar .fixed-header {\r\n  width: calc(100% - 54px);\r\n}\r\n\r\n.mobile .fixed-header {\r\n  width: 100%;\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.navbar {\r\n  height: 50px;\r\n  overflow: hidden;\r\n  position: relative;\r\n  background: #fff;\r\n  box-shadow: 0px 2px 3px rgba(0, 21, 41, 0.08);\r\n\r\n  // border-top: 1px solid rgba(0, 21, 41, 0.08);\r\n  .hamburger-container {\r\n    line-height: 46px;\r\n    height: 100%;\r\n    float: left;\r\n    cursor: pointer;\r\n    transition: background 0.3s;\r\n    -webkit-tap-highlight-color: transparent;\r\n\r\n    &:hover {\r\n      background: rgba(0, 0, 0, 0.025);\r\n    }\r\n  }\r\n\r\n  .breadcrumb-container {\r\n    float: left;\r\n  }\r\n\r\n  .errLog-container {\r\n    display: inline-block;\r\n    vertical-align: top;\r\n  }\r\n\r\n  .right-menu {\r\n    float: right;\r\n    height: 100%;\r\n    line-height: 50px;\r\n\r\n    &:focus {\r\n      outline: none;\r\n    }\r\n\r\n    .right-menu-item {\r\n      display: inline-block;\r\n      padding: 0 8px;\r\n      height: 100%;\r\n      font-size: 18px;\r\n      color: #5a5e66;\r\n      vertical-align: text-bottom;\r\n\r\n      &.hover-effect {\r\n        cursor: pointer;\r\n        transition: background 0.3s;\r\n\r\n        &:hover {\r\n          background: rgba(0, 0, 0, 0.025);\r\n        }\r\n      }\r\n    }\r\n\r\n    .avatar-container {\r\n      margin-right: 30px;\r\n\r\n      .avatar-wrapper {\r\n        margin-top: 5px;\r\n        position: relative;\r\n\r\n        .user-avatar {\r\n          cursor: pointer;\r\n          width: 40px;\r\n          height: 40px;\r\n          border-radius: 10px;\r\n        }\r\n\r\n        .el-icon-caret-bottom {\r\n          cursor: pointer;\r\n          position: absolute;\r\n          right: -20px;\r\n          top: 25px;\r\n          font-size: 12px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.app-main {\r\n  /* 50= navbar  50  */\r\n  min-height: calc(100vh - 50px);\r\n  width: 100%;\r\n  position: relative;\r\n}\r\n\r\n.tags-close-box {\r\n  box-sizing: border-box;\r\n  text-align: center;\r\n  z-index: 10;\r\n  float: right;\r\n  margin-right: 1px;\r\n  line-height: 2;\r\n}\r\n\r\n.fixed-header+.app-main {\r\n  padding-top: 50px;\r\n}\r\n\r\n.hasTagsView {\r\n  .app-main {\r\n    /* 84 = navbar + tags-view = 50 + 34 */\r\n    min-height: calc(100vh - 84px);\r\n  }\r\n\r\n  .fixed-header+.app-main {\r\n    padding-top: 84px;\r\n  }\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n// fix css style bug in open el-dialog\r\n.el-popup-parent--hidden {\r\n  .fixed-header {\r\n    padding-right: 0px;\r\n  }\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.app-breadcrumb.el-breadcrumb {\r\n  display: inline-block;\r\n  font-size: 14px;\r\n  line-height: 50px;\r\n  margin-left: 8px;\r\n\r\n  .no-redirect {\r\n    color: #97a8be;\r\n    cursor: text;\r\n  }\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.tags-view-container {\r\n  height: 40px;\r\n  width: 100%;\r\n  background: #fff;\r\n  box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.12);\r\n\r\n  .tags-view-wrapper {\r\n    .tags-view-item {\r\n      display: inline-block;\r\n      position: relative;\r\n      cursor: pointer;\r\n      height: 32px;\r\n      line-height: 32px;\r\n      border: 1px solid #d8dce5;\r\n      color: #495060;\r\n      background: #fff;\r\n      padding: 0 8px;\r\n      font-size: 14px;\r\n      margin-left: 5px;\r\n      margin-top: 4px;\r\n\r\n      &:first-of-type {\r\n        margin-left: 15px;\r\n      }\r\n\r\n      &:last-of-type {\r\n        margin-right: 15px;\r\n      }\r\n\r\n      &.active {\r\n        background-color: #42b983;\r\n        color: #fff;\r\n        border-color: #42b983;\r\n\r\n        &::before {\r\n          content: \"\";\r\n          background: #fff;\r\n          display: inline-block;\r\n          width: 8px;\r\n          height: 8px;\r\n          border-radius: 50%;\r\n          position: relative;\r\n          margin-right: 2px;\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  .contextmenu {\r\n    margin: 0;\r\n    background: #fff;\r\n    z-index: 3000;\r\n    position: absolute;\r\n    list-style-type: none;\r\n    padding: 5px 0;\r\n    border-radius: 4px;\r\n    font-size: 12px;\r\n    font-weight: 400;\r\n    color: #333;\r\n    box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);\r\n\r\n    li {\r\n      margin: 0;\r\n      padding: 7px 16px;\r\n      cursor: pointer;\r\n\r\n      &:hover {\r\n        background: #eee;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n//reset element css of el-icon-close\r\n.tags-view-wrapper {\r\n  .tags-view-item {\r\n    .el-icon-close {\r\n      width: 22px;\r\n      height: 22px;\r\n      vertical-align: 3px;\r\n      border-radius: 50%;\r\n      text-align: center;\r\n      transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);\r\n      transform-origin: 100% 50%;\r\n      margin-left: 3px;\r\n\r\n      &:before {\r\n        transform: scale(0.6);\r\n        display: inline-block;\r\n        vertical-align: -3px;\r\n      }\r\n\r\n      &:hover {\r\n        background-color: #b4bccc;\r\n        color: #fff;\r\n      }\r\n    }\r\n  }\r\n}\r\n</style>\r\n<style lang=\"css\">\r\n@import \"~@/style/content.css\";\r\n\r\n.app-main .scrollbar-handle .el-scrollbar__wrap {\r\n  margin-bottom: 0px !important;\r\n  margin-right: 0px !important;\r\n}\r\n\r\n.el-col .el-scrollbar .el-scrollbar__wrap {\r\n  margin-right: 0px !important;\r\n}\r\n\r\n.el-table__body tr.current-row>td {\r\n  background-color: #FFEC8B !important;\r\n}\r\n\r\n/* 精准设置总计行字体样式 */\r\n.el-table__footer .el-table__cell {\r\n  font-size: 16px !important;\r\n  color:#F56C6C  !important;\r\n  font-weight: bold !important;\r\n}\r\n\r\n/* 修复背景色 */\r\n.el-table__footer {\r\n  background-color: #fff !important;\r\n}\r\n\r\n/* 可选:调整单元格内边距(适应大字体) */\r\n .el-table__footer .el-table__cell .cell {\r\n  padding: 5px 0;\r\n}\r\n.fa {\r\n  vertical-align: baseline;\r\n  margin-right: 10px;\r\n}\r\n\r\n.dialogshow {\r\n  width: 95%;\r\n  margin-left: 2.5%;\r\n}\r\n\r\n.dialogshow-detail {\r\n  margin-bottom: 0;\r\n  padding: 10px 20px;\r\n}\r\n\r\n.dialoForm-footer {\r\n  width: 98%;\r\n  position: absolute;\r\n  bottom: 0;\r\n  left: 0;\r\n  border-top: 1px solid #e8e8e8;\r\n  padding: 10px 16px;\r\n  text-align: right;\r\n  z-index: 5;\r\n  background: #fff;\r\n}\r\n\r\n.el-drawer__header {\r\n  margin-bottom: 5px !important;\r\n  padding: 5px 20px !important;\r\n  height: 50px;\r\n  line-height: 50px;\r\n  background: #fff;\r\n  box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);\r\n  /* border-top: 1px solid rgba(0, 21, 41, 0.08); */\r\n}\r\n\r\n.el-menu-vertical-demo {\r\n  /*width: 230px;*/\r\n}\r\n</style>\r\n","import service from '../utils/request'\r\n// 根据ID获取详情\r\nexport const getttsurl = params => {return service.get(`/api/common/getttsurl`, {params: params})};\r\n// 图片上传\r\nexport const upfileimage = params => {\r\n    return service.post(`/api/Common/UpfileImage`, params)\r\n};\r\n","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/dist/cjs.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&id=b050b4e0&lang=scss&scoped=true&\"","import { UserManager } from 'oidc-client'\r\n// 使用id4更改这里1\r\nclass ApplicationUserManager extends UserManager {\r\n  constructor () {\r\n    super({\r\n      authority: 'https://ids.neters.club',\r\n      client_id: 'blogadminjs',\r\n      redirect_uri: 'https://vueadmin.neters.club/callback',\r\n      response_type: 'id_token token',\r\n      scope: 'openid profile roles blog.core.api',\r\n      post_logout_redirect_uri: 'https://vueadmin.neters.club'\r\n    })\r\n  }\r\n  async login () {\r\n    await this.signinRedirect()\r\n    return this.getUser()\r\n  }\r\n  async logout () {\r\n    return this.signoutRedirect()\r\n  }\r\n}\r\nconst applicationUserManager = new ApplicationUserManager()\r\nexport { applicationUserManager as default }\r\n","//==本JS是加载Lodop插件及CLodop服务的综合示例,可直接使用,建议看懂后融进自己页面程序==\r\nvar CreatedOKLodopObject, CLodopIsLocal, CLodopJsState;\r\n//==判断是否需要CLodop(那些不支持插件的浏览器):==\r\nfunction needCLodop() {\r\n    try {\r\n        var ua = navigator.userAgent;\r\n        if (ua.match(/Windows\\sPhone/i))\r\n            return true;\r\n        if (ua.match(/iPhone|iPod|iPad/i))\r\n            return true;\r\n        if (ua.match(/Android/i))\r\n            return true;\r\n        if (ua.match(/Edge\\D?\\d+/i))\r\n            return true;\r\n        var verTrident = ua.match(/Trident\\D?\\d+/i);\r\n        var verIE = ua.match(/MSIE\\D?\\d+/i);\r\n        var verOPR = ua.match(/OPR\\D?\\d+/i);\r\n        var verFF = ua.match(/Firefox\\D?\\d+/i);\r\n        var x64 = ua.match(/x64/i);\r\n        if ((!verTrident) && (!verIE) && (x64))\r\n            return true;\r\n        else if (verFF) {\r\n            verFF = verFF[0].match(/\\d+/);\r\n            if ((verFF[0] >= 41) || (x64))\r\n                return true;\r\n        } else if (verOPR) {\r\n            verOPR = verOPR[0].match(/\\d+/);\r\n            if (verOPR[0] >= 32)\r\n                return true;\r\n        } else if ((!verTrident) && (!verIE)) {\r\n            var verChrome = ua.match(/Chrome\\D?\\d+/i);\r\n            if (verChrome) {\r\n                verChrome = verChrome[0].match(/\\d+/);\r\n                if (verChrome[0] >= 41)\r\n                    return true;\r\n            }\r\n        }\r\n        return false;\r\n    } catch (err) {\r\n        return true;\r\n    }\r\n}\r\n//加载CLodop时用双端口(http是8000/18000,而https是8443/8444)以防其中某端口被占,\r\n//主JS文件“CLodopfuncs.js”是固定文件名,其内容是动态的,与当前打印环境有关:\r\nfunction loadCLodop() {\r\n    if (CLodopJsState == \"loading\" || CLodopJsState == \"complete\") return;\r\n    CLodopJsState = \"loading\";\r\n    var head = document.head || document.getElementsByTagName(\"head\")[0] || document.documentElement;\r\n    var JS1 = document.createElement(\"script\");\r\n    var JS2 = document.createElement(\"script\");\r\n    // if (window.location.protocol == 'https:') {\r\n    //     JS1.src = \"https://localhost.lodop.net:8443/CLodopfuncs.js\";\r\n    //     JS2.src = \"https://localhost.lodop.net:8444/CLodopfuncs.js\";\r\n    // } else {\r\n        JS1.src = \"http://localhost:8000/CLodopfuncs.js\";\r\n        JS2.src = \"http://localhost:18000/CLodopfuncs.js\";\r\n    //}\r\n    JS1.onload = JS2.onload = function() { CLodopJsState = \"complete\"; }\r\n    JS1.onerror = JS2.onerror = function(evt) { CLodopJsState = \"complete\"; }\r\n    head.insertBefore(JS1, head.firstChild);\r\n    head.insertBefore(JS2, head.firstChild);\r\n    CLodopIsLocal = !!((JS1.src + JS2.src).match(/\\/\\/localho|\\/\\/127.0.0./i));\r\n}\r\nif (needCLodop()) { loadCLodop(); } //开始加载\r\n//==获取LODOP对象主过程,判断是否安装、需否升级:==\r\nfunction getLodop(oOBJECT, oEMBED) {\r\n    var strHtmInstall = \"<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>\";\r\n    var strHtmUpdate = \"<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>\";\r\n    var strHtm64_Install = \"<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>\";\r\n    var strHtm64_Update = \"<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>\";\r\n    var strHtmFireFox = \"<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>\";\r\n    var strHtmChrome = \"<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>\";\r\n    var strCLodopInstall_1 = \"<br><font color='#FF00FF'>Web打印服务CLodop未安装启动,点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>下载执行安装</a>\";\r\n    var strCLodopInstall_2 = \"<br>(若此前已安装过,可<a href='CLodop.protocol:setup' target='_self'>点这里直接再次启动</a>)\";\r\n    var strCLodopInstall_3 = \",成功后请刷新或重启浏览器。</font>\";\r\n    var strCLodopUpdate = \"<br><font color='#FF00FF'>Web打印服务CLodop需升级!点击这里<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>执行升级</a>,升级后请刷新或重启浏览器。</font>\";\r\n    var LODOP;\r\n    try {\r\n        var ua = navigator.userAgent;\r\n        var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i));\r\n        if (needCLodop()) {\r\n            try {\r\n                LODOP = getCLodop();\r\n            } catch (err) {}\r\n            if (!LODOP && CLodopJsState !== \"complete\") {\r\n                //if (CLodopJsState == \"loading\") alert(\"网页还没下载完毕,请稍等一下再操作.\"); else alert(\"没有加载CLodop的主js,请先调用loadCLodop过程.\");\r\n                return;\r\n            }\r\n            if (!LODOP) {\r\n                document.body.innerHTML = strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : \"\") + strCLodopInstall_3 + document.body.innerHTML;\r\n                return;\r\n            } else {\r\n                if (CLODOP.CVERSION < \"4.1.4.5\") {\r\n                    document.body.innerHTML = strCLodopUpdate + document.body.innerHTML;\r\n                }\r\n                if (oEMBED && oEMBED.parentNode)\r\n                    oEMBED.parentNode.removeChild(oEMBED); //清理旧版无效元素\r\n                if (oOBJECT && oOBJECT.parentNode)\r\n                    oOBJECT.parentNode.removeChild(oOBJECT);\r\n            }\r\n        } else {\r\n            var is64IE = isIE && !!(ua.match(/x64/i));\r\n            //==如果页面有Lodop就直接使用,否则新建:==\r\n            if (oOBJECT || oEMBED) {\r\n                if (isIE)\r\n                    LODOP = oOBJECT;\r\n                else\r\n                    LODOP = oEMBED;\r\n            } else if (!CreatedOKLodopObject) {\r\n                LODOP = document.createElement(\"object\");\r\n                LODOP.setAttribute(\"width\", 0);\r\n                LODOP.setAttribute(\"height\", 0);\r\n                LODOP.setAttribute(\"style\", \"position:absolute;left:0px;top:-100px;width:0px;height:0px;\");\r\n                if (isIE)\r\n                    LODOP.setAttribute(\"classid\", \"clsid:2105C259-1E0C-4534-8141-A753534CB4CA\");\r\n                else\r\n                    LODOP.setAttribute(\"type\", \"application/x-print-lodop\");\r\n                document.documentElement.appendChild(LODOP);\r\n                CreatedOKLodopObject = LODOP;\r\n            } else\r\n                LODOP = CreatedOKLodopObject;\r\n            //==Lodop插件未安装时提示下载地址:==\r\n            if ((!LODOP) || (!LODOP.VERSION)) {\r\n                if (ua.indexOf('Chrome') >= 0)\r\n                    document.body.innerHTML = strHtmChrome + document.body.innerHTML;\r\n                if (ua.indexOf('Firefox') >= 0)\r\n                    document.body.innerHTML = strHtmFireFox + document.body.innerHTML;\r\n                document.body.innerHTML = (is64IE ? strHtm64_Install : strHtmInstall) + document.body.innerHTML;\r\n                return LODOP;\r\n            }\r\n        }\r\n        if (LODOP.VERSION < \"6.2.2.6\") {\r\n            if (!needCLodop())\r\n                document.body.innerHTML = (is64IE ? strHtm64_Update : strHtmUpdate) + document.body.innerHTML;\r\n        }\r\n        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):==\r\n        LODOP.SET_LICENSES(\"\",\"C724C33E5599C5370C1663657D8B9D88AB3\",\"\",\"\");\r\n        //=======================================================\r\n        return LODOP;\r\n    } catch (err) {\r\n        alert(\"getLodop出错:\" + err);\r\n    }\r\n}\r\nexport { getLodop }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{staticClass:\"scrollbar-handle\",staticStyle:{\"height\":\"100%\"}},[_c('keep-alive',[(_vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1),(!_vm.$route.meta.keepAlive)?_c('router-view'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=2001fd5e&\"\nvar script = {}\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:\"pagination-container\",class:{'hidden':_vm.hidden}},[_c('el-pagination',_vm._b({attrs:{\"background\":_vm.background,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"layout\":_vm.layout,\"page-sizes\":_vm.pageSizes,\"total\":_vm.total},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event},\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}},'el-pagination',_vm.$attrs,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","Math.easeInOutQuad = function(t, b, c, d) {\n  t /= d / 2\n  if (t < 1) {\n    return c / 2 * t * t + b\n  }\n  t--\n  return -c / 2 * (t * (t - 2) - 1) + b\n}\n// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts\nvar requestAnimFrame = (function() {\n  return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }\n})()\n/**\n * Because it's so fucking difficult to detect the scrolling element, just move them all\n * @param {number} amount\n */\nfunction move(amount) {\n  document.documentElement.scrollTop = amount\n  document.body.parentNode.scrollTop = amount\n  document.body.scrollTop = amount\n}\nfunction position() {\n  return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop\n}\n/**\n * @param {number} to\n * @param {number} duration\n * @param {Function} callback\n */\nexport function scrollTo(to, duration, callback) {\n  const start = position()\n  const change = to - start\n  const increment = 20\n  let currentTime = 0\n  duration = (typeof (duration) === 'undefined') ? 500 : duration\n  var animateScroll = function() {\n    // increment the time\n    currentTime += increment\n    // find the value with the quadratic in-out easing function\n    var val = Math.easeInOutQuad(currentTime, start, change, duration)\n    // move the document.body\n    move(val)\n    // do the animation unless its over\n    if (currentTime < duration) {\n      requestAnimFrame(animateScroll)\n    } else {\n      if (callback && typeof (callback) === 'function') {\n        // the animation is done so lets callback\n        callback()\n      }\n    }\n  }\n  animateScroll()\n}\n","<template>\n  <div :class=\"{'hidden':hidden}\" class=\"pagination-container\">\n    <el-pagination\n      :background=\"background\"\n      :current-page.sync=\"currentPage\"\n      :page-size.sync=\"pageSize\"\n      :layout=\"layout\"\n      :page-sizes=\"pageSizes\"\n      :total=\"total\"\n      v-bind=\"$attrs\"\n      @size-change=\"handleSizeChange\"\n      @current-change=\"handleCurrentChange\"\n    />\n  </div>\n</template>\n<script>\nimport { scrollTo } from '@/utils/scroll-to'\nexport default {\n  name: 'Pagination',\n  props: {\n    total: {\n      required: true,\n      type: Number\n    },\n    page: {\n      type: Number,\n      default: 1\n    },\n    limit: {\n      type: Number,\n      default: 20\n    },\n    pageSizes: {\n      type: Array,\n      default() {\n        return [15, 50, 100, 200]\n      }\n    },\n    layout: {\n      type: String,\n      default: 'total, sizes, prev, pager, next, jumper'\n    },\n    background: {\n      type: Boolean,\n      default: true\n    },\n    autoScroll: {\n      type: Boolean,\n      default: true\n    },\n    hidden: {\n      type: Boolean,\n      default: false\n    }\n  },\n  computed: {\n    currentPage: {\n      get() {\n        return this.page\n      },\n      set(val) {\n        this.$emit('update:page', val)\n      }\n    },\n    pageSize: {\n      get() {\n        return this.limit\n      },\n      set(val) {\n        this.$emit('update:limit', val)\n      }\n    }\n  },\n  methods: {\n    handleSizeChange(val) {\n      this.$emit('pagination', { page: this.currentPage, limit: val })\n      if (this.autoScroll) {\n        scrollTo(0, 800)\n      }\n    },\n    handleCurrentChange(val) {\n      this.$emit('pagination', { page: val, limit: this.pageSize })\n      if (this.autoScroll) {\n        scrollTo(0, 800)\n      }\n    }\n  }\n}\n</script>\n<style scoped>\n.pagination-container {\n  background: #fff;\n  float: right;\n}\n.pagination-container.hidden {\n  display: none;\n}\n</style>\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!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3d443986&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3d443986&scoped=true&lang=css&\"\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  \"3d443986\",\n  null\n  \n)\n\nexport default component.exports","import service from '../utils/request'\r\nimport router from '../router/index'\r\nimport store from \"../store\";\r\n// 登录\r\nexport const requestLogin = params => {\r\n    return service.get(`/api/auth/login`, { params: params });\r\n};\r\n//刷新token\r\nexport const refreshToken = params => {\r\n    return service.get(`/api/auth/RefreshToken`, { params: params })\r\n};\r\n//根据token获取用户信息\r\nexport const getUserByToken = params => {\r\n    return service.get(`/api/auth/getInfoByToken`, { params: params })\r\n};\r\n//获取路由信息\r\nexport const getNavigationBar = params => {\r\n    return service.get(`/api/auth/GetNavigationBar`, { params: params })\r\n};\r\n// 获取系统时间\r\nexport const getsystemtime = params => {return service.get(`/api/auth/getsystemtime`, { params: params })};\r\nexport const saveRefreshtime = params => {\r\n    let nowtime = new Date();\r\n    let lastRefreshtime = window.localStorage.refreshtime ? new Date(window.localStorage.refreshtime) : new Date(-1);\r\n    let expiretime = new Date(Date.parse(window.localStorage.TokenExpire))\r\n    let refreshCount = 60; //滑动系数\r\n    if (lastRefreshtime >= nowtime) {\r\n        lastRefreshtime = nowtime > expiretime ? nowtime : expiretime;\r\n        lastRefreshtime.setMinutes(lastRefreshtime.getMinutes() + refreshCount);\r\n        window.localStorage.refreshtime = lastRefreshtime;\r\n    } else {\r\n        window.localStorage.refreshtime = new Date(-1);\r\n    }\r\n};\r\nexport const ToLogin = params => {\r\n    store.commit(\"saveToken\", \"\");\r\n    store.commit(\"saveTokenExpire\", \"\");\r\n    store.commit(\"saveTagsData\", \"\");\r\n    window.localStorage.removeItem('user');\r\n    window.localStorage.removeItem('NavigationBar');\r\n    router.replace({\r\n        path: \"/login\",\r\n        query: { redirect: router.currentRoute.fullPath }\r\n    });\r\n    window.location.reload()\r\n};","import applicationUserManager from \"./applicationusermanager\";\r\nconst userAuth = {\r\n  data() {\r\n    return {\r\n      user: {\r\n        name: \"\",\r\n        isAuthenticated: false\r\n      }\r\n    };\r\n  },\r\n  methods: {\r\n    async refreshUserInfo() {\r\n      const user = await applicationUserManager.getUser();\r\n      if (user) {\r\n        this.user.name = user.profile.name;\r\n        this.user.isAuthenticated = true;\r\n      } else {\r\n        this.user.name = \"\";\r\n        this.user.isAuthenticated = false;\r\n      }\r\n    }\r\n  },\r\n  async created() {\r\n    await this.refreshUserInfo();\r\n  }\r\n};\r\nexport default userAuth;\r\n","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/dist/cjs.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=1&id=b050b4e0&lang=scss&scoped=true&\"","import service from '../utils/request'\r\n// 保存\r\nexport const save = params => { return service.post(`/api/sys_device/save`, params) };\r\n//根据Id获取会员信息\r\nexport const getdevsetbykey = params => { return service.get(`/api/sys_device/getdevsetbykey`, { params }) };\r\n//获取系统参数列表\r\nexport const getsysparalist = params => { return service.get(`/api/sys_device/getsysparalist`, { params }) };\r\n// 修改参数\r\nexport const editpara = params => {return service.put(`/api/sys_device/editpara`, params)};\r\n//数据清除类型列表\r\nexport const datacleartypelist = params => { return service.get(`/api/sys_device/datacleartypelist`, { params }) };\r\n//清除数据\r\nexport const cleandata = params => { return service.post(`/api/sys_device/cleandata`, params) };\r\n// 保存地址\r\nexport const saveaddress = params => {return service.post(`/api/sys_device/saveaddress`, params)};\r\n//获取门店经纬度\r\nexport const getlongitudeandlatitude = params => { return service.get(`/api/sys_device/getlongitudeandlatitude`, { params }) };\r\n// 保存参数\r\nexport const savesyspara = params => { return service.post(`/api/sys_device/savesyspara`, params) };\r\n//根据RuleType获取详情\r\nexport const getsysparabytype = params => { return service.get(`/api/sys_device/getsysparabytype`, { params }) };\r\n// 获取授权日志\r\nexport const getauthlogmv = params => { return service.post(`/api/sys_device/getauthlogmv`, params) };","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/dist/cjs.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=2&id=b050b4e0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"0 15px\"},on:{\"click\":_vm.toggleClick}},[_c('svg',{staticClass:\"hamburger\",class:{'is-active':_vm.isActive},attrs:{\"viewBox\":\"0 0 1024 1024\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"64\",\"height\":\"64\"}},[_c('path',{attrs:{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div style=\"padding: 0 15px;\" @click=\"toggleClick\">\n    <svg\n      :class=\"{'is-active':isActive}\"\n      class=\"hamburger\"\n      viewBox=\"0 0 1024 1024\"\n      xmlns=\"http://www.w3.org/2000/svg\"\n      width=\"64\"\n      height=\"64\"\n    >\n      <path d=\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\" />\n    </svg>\n  </div>\n</template>\n<script>\nexport default {\n  name: 'Hamburger',\n  props: {\n    isActive: {\n      type: Boolean,\n      default: false\n    }\n  },\n  methods: {\n    toggleClick() {\n      this.$emit('toggleClick')\n    }\n  }\n}\n</script>\n<style scoped>\n.hamburger {\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 20px;\n}\n.hamburger.is-active {\n  transform: rotate(180deg);\n}\n</style>\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!./index.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!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=e7445cfe&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=e7445cfe&scoped=true&lang=css&\"\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  \"e7445cfe\",\n  null\n  \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/logo1.7c42cdd1.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(!_vm.$route.meta.NoNeedHome)?_c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[(_vm.device === 'mobile' && _vm.sidebar.opened)?_c('div',{staticClass:\"drawer-bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),_c('div',{staticClass:\"sidebar-container\",class:{ 'has-logo': _vm.collapsed }},[(true)?_c('logo',{attrs:{\"collapse\":_vm.collapsed}}):_vm._e(),_c('el-scrollbar',{attrs:{\"wrap-class\":\"scrollbar-wrapper\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.$route.path,\"unique-opened\":\"\",\"router\":\"\",\"collapse\":_vm.collapsed,\"background-color\":_vm.variables.menuBg,\"text-color\":_vm.variables.menuText,\"active-text-color\":_vm.variables.menuActiveText,\"mode\":\"vertical\"},on:{\"open\":_vm.handleopen,\"close\":_vm.handleclose,\"select\":_vm.handleselect}},_vm._l((_vm.routes),function(menu,index){return _c('sidebar',{key:menu.id,attrs:{\"item\":menu}})}),1)],1)],1),_c('div',{staticClass:\"main-container\",class:{ hasTagsView: true }},[_c('div',{class:{ 'fixed-header': true }},[_c('div',{staticClass:\"navbar\"},[_c('hamburger',{staticClass:\"hamburger-container\",attrs:{\"id\":\"hamburger-container\",\"is-active\":!_vm.collapsed},on:{\"toggleClick\":_vm.collapse}}),_c('el-breadcrumb',{staticClass:\"breadcrumb-container app-breadcrumb\",attrs:{\"separator\":\"/\",\"id\":\"breadcrumb-container\"}},_vm._l((_vm.$route.matched),function(item){return _c('el-breadcrumb-item',{key:item.path},[_c('span',{staticStyle:{}},[_vm._v(\" \"+_vm._s(item.name))])])}),1),_c('div',{staticClass:\"right-menu\"},[(_vm.listenmark)?_c('span',{staticStyle:{\"font-size\":\"12px\",\"margin-right\":\"10px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.listenonoff(0)}}},[_c('i',{staticClass:\"fa fa-circle\",staticStyle:{\"color\":\"forestgreen\"}}),_vm._v(\"消息接收已开启\")]):_vm._e(),(!_vm.listenmark)?_c('span',{staticStyle:{\"font-size\":\"12px\",\"margin-right\":\"10px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.listenonoff(1)}}},[_c('i',{staticClass:\"fa fa-circle\",staticStyle:{\"color\":\"maroon\"}}),_vm._v(\"消息接收已关闭\")]):_vm._e(),(_vm.ExpirationDay <= 7)?_c('span',{staticStyle:{\"color\":\"red\",\"margin-right\":\"20px\",\"font-size\":\"14px\"}},[_vm._v(\"软件有效期至:\"+_vm._s(_vm.ExpirationDate))]):_vm._e(),(_vm.device !== 'mobile')?void 0:_vm._e(),_c('el-dropdown',{attrs:{\"slot\":\"dropdown\",\"trigger\":\"hover\"},slot:\"dropdown\"},[_c('span',{staticClass:\"el-dropdown-link userinfo-inner\",staticStyle:{\"cursor\":\"pointer\"}},[_c('i',{staticClass:\"el-icon-s-custom\",staticStyle:{\"font-size\":\"20px\"}}),_vm._v(\"\\n                \"+_vm._s(_vm.sysUserName)+\"\\n                \"),_c('i',{staticClass:\"el-icon-caret-bottom\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){_vm.editpwdfrom.show = true}}},[_c('i',{staticClass:\"fa fa-lock\",staticStyle:{\"color\":\"black\",\"margin-right\":\"15px\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"修改密码\")]),(_vm.platform === 'web')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.downlodop()}}},[_c('i',{staticClass:\"fa fa-cloud-download\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"下载打印插件\")]):_vm._e(),(_vm.platform === 'web')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.downlodwin()}}},[_c('i',{staticClass:\"fa fa-cloud-download\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"下载Windows客户端\")]):_vm._e(),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.logout.apply(null, arguments)}}},[_c('i',{staticClass:\"fa fa-sign-out\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\"退出登录\")])],1)],1)],2)],1),(_vm.showTags)?_c('div',{staticClass:\"tags-view-container\",attrs:{\"id\":\"tags-view-container\"}},[_c('el-row',[_c('el-col',{attrs:{\"span\":23}},[_c('scroll-pane',{ref:\"scrollPane\",staticClass:\"tags-view-wrapper\"},_vm._l((_vm.tagsList),function(tag,index){return _c('router-link',{key:tag.path,ref:\"tag\",refInFor:true,staticClass:\"tags-view-item\",class:{ active: _vm.isActive(tag.path) },attrs:{\"to\":{\n                    path: tag.path,\n                    query: tag.query,\n                    fullPath: tag.fullPath,\n                  },\"tag\":\"span\"},nativeOn:{\"mouseup\":function($event){if('button' in $event && $event.button !== 1){ return null; }return _vm.closeTags(index)}}},[_c('span',{on:{\"click\":function($event){return _vm.refresh(tag.path)}}},[_vm._v(\" \"+_vm._s(tag.title))]),(_vm.tagsList.length > 1)?_c('span',{staticClass:\"el-icon-close\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.closeTags(index)}}}):_vm._e()])}),1)],1),_c('el-col',{attrs:{\"span\":1}},[_c('div',{staticClass:\"tags-close-box\"},[_c('el-dropdown',{on:{\"command\":_vm.handleTags}},[_c('el-button',{staticStyle:{\"margin-top\":\"4px\"},attrs:{\"size\":\"small\"}},[_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\",\"size\":\"small\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"command\":\"other\"}},[_vm._v(\"关闭其他\")])],1)],1)],1)])],1)],1):_vm._e()]),_c('section',{staticClass:\"app-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('router-view')],1)],1)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.SidebarVisible),expression:\"SidebarVisible\"}],staticClass:\"v-modal\",staticStyle:{\"z-index\":\"2999\"},attrs:{\"tabindex\":\"0\"},on:{\"click\":_vm.collapse}}),_c('el-dialog',{attrs:{\"title\":\"修改密码\",\"visible\":_vm.editpwdfrom.show,\"width\":\"450px\",\"append-to-body\":true,\"modal-append-to-body\":false,\"destroy-on-close\":true,\"close-on-click-modal\":false},on:{\"update:visible\":function($event){return _vm.$set(_vm.editpwdfrom, \"show\", $event)}}},[_c('el-form',{ref:\"editpwdfrom\",attrs:{\"model\":_vm.editpwdfrom,\"rules\":_vm.editpwdrules}},[_c('el-form-item',{attrs:{\"label\":\"原密码:\",\"label-width\":\"120px\",\"prop\":\"oldpwd\"}},[_c('el-input',{attrs:{\"show-password\":\"\",\"show-word-limit\":\"\",\"autocomplete\":\"off\"},model:{value:(_vm.editpwdfrom.oldpwd),callback:function ($$v) {_vm.$set(_vm.editpwdfrom, \"oldpwd\", $$v)},expression:\"editpwdfrom.oldpwd\"}})],1),_c('el-form-item',{attrs:{\"label\":\"新密码:\",\"label-width\":\"120px\",\"prop\":\"newpwd\"}},[_c('el-input',{attrs:{\"show-password\":\"\",\"maxlength\":\"30\",\"show-word-limit\":\"\",\"autocomplete\":\"off\"},model:{value:(_vm.editpwdfrom.newpwd),callback:function ($$v) {_vm.$set(_vm.editpwdfrom, \"newpwd\", $$v)},expression:\"editpwdfrom.newpwd\"}})],1),_c('el-form-item',{attrs:{\"label\":\"确认新密码:\",\"label-width\":\"120px\",\"prop\":\"renewpwd\"}},[_c('el-input',{attrs:{\"show-password\":\"\",\"maxlength\":\"30\",\"show-word-limit\":\"\",\"autocomplete\":\"off\"},model:{value:(_vm.editpwdfrom.renewpwd),callback:function ($$v) {_vm.$set(_vm.editpwdfrom, \"renewpwd\", $$v)},expression:\"editpwdfrom.renewpwd\"}})],1)],1),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":function($event){_vm.editpwdfrom.show = false}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.saveeditpwd()}}},[_vm._v(\"确认修改\")])],1)],1)],1):_c('div',[_c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[_c('div',{staticClass:\"content-az router-view-withly\"},[_c('router-view')],1)])],1),_c('div',{staticClass:\"tab_company_out\",staticStyle:{\"width\":\"300px\",\"display\":\"none\",\"line-height\":\"26px\",\"font-size\":\"20px\"},attrs:{\"id\":\"boxprintapp\"}},[_c('div',{staticStyle:{\"width\":\"300px\",\"text-align\":\"center\",\"line-height\":\"30px\",\"font-size\":\"20px\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.printmodel.TypeName + \"-\" + _vm.printmodel.TableName + \"(后厨)\")+\"\\n    \")]),_c('table',{staticClass:\"cont1\",staticStyle:{\"width\":\"300px\",\"border-bottom\":\"1px solid #000\"}},[_c('tr',[_c('td',{attrs:{\"width\":\"150\"}},[_vm._v(\"顾客人数:\")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"width\":\"150\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.printmodel.TablePeopleCount)+\"\\n        \")])])]),_c('div',{staticClass:\"content\"},[_c('table',{staticStyle:{\"border-bottom\":\"1px solid #000\",\"width\":\"300px\"},attrs:{\"cellpadding\":\"0\",\"cellspacing\":\"0\"}},_vm._l((_vm.printmodel.printdetail),function(row,index){return _c('div',{key:row.id},[_c('tr',{staticStyle:{\"margin-top\":\"10px\",\"font-size\":\"24px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              \"+_vm._s(row.GoodsName)+\"(\"+_vm._s(row.UnitName)+\")\\n            \")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"X\"+_vm._s(row.Quantity))])]),_vm._l((row.childgoods),function(child,yindex){return _c('tr',{key:yindex,staticStyle:{\"text-align\":\"right\",\"margin-top\":\"10px\",\"font-size\":\"15px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\",\"margin-left\":\"30px\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              ---\"+_vm._s(child.GoodsName)+\"(\"+_vm._s(child.UnitName)+\")\\n            \")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              X\"+_vm._s(child.Quantity)+\"\\n            \")])])}),(row.Remark != '' && row.Remark != undefined)?_c('tr',{staticStyle:{\"margin-top\":\"10px\",\"font-size\":\"16px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n              备注:\"+_vm._s(row.Remark)+\"\\n            \")])]):_vm._e()],2)}),0),_c('table',[_c('tr',{staticStyle:{\"width\":\"300px\",\"text-align\":\"center\",\"margin-top\":\"10px\",\"font-size\":\"16px\"}},[_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"点单时间:\"+_vm._s(_vm.printmodel.printtime))])])])])]),_c('div',{staticClass:\"tab_company_out\",staticStyle:{\"width\":\"200px\",\"display\":\"none\",\"line-height\":\"26px\",\"font-size\":\"16px\"},attrs:{\"id\":\"box58app\"}},[_c('div',{staticStyle:{\"width\":\"200px\",\"text-align\":\"center\",\"line-height\":\"30px\",\"font-size\":\"15px\"}},[_vm._v(\"\\n      \"+_vm._s(_vm.printmodel.TypeName + \"-\" + _vm.printmodel.TableName + \"(后厨)\")+\"\\n    \")]),_c('table',{staticClass:\"cont1\",staticStyle:{\"width\":\"200px\",\"border-bottom\":\"1px solid #000\",\"font-size\":\"14px\"}},[_c('tr',[_c('td',{attrs:{\"width\":\"150\"}},[_vm._v(\"顾客人数:\")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"width\":\"150\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.printmodel.TablePeopleCount)+\"\\n        \")])])]),_c('div',{staticClass:\"content\"},[_c('table',{staticStyle:{\"width\":\"200px\",\"border-bottom\":\"1px solid #000\"},attrs:{\"cellpadding\":\"0\",\"cellspacing\":\"0\"}},_vm._l((_vm.printmodel.printdetail),function(row,index){return _c('div',{key:index},[_c('tr',{staticStyle:{\"margin-top\":\"10px\",\"font-size\":\"24px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              \"+_vm._s(row.GoodsName)+\"(\"+_vm._s(row.UnitName)+\")\\n            \")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"X\"+_vm._s(row.Quantity))])]),_vm._l((row.childgoods),function(child,yindex){return _c('tr',{key:yindex,staticStyle:{\"text-align\":\"right\",\"margin-top\":\"10px\",\"font-size\":\"15px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\",\"margin-left\":\"30px\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              ---\"+_vm._s(child.GoodsName)+\"(\"+_vm._s(child.UnitName)+\")\\n            \")]),_c('td',{staticStyle:{\"text-align\":\"right\"},attrs:{\"colspan\":\"1\"}},[_vm._v(\"\\n              X\"+_vm._s(child.Quantity)+\"\\n            \")])])}),(row.Remark != '' && row.Remark != undefined)?_c('tr',{staticStyle:{\"margin-top\":\"10px\",\"font-size\":\"16px\"}},[_c('td',{staticStyle:{\"text-align\":\"left\"},attrs:{\"colspan\":\"2\"}},[_vm._v(\"\\n              备注:\"+_vm._s(row.Remark)+\"\\n            \")])]):_vm._e()],2)}),0),_c('table',[_c('tr',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\",\"font-size\":\"14px\"}},[_c('td',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"点单时间:\"+_vm._s(_vm.printmodel.printtime))])])])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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=b050b4e0&scoped=true&\"\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&id=b050b4e0&lang=scss&scoped=true&\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=b050b4e0&lang=scss&scoped=true&\"\nimport style2 from \"./App.vue?vue&type=style&index=2&id=b050b4e0&lang=scss&scoped=true&\"\nimport style3 from \"./App.vue?vue&type=style&index=3&id=b050b4e0&lang=scss&scoped=true&\"\nimport style4 from \"./App.vue?vue&type=style&index=4&id=b050b4e0&lang=scss&scoped=true&\"\nimport style5 from \"./App.vue?vue&type=style&index=5&id=b050b4e0&lang=scss&scoped=true&\"\nimport style6 from \"./App.vue?vue&type=style&index=6&lang=scss&\"\nimport style7 from \"./App.vue?vue&type=style&index=7&lang=css&\"\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  \"b050b4e0\",\n  null\n  \n)\n\nexport default component.exports","import mqtt from \"mqtt\";\r\nimport store from \"../store\";\r\nexport default {\r\n\tmqtt: {},\r\n\t//初始化连接\r\n\tinitMqtt: function () {\r\n\t\tlet vm = this;\r\n\t\tlet user = {};\r\n\t\tlet commonApi = \"wss://mqtt.mtfpos.com:8084/mqtt\";\r\n\t\tif (store.state.mqttuser == undefined && store.state.mqttuser == null) {\r\n\t\t\t//vm.$store.commit(\"savemqtt\", JSON.parse(window.localStorage.mqtt));\r\n\t\t\tuser = JSON.parse(window.localStorage.mqttuser);\r\n\t\t} else {\r\n\t\t\tuser = store.state.mqttuser;\r\n\t\t}\r\n\t\tvar options = {\r\n\t\t\t//mqtt客户端的id\r\n\t\t\tusername: user.username,\r\n\t\t\tpassword: user.password,\r\n\t\t\tclientId: user.clientId,\r\n\t\t\tclean: true,\r\n\t\t\tcleanSession: false,\r\n\t\t\treconnectPeriod: 1000\r\n\t\t};\r\n\t\twindow.localStorage.mqttuser = JSON.stringify(options);\r\n\t\tvm.mqtt.client = mqtt.connect(commonApi, options);\r\n\t\tvm.mqtt.basetopic = user.username;\r\n\t\tvm.mqtt.client.on(\"connect\", function () {\r\n\t\t\tvm.mqtt.client.subscribe(user.username, function (err) {\r\n\t\t\t\tif (!err) {\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//打印错误\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\tvm.mqtt.client.on('reconnect', (error) => {\r\n\t\t\tconsole.log('正在重连:', error)\r\n\t\t})\r\n\t\t//如果连接错误,打印错误\r\n\t\tvm.mqtt.client.on(\"error\", function (err) {\r\n\t\t\tconsole.log(\"err=>\", err);\r\n\t\t\tvm.mqtt.client.end();\r\n\t\t});\r\n\t},\r\n\tdestroyed() {\r\n\t\tlet vm = this;\r\n\t\tif (vm.mqtt.client.connected) vm.mqtt.client.end();\r\n\t},\r\n\tstop() {\r\n\t\tlet vm = this;\r\n\t\tif (vm.mqtt.client.connected) vm.mqtt.client.end();\r\n\t}\r\n};\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\n// import router from './routerManuaConfig'\r\nimport store from './store'\r\nimport router from './router/index'\r\nimport '../util/global' //全局\r\nimport './promissionRouter' //这里进行路由后台获取的模拟\r\nimport Cookies from 'js-cookie'\r\nimport ElementUI from \"element-ui\";\r\nimport \"element-ui/lib/theme-chalk/index.css\";\r\nimport 'element-ui/lib/theme-chalk/display.css';\r\nimport '@/style/index.scss' // global css\r\nimport VueBus from 'vue-bus'\r\nVue.use(VueBus)\r\nimport mqtt from \"./utils/mtfmqtt\";\r\nVue.use(ElementUI, {\r\n  size: Cookies.get('size') || 'medium' // set element-ui default size\r\n});\r\nimport 'font-awesome/css/font-awesome.min.css'\r\nrouter.beforeEach((to, from, next) => {\r\n  /* 路由发生变化修改页面title */\r\n  if (to.meta.title) {\r\n    document.title = to.meta.title\r\n  }\r\n  next()\r\n})\r\nVue.prototype.platform = \"web\"\r\n// Vue.prototype.platform = \"web\"\r\nVue.config.productionTip = false\r\nVue.prototype.getViewHeight = () => {\r\n  return document.documentElement.clientHeight - 250;\r\n}\r\nVue.prototype.getViewWidth = () => {\r\n  return 540;\r\n}\r\nVue.prototype.mqtt = mqtt;\r\nVue.prototype.getdocViewWidth = () => {\r\n  var clientWidth = document.documentElement.clientWidth;\r\n  if (clientWidth >= 1920) {\r\n    return parseInt(clientWidth * 0.85)\r\n  }\r\n  if (clientWidth > 1024 && clientWidth <= 1600) {\r\n    return '95%';\r\n  }\r\n  if (clientWidth > 600 && clientWidth <= 1024) {\r\n    return '100%';\r\n  }\r\n  if (clientWidth < 600) {\r\n    return '100%';\r\n  } else {\r\n    return 540;\r\n  }\r\n}\r\nfunction fn2(n) {\r\n  let l = n.split('.')\r\n  if (l.length === 1) {\r\n    n = n + '.00'\r\n  } else if (l[1].length === 1) {\r\n    n = n + '0'\r\n  }\r\n  return n\r\n}\r\nVue.prototype.numformat2 = (n) => {\r\n  n = parseFloat(n)\r\n  if (isNaN(n)) {\r\n    return 0.00\r\n  } else {\r\n    n = Number(n.toFixed(2))\r\n    return n\r\n  }\r\n}\r\nnew Vue({\r\n  router,\r\n  store,\r\n  render: h => h(App)\r\n}).$mount('#app')\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.item.children)?[(!(_vm.item.path!=''&&_vm.item.path!=' '&&_vm.item.path!='-')&&!_vm.item.IsButton)?_c('el-submenu',{key:_vm.item.path,attrs:{\"index\":_vm.item.id+'index'}},[_c('template',{slot:\"title\"},[(_vm.item.children&&_vm.item.children.length>0&&_vm.item.iconCls&&!_vm.item.IsButton)?_c('i',{staticClass:\"fa\",class:_vm.item.iconCls,staticStyle:{\"font-size\":\"20px\",\"color\":\"#F4F4F5\"}}):_vm._e(),_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])]),_vm._l((_vm.item.children),function(child){return [(!child.IsHide&&!_vm.item.IsButton)?[(child.children&&child.children.length>0)?_c('sidebar',{key:child.path,attrs:{\"item\":child,\"index\":child.id}}):_c('app-link',{key:child.path,attrs:{\"to\":child.path}},[_c('el-menu-item',{key:child.path,attrs:{\"index\":_vm.isExternalLink(child.path)? '':child.path},on:{\"click\":_vm.cop}},[_c('i',{staticClass:\"fa\",class:child.iconCls,staticStyle:{\"font-size\":\"20px\",\"color\":\"#F4F4F5\"}}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(child.name))])])],2)],1)]:_vm._e()]})],2):[(!_vm.item.IsButton)?_c('app-link',{key:_vm.item.path+'d',attrs:{\"to\":_vm.item.path}},[_c('el-menu-item',{key:_vm.item.path+'d',attrs:{\"index\":_vm.isExternalLink(_vm.item.path)? '':_vm.item.path}},[_c('i',{staticClass:\"fa\",class:_vm.item.iconCls,staticStyle:{\"font-size\":\"20px\",\"color\":\"#F4F4F5\"}}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])])],2)],1):_vm._e()]]:[_c('app-link',{key:_vm.item.path+'d',attrs:{\"to\":_vm.item.path}},[_c('el-menu-item',{key:_vm.item.path+'d',attrs:{\"index\":_vm.isExternalLink(_vm.item.path)? '':_vm.item.path},on:{\"click\":_vm.cop}},[_c('i',{staticClass:\"fa\",class:_vm.item.iconCls,staticStyle:{\"font-size\":\"20px\",\"color\":\"#F4F4F5\"}}),_c('template',{slot:\"title\"},[_c('span',{staticClass:\"title-name\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.name))])])],2)],1)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,_vm._b({tag:\"component\"},'component',_vm.linkProps(_vm.to),false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export function isExternal(path) {\r\n  return /^(https?:|mailto:|tel:)/.test(path)\r\n}\r\nexport function validURL(url) {\r\n  const reg = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/\r\n  return reg.test(url)\r\n}\r\nexport function validEmail(email) {\r\n  const reg = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n  return reg.test(email)\r\n}\r\nexport function isString(str) {\r\n  if (typeof str === 'string' || str instanceof String) {\r\n    return true\r\n  }\r\n  return false\r\n}\r\nexport function isArray(arg) {\r\n  if (typeof Array.isArray === 'undefined') {\r\n    return Object.prototype.toString.call(arg) === '[object Array]'\r\n  }\r\n  return Array.isArray(arg)\r\n}\r\n","<template>\r\n  <component :is=\"type\" v-bind=\"linkProps(to)\">\r\n    <slot />\r\n  </component>\r\n</template>\r\n<script>\r\nimport { isExternal } from '../../util/validate'\r\nexport default {\r\n  props: {\r\n    to: {\r\n      type: String,\r\n      required: true\r\n    }\r\n  },\r\n  computed: {\r\n    isExternal() {\r\n      return isExternal(this.to)\r\n    },\r\n    type() {\r\n      if (this.isExternal) {\r\n        return 'a'\r\n      }\r\n      return 'router-link'\r\n    }\r\n  },\r\n  methods: {\r\n    linkProps(to) {\r\n      if (this.isExternal) {\r\n        return {\r\n          href: to,\r\n          target: '_blank',\r\n          style:'color:#fff;'\r\n        }\r\n      }\r\n      return {\r\n        to: to\r\n      }\r\n    }\r\n  }\r\n}\r\n</script>\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!./AppLink.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!./AppLink.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppLink.vue?vue&type=template&id=186abab8&\"\nimport script from \"./AppLink.vue?vue&type=script&lang=js&\"\nexport * from \"./AppLink.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  null,\n  null\n  \n)\n\nexport default component.exports","<template>\r\n  <div>\r\n    <!-- if 有子节点,渲染节点递归 -->\r\n    <template v-if=\"item.children\">\r\n      <el-submenu\r\n        v-if=\"!(item.path!=''&&item.path!=' '&&item.path!='-')&&!item.IsButton\"\r\n        :index=\"item.id+'index'\"\r\n        :key=\"item.path\"\r\n      >\r\n        <template slot=\"title\">\r\n          <i\r\n            v-if=\"item.children&&item.children.length>0&&item.iconCls&&!item.IsButton\"\r\n            class=\"fa\" style=\"font-size:20px;color:#F4F4F5\"\r\n            :class=\"item.iconCls\"\r\n          ></i>\r\n          <span class=\"title-name\" slot=\"title\">{{item.name}}</span>\r\n        </template>\r\n        <template v-for=\"child in item.children\">\r\n          <!-- 这里实现自己递归嵌套 -->\r\n          <template v-if=\"!child.IsHide&&!item.IsButton\">\r\n            <sidebar\r\n              v-if=\"child.children&&child.children.length>0\"\r\n              :item=\"child\"\r\n              :index=\"child.id\"\r\n              :key=\"child.path\"\r\n            />\r\n            <app-link :to=\"child.path\" v-else :key=\"child.path\">\r\n              <el-menu-item :key=\"child.path\" \r\n          :index=\"isExternalLink(child.path)? '':child.path\"\r\n               @click=\"cop\">\r\n                <i class=\"fa\" :class=\"child.iconCls\" style=\"font-size:20px;color:#F4F4F5\"></i>\r\n                <template slot=\"title\">\r\n                  <span class=\"title-name\" slot=\"title\">{{child.name}}</span>\r\n                </template>\r\n              </el-menu-item>\r\n            </app-link>\r\n          </template>\r\n        </template>\r\n      </el-submenu>\r\n      <template v-else>\r\n        <app-link :to=\"item.path\" v-if=\"!item.IsButton\" :key=\"item.path+'d'\">\r\n          <el-menu-item\r\n          :index=\"isExternalLink(item.path)? '':item.path\"\r\n           :key=\"item.path+'d'\">\r\n            <i class=\"fa\" :class=\"item.iconCls\" style=\"font-size:20px;color:#F4F4F5\"></i>\r\n            <template slot=\"title\">\r\n              <span class=\"title-name\" slot=\"title\">{{item.name}}</span>\r\n            </template>\r\n          </el-menu-item>\r\n        </app-link>\r\n      </template>\r\n    </template>\r\n    <!-- else 没有子节点,直接输出 -->\r\n    <template v-else>\r\n      <app-link :to=\"item.path\" :key=\"item.path+'d'\">\r\n        <el-menu-item\r\n          :index=\"isExternalLink(item.path)? '':item.path\"\r\n          :key=\"item.path+'d'\"\r\n          @click=\"cop\"\r\n        >\r\n          <i class=\"fa\" :class=\"item.iconCls\" style=\"font-size:20px;color:#F4F4F5\"></i>\r\n          <template slot=\"title\">\r\n            <span class=\"title-name\" slot=\"title\">{{item.name}}</span>\r\n          </template>\r\n        </el-menu-item>\r\n      </app-link>\r\n    </template>\r\n  </div>\r\n</template>\r\n<script>\r\nimport AppLink from \"./AppLink\";\r\nimport { isExternal } from \"../../util/validate\";\r\nexport default {\r\n  name: \"Sidebar\",\r\n  components: { AppLink },\r\n  props: {\r\n    item: {\r\n      type: Object,\r\n      required: true\r\n    }\r\n  },\r\n  methods: {\r\n    isExternalLink(to) {\r\n      return isExternal(to);\r\n    },\r\n    cop: function() {\r\n      // 子组件中触发父组件方法collaFa并传值123\r\n      this.$emit(\"collaFa\", \"123\");\r\n    }\r\n  }\r\n};\r\n</script>\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!./Sidebar.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!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=396afdf6&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.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  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=3d443986&scoped=true&lang=css&\"","var map = {\n\t\"./views/403.vue\": [\n\t\t\"00a5\",\n\t\t\"chunk-c673e236\"\n\t],\n\t\"./views/404.vue\": [\n\t\t\"8cdb\"\n\t],\n\t\"./views/About.vue\": [\n\t\t\"f820\",\n\t\t\"chunk-2d22d746\"\n\t],\n\t\"./views/Layout/Layout.vue\": [\n\t\t\"32e93\"\n\t],\n\t\"./views/Login.vue\": [\n\t\t\"a55b\"\n\t],\n\t\"./views/LoginCallbackView.vue\": [\n\t\t\"86d7\"\n\t],\n\t\"./views/User/components/addemp.vue\": [\n\t\t\"979e\",\n\t\t\"chunk-7bcefacc\"\n\t],\n\t\"./views/User/components/addrole.vue\": [\n\t\t\"49aa\",\n\t\t\"chunk-d96462d8\"\n\t],\n\t\"./views/User/emplist.vue\": [\n\t\t\"9730\",\n\t\t\"chunk-67c04cb4\"\n\t],\n\t\"./views/User/rolelist.vue\": [\n\t\t\"6e92\",\n\t\t\"chunk-7cafdb4a\"\n\t],\n\t\"./views/baseset/components/addgoodpercentage.vue\": [\n\t\t\"24ed\",\n\t\t\"chunk-404ca992\"\n\t],\n\t\"./views/baseset/components/addgoodpercentagedetail.vue\": [\n\t\t\"7035\",\n\t\t\"chunk-19481e53\"\n\t],\n\t\"./views/baseset/components/addgoods.vue\": [\n\t\t\"8c28\",\n\t\t\"chunk-5320adfa\"\n\t],\n\t\"./views/baseset/components/addgoodscat.vue\": [\n\t\t\"c876\",\n\t\t\"chunk-6cc05983\"\n\t],\n\t\"./views/baseset/components/addgoodsraw.vue\": [\n\t\t\"fb4f\",\n\t\t\"chunk-306a67be\"\n\t],\n\t\"./views/baseset/components/addpayway.vue\": [\n\t\t\"870b\",\n\t\t\"chunk-13abab80\"\n\t],\n\t\"./views/baseset/components/addsup.vue\": [\n\t\t\"573f\",\n\t\t\"chunk-423744c0\"\n\t],\n\t\"./views/baseset/components/addunit.vue\": [\n\t\t\"54c4\",\n\t\t\"chunk-3d1aebba\"\n\t],\n\t\"./views/baseset/components/importgoods.vue\": [\n\t\t\"5668\",\n\t\t\"chunk-71693ee8\"\n\t],\n\t\"./views/baseset/components/selectgoods.vue\": [\n\t\t\"e854\",\n\t\t\"chunk-71e049d4\"\n\t],\n\t\"./views/baseset/goodpercentage.vue\": [\n\t\t\"537b\",\n\t\t\"chunk-404ca992\",\n\t\t\"chunk-639a6d1e\"\n\t],\n\t\"./views/baseset/goodrawslist.vue\": [\n\t\t\"bf33\",\n\t\t\"chunk-25486ab2\"\n\t],\n\t\"./views/baseset/goodscatlist.vue\": [\n\t\t\"768b\",\n\t\t\"chunk-38136da7\"\n\t],\n\t\"./views/baseset/goodslist.vue\": [\n\t\t\"66e2\",\n\t\t\"chunk-5320adfa\",\n\t\t\"chunk-ffc60a46\"\n\t],\n\t\"./views/baseset/paywaylist.vue\": [\n\t\t\"ad01\",\n\t\t\"chunk-635c8c03\"\n\t],\n\t\"./views/baseset/suplist.vue\": [\n\t\t\"cbc4\",\n\t\t\"chunk-0434a312\"\n\t],\n\t\"./views/baseset/tastemanage.vue\": [\n\t\t\"da25\",\n\t\t\"chunk-2d228876\"\n\t],\n\t\"./views/baseset/unitlist.vue\": [\n\t\t\"2f52\",\n\t\t\"chunk-69b79c64\"\n\t],\n\t\"./views/chain/goodsreport.vue\": [\n\t\t\"ef8b\",\n\t\t\"chunk-e6a0e9ac\"\n\t],\n\t\"./views/chain/memberlist.vue\": [\n\t\t\"2f95\",\n\t\t\"chunk-7c6a1ac0\",\n\t\t\"chunk-02ca65b2\"\n\t],\n\t\"./views/chain/order.vue\": [\n\t\t\"86ee\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-56df2a2a\"\n\t],\n\t\"./views/chain/saledaily.vue\": [\n\t\t\"273a\",\n\t\t\"chunk-fb09bd9c\"\n\t],\n\t\"./views/chain/storemanage.vue\": [\n\t\t\"cb7c5\",\n\t\t\"chunk-63bf4b64\"\n\t],\n\t\"./views/chain/storeosale.vue\": [\n\t\t\"6587\",\n\t\t\"chunk-64f9b5dd\"\n\t],\n\t\"./views/home/components/addbuscost.vue\": [\n\t\t\"dc92\",\n\t\t\"chunk-318befc6\"\n\t],\n\t\"./views/home/components/getgoodssave.vue\": [\n\t\t\"9fd8\",\n\t\t\"chunk-0d903154\"\n\t],\n\t\"./views/home/components/openorder.vue\": [\n\t\t\"0500\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-09d60624\"\n\t],\n\t\"./views/home/components/orderaddAdvance.vue\": [\n\t\t\"5053\",\n\t\t\"chunk-4d8e2a34\"\n\t],\n\t\"./views/home/components/orderaddgoods.vue\": [\n\t\t\"893f\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-2d3c9a52\",\n\t\t\"chunk-e67b2c8c\"\n\t],\n\t\"./views/home/components/orderdetail.vue\": [\n\t\t\"bf71\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-2d3c9a52\",\n\t\t\"chunk-e67b2c8c\",\n\t\t\"chunk-72330e1e\"\n\t],\n\t\"./views/home/components/orderdetailview.vue\": [\n\t\t\"b124\",\n\t\t\"chunk-e73bbb16\"\n\t],\n\t\"./views/home/components/orderfinish.vue\": [\n\t\t\"37ef\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-2d3c9a52\"\n\t],\n\t\"./views/home/components/saveorderrecord.vue\": [\n\t\t\"ed9a\",\n\t\t\"chunk-6b1a58e3\"\n\t],\n\t\"./views/home/components/tablemaintain.vue\": [\n\t\t\"d885\",\n\t\t\"chunk-344bd489\"\n\t],\n\t\"./views/home/components/tablereserve.vue\": [\n\t\t\"fdb1\",\n\t\t\"chunk-430a81e6\"\n\t],\n\t\"./views/home/components/worksummary.vue\": [\n\t\t\"7d7c\",\n\t\t\"chunk-7c402656\"\n\t],\n\t\"./views/home/home.vue\": [\n\t\t\"77b8\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-2d3c9a52\",\n\t\t\"chunk-e67b2c8c\",\n\t\t\"chunk-72330e1e\",\n\t\t\"chunk-f21c43de\"\n\t],\n\t\"./views/member/balancerecord.vue\": [\n\t\t\"2433\",\n\t\t\"chunk-5fa71b20\"\n\t],\n\t\"./views/member/components/addmember.vue\": [\n\t\t\"b99f\",\n\t\t\"chunk-07d71b4e\"\n\t],\n\t\"./views/member/components/addmembergrade.vue\": [\n\t\t\"1f8b\",\n\t\t\"chunk-bc2d8256\"\n\t],\n\t\"./views/member/components/addmembersave.vue\": [\n\t\t\"ca82\",\n\t\t\"chunk-4fee2b7e\"\n\t],\n\t\"./views/member/components/goodsgetlist.vue\": [\n\t\t\"5636\",\n\t\t\"chunk-ebb62920\"\n\t],\n\t\"./views/member/components/memberdetail.vue\": [\n\t\t\"522d\",\n\t\t\"chunk-7c6a1ac0\"\n\t],\n\t\"./views/member/components/memberimport.vue\": [\n\t\t\"3e1c\",\n\t\t\"chunk-1c3138ce\"\n\t],\n\t\"./views/member/components/selectmember.vue\": [\n\t\t\"bb72\",\n\t\t\"chunk-57af33f2\"\n\t],\n\t\"./views/member/integralrecord.vue\": [\n\t\t\"5f99\",\n\t\t\"chunk-77db7641\"\n\t],\n\t\"./views/member/memberactivity.vue\": [\n\t\t\"29d9\",\n\t\t\"chunk-2d0b3dd2\"\n\t],\n\t\"./views/member/membergradelist.vue\": [\n\t\t\"7574\",\n\t\t\"chunk-66211f76\"\n\t],\n\t\"./views/member/memberlist.vue\": [\n\t\t\"ea23\",\n\t\t\"chunk-7c6a1ac0\",\n\t\t\"chunk-2526292c\"\n\t],\n\t\"./views/member/membersavalist.vue\": [\n\t\t\"c2c7\",\n\t\t\"chunk-30a910fd\"\n\t],\n\t\"./views/member/rechargerule.vue\": [\n\t\t\"6441\",\n\t\t\"chunk-160fc62c\"\n\t],\n\t\"./views/needwx.vue\": [\n\t\t\"b2f8\"\n\t],\n\t\"./views/promotion/components/addcoupon.vue\": [\n\t\t\"0383\",\n\t\t\"chunk-395a3f54\"\n\t],\n\t\"./views/promotion/components/addpromotion.vue\": [\n\t\t\"9902\",\n\t\t\"chunk-3fa328f2\"\n\t],\n\t\"./views/promotion/components/coupondetailview.vue\": [\n\t\t\"784e\",\n\t\t\"chunk-2cc0ec75\"\n\t],\n\t\"./views/promotion/couponlist.vue\": [\n\t\t\"e18b\",\n\t\t\"chunk-395a3f54\",\n\t\t\"chunk-eabe95f8\"\n\t],\n\t\"./views/promotion/promotionlist.vue\": [\n\t\t\"f692\",\n\t\t\"chunk-1236a2b2\"\n\t],\n\t\"./views/report/authlog.vue\": [\n\t\t\"e072\",\n\t\t\"chunk-7ce31761\"\n\t],\n\t\"./views/report/commissionreport.vue\": [\n\t\t\"a455\",\n\t\t\"chunk-57d15a87\"\n\t],\n\t\"./views/report/components/creditfinish.vue\": [\n\t\t\"a893\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\"\n\t],\n\t\"./views/report/components/saledetail.vue\": [\n\t\t\"c1aa\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\"\n\t],\n\t\"./views/report/costreport.vue\": [\n\t\t\"758a\",\n\t\t\"chunk-553eba3b\"\n\t],\n\t\"./views/report/creditorder.vue\": [\n\t\t\"deb2\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-1d1d4f86\"\n\t],\n\t\"./views/report/goodsreport.vue\": [\n\t\t\"d83b\",\n\t\t\"chunk-532f4166\"\n\t],\n\t\"./views/report/goodssalerecord.vue\": [\n\t\t\"09bf\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-a2005792\"\n\t],\n\t\"./views/report/order.vue\": [\n\t\t\"3edc\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-053bdf34\"\n\t],\n\t\"./views/report/refunorder.vue\": [\n\t\t\"d9dd\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-503781e2\"\n\t],\n\t\"./views/report/saledaily.vue\": [\n\t\t\"7fcb\",\n\t\t\"chunk-50b60645\"\n\t],\n\t\"./views/report/saletrend.vue\": [\n\t\t\"6c3a\",\n\t\t\"chunk-b5f50534\"\n\t],\n\t\"./views/report/smsreport.vue\": [\n\t\t\"db95\",\n\t\t\"chunk-12c00ef5\"\n\t],\n\t\"./views/report/tablemaintainrecord.vue\": [\n\t\t\"e515\",\n\t\t\"chunk-63b1240a\"\n\t],\n\t\"./views/report/tablereserverecord.vue\": [\n\t\t\"b91e\",\n\t\t\"chunk-2ee0728e\"\n\t],\n\t\"./views/report/tablesalesumary.vue\": [\n\t\t\"8cd2\",\n\t\t\"chunk-26d71291\",\n\t\t\"chunk-62095b67\",\n\t\t\"chunk-471fd95d\",\n\t\t\"chunk-52e64242\"\n\t],\n\t\"./views/stock/components/addinventory.vue\": [\n\t\t\"ce19\",\n\t\t\"chunk-196147ff\"\n\t],\n\t\"./views/stock/components/addstockin.vue\": [\n\t\t\"51ae\",\n\t\t\"chunk-6dcefd66\"\n\t],\n\t\"./views/stock/components/addstockout.vue\": [\n\t\t\"8727\",\n\t\t\"chunk-5f782cee\"\n\t],\n\t\"./views/stock/components/inventorydetail.vue\": [\n\t\t\"610b\",\n\t\t\"chunk-49a95e6a\"\n\t],\n\t\"./views/stock/components/stockindetail.vue\": [\n\t\t\"4f1ec\",\n\t\t\"chunk-08b97c33\"\n\t],\n\t\"./views/stock/components/stockoutdetail.vue\": [\n\t\t\"8926\",\n\t\t\"chunk-7d63a1f9\"\n\t],\n\t\"./views/stock/components/stockreportdetail.vue\": [\n\t\t\"d85b\",\n\t\t\"chunk-0a16c6a4\"\n\t],\n\t\"./views/stock/inventory.vue\": [\n\t\t\"092d\",\n\t\t\"chunk-0e40af96\"\n\t],\n\t\"./views/stock/inventorychangedetails.vue\": [\n\t\t\"51e1\",\n\t\t\"chunk-13d25dda\"\n\t],\n\t\"./views/stock/stockin.vue\": [\n\t\t\"650d\",\n\t\t\"chunk-6dcefd66\",\n\t\t\"chunk-b52e253c\"\n\t],\n\t\"./views/stock/stockout.vue\": [\n\t\t\"d170\",\n\t\t\"chunk-5f782cee\",\n\t\t\"chunk-3a6ad0ce\"\n\t],\n\t\"./views/stock/stockreport.vue\": [\n\t\t\"d4fe\",\n\t\t\"chunk-7ee248ae\"\n\t],\n\t\"./views/systemset/components/addcosttype.vue\": [\n\t\t\"3b49\",\n\t\t\"chunk-115dc57a\"\n\t],\n\t\"./views/systemset/costtypelist.vue\": [\n\t\t\"10a5\",\n\t\t\"chunk-4010d314\"\n\t],\n\t\"./views/systemset/paraset.vue\": [\n\t\t\"09d6\",\n\t\t\"chunk-47d3ad30\"\n\t],\n\t\"./views/systemset/printset.vue\": [\n\t\t\"44c1\",\n\t\t\"chunk-54d86c86\"\n\t],\n\t\"./views/tableset/components/addrule.vue\": [\n\t\t\"fdd7\",\n\t\t\"chunk-526eb10c\"\n\t],\n\t\"./views/tableset/components/addtable.vue\": [\n\t\t\"bc89\",\n\t\t\"chunk-f52e3b10\"\n\t],\n\t\"./views/tableset/components/addtabletype.vue\": [\n\t\t\"6509\",\n\t\t\"chunk-902fc914\"\n\t],\n\t\"./views/tableset/devlist.vue\": [\n\t\t\"788a\",\n\t\t\"chunk-39d7263e\"\n\t],\n\t\"./views/tableset/rulelist.vue\": [\n\t\t\"b9c5\",\n\t\t\"chunk-526eb10c\",\n\t\t\"chunk-fa17de12\"\n\t],\n\t\"./views/tableset/tablelist.vue\": [\n\t\t\"dd7b\",\n\t\t\"chunk-6439fd8c\"\n\t],\n\t\"./views/tableset/tabletypelist.vue\": [\n\t\t\"b7756\",\n\t\t\"chunk-34c6f28a\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"627e\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=e7445cfe&scoped=true&lang=css&\"","// // 生产环境导入组件\r\n// try {\r\n//     module.exports = file => () =>\r\n//         import ('@/views' + file + '.vue')\r\n// } catch (error) {\r\n//     // IIS 发布模式下,使用下边这个方法\r\n//     export default file => () =>\r\n//         import ('@/views' + file + '.vue')\r\n//     //console.info('%c 如果使用 IIS 部署,请\\n 1:修改api.js的base为绝对路径 \\n 2:在根目录创建web.config文件,内容查看https://router.vuejs.org/zh/guide/essentials/history-mode.html \\n 3:配置CORS跨域 \\n ', \"color:blue\")\r\n// }\r\nexport default file => () =>\r\n    import ('@/views' + file + '.vue')\r\n    // web.config ,主要解决IIS 部署,刷新 404 问题,官方文章地址:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90\r\n    // <?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n    // <configuration>\r\n    //   <system.webServer>\r\n    //     <rewrite>\r\n    //       <rules>\r\n    //         <rule name=\"Handle History Mode and custom 404/500\" stopProcessing=\"true\">\r\n    //           <match url=\"(.*)\" />\r\n    //           <conditions logicalGrouping=\"MatchAll\">\r\n    //             <add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" negate=\"true\" />\r\n    //             <add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" negate=\"true\" />\r\n    //           </conditions>\r\n    //           <action type=\"Rewrite\" url=\"/\" />\r\n    //         </rule>\r\n    //       </rules>\r\n    //     </rewrite>\r\n    //   </system.webServer>\r\n    // </configuration>","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409eff\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"155px\",\"topBarHeight\":\"56px\",\"contentHeight\":\"calc(100vh - 56px)\"};","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/dist/cjs.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=4&id=b050b4e0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sidebar-logo-container\",class:{ collapse: _vm.collapse }},[_c('transition',{attrs:{\"name\":\"sidebarLogoFade\"}},[(_vm.collapse)?_c('router-link',{key:\"collapse\",staticClass:\"sidebar-logo-link\",attrs:{\"to\":_vm.topath}},[(_vm.logo)?_c('img',{staticClass:\"sidebar-logo\",attrs:{\"src\":_vm.logo}}):_c('h1',{staticClass:\"sidebar-title\"},[_vm._v(_vm._s(_vm.title))])]):_c('router-link',{key:\"expand\",staticClass:\"sidebar-logo-link\",attrs:{\"to\":_vm.topath}},[(_vm.logo)?_c('img',{staticClass:\"sidebar-logo\",attrs:{\"src\":_vm.logo}}):_vm._e(),_c('h1',{staticClass:\"sidebar-title\"},[_vm._v(_vm._s(_vm.title))])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"sidebar-logo-container\" :class=\"{ collapse: collapse }\">\n    <transition name=\"sidebarLogoFade\">\n      <router-link\n        v-if=\"collapse\"\n        key=\"collapse\"\n        class=\"sidebar-logo-link\"\n        :to=\"topath\"\n      >\n        <img v-if=\"logo\" :src=\"logo\" class=\"sidebar-logo\" />\n        <h1 v-else class=\"sidebar-title\">{{ title }}</h1>\n      </router-link>\n      <router-link\n        v-else\n        key=\"expand\"\n        class=\"sidebar-logo-link\"\n        :to=\"topath\"\n      >\n        <img v-if=\"logo\" :src=\"logo\" class=\"sidebar-logo\" />\n        <h1 class=\"sidebar-title\">{{ title }}</h1>\n      </router-link>\n    </transition>\n  </div>\n</template>\n<script>\nexport default {\n  name: \"SidebarLogo\",\n  props: {\n    collapse: {\n      type: Boolean,\n      required: true,\n    },\n  },\n  created() {\n    this.ChainType = window.localStorage.ChainType;\n    if (this.ChainType == 1) {\n      this.topath = \"/chain/storeosale\";\n    } else {\n      this.topath = \"/home/home\";\n    }\n  },\n  data() {\n    return {\n      title: \"门店管理系统\",\n      logo: \"https://www.mtfpos.com/upfiles/images/logo1.png\",\n      ChainType: 0,\n      topath: \"/home/home\",\n    };\n  },\n};\n</script>\n<style lang=\"scss\" scoped>\n.sidebarLogoFade-enter-active {\n  transition: opacity 1.5s;\n}\n.sidebarLogoFade-enter,\n.sidebarLogoFade-leave-to {\n  opacity: 0;\n}\n.sidebar-logo-container {\n  position: relative;\n  width: 100%;\n  height: 50px;\n  line-height: 50px;\n  background: #2b2f3a;\n  text-align: center;\n  overflow: hidden;\n  & .sidebar-logo-link {\n    height: 100%;\n    width: 100%;\n    & .sidebar-logo {\n      width: 32px;\n      height: 32px;\n      vertical-align: middle;\n      margin-right: 12px;\n    }\n    & .sidebar-title {\n      display: inline-block;\n      margin: 0;\n      color: #fff;\n      font-weight: 600;\n      line-height: 50px;\n      font-size: 14px;\n      font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;\n      vertical-align: middle;\n    }\n  }\n  &.collapse {\n    .sidebar-logo {\n      margin-right: 0px;\n    }\n  }\n}\n</style>\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!./Logo.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!./Logo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=c5d5c44e&scoped=true&\"\nimport script from \"./Logo.vue?vue&type=script&lang=js&\"\nexport * from \"./Logo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logo.vue?vue&type=style&index=0&id=c5d5c44e&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  \"c5d5c44e\",\n  null\n  \n)\n\nexport default component.exports","global.antRouter = ''//全局的路由\r\n// 使用id4更改这里2\r\nglobal.IS_IDS4 = false // 默认false,表示使用JWT模式,如果true,表示使用ids4","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=6bd7595f&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"desktop\":\"12\",\"tablet\":\"8\"}},[_c('dl',[_c('dt',[_vm._v(\"Login successful\")]),_c('dt',[_vm._v(\"Your browser should be redirected soon\")])])])])}]\n\nexport { render, staticRenderFns }","<template>\r\n  <div>\r\n    <div desktop=\"12\" tablet=\"8\">\r\n      <dl>\r\n        <dt>Login successful</dt>\r\n        <dt>Your browser should be redirected soon</dt>\r\n      </dl>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport applicationUserManager from \"../Auth/applicationusermanager\";\r\nimport {\r\n  requestLogin,\r\n  requestLoginMock,\r\n  getUserByToken,\r\n  getNavigationBar\r\n} from \"../api/auth\";\r\nimport router from \"@/router\";\r\nimport { resetRouter, filterAsyncRouter } from \"@/router/index\";\r\nexport default {\r\n  name: \"logincallback-view\",\r\n  data() {\r\n    return {};\r\n  },\r\n  async created() {\r\n    try {\r\n      await applicationUserManager.signinRedirectCallback();\r\n      let _this = this;\r\n      let user = await applicationUserManager.getUser();\r\n      _this.$store.commit(\"saveToken\", user.access_token);\r\n      var curTime = new Date();\r\n      var expiredate = new Date(\r\n        curTime.setSeconds(curTime.getSeconds() + user.expires_in)\r\n      );\r\n      _this.$store.commit(\"saveTokenExpire\", expiredate);\r\n      window.localStorage.refreshtime = expiredate;\r\n      window.localStorage.expires_in = user.expires_in;\r\n      _this.$notify({\r\n        type: \"success\",\r\n        message: `成功获取令牌,项目初始化中...`,\r\n        duration: 3000\r\n      });\r\n      user.uRealName=user.profile.name;\r\n      user.uLoginName=user.profile.preferred_username;\r\n      user.uID=user.profile.sub;\r\n      window.localStorage.user = JSON.stringify(user);\r\n      if (user.uID > 0) {\r\n        _this.GetNavigationBar(user.uID);\r\n      }\r\n    } catch (e) {\r\n      this.$root.$emit(\"show-snackbar\", { message: e });\r\n    }\r\n  },\r\n  methods: {\r\n    // 获取路由树\r\n    GetNavigationBar(uid) {\r\n      var _this = this;\r\n      var loginParams = { uid: uid, t: new Date() };\r\n      getNavigationBar(loginParams).then(data => {\r\n        if (!data.success) {\r\n          _this.$message({\r\n            message: data.message,\r\n            type: \"error\"\r\n          });\r\n        } else {\r\n          // _this.closeAlert()\r\n          _this.$message({\r\n            message: \"后台初始化成功\",\r\n            type: \"success\"\r\n          });\r\n          let userinfo = JSON.parse(\r\n            window.localStorage.user ? window.localStorage.user : null\r\n          );\r\n          _this.$notify({\r\n            type: \"success\",\r\n            message: `登录成功 \\n 欢迎管理员:${\r\n              userinfo.uRealName\r\n            } !Token 将在 ${parseInt(window.localStorage.expires_in / 60)} 分钟后过期!`,\r\n            duration: 6000\r\n          });\r\n          window.localStorage.router = JSON.stringify(data.response.children);\r\n          let getRouter = data.response.children; //后台拿到路由\r\n          getRouter = filterAsyncRouter(getRouter); //过滤路由\r\n          router.$addRoutes(getRouter); //动态添加路由\r\n          _this.$router.replace(\r\n            _this.$route.query.redirect ? _this.$route.query.redirect : \"/\"\r\n          );\r\n        }\r\n      });\r\n    }\r\n  }\r\n};\r\n</script>\r\n<style>\r\n</style>\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!./LoginCallbackView.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!./LoginCallbackView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginCallbackView.vue?vue&type=template&id=3b869a4a&\"\nimport script from \"./LoginCallbackView.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginCallbackView.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  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',[_c('p',{staticClass:\"page-container\"},[_vm._v(\"\\n    没有找到你要的页面\"),_c('br'),_vm._v(\"你是不是迷路了?\\n    \"),_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":function($event){return _vm.goback()}}},[_vm._v(\"重新登录\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <div>\r\n    <p class=\"page-container\">\r\n      没有找到你要的页面<br />你是不是迷路了?\r\n      <el-button @click=\"goback()\" type=\"text\">重新登录</el-button>\r\n    </p>\r\n  </div>\r\n</template>\r\n<style scoped>\r\n.page-container {\r\n  font-size: 25px;\r\n  text-align: center;\r\n  color: rgb(192, 204, 218);\r\n}\r\n.router-link-active {\r\n  font-size: 14px;\r\n}\r\n</style>\r\n<script>\r\nexport default {\r\n  components: {},\r\n  directives: {},\r\n  data() {\r\n    return {};\r\n  },\r\n  created() {},\r\n  methods: {\r\n    goback() {\r\n      this.$router.push('/')\r\n    },\r\n  },\r\n};\r\n</script>\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!./404.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!./404.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=6bd7595f&scoped=true&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&id=6bd7595f&scoped=true&lang=css&\"\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  \"6bd7595f\",\n  null\n  \n)\n\nexport default component.exports","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409eff\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"155px\",\"topBarHeight\":\"56px\",\"contentHeight\":\"calc(100vh - 56px)\"};","import Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport Login from \"../views/Login.vue\";\r\nimport NoPage from \"../views/404\";\r\nimport WxPage from \"../views/needwx\";\r\nimport Layout from \"../views/Layout/Layout\";\r\nconst _import = require(\"@/router/_import_\" + process.env.NODE_ENV); //获取组件的方法\r\nimport LoginCallbackView from \"../views/LoginCallbackView\";\r\nVue.use(Router);\r\nconst createRouter = () =>\r\n\tnew Router({\r\n\t\tmode: \"history\",\r\n\t\tbase: process.env.BASE_URL,\r\n\t\troutes: [\r\n\t\t\t{\r\n\t\t\t\tpath: \"/404\",\r\n\t\t\t\tcomponent: NoPage,\r\n\t\t\t\tname: \"NoPage\",\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: \"NoPage\",\r\n\t\t\t\t\trequireAuth: false,\r\n\t\t\t\t\tNoTabPage: true,\r\n\t\t\t\t\tNoNeedHome: true, // 添加该字段,表示不需要home模板\r\n\t\t\t\t},\r\n\t\t\t\thidden: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/needwx\",\r\n\t\t\t\tcomponent: WxPage,\r\n\t\t\t\tname: \"NoPage\",\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: \"NoPage\",\r\n\t\t\t\t\trequireAuth: false,\r\n\t\t\t\t\tNoTabPage: true,\r\n\t\t\t\t\tNoNeedHome: true, // 添加该字段,表示不需要home模板\r\n\t\t\t\t},\r\n\t\t\t\thidden: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/\",\r\n\t\t\t\tcomponent: Login,\r\n\t\t\t\tname: \"login\",\r\n\t\t\t\ticonCls: \"fa-address-card\", //图标样式class\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: \"登录\",\r\n\t\t\t\t\tNoTabPage: true,\r\n\t\t\t\t\tNoNeedHome: true, // 添加该字段,表示不需要home模板\r\n\t\t\t\t},\r\n\t\t\t\thidden: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"/callback\",\r\n\t\t\t\tname: \"LoginCallbackView\",\r\n\t\t\t\tcomponent: LoginCallbackView,\r\n\t\t\t\tmeta: {\r\n\t\t\t\t\ttitle: \"登出\",\r\n\t\t\t\t\tNoTabPage: true,\r\n\t\t\t\t},\r\n\t\t\t\thidden: true,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"*\",\r\n\t\t\t\thidden: true,\r\n\t\t\t\tredirect: { path: \"/\" },\r\n\t\t\t},\r\n\t\t],\r\n\t});\r\nconst router = createRouter();\r\nexport function filterAsyncRouter(asyncRouterMap) {\r\n\t//注意这里的 asyncRouterMap 是一个数组\r\n\tconst accessedRouters = asyncRouterMap.filter((route) => {\r\n\t\tif (route.path && !route.IsButton) {\r\n\t\t\tif (route.path === \"/\" || route.path === \"-\") {\r\n\t\t\t\t//Layout组件特殊处理\r\n\t\t\t\troute.component = Layout;\r\n\t\t\t} else {\r\n\t\t\t\ttry {\r\n\t\t\t\t\troute.component = _import(route.path.replace(\"/:id\", \"\"));\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\troute.component = () =>\r\n\t\t\t\t\t\t\timport(\"@/views\" + route.path.replace(\"/:id\", \"\") + \".vue\");\r\n\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\tconsole.info(\r\n\t\t\t\t\t\t\t\"%c 当前路由 \" +\r\n\t\t\t\t\t\t\t\troute.path.replace(\"/:id\", \"\") +\r\n\t\t\t\t\t\t\t\t\".vue 不存在,因此如法导入组件,请检查接口数据和组件是否匹配,并重新登录,清空缓存!\",\r\n\t\t\t\t\t\t\t\"color:red\"\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (route.children && route.children.length && !route.IsButton) {\r\n\t\t\troute.children = filterAsyncRouter(route.children);\r\n\t\t}\r\n\t\treturn true;\r\n\t});\r\n\treturn accessedRouters;\r\n}\r\nexport function resetRouter() {\r\n\tconst newRouter = createRouter();\r\n\trouter.matcher = newRouter.matcher; // the relevant part\r\n}\r\nrouter.$addRoutes = (params) => {\r\n\tvar f = (item) => {\r\n\t\tif (item[\"children\"]) {\r\n\t\t\titem[\"children\"] = item[\"children\"].filter(f);\r\n\t\t\treturn true;\r\n\t\t} else if (item[\"IsButton\"]) {\r\n\t\t\treturn item[\"IsButton\"] === false;\r\n\t\t} else {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t};\r\n\tvar params = params.filter(f);\r\n\trouter.addRoutes(params);\r\n};\r\nexport default router;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"main\"},[_vm._m(0),_c('div',{staticClass:\"login-form\"},[_c('h2',[_c('span',{class:_vm.loginbyempcode === false ? 'active' : '',staticStyle:{\"margin-right\":\"14px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.changeloginmode(1)}}},[_vm._v(\"账户登录\")]),_vm._v(\"|\"),_c('span',{class:_vm.loginbyempcode === true ? 'active' : '',staticStyle:{\"margin-left\":\"14px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){return _vm.changeloginmode(2)}}},[_vm._v(\"员工登录\")])]),_c('div',{staticClass:\"agileits-top\"},[_c('el-form',{ref:\"ruleForm\",attrs:{\"model\":_vm.ruleForm,\"rules\":_vm.rules}},[_c('div',{staticClass:\"styled-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ruleForm.account),expression:\"ruleForm.account\"}],attrs:{\"type\":\"text\",\"name\":\"账号\",\"required\":\"\"},domProps:{\"value\":(_vm.ruleForm.account)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.ruleForm, \"account\", $event.target.value)}}}),_c('label',[_vm._v(_vm._s(_vm.loginbyempcode ? \"管理员账号\" : \"账号\"))]),_c('span')]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loginbyempcode),expression:\"loginbyempcode\"}],staticClass:\"styled-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ruleForm.empcode),expression:\"ruleForm.empcode\"}],attrs:{\"type\":\"text\",\"name\":\"工号\",\"required\":\"\"},domProps:{\"value\":(_vm.ruleForm.empcode)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.ruleForm, \"empcode\", $event.target.value)}}}),_c('label',[_vm._v(\"工号\")]),_c('span')]),_c('div',{staticClass:\"styled-input\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.ruleForm.pwd),expression:\"ruleForm.pwd\"}],attrs:{\"type\":\"password\",\"name\":\"Password\",\"required\":\"\"},domProps:{\"value\":(_vm.ruleForm.pwd)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleSubmit.apply(null, arguments)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.ruleForm, \"pwd\", $event.target.value)}}}),_c('label',[_vm._v(\"密码\")]),_c('span')]),_c('div',{staticClass:\"wthree-text\"},[_c('ul',[_c('li',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.rememberpwd),expression:\"rememberpwd\"}],attrs:{\"type\":\"checkbox\",\"id\":\"brand\",\"value\":\"\"},domProps:{\"checked\":Array.isArray(_vm.rememberpwd)?_vm._i(_vm.rememberpwd,\"\")>-1:(_vm.rememberpwd)},on:{\"change\":function($event){var $$a=_vm.rememberpwd,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=\"\",$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.rememberpwd=$$a.concat([$$v]))}else{$$i>-1&&(_vm.rememberpwd=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.rememberpwd=$$c}}}}),_c('label',{attrs:{\"for\":\"brand\"}},[_c('span'),_vm._v(\" 记住我\")])]),_c('li',[_c('a',{attrs:{\"href\":\"#\"}})])]),_c('div',{staticClass:\"clear\"})])])],1),_c('div',{staticClass:\"agileits-bottom\"},[_c('el-button',{attrs:{\"loading\":_vm.logining},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.keyupEnter.apply(null, arguments)}}},[_vm._v(\"\\n        \"+_vm._s(_vm.loginStr)+\"\\n      \")])],1)]),_c('div',{staticClass:\"copyright\"},[_c('p',[_vm._v(\"\\n      ©\"),_c('span',{staticStyle:{\"margin-left\":\"5px\"}},[_vm._v(\"2019-\"+_vm._s(_vm.getdate))]),_vm._v(\" 重庆三核科技有限公司版权所有 |\\n      \"),(_vm.platform == 'web')?_c('a',{attrs:{\"href\":\"https://beian.miit.gov.cn\",\"target\":\"_blank\"}},[_vm._v(\"渝ICP备2022001610号\")]):_vm._e(),_c('span',{staticStyle:{\"margin-left\":\"10px\"}},[_vm._v(\"软件版本号:\"+_vm._s(_vm.packconfig.version))])]),(_vm.platform == 'web')?_c('div',{staticStyle:{\"width\":\"300px\",\"margin\":\"0 auto\",\"padding\":\"20px 0\"}},[_vm._m(1)]):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h1',[_c('img',{staticStyle:{\"width\":\"100px\",\"height\":\"100px\"},attrs:{\"src\":require(\"../assets/logo1.png\")}}),_vm._v(\"门店管理系统\\n  \")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticStyle:{\"display\":\"inline-block\",\"text-decoration\":\"none\",\"height\":\"20px\",\"line-height\":\"20px\"},attrs:{\"target\":\"_blank\",\"href\":\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=50010702503933\"}},[_c('img',{staticStyle:{\"float\":\"left\"},attrs:{\"src\":require(\"../assets/ga.png\")}}),_c('p',{staticStyle:{\"float\":\"left\",\"height\":\"20px\",\"line-height\":\"20px\",\"margin\":\"0px 0px 0px 5px\",\"color\":\"#fff\"}},[_vm._v(\"\\n          渝公网安备 50010702503933-1号\\n        \")])])}]\n\nexport { render, staticRenderFns }","<template>\r\n  <!-- main -->\r\n  <div class=\"main\">\r\n    <h1>\r\n      <img style=\"width: 100px; height: 100px\" src=\"../assets/logo1.png\" />门店管理系统\r\n    </h1>\r\n    <div class=\"login-form\">\r\n      <h2>\r\n        <span @click=\"changeloginmode(1)\" style=\"margin-right: 14px; cursor: pointer\"\r\n          :class=\"loginbyempcode === false ? 'active' : ''\">账户登录</span>|<span @click=\"changeloginmode(2)\"\r\n          style=\"margin-left: 14px; cursor: pointer\" :class=\"loginbyempcode === true ? 'active' : ''\">员工登录</span>\r\n      </h2>\r\n      <div class=\"agileits-top\">\r\n        <el-form :model=\"ruleForm\" :rules=\"rules\" ref=\"ruleForm\">\r\n          <div class=\"styled-input\">\r\n            <input type=\"text\" name=\"账号\" required=\"\" v-model=\"ruleForm.account\" />\r\n            <label>{{ loginbyempcode ? \"管理员账号\" : \"账号\" }}</label>\r\n            <span></span>\r\n          </div>\r\n          <div v-show=\"loginbyempcode\" class=\"styled-input\">\r\n            <input type=\"text\" name=\"工号\" required=\"\" v-model=\"ruleForm.empcode\" />\r\n            <label>工号</label>\r\n            <span></span>\r\n          </div>\r\n          <div class=\"styled-input\">\r\n            <input type=\"password\" name=\"Password\" required=\"\" v-model=\"ruleForm.pwd\" @keyup.enter=\"handleSubmit\" />\r\n            <label>密码</label>\r\n            <span></span>\r\n          </div>\r\n          <div class=\"wthree-text\">\r\n            <ul>\r\n              <li>\r\n                <input type=\"checkbox\" id=\"brand\" value=\"\" v-model=\"rememberpwd\" />\r\n                <label for=\"brand\"><span></span> 记住我</label>\r\n              </li>\r\n              <li><a href=\"#\"></a></li>\r\n            </ul>\r\n            <div class=\"clear\"></div>\r\n          </div>\r\n        </el-form>\r\n      </div>\r\n      <div class=\"agileits-bottom\">\r\n        <el-button @click.native.prevent=\"handleSubmit\" @keyup.enter.native=\"keyupEnter\" :loading=\"logining\">\r\n          {{ loginStr }}\r\n        </el-button>\r\n      </div>\r\n    </div>\r\n    <div class=\"copyright\">\r\n      <p>\r\n        ©<span style=\"margin-left: 5px\">2019-{{ getdate }}</span> 重庆三核科技有限公司版权所有 |\r\n        <a v-if=\"platform == 'web'\" href=\"https://beian.miit.gov.cn\" target=\"_blank\">渝ICP备2022001610号</a><span\r\n          style=\"margin-left: 10px\">软件版本号:{{\r\n            packconfig.version }}</span>\r\n      </p>\r\n      <div v-if=\"platform == 'web'\" style=\"width: 300px; margin: 0 auto; padding: 20px 0\">\r\n        <a target=\"_blank\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=50010702503933\" style=\"\r\n            display: inline-block;\r\n            text-decoration: none;\r\n            height: 20px;\r\n            line-height: 20px;\r\n          \"><img src=\"../assets/ga.png\" style=\"float: left\" />\r\n          <p style=\"\r\n              float: left;\r\n              height: 20px;\r\n              line-height: 20px;\r\n              margin: 0px 0px 0px 5px;\r\n              color: #fff;\r\n            \">\r\n            渝公网安备 50010702503933-1号\r\n          </p>\r\n        </a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</template>\r\n<script>\r\nimport { requestLogin, getUserByToken, getNavigationBar } from \"../api/auth\";\r\nimport router from \"@/router\";\r\nimport { filterAsyncRouter } from \"@/router/index\";\r\nimport index from \"@/components/Pagination/index.vue\";\r\nimport { getdevsetbykey } from \"@/api/sysdev\";\r\nimport config from \"../../package.json\";\r\nexport default {\r\n  components: { index },\r\n  data() {\r\n    return {\r\n      instance: \"\",\r\n      loginStr: \"登录\",\r\n      logining: false,\r\n      loginbyempcode: false,\r\n      loginmode: \"账号登录\",\r\n      ruleForm: {\r\n        account: \"\",\r\n        empcode: \"\",\r\n        pwd: \"\",\r\n      },\r\n      AgentPhone: \"\",\r\n      getdate: new Date().getFullYear(),\r\n      packconfig: config,\r\n      path: \"\",\r\n      rules: {\r\n        account: [\r\n          { required: true, message: \"请输入账号\", trigger: \"blur\" },\r\n          //{ validator: validaePass }\r\n        ],\r\n        pwd: [\r\n          { required: true, message: \"请输入密码\", trigger: \"blur\" },\r\n          //{ validator: validaePass2 }\r\n        ],\r\n      },\r\n      rememberpwd: false,\r\n    };\r\n  },\r\n  created() {\r\n    if (\r\n      window.location.search.indexOf(\"?s=\") === 0 ||\r\n      window.location.search.indexOf(\"?r=\") === 0\r\n    ) {\r\n      this.$router.replace(\"/needwx\");\r\n    }\r\n    if (\r\n      window.localStorage.rememberuser != null &&\r\n      window.localStorage.rememberuser != undefined\r\n    ) {\r\n      var rememberuser = JSON.parse(window.localStorage.rememberuser);\r\n      this.ruleForm.account = rememberuser.account;\r\n      this.ruleForm.pwd = rememberuser.pwd;\r\n      this.ruleForm.empcode = rememberuser.empcode;\r\n      this.rememberpwd = rememberuser.remembermark;\r\n    }\r\n    this.keyupEnter();\r\n  },\r\n  methods: {\r\n    keyupEnter() {\r\n      document.onkeydown = (e) => {\r\n        let body = document.getElementsByTagName(\"body\")[0];\r\n        if (\r\n          e.keyCode === 13 &&\r\n          e.target.baseURI.match(/login/) &&\r\n          e.target === body\r\n        ) {\r\n          this.handleSubmit();\r\n        }\r\n      };\r\n    },\r\n    changeloginmode(value) {\r\n      if (value == \"1\") {\r\n        this.loginbyempcode = false;\r\n      } else {\r\n        this.loginbyempcode = true;\r\n      }\r\n    },\r\n    // 获取 Token\r\n    handleSubmit(ev) {\r\n      var _this = this;\r\n      var rulelogin = false;\r\n      if (this.ruleForm.account === \"\" || this.ruleForm.pwd === \"\") {\r\n        _this.$message.error(\"账号和密码不能为空!\");\r\n      } else {\r\n        rulelogin = true;\r\n      }\r\n      if (rulelogin && this.loginbyempcode === true) {\r\n        if (this.ruleForm.empcode === \"\") {\r\n          rulelogin = false;\r\n          _this.$message.error(\"工号登录,工号不能为空!\");\r\n        }\r\n      }\r\n      if (rulelogin) {\r\n        this.$refs.ruleForm.validate((valid) => {\r\n          if (valid) {\r\n            //_this.$router.replace('/table');\r\n            this.logining = true;\r\n            //NProgress.start();\r\n            var loginParams = {\r\n              account: this.ruleForm.account,\r\n              empcode: this.loginbyempcode == true ? this.ruleForm.empcode : \"\",\r\n              pwd: this.ruleForm.pwd,\r\n            };\r\n            // _this.openAlert(\"登录中...\")\r\n            _this.loginStr = \"登录中...\";\r\n            requestLogin(loginParams)\r\n              .then((data) => {\r\n                var token = data.token;\r\n                _this.$store.commit(\"savemqtt\", {\r\n                  username: this.ruleForm.account.replace(/^\\s+|\\s+$/g, \"\"),\r\n                  password: data.mqttpwd,\r\n                  clientId:\r\n                    this.ruleForm.account.replace(/^\\s+|\\s+$/g, \"\") +\r\n                    (this.loginbyempcode === true\r\n                      ? \"_\" + this.ruleForm.empcode.replace(/^\\s+|\\s+$/g, \"\")\r\n                      : \"\") +\r\n                    \"|\" +\r\n                    Math.random().toString(16).substr(2, 8),\r\n                });\r\n                _this.$store.commit(\"saveToken\", token);\r\n                var curTime = new Date();\r\n                var expiredate = new Date(\r\n                  curTime.setSeconds(curTime.getSeconds() + data.expires_in)\r\n                );\r\n                _this.$store.commit(\"saveTokenExpire\", expiredate);\r\n                window.localStorage.refreshtime = expiredate;\r\n                window.localStorage.expires_in = data.expires_in;\r\n                window.localStorage.ExpirationDate = data.ExpirationDate;\r\n                window.localStorage.ExpirationDay = data.ExpirationDay;\r\n                window.localStorage.CreateDay = data.CreateDay;\r\n                window.localStorage.ChainType = data.ChainType;\r\n                window.localStorage.storecode = data.storecode;\r\n                window.localStorage.advancemode = data.advancemode;\r\n                window.localStorage.serialportpowermark =\r\n                  data.serialportpowermark;\r\n                window.localStorage.cloudprintmark = data.cloudprintmark;\r\n                window.localStorage.AgentPhone = data.AgentPhone;\r\n                this.AgentPhone = data.AgentPhone;\r\n                if (this.rememberpwd) {\r\n                  var rememberuser = JSON.parse(JSON.stringify(this.ruleForm));\r\n                  rememberuser.remembermark = true;\r\n                  window.localStorage.rememberuser =\r\n                    JSON.stringify(rememberuser);\r\n                } else {\r\n                  window.localStorage.rememberuser = null;\r\n                }\r\n                _this.getUserInfoByToken(token);\r\n              })\r\n              .catch((e) => {\r\n                _this.logining = false;\r\n                _this.loginStr = \"重新登录\";\r\n              });\r\n          } else {\r\n            return false;\r\n          }\r\n        });\r\n      }\r\n    },\r\n    // 获取用户数据\r\n    getUserInfoByToken(token) {\r\n      var _this = this;\r\n      getUserByToken().then((data) => {\r\n        window.localStorage.user = JSON.stringify(data);\r\n        if (data.Id !== \"0\") {\r\n          _this.GetNavigationBar();\r\n          //this.mqtt.initMqtt();\r\n          getdevsetbykey({ DeviceKey: \"DY01\" }).then((res) => {\r\n            if (res != null) {\r\n              window.localStorage.printdevlist = res.DeviceParaJson;\r\n            }\r\n          });\r\n        }\r\n      });\r\n    },\r\n    // 获取路由树\r\n    GetNavigationBar() {\r\n      var _this = this;\r\n      getNavigationBar().then((data) => {\r\n        let userinfo = JSON.parse(\r\n          window.localStorage.user ? window.localStorage.user : null\r\n        );\r\n        _this.$notify({\r\n          type: \"success\",\r\n          message: `登录成功 \\n 欢迎您:${userinfo.EmpName} !`,\r\n          duration: 6000,\r\n        });\r\n        var ExpirationDay = Number(window.localStorage.ExpirationDay);\r\n        if (ExpirationDay <= 3) {\r\n          var msg =\r\n            \"<strong style='color:red;font-size:18px'>您的账号还有\" +\r\n            ExpirationDay +\r\n            \"天即将到期,到期后将无法使用,请及时联系客服续费或购买,联系电话:\" + this.AgentPhone + \"。</strong>\";\r\n          this.$alert(msg, \"到期提醒\", {\r\n            confirmButtonText: \"确定\",\r\n            dangerouslyUseHTMLString: true,\r\n          });\r\n        }\r\n        window.localStorage.router = JSON.stringify(data.children);\r\n        let getRouter = data.children; //后台拿到路由\r\n        getRouter = filterAsyncRouter(getRouter); //过滤路由\r\n        router.$addRoutes(getRouter); //动态添加路由\r\n        this.GetFirstRouter(getRouter);\r\n        if (_this.$route.query.redirect != undefined) {\r\n          var url = decodeURIComponent(_this.$route.query.redirect);\r\n          if (url != undefined && url != null) {\r\n            for (let i = 0; i < 10; i++) {\r\n              url = decodeURIComponent(url);\r\n            }\r\n            url = url.substring(url.lastIndexOf(\"redirect=\") + 9, url.length);\r\n          }\r\n          _this.$router.replace(url ? url : this.path);\r\n        } else {\r\n          _this.$router.replace(this.path);\r\n        }\r\n      });\r\n    },\r\n    GetFirstRouter(Routers) {\r\n      Routers.some((element) => {\r\n        if (element.path !== \"-\") {\r\n          this.path = element.path;\r\n          return true;\r\n        } else if (element.children != null && element.children.length > 0) {\r\n          this.GetFirstRouter(element.children);\r\n        }\r\n      });\r\n    },\r\n  },\r\n  mounted() {\r\n    window.localStorage.removeItem(\"expires_in\");\r\n    window.localStorage.removeItem(\"collapse\");\r\n    window.localStorage.removeItem(\"TokenExpire\");\r\n    window.localStorage.removeItem(\"router\");\r\n    window.localStorage.removeItem(\"Token\");\r\n    window.localStorage.removeItem(\"user\");\r\n    window.localStorage.removeItem(\"refreshtime\");\r\n  },\r\n};\r\n</script>\r\n<style lang=\"css\" scoped>\r\n/*--reset--*/\r\nhtml,\r\nbody,\r\ndiv,\r\nspan,\r\napplet,\r\nobject,\r\niframe,\r\nh1,\r\nh2,\r\nh3,\r\nh4,\r\nh5,\r\nh6,\r\np,\r\nblockquote,\r\npre,\r\na,\r\nabbr,\r\nacronym,\r\naddress,\r\nbig,\r\ncite,\r\ncode,\r\ndel,\r\ndfn,\r\nem,\r\nimg,\r\nins,\r\nkbd,\r\nq,\r\ns,\r\nsamp,\r\nsmall,\r\nstrike,\r\nstrong,\r\nsub,\r\nsup,\r\ntt,\r\nvar,\r\nb,\r\nu,\r\ni,\r\ndl,\r\ndt,\r\ndd,\r\nol,\r\nnav ul,\r\nnav li,\r\nfieldset,\r\nform,\r\nlabel,\r\nlegend,\r\ntable,\r\ncaption,\r\ntbody,\r\ntfoot,\r\nthead,\r\ntr,\r\nth,\r\ntd,\r\narticle,\r\naside,\r\ncanvas,\r\ndetails,\r\nembed,\r\nfigure,\r\nfigcaption,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmenu,\r\nnav,\r\noutput,\r\nruby,\r\nsection,\r\nsummary,\r\ntime,\r\nmark,\r\naudio,\r\nvideo {\r\n  margin: 0;\r\n  padding: 0;\r\n  border: 0;\r\n  font-size: 100%;\r\n  font: inherit;\r\n  vertical-align: baseline;\r\n}\r\narticle,\r\naside,\r\ndetails,\r\nfigcaption,\r\nfigure,\r\nfooter,\r\nheader,\r\nhgroup,\r\nmenu,\r\nnav,\r\nsection {\r\n  display: block;\r\n}\r\nol,\r\nul {\r\n  list-style: none;\r\n  margin: 0px;\r\n  padding: 0px;\r\n}\r\nblockquote,\r\nq {\r\n  quotes: none;\r\n}\r\nblockquote:before,\r\nblockquote:after,\r\nq:before,\r\nq:after {\r\n  content: \"\";\r\n  content: none;\r\n}\r\ntable {\r\n  border-collapse: collapse;\r\n  border-spacing: 0;\r\n}\r\n/*--start editing from here--*/\r\na {\r\n  text-decoration: none;\r\n}\r\n.txt-rt {\r\n  text-align: right;\r\n}\r\n/* text align right */\r\n.txt-lt {\r\n  text-align: left;\r\n}\r\n/* text align left */\r\n.txt-center {\r\n  text-align: center;\r\n}\r\n/* text align center */\r\n.float-rt {\r\n  float: right;\r\n}\r\n/* float right */\r\n.float-lt {\r\n  float: left;\r\n}\r\n/* float left */\r\n.clear {\r\n  clear: both;\r\n}\r\n/* clear float */\r\n.pos-relative {\r\n  position: relative;\r\n}\r\n/* Position Relative */\r\n.pos-absolute {\r\n  position: absolute;\r\n}\r\n/* Position Absolute */\r\n.vertical-base {\r\n  vertical-align: baseline;\r\n}\r\n/* vertical align baseline */\r\n.vertical-top {\r\n  vertical-align: top;\r\n}\r\n/* vertical align top */\r\nnav.vertical ul li {\r\n  display: block;\r\n}\r\n/* vertical menu */\r\nnav.horizontal ul li {\r\n  display: inline-block;\r\n}\r\n/* horizontal menu */\r\nimg {\r\n  max-width: 100%;\r\n}\r\n/*--end reset--*/\r\n.main {\r\n  margin: 0 !important;\r\n  padding: 0 !important;\r\n  width: 100%;\r\n  left: 0 !important;\r\n  top: 0 !important;\r\n  right: 0 !important;\r\n  bottom: 0 !important;\r\n  position: fixed;\r\n  font-family: Verdana;\r\n  background: url(../assets/banner.jpg) no-repeat center 0;\r\n  background-attachment: fixed;\r\n  background-size: cover;\r\n  height: 100%;\r\n}\r\n.active {\r\n  font-size: 24px;\r\n}\r\nh1 {\r\n  font-size: 3em;\r\n  text-align: center;\r\n  color: #fff;\r\n  font-weight: 100;\r\n}\r\n/*-- main --*/\r\nh2 {\r\n  font-size: 1.1em;\r\n  text-align: center;\r\n  padding: 1.2em;\r\n  background: #02a299;\r\n  color: #fff;\r\n  font-weight: 200;\r\n  letter-spacing: 10px;\r\n}\r\n.login-form {\r\n  width: 35%;\r\n  margin: 3.5em auto;\r\n  background: rgba(12, 85, 105, 0.51);\r\n  padding-bottom: 2em;\r\n}\r\n.agileits-top {\r\n  padding: 2em 3em 3em;\r\n}\r\n.login-form input[type=\"text\"],\r\n.login-form input[type=\"password\"] {\r\n  font-size: 1em;\r\n  color: #fff;\r\n  padding: 0.8em 1em;\r\n  border: 0;\r\n  width: 93%;\r\n  border-bottom: 1px solid #c7c7c7;\r\n  background: none;\r\n  -webkit-appearance: none;\r\n}\r\n/*-- input-effect --*/\r\n.styled-input input:focus~label,\r\n.styled-input input:valid~label {\r\n  font-size: 1.1em;\r\n  color: #02a299;\r\n  top: -2em;\r\n  -webkit-transition: all 0.125s ease;\r\n  transition: all 0.125s ease;\r\n}\r\n.styled-input {\r\n  width: 100%;\r\n  margin: 2em 0 1em;\r\n  position: relative;\r\n}\r\n.styled-input label {\r\n  color: #fff;\r\n  padding: 0.8em 1em;\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  -webkit-transition: all 0.3s ease;\r\n  -moz-transition: all 0.3s ease;\r\n  transition: all 0.3s ease;\r\n  pointer-events: none;\r\n  font-weight: 400;\r\n  font-size: 1em;\r\n  display: block;\r\n  line-height: 1em;\r\n}\r\n.styled-input input~span {\r\n  display: block;\r\n  width: 0;\r\n  height: 2px;\r\n  background: #fff;\r\n  position: absolute;\r\n  bottom: 0;\r\n  left: 0;\r\n  -webkit-transition: all 0.125s ease;\r\n  transition: all 0.125s ease;\r\n}\r\n.styled-input input:focus {\r\n  outline: 0;\r\n}\r\n.styled-input input:focus~span {\r\n  width: 100%;\r\n  -webkit-transition: all 0.075s ease;\r\n  transition: all 0.075s ease;\r\n  font: \"OpenSans-Regular\";\r\n}\r\n/*-- //input-effect --*/\r\n.login-form p {\r\n  font-size: 1em;\r\n  color: #fff;\r\n  margin: 1em 0 0.5em;\r\n}\r\n/*-- checkbox --*/\r\n.wthree-text input[type=\"checkbox\"] {\r\n  display: none;\r\n}\r\n.wthree-text input[type=\"checkbox\"]+label {\r\n  position: relative;\r\n  padding-left: 1.8em;\r\n  border: none;\r\n  outline: none;\r\n  font-size: 1em;\r\n  color: #fff;\r\n  cursor: pointer;\r\n  display: block;\r\n}\r\n.wthree-text input[type=\"checkbox\"]+label span:first-child {\r\n  width: 14px;\r\n  height: 14px;\r\n  border: 2px solid #fff;\r\n  position: absolute;\r\n  left: 0;\r\n  top: 2px;\r\n}\r\n.wthree-text input[type=\"checkbox\"]:checked+label span:first-child:before {\r\n  content: \"\";\r\n  background: url(../assets/tick.png) no-repeat;\r\n  position: absolute;\r\n  left: 2px;\r\n  top: 2px;\r\n  font-size: 10px;\r\n  width: 10px;\r\n  height: 10px;\r\n}\r\n/*-- //checkbox --*/\r\n.wthree-text {\r\n  margin-top: 3em;\r\n}\r\n.wthree-text ul li {\r\n  display: inline-block;\r\n  float: left;\r\n}\r\n.wthree-text ul li:nth-child(2) {\r\n  float: right;\r\n}\r\n.wthree-text ul li a {\r\n  font-size: 1em;\r\n  color: #fff;\r\n}\r\n.wthree-text ul li a:hover {\r\n  color: #02a299;\r\n}\r\n.agileits-bottom {\r\n  position: relative;\r\n}\r\n.agileits-bottom:before {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: -17px;\r\n  left: -17px;\r\n  width: 0;\r\n  height: 0;\r\n  border-top: 17px solid transparent;\r\n  border-right: 18px solid #fff;\r\n  transition: 0.5s all ease;\r\n}\r\n.agileits-bottom:after {\r\n  content: \"\";\r\n  position: absolute;\r\n  top: -17px;\r\n  right: -17px;\r\n  width: 0;\r\n  height: 0;\r\n  border-left: 17px solid #fff;\r\n  border-top: 17px solid transparent;\r\n  transition: 0.5s all ease;\r\n}\r\n.agileits-bottom button {\r\n  font-size: 1.5em;\r\n  color: #02a299;\r\n  background: #fff;\r\n  outline: none;\r\n  cursor: pointer;\r\n  padding: 1em 0;\r\n  -webkit-appearance: none;\r\n  border: none;\r\n  width: 106%;\r\n  margin-left: -0.7em;\r\n  text-transform: uppercase;\r\n}\r\n.agileits-bottom button:hover {\r\n  color: #fff;\r\n  background: #02a299;\r\n  transition: 0.5s all ease;\r\n}\r\n.agileits-bottom:hover:before {\r\n  border-right-color: #02a299;\r\n}\r\n.agileits-bottom:hover:after {\r\n  border-left-color: #02a299;\r\n}\r\n/*-- //main --*/\r\n/*-- copyright --*/\r\n.copyright {\r\n  margin: 2em 0;\r\n  text-align: center;\r\n}\r\n.copyright p {\r\n  font-size: 1em;\r\n  color: #fff;\r\n  line-height: 1.8em;\r\n}\r\n.copyright p a {\r\n  color: #fff;\r\n  -webkit-transition: 0.5s all;\r\n  -moz-transition: 0.5s all;\r\n  -o-transition: 0.5s all;\r\n  -ms-transition: 0.5s all;\r\n  transition: 0.5s all;\r\n}\r\n.copyright p a:hover {\r\n  color: #000;\r\n}\r\n/*-- //copyright --*/\r\n/*-- responsive-design --*/\r\n@media (max-width: 1440px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 106.8%;\r\n  }\r\n}\r\n@media (max-width: 1366px) {\r\n  .login-form {\r\n    width: 37%;\r\n    margin: 3em auto;\r\n  }\r\n}\r\n@media (max-width: 1280px) {\r\n  .login-form {\r\n    width: 40%;\r\n  }\r\n}\r\n@media (max-width: 1080px) {\r\n  .main {\r\n    padding: 2em 0 0;\r\n  }\r\n  .login-form {\r\n    width: 48%;\r\n  }\r\n  h1 {\r\n    font-size: 2.8em;\r\n  }\r\n}\r\n@media (max-width: 1024px) {\r\n  h1 {\r\n    font-size: 2.6em;\r\n  }\r\n  .login-form {\r\n    width: 50%;\r\n    margin: 2em auto;\r\n  }\r\n}\r\n@media (max-width: 991px) {\r\n  h1 {\r\n    font-size: 2.5em;\r\n  }\r\n  .login-form {\r\n    width: 52%;\r\n  }\r\n}\r\n@media (max-width: 900px) {\r\n  .agileits-top {\r\n    padding: 1em 3em 3em;\r\n  }\r\n  .login-form {\r\n    width: 56%;\r\n    padding-bottom: 3.5em;\r\n  }\r\n}\r\n@media (max-width: 800px) {\r\n  .login-form {\r\n    width: 63%;\r\n  }\r\n  .agileits-top {\r\n    padding: 1em 2.5em 2.5em;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    font-size: 1.3em;\r\n    margin-left: -0.8em;\r\n  }\r\n}\r\n@media (max-width: 768px) {\r\n  h1 {\r\n    font-size: 2.3em;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 107%;\r\n  }\r\n}\r\n@media (max-width: 736px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 107.5%;\r\n  }\r\n}\r\n@media (max-width: 667px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 108%;\r\n    font-size: 1.1em;\r\n    margin-left: -0.9em;\r\n  }\r\n}\r\n@media (max-width: 640px) {\r\n  .login-form {\r\n    width: 67%;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 108%;\r\n  }\r\n}\r\n@media (max-width: 600px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 108.7%;\r\n  }\r\n}\r\n@media (max-width: 480px) {\r\n  h1 {\r\n    font-size: 1.8em;\r\n  }\r\n  h2 {\r\n    font-size: 1em;\r\n    padding: 1em;\r\n    letter-spacing: 7px;\r\n  }\r\n  .agileits-top {\r\n    padding: 1em 1.5em 1.5em;\r\n  }\r\n  .login-form input[type=\"text\"],\r\n  .login-form input[type=\"password\"] {\r\n    font-size: 0.9em;\r\n    padding: 0.6em 1em;\r\n    width: 93%;\r\n  }\r\n  .styled-input label {\r\n    padding: 0.6em 1em;\r\n    font-size: 0.9em;\r\n  }\r\n  .styled-input input:focus~label,\r\n  .styled-input input:valid~label {\r\n    font-size: 1em;\r\n    top: -1.5em;\r\n  }\r\n  .wthree-text {\r\n    margin-top: 2em;\r\n  }\r\n  .wthree-text input[type=\"checkbox\"]+label {\r\n    font-size: 0.9em;\r\n    padding-left: 1.5em;\r\n  }\r\n  .wthree-text input[type=\"checkbox\"]+label span:first-child {\r\n    width: 12px;\r\n    height: 12px;\r\n  }\r\n  .wthree-text ul li a {\r\n    font-size: 0.9em;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    font-size: 1em;\r\n    margin-left: -0.6em;\r\n    width: 105.3%;\r\n    padding: 0.8em 0;\r\n  }\r\n  .login-form {\r\n    padding-bottom: 3em;\r\n  }\r\n  .login-form {\r\n    width: 80%;\r\n  }\r\n  .copyright p {\r\n    font-size: 0.9em;\r\n  }\r\n  .agileits-bottom:before {\r\n    top: -11px;\r\n    left: -11px;\r\n    border-top: 11px solid transparent;\r\n    border-right: 11px solid #fff;\r\n  }\r\n  .agileits-bottom:after {\r\n    top: -11px;\r\n    right: -11px;\r\n    border-left: 11px solid #fff;\r\n    border-top: 11px solid transparent;\r\n  }\r\n  .wthree-text input[type=\"checkbox\"]:checked+label span:first-child:before {\r\n    left: 1px;\r\n    top: 1px;\r\n  }\r\n}\r\n@media (max-width: 414px) {\r\n  .main {\r\n    padding: 1.5em 0 0;\r\n  }\r\n  .styled-input {\r\n    margin: 1.5em 0 1em;\r\n  }\r\n  .copyright p {\r\n    padding: 0 1em;\r\n  }\r\n  .agileits-bottom:before {\r\n    top: -10px;\r\n    left: -10px;\r\n    border-top: 10px solid transparent;\r\n    border-right: 10px solid #fff;\r\n  }\r\n  .agileits-bottom:after {\r\n    top: -10px;\r\n    right: -10px;\r\n    border-left: 10px solid #fff;\r\n    border-top: 10px solid transparent;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 106%;\r\n  }\r\n}\r\n@media (max-width: 384px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 106.8%;\r\n    font-size: 0.9em;\r\n    margin-left: -0.7em;\r\n  }\r\n}\r\n@media (max-width: 375px) {\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 106.5%;\r\n    margin-left: -0.6em;\r\n  }\r\n  h1 {\r\n    font-size: 1.6em;\r\n  }\r\n  h2 {\r\n    letter-spacing: 5px;\r\n  }\r\n  .login-form {\r\n    margin: 1.5em auto;\r\n  }\r\n  .wthree-text ul li {\r\n    float: none;\r\n    display: block;\r\n  }\r\n  .wthree-text ul li:nth-child(2) {\r\n    float: none;\r\n    margin-top: 1em;\r\n  }\r\n  .wthree-text {\r\n    margin-top: 1.5em;\r\n  }\r\n}\r\n@media (max-width: 320px) {\r\n  h2 {\r\n    letter-spacing: 3px;\r\n    padding: 0.8em;\r\n  }\r\n  .login-form {\r\n    width: 85%;\r\n  }\r\n  .agileits-top {\r\n    padding: 0.5em 1em 1.5em;\r\n  }\r\n  .login-form input[type=\"text\"],\r\n  .login-form input[type=\"password\"] {\r\n    font-size: 0.85em;\r\n    padding: 0.6em;\r\n    width: 88%;\r\n  }\r\n  .styled-input label {\r\n    padding: 0.6em;\r\n    font-size: 0.85em;\r\n  }\r\n  .styled-input input:focus~label,\r\n  .styled-input input:valid~label {\r\n    font-size: 0.9em;\r\n    top: -1em;\r\n  }\r\n  .login-form {\r\n    padding-bottom: 2em;\r\n  }\r\n  .agileits-bottom input[type=\"submit\"] {\r\n    width: 107%;\r\n    margin-left: -0.6em;\r\n  }\r\n}\r\n/*-- //responsive-design --*/\r\n</style>\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!./Login.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!./Login.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=a597834e&scoped=true&\"\nimport script from \"./Login.vue?vue&type=script&lang=js&\"\nexport * from \"./Login.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=a597834e&lang=css&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  \"a597834e\",\n  null\n  \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/ga.d0289dc0.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./needwx.vue?vue&type=style&index=0&id=238d27fc&scoped=true&lang=css&\"","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/dist/cjs.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=5&id=b050b4e0&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\"},[_c('p',{staticClass:\"page-container\"},[_vm._v(\"请使用微信扫码\")])])}]\n\nexport { render, staticRenderFns }","<template>\r\n  <div class=\"page\">\r\n    <p class=\"page-container\">请使用微信扫码</p>\r\n  </div>\r\n</template>\r\n<style scoped>\r\n.page {\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  margin: -150px 0 0 -200px;\r\n  width: 400px;\r\n  height: 300px;\r\n}\r\n.page-container {\r\n  font-size: 25px;\r\n  text-align: center;\r\n  color: rgb(192, 204, 218);\r\n}\r\n.router-link-active {\r\n  font-size: 14px;\r\n}\r\n</style>\r\n<script>\r\nexport default {\r\n  components: {},\r\n  directives: {},\r\n  data() {\r\n    return {};\r\n  },\r\n  created() {},\r\n  methods: {\r\n    goback() {\r\n      this.$router.go(-1);\r\n    },\r\n  },\r\n};\r\n</script>\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!./needwx.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!./needwx.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./needwx.vue?vue&type=template&id=238d27fc&scoped=true&\"\nimport script from \"./needwx.vue?vue&type=script&lang=js&\"\nexport * from \"./needwx.vue?vue&type=script&lang=js&\"\nimport style0 from \"./needwx.vue?vue&type=style&index=0&id=238d27fc&scoped=true&lang=css&\"\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  \"238d27fc\",\n  null\n  \n)\n\nexport default component.exports","import axios from \"axios\";\r\n// import router from '../routerManuaConfig'\r\nimport store from \"../store\";\r\nimport Vue from \"vue\";\r\nimport { refreshToken, saveRefreshtime, ToLogin } from \"../api/auth\";\r\n// 如果是IIS部署,用这个,因为 IIS 只能是 CORS 跨域,不能代理\r\n// let base = process.env.NODE_ENV==\"production\"? 'http://localhost:8081':'';\r\nconst service = axios.create({\r\n\tbaseURL: \"https://www.mtfpos.com\", // url = base url + request url\r\n\t// withCredentials: true, // send cookies when cross-domain requests\r\n\ttimeout: 60000, // request timeout\r\n});\r\nvar storeTemp = store;\r\nlet loading;\r\nfunction startLoading() {\r\n\tloading = Vue.prototype.$loading({\r\n\t\tbackground: \"rgba(0, 0, 0, 0)\",\r\n\t\tlock: true,\r\n\t\tfullscreen: false,\r\n\t});\r\n}\r\nfunction endLoading() {\r\n\tneedLoadingRequestCount = 0;\r\n\tloading.close();\r\n}\r\n//声明一个对象用于存储请求个数\r\nlet needLoadingRequestCount = 0;\r\nfunction showFullScreenLoading() {\r\n\tif (needLoadingRequestCount === 0) {\r\n\t\tstartLoading();\r\n\t}\r\n\tneedLoadingRequestCount++;\r\n}\r\nfunction tryHideFullScreenLoading() {\r\n\tneedLoadingRequestCount--;\r\n\tif (needLoadingRequestCount === 0) {\r\n\t\tendLoading();\r\n\t}\r\n}\r\nservice.interceptors.request.use(\r\n\t(config) => {\r\n\t\tshowFullScreenLoading();\r\n\t\tvar curTime = new Date();\r\n\t\tvar expiretime = new Date(Date.parse(storeTemp.state.tokenExpire));      \r\n\t\tif (\r\n\t\t\tstoreTemp.state.token &&\r\n\t\t\t(curTime < expiretime && storeTemp.state.tokenExpire)\r\n\t\t) {\r\n\t\t\t// 判断是否存在token,如果存在的话,则每个http header都加上token\r\n\t\t\tconfig.headers.Authorization = \"Bearer \" + storeTemp.state.token;\r\n\t\t}\r\n\t\tsaveRefreshtime();\r\n\t\treturn config;\r\n\t},\r\n\t(err) => {\r\n\t\treturn Promise.reject(err);\r\n\t}\r\n);\r\n// http response 拦截器\r\nservice.interceptors.response.use(\r\n\t(response) => {\r\n\t\tendLoading();\r\n\t\tif (!response.data.success) {\r\n\t\t\tVue.prototype.$message({\r\n\t\t\t\tmessage: response.data.msg,\r\n\t\t\t\ttype: \"error\",\r\n\t\t\t});\r\n\t\t\treturn Promise.reject(new Error(res.message || \"Error\"));\r\n\t\t}\r\n\t\treturn response.data.response;\r\n\t},\r\n\t(error) => {\r\n\t\tlet errInfo = { success: false, message: \"错误\" };\r\n\t\t// 超时请求处理\r\n\t\tvar originalRequest = error.config;\r\n\t\tif (\r\n\t\t\terror.code == \"ECONNABORTED\" &&\r\n\t\t\terror.message.indexOf(\"timeout\") != -1 &&\r\n\t\t\t!originalRequest._retry\r\n\t\t) {\r\n\t\t\terrInfo.message = \"请求超时!\";\r\n\t\t\toriginalRequest._retry = true;\r\n\t\t} else if (error.response) {\r\n\t\t\tif (error.response.status == 401) {\r\n\t\t\t\tvar curTime = new Date();\r\n\t\t\t\tvar refreshtime = new Date(Date.parse(window.localStorage.refreshtime));\r\n\t\t\t\t// 在用户操作的活跃期内\r\n\t\t\t\tif (window.localStorage.refreshtime && curTime <= refreshtime) {\r\n\t\t\t\t\treturn refreshToken({ token: window.localStorage.Token }).then(\r\n\t\t\t\t\t\t(res) => {\r\n\t\t\t\t\t\t\tif (res.success) {\r\n\t\t\t\t\t\t\t\tstore.commit(\"saveToken\", res.token);\r\n\t\t\t\t\t\t\t\tvar curTime = new Date();\r\n\t\t\t\t\t\t\t\tvar expiredate = new Date(\r\n\t\t\t\t\t\t\t\t\tcurTime.setSeconds(curTime.getSeconds() + res.expires_in)\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tstore.commit(\"saveTokenExpire\", expiredate);\r\n\t\t\t\t\t\t\t\terror.config.__isRetryRequest = true;\r\n\t\t\t\t\t\t\t\terror.config.headers.Authorization = \"Bearer \" + res.token;\r\n\t\t\t\t\t\t\t\tendLoading();\r\n\t\t\t\t\t\t\t\treturn service(error.config);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t// 刷新token失败 清除token信息并跳转到登录页面\r\n\t\t\t\t\t\t\t\tendLoading();\r\n\t\t\t\t\t\t\t\tToLogin();\r\n\t\t\t\t\t\t\t\tVue.prototype.$message({\r\n\t\t\t\t\t\t\t\t\tmessage: \"登录状态已过期,请重新登录!\",\r\n\t\t\t\t\t\t\t\t\ttype: \"error\",\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\treturn Promise.reject(\r\n\t\t\t\t\t\t\t\t\tnew Error(\"登录状态已过期,请重新登录!\")\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 返回 401,并且不知用户操作活跃期内 清除token信息并跳转到登录页面\r\n\t\t\t\t\tendLoading();\r\n\t\t\t\t\tToLogin();\r\n\t\t\t\t\tVue.prototype.$message({\r\n\t\t\t\t\t\tmessage: \"登录状态已过期,请重新登录!\",\r\n\t\t\t\t\t\ttype: \"error\",\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn Promise.reject(new Error(\"登录状态已过期,请重新登录!\"));\r\n\t\t\t\t}\r\n\t\t\t} else if (error.response.status == 400) {\r\n\t\t\t\terrInfo.message = \"失败!提交的数据参数异常!\";\r\n\t\t\t}\r\n\t\t\t// 403 无权限\r\n\t\t\telse if (error.response.status == 403) {\r\n\t\t\t\terrInfo.message = \"失败!该操作无权限\";\r\n\t\t\t}\r\n\t\t\t// 429 ip限流\r\n\t\t\telse if (error.response.status == 429) {\r\n\t\t\t\terrInfo.message = \"刷新次数过多,请稍事休息重试!\";\r\n\t\t\t} else if (error.response.status == 404) {\r\n\t\t\t\t// 404 不存在\r\n\t\t\t\terrInfo.message = \"失败!访问接口不存在\";\r\n\t\t\t} else if (error.response.status == 500) {\r\n\t\t\t\t// 500 服务器异常\r\n\t\t\t\terrInfo.message = \"失败!服务器异常\";\r\n\t\t\t} else if (error.response.status == 405) {\r\n\t\t\t\t// 405 请求http方法错误\r\n\t\t\t\terrInfo.message = \"失败!请求http方法错误\";\r\n\t\t\t} else if (error.response.status == 415) {\r\n\t\t\t\t// 415 参数没有指定Body还是Query\r\n\t\t\t\terrInfo.message = \"失败!参数没有指定Body还是Query\";\r\n\t\t\t} else {\r\n\t\t\t\t//其他错误参数\r\n\t\t\t\terrInfo.message = \"失败!请求错误\" + error.response.status;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\terrInfo.message = \"失败!服务器断开\";\r\n\t\t}\r\n\t\tendLoading();\r\n\t\tVue.prototype.$message({\r\n\t\t\tmessage: errInfo.message,\r\n\t\t\ttype: \"error\",\r\n\t\t});\r\n\t\treturn Promise.reject(new Error(res.message || \"Error\"));\r\n\t\t//return errInfo; // 返回接口返回的错误信息\r\n\t}\r\n);\r\nexport default service;\r\n","const getters = {\n  sidebar: state => state.app.sidebar,\n  language: state => state.app.language,\n  size: state => state.app.size,\n  device: state => state.app.device,\n  visitedViews: state => state.tagsView.visitedViews,\n  cachedViews: state => state.tagsView.cachedViews,\n  token: state => state.user.token,\n  avatar: state => state.user.avatar,\n  name: state => state.user.name,\n  introduction: state => state.user.introduction,\n  roles: state => state.user.roles,\n  permission_routes: state => state.permission.routes,\n  errorLogs: state => state.errorLog.logs\n}\nexport default getters\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport getters from \"./getters\";\r\nVue.use(Vuex);\r\nexport default new Vuex.Store({\r\n\tgetters: getters,\r\n\tstate: {\r\n\t\ttoken: null,\r\n\t\ttokenExpire: null,\r\n\t\tmqttuser: null,\r\n\t\ttagsStoreList: [],\r\n\t},\r\n\tmutations: {\r\n\t\tsaveToken(state, data) {\r\n\t\t\tstate.token = data;\r\n\t\t\twindow.localStorage.setItem(\"Token\", data);\r\n\t\t},\r\n\t\tsavemqtt(state, data) {\r\n\t\t\tstate.mqttuser = data;\r\n\t\t\twindow.localStorage.setItem(\"mqttuser\",JSON.stringify(data));\r\n\t\t},\r\n\t\tsaveTokenExpire(state, data) {\r\n\t\t\tstate.tokenExpire = data;\r\n\t\t\twindow.localStorage.setItem(\"TokenExpire\", data);\r\n\t\t},\r\n\t\tsaveTagsData(state, data) {\r\n\t\t\tstate.tagsStoreList = data;\r\n\t\t\tsessionStorage.setItem(\"Tags\", data);\r\n\t\t},\r\n\t\tSET_LANGUAGE: (state, language) => {\r\n\t\t\tstate.language = language;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tsetLanguage({ commit }, language) {\r\n\t\t\tcommit(\"SET_LANGUAGE\", language);\r\n\t\t},\r\n\t},\r\n});\r\n","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/dist/cjs.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=3&id=b050b4e0&lang=scss&scoped=true&\"","import router from '@/router'\r\nimport { resetRouter, filterAsyncRouter } from '@/router/index'\r\nimport { getNavigationBar, saveRefreshtime } from '@/api/auth';\r\nimport store from \"@/store\";\r\nimport applicationUserManager from \"./Auth/applicationusermanager\";\r\n//用来获取后台拿到的路由\r\nvar getRouter\r\nif (!getRouter) { //不加这个判断,路由会陷入死循环\r\n    if (!getObjArr('router')) {\r\n        //本地没有,则从数据库获取\r\n        var user = window.localStorage.user ? JSON.parse(window.localStorage.user) : null;\r\n        if (user && user.Id !== \"0\") {\r\n            getNavigationBar().then(data => {\r\n                if (data.success) {\r\n                    // console.info('%c get navigation bar from api succeed!', \"color:red\")\r\n                    getRouter = data.response.children //后台拿到路由\r\n                    saveObjArr('router', getRouter) //存储路由到localStorage\r\n                        // routerGo(to, next)//执行路由跳转方法\r\n                }\r\n            });\r\n        }\r\n    } else {\r\n        //从localStorage拿到了路由\r\n        // console.info('%c get navigation bar from localStorage succeed!', \"color:green\")\r\n        getRouter = getObjArr('router') //拿到路由\r\n        getRouter = filterAsyncRouter(getRouter) //过滤路由\r\n        router.$addRoutes(getRouter) //动态添加路由\r\n        global.antRouter = getRouter //将路由数据传递给全局变量,做侧边栏菜单渲染工作\r\n    }\r\n}\r\nvar storeTemp = store;\r\nrouter.beforeEach((to, from, next) => {\r\n    //验证Token\r\n    {\r\n        if (!storeTemp.state.token) {\r\n            storeTemp.commit(\"saveToken\", window.localStorage.Token)\r\n        }\r\n        if (!storeTemp.state.tokenExpire) {\r\n            storeTemp.commit(\"saveTokenExpire\", window.localStorage.TokenExpire)\r\n        }\r\n        saveRefreshtime();\r\n        if (to.meta.requireAuth) {\r\n            // 判断该路由是否需要登录权限\r\n            var curTime = new Date()\r\n            var expiretime = new Date(Date.parse(window.localStorage.TokenExpire))\r\n            if (storeTemp.state.token && storeTemp.state.token != \"undefined\") {\r\n                // 通过vuex state获取当前的token是否存在\r\n                next();\r\n            } else {\r\n                store.commit(\"saveToken\", \"\");\r\n                store.commit(\"saveTokenExpire\", \"\");\r\n                store.commit(\"saveTagsData\", \"\");\r\n                window.localStorage.removeItem('user');\r\n                window.localStorage.removeItem('NavigationBar');\r\n                window.localStorage.removeItem('router');\r\n                if (global.IS_IDS4) {\r\n                    applicationUserManager.login();\r\n                } else {\r\n                    next({\r\n                        path: \"/login\",\r\n                        query: { redirect: to.fullPath } // 将跳转的路由path作为参数,登录成功后跳转到该路由\r\n                    });\r\n                    //window.location.reload()\r\n                }\r\n            }\r\n        } else {\r\n            next();\r\n        }\r\n    }\r\n    //动态添加路由\r\n    {\r\n        //不加这个判断,路由会陷入死循环\r\n        if (!getRouter) {\r\n            if (!getObjArr('router')) {\r\n                var user = window.localStorage.user ? JSON.parse(window.localStorage.user) : null;\r\n                if (user && user.Id !== \"0\") {\r\n                    getNavigationBar().then(data => {\r\n                        if (data.success) {\r\n                            getRouter = data.response.children //后台拿到路由\r\n                            saveObjArr('router', getRouter) //存储路由到localStorage\r\n                            routerGo(to, next) //执行路由跳转方法\r\n                        }\r\n                    });\r\n                }\r\n            } else {\r\n                //从localStorage拿到了路由\r\n                getRouter = getObjArr('router') //拿到路由\r\n                routerGo(to, next)\r\n            }\r\n        } else {\r\n            if (to.name && to.name != 'login') {\r\n                getRouter = getObjArr('router') //拿到路由\r\n                global.antRouter = getRouter\r\n                    // routerGo(to, next)//执行路由跳转方法\r\n            }\r\n            // console.log(3)\r\n            // next()\r\n        }\r\n    }\r\n});\r\nfunction routerGo(to, next) {\r\n    //过滤路由\r\n    getRouter = filterAsyncRouter(getRouter)\r\n    resetRouter()\r\n    //动态添加路由\r\n    router.$addRoutes(getRouter)\r\n    //将路由数据传递给全局变量,做侧边栏菜单渲染工作\r\n    global.antRouter = getRouter\r\n    next({...to, replace: true })\r\n}\r\n//localStorage 存储数组对象的方法\r\nfunction saveObjArr(name, data) {\r\n    localStorage.setItem(name, JSON.stringify(data))\r\n}\r\n//localStorage 获取数组对象的方法\r\nfunction getObjArr(name) {\r\n    return JSON.parse(window.localStorage.getItem(name));\r\n}\r\nvar buttonList = [];\r\nexport const getButtonList = (routePath, routers) => {\r\n    routers.forEach(element => {\r\n        if (routePath && element.path) {\r\n            let path = routePath.toLowerCase();\r\n            if (element.path && element.path.toLowerCase() === path) {\r\n                buttonList = element.ButtonList;\r\n                return;\r\n            } else if (element.children) {\r\n                getButtonList(path, element.children);\r\n            }\r\n        }\r\n    });\r\n    return buttonList;\r\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{ref:\"scrollContainer\",staticClass:\"scroll-container\",attrs:{\"vertical\":false},nativeOn:{\"wheel\":function($event){$event.preventDefault();return _vm.handleScroll.apply(null, arguments)}}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <el-scrollbar ref=\"scrollContainer\" :vertical=\"false\" class=\"scroll-container\" @wheel.native.prevent=\"handleScroll\">\r\n    <slot />\r\n  </el-scrollbar>\r\n</template>\r\n<script>\r\nconst tagAndTagSpacing = 4 // tagAndTagSpacing\r\nexport default {\r\n  name: 'ScrollPane',\r\n  data() {\r\n    return {\r\n      left: 0\r\n    }\r\n  },\r\n  computed: {\r\n    scrollWrapper() {\r\n      return this.$refs.scrollContainer.$refs.wrap\r\n    }\r\n  },\r\n  methods: {\r\n    handleScroll(e) {\r\n      const eventDelta = e.wheelDelta || -e.deltaY * 40\r\n      const $scrollWrapper = this.scrollWrapper\r\n      $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4\r\n    },\r\n    moveToTarget(currentTag,tagList) {\r\n      const $container = this.$refs.scrollContainer.$el\r\n      const $containerWidth = $container.offsetWidth\r\n      const $scrollWrapper = this.scrollWrapper\r\n      // const tagList = this.$parent.$refs.tag\r\n      let firstTag = null\r\n      let lastTag = null\r\n      // find first tag and last tag\r\n      if (tagList.length > 0) {\r\n        firstTag = tagList[0]\r\n        lastTag = tagList[tagList.length - 1]\r\n      }\r\n      if (firstTag === currentTag) {\r\n        $scrollWrapper.scrollLeft = 0\r\n      } else if (lastTag === currentTag) {\r\n        $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth\r\n      } else {\r\n        // find preTag and nextTag\r\n        const currentIndex = tagList.findIndex(item => item === currentTag)\r\n        const prevTag = tagList[currentIndex - 1]\r\n        const nextTag = tagList[currentIndex + 1]\r\n        // the tag's offsetLeft after of nextTag\r\n        const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing\r\n        // the tag's offsetLeft before of prevTag\r\n        const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing\r\n        if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {\r\n          $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth\r\n        } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {\r\n          $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n</script>\r\n <style scoped>\r\n .scroll-container {\r\n    white-space: nowrap;\r\n    position: relative !important;\r\n    overflow: hidden !important;\r\n    width: 100%;\r\n  }\r\n  /* .scroll-container  .el-scrollbar__bar {\r\n    bottom: 0px;\r\n  }\r\n  .scroll-container  .el-scrollbar__wrap {\r\n    height: 49px;\r\n  } */\r\n </style>\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!./ScrollPane.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!./ScrollPane.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScrollPane.vue?vue&type=template&id=dc6167ae&scoped=true&\"\nimport script from \"./ScrollPane.vue?vue&type=script&lang=js&\"\nexport * from \"./ScrollPane.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ScrollPane.vue?vue&type=style&index=0&id=dc6167ae&scoped=true&lang=css&\"\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  \"dc6167ae\",\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../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=7&lang=css&\"","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/dist/cjs.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=6&lang=scss&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=a597834e&lang=css&scoped=true&\"","import service from '../utils/request'\r\n// 根据ID获取详情\r\nexport const getempbyid = params => {return service.get(`/api/base_employee/get`, {params})};\r\n// 查询列表\r\nexport const queryemp = params => {return service.post(`/api/base_employee/query`, params)};\r\n// 创建员工\r\nexport const createemp = params => {return service.post(`/api/base_employee/create`,  params)};\r\n// 设置密码\r\nexport const setpwd = params => {return service.get(`/api/base_employee/setpwd`, {params})};\r\n// 修改密码\r\nexport const editpwd = params => {return service.get(`/api/base_employee/editpwd`, {params})};\r\n// 刷新授权二维码\r\nexport const refreshauth = params => {return service.get(`/api/base_employee/refreshauth`, {params})};\r\n// 操作授权码验证\r\nexport const employeeqrauth = params => {return service.post(`/api/base_employee/employeeqrauth`, params)};\r\n// 修改员工\r\nexport const editemp = params => {return service.put(`/api/base_employee/edit`,  params)};\r\n// 删除员工\r\nexport const deleteemp = params => {return service.delete(`/api/base_employee/delete`, {params})};"],"sourceRoot":""}