{"version":3,"sources":["webpack:///./src/assets/images/Tondi.jpg","webpack:///./src/Layout.vue?fa2e","webpack:///./src/Layout.vue","webpack:///./src/Layout.vue?d545","webpack:///../../../src/components/VToolbar/VToolbar.ts","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/mixins/ssr-bootable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///../../../src/components/VAppBar/VAppBarNavIcon.ts","webpack:///../../../src/components/VMain/VMain.ts","webpack:///../../../src/components/VOverlay/VOverlay.ts","webpack:///../../../src/components/VOverlay/index.ts","webpack:///../../../src/mixins/overlayable/index.ts","webpack:///../../../src/directives/touch/index.ts","webpack:///../../../src/components/VNavigationDrawer/VNavigationDrawer.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/Layout.vue?afc2","webpack:///./src/assets/images/Speciali.jpg","webpack:///./src/assets/images/Esagoni.jpg","webpack:///../../../src/components/VApp/VApp.ts","webpack:///./src/assets/images sync ^\\.\\/.*$","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./public/MAB_logo.png","webpack:///./src/assets/images/Quadri.jpg","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./src/assets/images/Piatti.jpg"],"names":["module","exports","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","nd","expression","_v","selectedItem","_l","element","key","link","on","$event","goTo","icon","_s","text","staticClass","overlay","staticStyle","$route","fullPath","staticRenderFns","reloadModule","store","elencoView","name","showReload","$router","push","path","components","VSheet","props","absolute","bottom","collapse","dense","extended","extensionHeight","default","type","Number","String","flat","floating","prominent","short","src","tag","data","isExtended","computed","computedHeight","height","parseInt","isCollapsed","isNaN","computedContentHeight","isProminent","$vuetify","breakpoint","classes","styles","created","breakingProps","original","replacement","methods","genBackground","image","$scopedSlots","img","VImg","genContent","style","genExtension","render","children","setBackgroundColor","class","$listeners","h","inserted","binding","self","options","passive","handler","target","document","el","undefined","unbind","Scroll","events","mixins","app","Boolean","applicationProperty","watch","prev","removeApplication","activated","i","length","mounted","deactivated","destroyed","callUpdate","force","updateApplication","directives","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isActive","isScrollingUp","previousScroll","savedScroll","canScroll","window","computedScrollThreshold","console","onScroll","Math","thresholdMet","isBooted","baseMixins","provide","VAppBar","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","scrollRatio","threshold","min","max","computedFontSize","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","computedRight","computedTransform","hideShadow","fontSize","marginTop","transform","left","right","val","_b","opacity","arg","functional","d","Object","listeners","defaultSlot","slots","VBtn","VIcon","paddingTop","top","paddingRight","paddingBottom","footer","paddingLeft","ref","$slots","color","dark","zIndex","__scrim","themeClasses","hideOverlay","overlayColor","overlayOpacity","animationFrame","genOverlay","beforeDestroy","createOverlay","propsData","parent","$el","requestAnimationFrame","removeOverlay","showScroll","cancelAnimationFrame","scrollListener","e","includes","up","down","checkPath","hasScrollbar","Node","shouldScroll","delta","isInside","composedPath","dialog","$refs","selected","index","hideScroll","handleGesture","wrapper","touchendY","dirRatio","minDistance","touchendX","touchstartX","touchstartY","touch","event","createHandlers","touchmoveX","touchmoveY","offsetX","offsetY","start","move","end","touchstart","touchend","touchmove","handlers","vnode","eventName","Touch","ClickOutside","Resize","isInNav","clipped","disableResizeWatcher","disableRouteWatcher","expandOnHover","miniVariant","miniVariantWidth","permanent","stateless","temporary","touchless","width","isMouseover","touchArea","stackMinZIndex","computedMaxHeight","computedTop","computedWidth","isMiniVariant","hasApp","isBottom","isMobile","reactsToClick","reactsToMobile","reactsToResize","reactsToRoute","showOverlay","translate","maxHeight","beforeMount","calculateTouchArea","parentRect","closeConditional","genAppend","genPosition","genDirectives","include","getOpenDependentElements","swipeRight","genListeners","transitionend","resizeEvent","slot","genPrepend","genBorder","init","onRouteChange","swipeLeft","updateMiniVariant","$emit","VToolbarTitle","component","VApp","VAppBarNavIcon","VCard","VCardActions","VCardTitle","VContainer","VList","VListItem","VListItemContent","VListItemGroup","VListItemIcon","VListItemTitle","VMain","VNavigationDrawer","VOverlay","VSpacer","VSubheader","id","light","isDark","theme","beforeCreate","Error","domProps","map","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","keys","resolve","$","getOwnPropertyDescriptor","f","toLength","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","$endsWith","endsWith","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","prototype","writable","proto","forced","searchString","that","endPosition","arguments","len","search","call","slice","fluid","mergeData","Array","aspectRatio","contentClass","computedAspectRatio","aspectStyle","__cachedSizer","hasIntersect","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","position","sizes","srcset","transition","currentSrc","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","mode","loadImage","lazyImg","onLoad","startsWith","naturalHeight","onError","getSrc","err","pollForSize","timeout","poll","setTimeout","content","__genPlaceholder","placeholder","appear","node","role","modifiers","once"],"mappings":"mGAAAA,EAAOC,QAAU,mlG,yCCAjB,IAAI,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,sBAAsB,CAACE,MAAM,CAAC,QAAU,GAAG,IAAM,GAAG,KAAO,GAAG,MAAQ,WAAWC,MAAM,CAACC,MAAOR,EAAM,GAAES,SAAS,SAAUC,GAAMV,EAAIW,GAAGD,GAAKE,WAAW,OAAO,CAACR,EAAG,SAAS,CAACA,EAAG,cAAc,CAACJ,EAAIa,GAAG,aAAaT,EAAG,oBAAoB,CAACG,MAAM,CAACC,MAAOR,EAAgB,aAAES,SAAS,SAAUC,GAAMV,EAAIc,aAAaJ,GAAKE,WAAW,iBAAiBZ,EAAIe,GAAIf,EAAc,YAAE,SAASgB,GAAS,OAAOZ,EAAG,cAAc,CAACa,IAAID,EAAQE,KAAKZ,MAAM,CAAC,KAAO,IAAIa,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOpB,EAAIqB,KAAKL,MAAY,CAACZ,EAAG,mBAAmB,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,aAAa,KAAK,YAAY,KAAK,IAAM,UAAQ,KAAqBU,EAAQM,UAAU,GAAGlB,EAAG,sBAAsB,CAACA,EAAG,oBAAoB,CAACJ,EAAIa,GAAGb,EAAIuB,GAAGP,EAAQQ,UAAU,IAAI,MAAK,IAAI,IAAI,GAAGpB,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,GAAG,eAAe,GAAG,KAAO,GAAG,MAAQ,kBAAkB,CAACF,EAAG,qBAAqB,CAACE,MAAM,CAAC,MAAQ,SAASa,GAAG,CAAC,MAAQ,SAASC,GAAQpB,EAAIW,IAAMX,EAAIW,OAAOP,EAAG,IAAI,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACqB,YAAY,OAAOnB,MAAM,CAAC,aAAa,KAAK,YAAY,KAAK,IAAM,EAAQ,YAA8B,GAAGF,EAAG,kBAAkB,CAACJ,EAAIa,GAAG,mBAAmBT,EAAG,YAAYA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,SAASa,GAAG,CAAC,MAAQ,SAASC,GAAQpB,EAAI0B,SAAW1B,EAAI0B,WAAW,CAAC1B,EAAIa,GAAG,iBAAiB,GAAGT,EAAG,SAAS,CAACuB,YAAY,CAAC,mBAAmB,YAAY,CAACvB,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,cAAc,CAACa,IAAIjB,EAAI4B,OAAOC,YAAY,IAAI,GAAGzB,EAAG,YAAY,CAACE,MAAM,CAAC,UAAU,KAAK,MAAQN,EAAI0B,UAAU,CAACtB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,oBAAoB,YAAY,QAAQ,CAACF,EAAG,eAAe,CAACJ,EAAIa,GAAG,gCAAgCT,EAAG,iBAAiB,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,UAAY,IAAI,GAAK,YAAY,CAACF,EAAG,SAAS,CAACJ,EAAIa,GAAG,gBAAgBb,EAAIa,GAAG,aAAa,GAAGT,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,YAAY,UAAY,KAAKa,GAAG,CAAC,MAAQ,SAASC,GAAQpB,EAAI0B,SAAU,KAAS,CAAC1B,EAAIa,GAAG,eAAe,IAAI,IAAI,IAAI,IAC39DiB,EAAkB,G,wHCqFhBC,EAAe,eAAU,OAAcC,EAAA,MAIxB,EAArB,yG,0BACS,EAAArB,IAAK,EACL,EAAAe,SAAU,EACV,EAAAZ,aAAe,KACf,EAAAmB,WAAa,CAClB,CACET,KAAM,kBACNF,KAAM,YACNJ,KAAM,SACNgB,KAAM,SAER,CACEV,KAAM,mBACNF,KAAM,aACNJ,KAAM,WAER,CACEM,KAAM,mBACNF,KAAM,aACNJ,KAAM,WAER,CACEM,KAAM,oBACNF,KAAM,cACNJ,KAAM,YAER,CACEM,KAAM,mBACNF,KAAM,eACNJ,KAAM,cA7BZ,6CAiCE,SAAKF,GACCf,KAAK2B,OAAOC,WAAab,EAAQE,KACnCa,EAAaI,aAGblC,KAAKmC,QAAQC,KAAK,CAAEC,KAAMtB,EAAQE,WAtCxC,GAAoC,QAAf,EAAM,gBAH1B,eAAU,CACTqB,WAAY,MAEO,WC1F0V,I,2KCiBhW,EAAAC,EAAA,YAAc,CAC3BN,KAD2B,YAG3BO,MAAO,CACLC,SADK,QAELC,OAFK,QAGLC,SAHK,QAILC,MAJK,QAKLC,SALK,QAMLC,gBAAiB,CACfC,QADe,GAEfC,KAAM,CAACC,OAAQC,SAEjBC,KAVK,QAWLC,SAXK,QAYLC,UAZK,QAaLC,MAbK,QAcLC,IAAK,CACHP,KAAM,CAACE,OADJ,QAEHH,QAAS,IAEXS,IAAK,CACHR,KADG,OAEHD,QAAS,WAIbU,KAAM,iBAAO,CACXC,YAAY,IAGdC,SAAU,CACRC,eADQ,WAEN,IAAMC,EAAS7D,KAAf,sBAEA,IAAKA,KAAL,WAAsB,OAAO6D,EAE7B,IAAMf,EAAkBgB,SAAS9D,KAAjC,iBAEA,OAAOA,KAAK+D,YAAL,EAEHF,GAAWG,MAAD,GAFd,EAEc,IAEhBC,sBAZQ,WAaN,OAAIjE,KAAJ,OAAwB8D,SAAS9D,KAAhB,QACbA,KAAKkE,aAAelE,KAAxB,MAA2C,GACvCA,KAAKkE,aAAelE,KAAxB,MAA2C,IACvCA,KAAJ,YAA6B,IACzBA,KAAJ,MAAuB,GACnBA,KAAKsD,OAAStD,KAAKmE,SAASC,WAAhC,UAA6D,GAC7D,IAEFC,QArBQ,WAsBN,wCACK9B,EAAA,mCADE,OAAP,IAEE,aAFK,EAGL,sBAAuBvC,KAHlB,SAIL,oBAAqBA,KAJhB,OAKL,sBAAuBA,KALlB,SAML,uBAAwBA,KANnB,YAOL,mBAAoBA,KAPf,MAQL,sBAAuBA,KARlB,WASL,kBAAmBA,KATd,KAUL,sBAAuBA,KAVlB,SAWL,uBAAwBA,KAAKkE,eAGjCH,YApCQ,WAqCN,OAAO/D,KAAP,UAEFkE,YAvCQ,WAwCN,OAAOlE,KAAP,WAEFsE,OA1CQ,WA2CN,wCACKtE,KADE,kBAAP,IAEE6D,OAAQ,eAAc7D,KAAD,oBAK3BuE,QAjF2B,WAiFpB,WACCC,EAAgB,CACpB,CAAC,MADmB,mBAEpB,CAAC,gBAFmB,8BAGpB,CAAC,eAHmB,4BAIpB,CAAC,gBAJmB,6BAKpB,CAAC,kBALmB,+BAMpB,CAAC,oBANmB,iCAOpB,CAAC,gBAPmB,6BAQpB,CAAC,mBARmB,gCASpB,CAAC,OATH,qBAaAA,EAAA,SAAsB,YAA4B,0BAA3B,EAA2B,KAA5B,EAA4B,KAC5C,wBAAJ,IAA0C,eAASC,EAAUC,EAAnB,OAI9CC,QAAS,CACPC,cADO,WAEL,IAAMpC,EAAQ,CACZqB,OAAQ,eAAc7D,KADV,gBAEZuD,IAAKvD,KAAKuD,KAGNsB,EAAQ7E,KAAK8E,aAAaC,IAC5B/E,KAAK8E,aAAaC,IAAI,CAAEvC,UACxBxC,KAAKE,eAAe8E,EAApB,KAA0B,CAAExC,UAEhC,OAAOxC,KAAKE,eAAe,MAAO,CAChCsB,YAAa,oBACZ,CAFH,KAIFyD,WAfO,WAgBL,OAAOjF,KAAKE,eAAe,MAAO,CAChCsB,YADgC,qBAEhC0D,MAAO,CACLrB,OAAQ,eAAc7D,KAAD,yBAEtB,eALH,QAOFmF,aAvBO,WAwBL,OAAOnF,KAAKE,eAAe,MAAO,CAChCsB,YADgC,uBAEhC0D,MAAO,CACLrB,OAAQ,eAAc7D,KAAD,mBAEtB,eAAQA,KALX,gBASJoF,OArI2B,SAqIrB,GACJpF,KAAA,WAAkBA,KAAK6C,YAAc7C,KAAK8E,aAA1C,UAEA,IAAMO,EAAW,CAACrF,KAAlB,cACMyD,EAAOzD,KAAKsF,mBAAmBtF,KAAxB,MAAoC,CAC/CuF,MAAOvF,KADwC,QAE/CkF,MAAOlF,KAFwC,OAG/CkB,GAAIlB,KAAKwF,aAMX,OAHIxF,KAAJ,YAAqBqF,EAAA,KAAcrF,KAAd,iBACjBA,KAAKuD,KAAOvD,KAAK8E,aAArB,MAAuCO,EAAA,QAAiBrF,KAAjB,iBAEhCyF,EAAEzF,KAAD,MAAR,M,YCtJJ,SAAS0F,EAAT,KACE,MAAyBC,EAAA,WAAzB,OAAQC,YAAR,SACMrF,EAAQoF,EAAd,MACME,EAAW,8BAA6BtF,EAA9B,SAAgD,CAAEuF,SAAS,GACrEC,EAA2B,oBAAVxF,GAAwB,gBAA/B,IAAgEA,EAAhF,QAEMyF,EAASJ,EAAI,EAEfD,EAAA,IACEM,SAAA,cAAuBN,EADzB,KAFJ,OAMA,IAEAK,EAAA,+BAEAE,EAAA,UAAe,CACbH,UACAF,UAEAG,OAAQJ,OAAOO,EAAYH,IAI/B,SAASI,EAAT,GACE,GAAKF,EAAL,WAEA,MAA0CA,EAA1C,UAAM,EAAN,EAAM,UAAN,EAAM,QAAN,IAA0BF,cAA1B,MAAmCE,EAAnC,EAEAF,EAAA,yCACOE,EAAP,WAGK,IAAMG,EAAS,CACpBX,WACAU,UAGF,I,wBC7Cc,cAAmE,IAArBE,EAAqB,uDAAnE,GAEZ,OAAO,OAAAC,EAAA,MAAO,eAAoB,CAAC,WAA5B,kBAA0D,CAC/DtE,KAD+D,kBAG/DO,MAAO,CACLgE,IAAKC,SAGP9C,SAAU,CACR+C,oBADQ,WAEN,WAIJC,MAAO,CAGLH,IAHK,SAGF,KACDI,EACI5G,KAAK6G,mBADL,GAEA7G,KAFJ,cAIF0G,oBARK,SAQc,KACjB1G,KAAA,gCAAqCA,KAArC,UAIJ8G,UA1B+D,WA2B7D9G,KAAA,cAGFuE,QA9B+D,WA+B7D,IAAK,IAAIwC,EAAJ,EAAWC,EAASV,EAAzB,OAAwCS,EAAxC,EAAoDA,IAClD/G,KAAA,OAAYsG,EAAZ,GAAuBtG,KAAvB,YAEFA,KAAA,cAGFiH,QArC+D,WAsC7DjH,KAAA,cAGFkH,YAzC+D,WA0C7DlH,KAAA,qBAGFmH,UA7C+D,WA8C7DnH,KAAA,qBAGF2E,QAAS,CACPyC,WADO,WAEApH,KAAL,KAEAA,KAAA,8BACEA,KADF,KAEEA,KAFF,oBAGEA,KAHF,sBAMF6G,kBAVO,WAUyB,IAAbQ,EAAa,yDACzBA,GAAUrH,KAAf,MAEAA,KAAA,gCACEA,KADF,KAEEA,KAFF,sBAKFsH,kBAAmB,kBAAM,M,gBCzDhB,gBAAW,CACxBrF,KADwB,aAGxBsF,WAAY,CAAElB,UAEd7D,MAAO,CACLgF,aADK,OAELC,gBAAiB,CAACvE,OAAQD,SAG5BQ,KAAM,iBAAO,CACXiE,cADW,EAEXC,iBAFW,EAGXC,UAHW,EAIXC,eAJW,EAKXC,eALW,EAMXC,YANW,EAOX/B,OAAQ,OAGVrC,SAAU,CAMRqE,UANQ,WAON,2BAAcC,QAMhBC,wBAbQ,WAcN,OAAOlI,KAAKyH,gBACRxE,OAAOjD,KADJ,iBAAP,MAMJ2G,MAAO,CACLkB,cADK,WAEH7H,KAAA,YAAmBA,KAAK+H,aAAe/H,KAAvC,eAEF4H,SAJK,WAKH5H,KAAA,gBAIJiH,QAjDwB,WAkDlBjH,KAAJ,eACEA,KAAA,OAAciG,SAAA,cAAuBjG,KAArC,cAEKA,KAAL,QACE,OAAAmI,EAAA,MAAY,4CAAD,OAA6CnI,KAA7C,cAAX,QAKN2E,QAAS,CACPyD,SADO,WACC,WACDpI,KAAL,YAEAA,KAAA,eAAsBA,KAAtB,cACAA,KAAA,cAAqBA,KAAKgG,OACtBhG,KAAKgG,OADY,UAEjBiC,OAFJ,YAIAjI,KAAA,cAAqBA,KAAK0H,cAAgB1H,KAA1C,eACAA,KAAA,iBAAwBqI,KAAA,IAASrI,KAAK0H,cAAgB1H,KAAtD,yBAEAA,KAAA,WAAe,WAEXqI,KAAA,IAAS,gBAAqB,EAA9B,aACA,EAFF,yBAGE,sBAQNC,aAxBO,gBCnEI,gBAAW,CACxBrG,KADwB,eAGxBwB,KAAM,iBAAO,CACX8E,UAAU,IAGZtB,QAPwB,WAOjB,WAILgB,OAAA,uBAA6B,WAC3B,yCACA,oB,YCDAO,EAAa,OAAAjC,EAAA,MAAO,EAAD,WAKvB,EAAgB,MAAO,CAAC,cAAD,4EALzB,WAiBe,EAAAiC,EAAA,OAAkB,CAC/BvG,KAD+B,YAG/BsF,WAAY,CAAElB,OAAA,GAEdoC,QAL+B,WAM7B,MAAO,CAAEC,QAAS1I,OAGpBwC,MAAO,CACLmG,YADK,QAELC,aAFK,QAGLC,iBAHK,QAILC,gBAJK,QAKLC,gBALK,QAMLC,aANK,QAOLC,eAPK,QAQLC,gBARK,QASLC,eATK,QAUL5I,MAAO,CACLyC,KADK,QAELD,SAAS,IAIbU,KAzB+B,WA0B7B,MAAO,CACLmE,SAAU5H,KAAKO,QAInBoD,SAAU,CACR+C,oBADQ,WAEN,OAAQ1G,KAAD,OAAP,SAAO,OAETgI,UAJQ,WAKN,OACE,0CAEEhI,KAAKiJ,gBACLjJ,KADA,iBAEAA,KAFA,cAGAA,KAHA,kBAIAA,KAJA,WAQCA,KAXL,QAeFqE,QApBQ,WAqBN,wCACK,gCADE,OAAP,IAEE,sBAAuBrE,KAAK2C,UAAY3C,KAFnC,iBAGL,aAHK,EAIL,qBAAsBA,KAAK2I,aAAe3I,KAJrC,aAKL,gCAAiCA,KAL5B,gBAML,+BAAgCA,KAN3B,gBAOL,oBAAqBA,KAAD,WAAmBA,KAAKwG,KAAOxG,KAP9C,OAQL,yBAA0BA,KARrB,WASL,yBAA0BA,KAAK0H,cAT1B,EAUL,8BAA+B1H,KAAKmJ,kBAGxCC,YAlCQ,WAmCN,IAAMC,EAAYrJ,KAAlB,wBACA,OAAOqI,KAAA,KAAUgB,EAAYrJ,KAAb,eAAT,EAAP,IAEFiE,sBAtCQ,WAuCN,IAAKjE,KAAL,eAA0B,OAAO,8CAAP,MAE1B,IAAMsJ,EAAMtJ,KAAK4C,MAAQ,GAAzB,GACM2G,EAAMvJ,KAAZ,uBAEA,OAAOsJ,GAAOC,EAAD,GAAcvJ,KAA3B,aAEFwJ,iBA9CQ,WA+CN,GAAKxJ,KAAL,aAEA,IAAMsJ,EAAN,KACMC,EAAN,IAEA,OAAOD,GAAOC,EAAD,GAAcvJ,KAA3B,cAEFyJ,aAtDQ,WAuDN,OAAKzJ,KAAD,KAAaA,KAAjB,YAA0C,EAEnCA,KAAKmE,SAASuF,YAArB,MAEFC,kBA3DQ,WA4DN,OAAK3J,KAAL,IAEOA,KAAKmE,SAASuF,YAArB,IAFsB,GAIxBE,gBAhEQ,WAiEN,GAAK5J,KAAL,gBAEA,OAAOA,KAAP,aAEF6J,uBArEQ,WAsEN,IAAIhG,EAAS,8CAAb,MAEA,OADI7D,KAAJ,aAAqB6D,GAAUC,SAAS9D,KAAnB,kBACrB,GAEF8J,cA1EQ,WA2EN,OAAK9J,KAAD,KAAaA,KAAjB,aAA2C,EAEpCA,KAAKmE,SAASuF,YAArB,OAEFxB,wBA/EQ,WAgFN,OAAIlI,KAAJ,gBAAiCiD,OAAOjD,KAAd,iBAEnBA,KAAK6J,wBAA0B7J,KAAK4C,MAAQ,GAAnD,KAEFmH,kBApFQ,WAqFN,IACG/J,KAAD,WACCA,KAAK8I,iBAAL,IAAwB9I,KAAK0H,eAAuB1H,KAFvD,SAGE,OAAO,EAET,GAAIA,KAAJ,SAAmB,OAAO,EAE1B,IAAMkJ,EAAkBlJ,KAAKkJ,gBACzBlJ,KADoB,eAEpBA,KAFJ,sBAIA,OAAOA,KAAK0C,OAASwG,GAArB,GAEFc,WAlGQ,WAmGN,OAAIhK,KAAK8I,iBAAmB9I,KAA5B,WACSA,KAAK0H,cAAgB1H,KAA5B,wBAGEA,KAAJ,gBACgC,IAAvBA,KAAK0H,eACV1H,KAAK+J,kBADP,IAKC/J,KAAD,YACAA,KAFK,kBAAP,IAGKA,KAAK+J,mBAEZhG,YAjHQ,WAkHN,OAAK/D,KAAL,iBAIOA,KAAK0H,cAAZ,EAHS,oCAAP,OAKJxD,YAxHQ,WAyHN,OACE,2CACAlE,KAFF,gBAKFsE,OA9HQ,WA+HN,wCACK,+BADE,OAAP,IAEE2F,SAAU,eAAcjK,KAAD,iBAFlB,OAGLkK,UAAW,eAAclK,KAHpB,mBAILmK,UAAW,cAAF,OAAgB,eAAcnK,KAJlC,mBAII,KACToK,KAAM,eAAcpK,KALf,cAMLqK,MAAO,eAAcrK,KAAD,mBAK1B2G,MAAO,CACLqB,UADK,WAEL+B,kBAFK,WAUA/J,KAAD,YACEA,KAAD,aAAsBA,KAFzB,eAKAA,KAAA,cAEFiJ,eAhBK,SAgBS,GACZjJ,KAAA,UAAiBsK,GAAjB,IAAwBtK,KAAK0H,gBAIjCnD,QA9L+B,WA+LzBvE,KAAJ,iBAAyBA,KAAK4H,UAAW,IAG3CjD,QAAS,CACPC,cADO,WAEL,IAAMQ,EAAS,qCAAf,MAMA,OAJAA,EAAA,KAAcpF,KAAKuK,GAAGnF,EAAA,MAAR,GAA2BA,EAA3B,IAAwC,CACpDF,MAAO,CAAEsF,QAASxK,KAAK4J,mBAGzB,GAEFtC,kBAVO,WAWL,OAAOtH,KAAKiJ,eAAL,EAEHjJ,KAAK4D,eAAiB5D,KAF1B,mBAIFsI,aAfO,WAgBDtI,KAAJ,eACEA,KAAA,SAAgBA,KAAK0H,cAAgB1H,KAArC,yBAIEA,KAAJ,eACEA,KAAA,SAAgBA,KAAK6H,eACnB7H,KAAK0H,cAAgB1H,KADvB,yBAIEA,KAAK2H,iBAAmB3H,KAA5B,0BAEAA,KAAA,YAAmBA,KAAnB,kBAIJoF,OAlO+B,SAkOzB,GACJ,IAAMA,EAAS,2BAAf,GAaA,OAXAA,EAAA,KAAcA,EAAA,MAAd,GAEIpF,KAAJ,YACEoF,EAAA,gBAAyBA,EAAA,iBAAzB,GACAA,EAAA,qBAA4B,CAC1BqF,IAAKzK,KADqB,aAE1BiC,KAF0B,SAG1B1B,MAAOP,KAAKoI,YAIhB,K,oCC/QW,gBAAW,CACxBnG,KADwB,qBAGxByI,YAHwB,EAKxBtF,OALwB,SAKlB,EALkB,GAKoB,IAAjC,EAAiC,EAAjC,QAAiC,EAAjC,YAAiC,EAAjC,MAA2B3B,EAAM,EAANA,KAC9BkH,EAAIC,OAAA,SAAoB,CAC5BpJ,YAAc,8BAAuBiC,EAAA,aAAxB,IADe,OAE5BjB,MAAO,oCAAF,IAEHnB,MAAM,IAERH,GAAI2J,IAGAC,EAAcC,IAApB,QAEA,OAAOtF,EAAEuF,EAAD,OAAUF,GAAe,CAACrF,EAAEwF,EAAD,KAAnC,c,6GCfW,I,UAAA,SAAmB,CAChChJ,KADgC,SAGhCO,MAAO,CACLgB,IAAK,CACHR,KADG,OAEHD,QAAS,SAIbY,SAAU,CACRW,OADQ,WAEN,MAEItE,KAAKmE,SAFT,YAAM,EAAN,EAAM,MAAN,EAAM,MAAN,EAAM,QAAN,EAAM,SAAN,EAAM,cAAN,EAAM,OAC0CiG,EADhD,EACgDA,KAGhD,MAAO,CACLc,WAAY,GAAF,OAAKC,EADV,EACK,MACVC,aAAc,GAAF,OAFP,EAEO,MACZC,cAAe,GAAF,OAAKC,EAAA,EAHb,EAGQ,MACbC,YAAa,GAAF,OAAKnB,EAAL,SAKjBhF,OAzBgC,SAyB1B,GACJ,IAAM3B,EAAO,CACXjC,YADW,SAEX0D,MAAOlF,KAFI,OAGXwL,IAAK,QAGP,OAAO/F,EAAEzF,KAAD,MAAiB,CACvByF,EAAE,MAEA,CAAEjE,YAAa,gBACfxB,KAAKyL,OAJT,e,0GC3BW,UAAAlF,EAAA,MAAO,GAAD,aAAN,eAIN,CACPtE,KADO,YAGPO,MAAO,CACLC,SADK,QAELiJ,MAAO,CACL1I,KADK,OAELD,QAAS,WAEX4I,KAAM,CACJ3I,KADI,QAEJD,SAAS,GAEXyH,QAAS,CACPxH,KAAM,CAACC,OADA,QAEPF,QAAS,KAEXxC,MAAO,CACLwC,SAAS,GAEX6I,OAAQ,CACN5I,KAAM,CAACC,OADD,QAENF,QAAS,IAIbY,SAAU,CACRkI,QADQ,WAEN,IAAMpI,EAAOzD,KAAKsF,mBAAmBtF,KAAxB,MAAoC,CAC/CwB,YAD+C,mBAE/C0D,MAAO,CACLsF,QAASxK,KAAK4J,mBAIlB,OAAO5J,KAAKE,eAAe,MAA3B,IAEFmE,QAXQ,WAYN,uBACE,sBAAuBrE,KADlB,SAEL,oBAAqBA,KAFhB,UAGFA,KAAK8L,eAGZlC,gBAlBQ,WAmBN,OAAO3G,OAAOjD,KAAK4H,SAAW5H,KAAhB,QAAd,IAEFsE,OArBQ,WAsBN,MAAO,CACLsH,OAAQ5L,KAAK4L,UAKnBjH,QAAS,CACPM,WADO,WAEL,OAAOjF,KAAKE,eAAe,MAAO,CAChCsB,YAAa,sBACZxB,KAAKyL,OAFR,WAMJrG,OA9DO,SA8DD,GACJ,IAAMC,EAAW,CAACrF,KAAlB,SAIA,OAFIA,KAAJ,UAAmBqF,EAAA,KAAcrF,KAAd,cAEZyF,EAAE,MAAO,CACdjE,YADc,YAEd+D,MAAOvF,KAFO,QAGdkF,MAAOlF,KAAKsE,QAHd,MClFJ,MC2Be,0BAA4D,CACzErC,KADyE,cAGzEO,MAAO,CACLuJ,YADK,QAELC,aAFK,OAGLC,eAAgB,CAAChJ,OAAQC,SAG3BO,KATyE,WAUvE,MAAO,CACLyI,eADK,EAELzK,QAAS,OAIbkF,MAAO,CACLoF,YADK,SACM,GACJ/L,KAAL,WAEA,EAAWA,KAAX,gBACKA,KAAKmM,gBAIdC,cAzByE,WA0BvEpM,KAAA,iBAGF2E,QAAS,CACP0H,cADO,WAEL,IAAM5K,EAAU,IAAI,GAAS,CAC3B6K,UAAW,CACT7J,SAAUzC,KADD,SAETO,OAFS,EAGTmL,MAAO1L,KAHE,aAITwK,QAASxK,KAAKiM,kBAIlBxK,EAAA,SAEA,IAAM8K,EAASvM,KAAKyC,SAChBzC,KAAKwM,IADM,WAEXvG,SAAA,cAFJ,cAIAsG,GAAUA,EAAA,aAAoB9K,EAApB,IAAiC8K,EAA3C,YAEAvM,KAAA,WAEFmM,WArBO,WAqBG,WAGR,GAFAnM,KAAA,cAEIA,KAAJ,YAgBA,OAdKA,KAAL,SAAmBA,KAAKqM,gBAExBrM,KAAA,eAAsByM,uBAAsB,WACrC,EAAL,eAEA,IAAI,eACF,iBAAsBvJ,OAAO,eAA7B,GACS,EAAJ,MACL,iBAAsB,eAAU,EAAhC,MAGF,wBAGF,GAGFwJ,cA3CO,WA2CyB,WAAjBC,IAAiB,yDAC1B3M,KAAJ,UACE,eAAqBA,KAAKyB,QAAN,qBAAoC,WAEnD,EAAD,SACC,UADD,KAEC,cAFD,aAGA,UAJF,QAOA,qCAAwC,UAAxC,KACA,qBACA,mBAMFmL,qBAAqB5M,KAArB,gBAEAA,KAAA,kBAGF2M,GAAc3M,KAAd2M,cAEFE,eApEO,SAoEO,GACZ,eAAIC,EAAA,KAAsB,CACxB,GACE,CAAC,QAAS,WAAY,UAAUC,SAAUD,EAAA,OAA1C,UAECA,EAAA,OAHH,kBAIE,OAEF,IAAME,EAAK,CAAC,OAAD,GAAc,OAAzB,QACMC,EAAO,CAAC,OAAD,KAAgB,OAA7B,UAEA,GAAID,EAAA,SAAYF,EAAhB,SACGA,EAAA,cACI,KAAIG,EAAA,SAAcH,EAAlB,SAGL,OAFCA,EAAA,WAMDA,EAAA,SAAa9M,KAAb,SACD,YAAA8M,EAAA,MAAwBA,EAAA,SAAa7G,SADpC,MAEFjG,KAAKkN,UAFP,KAEqBJ,EAAA,kBAEvBK,aA5FO,SA4FK,GACV,IAAKjH,GAAMA,EAAA,WAAgBkH,KAA3B,aAA8C,OAAO,EAErD,IAAMlI,EAAQ+C,OAAA,iBAAd,GACA,MAAO,CAAC,OAAQ,UAAU8E,SAAS7H,EAA5B,YAAiDgB,EAAA,aAAkBA,EAA1E,cAEFmH,aAlGO,SAkGK,KACV,OAAI,IAAAnH,EAAA,WAAsBoH,EAA1B,GACOpH,EAAA,UAAeA,EAAf,eAAmCA,EAAnC,cAAsDoH,EAA7D,GAEFC,SAtGO,SAsGC,KACN,OAAIrH,IAAJ,GAEW,OAAAA,GAAeA,IAAOD,SAA1B,MAGEjG,KAAKuN,SAASrH,EAAd,WAAP,IAGJgH,UA/GO,SA+GE,GACP,IAAM7K,EAAOyK,EAAA,MAAU9M,KAAKwN,aAA5B,GACMF,EAAQR,EAAd,OAEA,GAAI,YAAAA,EAAA,MAAwBzK,EAAA,KAAY4D,SAAxC,KAAuD,CACrD,IAAMwH,EAASzN,KAAK0N,MADiC,OAG/CC,EAAW1F,OAAA,eAAjB,WACA,QAAIwF,GAAUzN,KAAKmN,aAAfM,IAAuCzN,KAAKuN,SAASI,EAAzD,KACS3N,KAAKqN,aAAaI,EAAzB,GAKJ,IAAK,IAAIG,EAAT,EAAoBA,EAAQvL,EAA5B,OAAyCuL,IAAS,CAChD,IAAM1H,EAAK7D,EAAX,GAEA,GAAI6D,IAAJ,SAAqB,OAAO,EAC5B,GAAIA,IAAOD,SAAX,gBAAqC,OAAO,EAC5C,GAAIC,IAAOlG,KAAK0N,MAAhB,QAA+B,OAAO,EAEtC,GAAI1N,KAAKmN,aAAT,GAAsC,OAAOnN,KAAKqN,aAAanH,EAAzB,GAGxC,UAKFsH,aA5IO,SA4IK,GACV,GAAIV,EAAJ,aAAoB,OAAOA,EAAP,eAEpB,IAAMzK,EAAN,GACI6D,EAAK4G,EAAT,OAEA,QAAW,CAGT,GAFAzK,EAAA,QAEA,SAAI6D,EAAA,QAIF,OAHA7D,EAAA,eACAA,EAAA,aAEA,EAGF6D,EAAKA,EAAL,cAEF,UAEF2H,WAhKO,WAiKD7N,KAAKmE,SAASC,WAAlB,UACE6B,SAAA,oDAEA,eAAwBgC,OAAQ,QAASjI,KAAlB,eAA8D,CAAE8F,SAAS,IAChGmC,OAAA,2BAAmCjI,KAAnC,kBAGJ2M,WAxKO,WAyKL1G,SAAA,sDACAgC,OAAA,4BAAoCjI,KAApC,gBACAiI,OAAA,8BAAsCjI,KAAtC,oB,0BCzNA8N,I,UAAiB,SAAAC,GACrB,IAAM,EAAN,EAAM,cAAN,EAAM,YAAN,EAAM,YAAuCC,EAA7C,EAA6CA,UACvCC,EAAN,GACMC,EAAN,GACAH,EAAA,QAAkBI,EAAlB,EACAJ,EAAA,QAAkBC,EAAlB,EAEI3F,KAAA,IAAS0F,EAAT,SAA4BE,EAAW5F,KAAA,IAAS0F,EAApD,WACEA,EAAA,MAAiBI,EAAYC,EAA7B,GAA2DL,EAAA,KAA3DA,GACAA,EAAA,OAAkBI,EAAYC,EAA9B,GAA4DL,EAAA,MAA5DA,IAGE1F,KAAA,IAAS0F,EAAT,SAA4BE,EAAW5F,KAAA,IAAS0F,EAApD,WACEA,EAAA,IAAeC,EAAYK,EAA3B,GAAyDN,EAAA,GAAzDA,GACAA,EAAA,MAAiBC,EAAYK,EAA7B,GAA2DN,EAAA,KAA3DA,MAIJ,SAAS,GAAT,KACE,IAAMO,EAAQC,EAAA,eAAd,GACAR,EAAA,YAAsBO,EAAtB,QACAP,EAAA,YAAsBO,EAAtB,QAEAP,EAAA,OACEA,EAAA,MAAcnD,OAAA,SADhBmD,IAIF,SAAS,GAAT,KACE,IAAMO,EAAQC,EAAA,eAAd,GACAR,EAAA,UAAoBO,EAApB,QACAP,EAAA,UAAoBO,EAApB,QAEAP,EAAA,KACEA,EAAA,IAAYnD,OAAA,SADdmD,IAGAD,GAAA,GAGF,SAAS,GAAT,KACE,IAAMQ,EAAQC,EAAA,eAAd,GACAR,EAAA,WAAqBO,EAArB,QACAP,EAAA,WAAqBO,EAArB,QAEAP,EAAA,MAAgBA,EAAA,KAAanD,OAAA,SAA7BmD,IAGF,SAASS,GAAT,GACE,IAAMT,EAAU,CACdK,YADc,EAEdC,YAFc,EAGdF,UAHc,EAIdH,UAJc,EAKdS,WALc,EAMdC,WANc,EAOdC,QAPc,EAQdC,QARc,EASdxE,KAAM7J,EATQ,KAUd8J,MAAO9J,EAVO,MAWdyM,GAAIzM,EAXU,GAYd0M,KAAM1M,EAZQ,KAadsO,MAAOtO,EAbO,MAcduO,KAAMvO,EAdQ,KAedwO,IAAKxO,EAAMwO,KAGb,MAAO,CACLC,WAAa,SAAAlC,GAAD,OAAmB,GAAWA,EADrC,IAELmC,SAAW,SAAAnC,GAAD,OAAmB,GAASA,EAFjC,IAGLoC,UAAY,SAAApC,GAAD,OAAmB,GAAUA,EAAGiB,KAI/C,SAAS,GAAT,OACE,IAAMxN,EAAQoF,EAAd,MACMK,EAASzF,EAAA,OAAe2F,EAAf,cAAf,EACML,EAAUtF,EAAA,SAAiB,CAAEuF,SAAS,GAG5C,MAEA,IAAMqJ,EAAWX,GAAe7I,EAAhC,OACAK,EAAA,eAAwB4E,OAAO5E,EAA/B,gBACAA,EAAA,eAAuBoJ,EAAA,QAAvB,QAEA,2BAAuB,SAAAC,GACrBrJ,EAAA,mBAAmCmJ,EAAnC,UAIJ,SAAS,GAAT,OACE,IAAMnJ,EAASL,EAAA,aAAwBO,EAAxB,cAAf,EACA,GAAKF,GAAWA,EAAhB,gBAEA,IAAMmJ,EAAWnJ,EAAA,eAAsBoJ,EAAA,QAAvC,MACA,2BAAuB,SAAAC,GACrBrJ,EAAA,sBAAsCmJ,EAAtC,cAEKnJ,EAAA,eAAsBoJ,EAAA,QAA7B,OAGK,IAAME,GAAQ,CACnB5J,SAAA,GACAU,OAAA,IAGF,MC3FM,GAAa,OAAAG,EAAA,MACjB,EAAgB,OAAQ,CAAC,WAAD,yEADD,uCAAzB,SAoBe,aAAkB,CAC/BtE,KAD+B,sBAG/BsF,WAAY,CACVgI,aAAA,QACAC,OAAA,QACAF,MAAA,IAGF7G,QAT+B,WAU7B,MAAO,CACLgH,QAAsB,QAAbzP,KAAKwD,MAIlBhB,MAAO,CACLE,OADK,QAELgN,QAFK,QAGLC,qBAHK,QAILC,oBAJK,QAKLC,cALK,QAMLzM,SANK,QAOLS,OAAQ,CACNb,KAAM,CAACC,OADD,QAENF,QAFM,WAGJ,OAAO/C,KAAKwG,IAAM,QAAlB,SAGJsJ,YAbK,QAcLC,iBAAkB,CAChB/M,KAAM,CAACC,OADS,QAEhBF,QAAS,IAEXiN,UAlBK,QAmBL3F,MAnBK,QAoBL9G,IAAK,CACHP,KAAM,CAACE,OADJ,QAEHH,QAAS,IAEXkN,UAxBK,QAyBLzM,IAAK,CACHR,KADG,OAEHD,QAFG,WAGD,OAAO/C,KAAKwG,IAAM,MAAlB,UAGJ0J,UA/BK,QAgCLC,UAhCK,QAiCLC,MAAO,CACLpN,KAAM,CAACC,OADF,QAELF,QAAS,KAEXxC,MAAO,MAGTkD,KAAM,iBAAO,CACX4M,aADW,EAEXC,UAAW,CACTlG,KADS,EAETC,MAAO,GAETkG,eAAgB,IAGlB5M,SAAU,CAKR+C,oBALQ,WAMN,OAAO1G,KAAKqK,MAAQ,QAApB,QAEFhG,QARQ,WASN,uBACE,uBADK,EAEL,gCAAiCrE,KAF5B,SAGL,8BAA+BA,KAH1B,OAIL,+BAAgCA,KAJ3B,QAKL,8BAA+BA,KAL1B,SAML,8BAA+BA,KAAD,WAAmBA,KAAKwG,KAAOxG,KANxD,OAOL,gCAAiCA,KAP5B,SAQL,iCAAkCA,KAR7B,SASL,oCAAqCA,KAThC,YAUL,oCAAqCA,KAVhC,cAWL,2CAXK,KAWuCiD,OAAOjD,KAAP,kBAC5C,4BAA6BA,KAZxB,SAaL,qCAAsCA,KAbjC,cAcL,6BAA8BA,KAdzB,MAeL,iCAAkCA,KAf7B,WAgBFA,KAAK8L,eAGZ0E,kBA5BQ,WA6BN,IAAKxQ,KAAL,OAAkB,OAAO,KAEzB,IAAMwQ,EACJxQ,KAAKmE,SAASuF,YAAYhH,OAC1B1C,KAAKmE,SAASuF,YADd,OAEA1J,KAAKmE,SAASuF,YAHhB,IAMA,OAAK1J,KAAL,QAEOwQ,EAAoBxQ,KAAKmE,SAASuF,YAAzC,IAF0B8G,GAI5BC,YAzCQ,WA0CN,IAAKzQ,KAAL,OAAkB,OAAO,EAEzB,IAAIyQ,EAAczQ,KAAKmE,SAASuF,YAAhC,IAMA,OAJA+G,GAAezQ,KAAK0P,QAChB1P,KAAKmE,SAASuF,YADH,IAAf,EAIA,GAEFK,kBApDQ,WAqDN,OAAI/J,KAAJ,SAA0B,EACtBA,KAAJ,UACOA,KAAKqK,MADc,KAC1B,KAEFqG,cAzDQ,WA0DN,OAAO1Q,KAAK2Q,cAAgB3Q,KAArB,iBAA6CA,KAApD,OAEF4Q,OA5DQ,WA6DN,OACE5Q,KAAKwG,MACHxG,KAAD,WAAmBA,KAFtB,WAKF6Q,SAlEQ,WAmEN,OAAO7Q,KAAK0C,QAAU1C,KAAtB,UAEF2Q,cArEQ,WAsEN,OACG3Q,KAAD,eACAA,KAFK,aAILA,KAAK6P,gBACJ7P,KALH,aAQF8Q,SA9EQ,WA+EN,OACG9Q,KAAD,YACCA,KADD,WAEA,uCAHF,OAMF+Q,cArFQ,WAsFN,OACG/Q,KAAD,YACCA,KADD,YAECA,KAAK8Q,UAAY9Q,KAHpB,YAMFgR,eA5FQ,WA6FN,OACEhR,KAAKwG,MACJxG,KADD,uBAECA,KAFD,YAGCA,KAHD,YAICA,KALH,WAQFiR,eArGQ,WAsGN,OAAQjR,KAAD,uBAA+BA,KAAtC,WAEFkR,cAxGQ,WAyGN,OACGlR,KAAD,sBACCA,KADD,YAECA,KAAKkQ,WAAalQ,KAHrB,WAMFmR,YA/GQ,WAgHN,OACGnR,KAAD,aACAA,KADA,WAECA,KAAK8Q,UAAY9Q,KAHpB,YAMFsE,OAtHQ,WAuHN,IAAM8M,EAAYpR,KAAK6Q,SAAW,aAAlC,aACA,MAAO,CACLhN,OAAQ,eAAc7D,KADjB,QAELmL,IAAMnL,KAAD,SAFA,OAEiB,eAAcA,KAA/B,aACLqR,UAAqC,MAA1BrR,KAAKwQ,kBAAL,sBACQ,eAAcxQ,KADtB,6BAHN,EAMLmK,UAAW,GAAF,OAAKiH,EAAL,YAAkB,eAAcpR,KAAD,kBANnC,KAMI,KACToQ,MAAO,eAAcpQ,KAAD,kBAK1B2G,MAAO,CACLhF,OADK,gBAELiG,SAFK,SAEG,GACN5H,KAAA,kBAMF8Q,SATK,SASG,MACN,GACE9Q,KADF,WAEGA,KAFH,WAGEA,KAHF,gBAKI,MAAA4G,GACD5G,KADC,gBAEDA,KAFH,iBAKAA,KAAA,cAEFgQ,UAtBK,SAsBI,GAEP,IAAShQ,KAAK4H,UAAW,IAE3BuJ,YA1BK,SA0BM,GACT,EAASnR,KAAT,aACKA,KAAK0M,iBAEZnM,MA9BK,SA8BA,GACCP,KAAJ,YAEA,MAAIsK,EAKAA,IAAQtK,KAAZ,WAA2BA,KAAK4H,SAAW0C,GAJzCtK,KAAA,SAMJ6P,cAxCK,oBAyCLQ,YAzCK,SAyCM,GACTrQ,KAAA,wBAIJsR,YAlP+B,WAmP7BtR,KAAA,QAGF2E,QAAS,CACP4M,mBADO,WAEL,IAAMhF,EAASvM,KAAKwM,IAApB,WAEA,MAEA,IAAMgF,EAAajF,EAAnB,wBAEAvM,KAAA,UAAiB,CACfoK,KAAMoH,EAAA,KADS,GAEfnH,MAAOmH,EAAA,MAAmB,MAG9BC,iBAbO,WAcL,OAAOzR,KAAK4H,WAAa5H,KAAlB,cAAuCA,KAA9C,eAEF0R,UAhBO,WAiBL,OAAO1R,KAAK2R,YAAZ,WAEF/M,cAnBO,WAoBL,IAAMpC,EAAQ,CACZqB,OADY,OAEZuM,MAFY,OAGZ7M,IAAKvD,KAAKuD,KAGNsB,EAAQ7E,KAAK8E,aAAaC,IAC5B/E,KAAK8E,aAAaC,IADR,GAEV/E,KAAKE,eAAe8E,EAApB,KAA0B,CAAExC,UAEhC,OAAOxC,KAAKE,eAAe,MAAO,CAChCsB,YAAa,8BACZ,CAFH,KAIFoQ,cAlCO,WAkCM,WACLrK,EAAa,CAAC,CAClBtF,KADkB,gBAElB1B,MAAO,CACLwF,QAAS,WAAQ,eACjB0L,iBAAkBzR,KAFb,iBAGL6R,QAAS7R,KAAK8R,4BAelB,OAXK9R,KAAD,WAAoBA,KAAxB,WACEuH,EAAA,KAAgB,CACdtF,KADc,QAEd1B,MAAO,CACLgM,QADK,EAELnC,KAAMpK,KAFD,UAGLqK,MAAOrK,KAAK+R,cAKlB,GAEFC,aAzDO,WAyDK,WACJ9Q,EAAyC,CAC7C+Q,cAAgB,SAAAnF,GACd,GAAIA,EAAA,SAAaA,EAAjB,eACA,wBAF0B,GAK1B,IAAMoF,EAAcjM,SAAA,YAApB,YACAiM,EAAA,qCACAjK,OAAA,oBAaJ,OATIjI,KAAJ,cACEkB,EAAA,MAAW,kBAAM,+BAAjB,KAGElB,KAAJ,gBACEkB,EAAA,WAAgB,kBAAO,eAAvB,GACAA,EAAA,WAAgB,kBAAO,eAAvB,IAGF,GAEFyQ,YAjFO,SAiFI,GACT,IAAMQ,EAAO,eAAQnS,KAArB,GAEA,SAEOA,KAAKE,eAAe,MAAO,CAChCsB,YAAa,wBAAF,OAA0BS,IADvC,GAFkBkQ,GAMpBC,WA1FO,WA2FL,OAAOpS,KAAK2R,YAAZ,YAEF1M,WA7FO,WA8FL,OAAOjF,KAAKE,eAAe,MAAO,CAChCsB,YAAa,gCACZxB,KAAKyL,OAFR,UAIF4G,UAlGO,WAmGL,OAAOrS,KAAKE,eAAe,MAAO,CAChCsB,YAAa,iCAGjB8Q,KAvGO,WAwGDtS,KAAJ,UACEA,KAAA,YACSA,KAAKiQ,WAAT,MACLjQ,KAAKO,MAELP,KAAA,SAAgBA,KAAhB,MACUA,KAAL,YACLA,KAAA,UAAiBA,KAAjB,WAGJuS,cAlHO,WAmHDvS,KAAKkR,eAAiBlR,KAA1B,qBACEA,KAAA,cAGJwS,UAvHO,SAuHE,GACHxS,KAAK4H,UAAY5H,KAArB,QACAA,KAAA,qBAEIqI,KAAA,IAASyE,EAAA,UAAcA,EAAvB,aAAJ,MACI9M,KAAKqK,OACPyC,EAAA,aAAiB9M,KAAKsQ,UADxB,MAEEtQ,KAAK4H,UAFP,GAGU5H,KAAD,OAAeA,KAAnB,WAAkCA,KAAK4H,UAAW,MAEzDmK,WAjIO,SAiIG,GACJ/R,KAAK4H,WAAa5H,KAAtB,QACAA,KAAA,qBAEIqI,KAAA,IAASyE,EAAA,UAAcA,EAAvB,aAAJ,OACK9M,KAAD,OACF8M,EAAA,aAAiB9M,KAAKsQ,UADxB,KAEEtQ,KAAK4H,UAFP,EAGS5H,KAAKqK,OAASrK,KAAlB,WAAiCA,KAAK4H,UAAW,MAKxDN,kBA9IO,WA+IL,IACGtH,KAAD,UACAA,KADA,UAEAA,KAFA,YAGCA,KAJH,IAKE,OAAO,EAET,IAAMoQ,EAAQnN,OAAOjD,KAArB,eAEA,OAAOgE,MAAA,GAAehE,KAAKwM,IAApB,YAAP,GAEFiG,kBA1JO,SA0JU,GACXzS,KAAK8P,cAAT,GAA8B9P,KAAK0S,MAAM,sBAAuBpI,KAIpElF,OArZ+B,SAqZzB,GACJ,IAAMC,EAAW,CACfrF,KADe,aAEfA,KAFe,aAGfA,KAHe,YAIfA,KAJF,aASA,OAFIA,KAAKuD,KAAO,eAAQvD,KAAxB,SAAsCqF,EAAA,QAAiBrF,KAAjB,iBAE/ByF,EAAEzF,KAAD,IAAWA,KAAKsF,mBAAmBtF,KAAxB,MAAoC,CACrDuF,MAAOvF,KAD8C,QAErDkF,MAAOlF,KAF8C,OAGrDuH,WAAYvH,KAHyC,gBAIrDkB,GAAIlB,KAAKgS,iBAJX,M,0BCzcEW,GAAgB,eAAtB,oBCCIC,IDAkB,eAAtB,oBCAgB,eACd,EACA,EACA/Q,GACA,EACA,KACA,KACA,OAIa,aAAA+Q,GAAiB,QA0BhC,IAAkBA,GAAW,CAACC,OAAA,KAAKnK,QAAA,EAAQoK,iBAAe9H,OAAA,KAAK+H,QAAA,KAAMC,aAAA,OAAaC,WAAA,OAAWC,aAAA,KAAWjI,MAAA,OAAMjG,OAAA,KAAKmO,QAAA,KAAMC,YAAA,KAAUC,iBAAA,OAAiBC,iBAAA,KAAeC,iBAAA,KAAcC,eAAA,OAAeC,MAAA,GAAMC,kBAAA,GAAkBC,SAAA,GAASC,WAAA,KAAQC,cAAA,KAAWlB,oB,8FC5CpP9S,EAAOC,QAAU,ulK,mBCAjBD,EAAOC,QAAU,29E,sFCUF,qCAEN,CACPmC,KADO,QAGPO,MAAO,CACLmJ,KAAM,CACJ3I,KADI,QAEJD,aAASoD,GAEX2N,GAAI,CACF9Q,KADE,OAEFD,QAAS,OAEXgR,MAAO,CACL/Q,KADK,QAELD,aAASoD,IAIbxC,SAAU,CACRqQ,OADQ,WAEN,OAAOhU,KAAKmE,SAAS8P,MAArB,OAIJC,aAxBO,WAyBL,IAAKlU,KAAD,UAAmBA,KAAKmE,WAAanE,KAAzC,MACE,MAAM,IAAImU,MAAV,gIAIJ/O,OA9BO,SA8BD,GACJ,IAAM2I,EAAUtI,EAAE,MAAO,CAAEjE,YAAa,uBAAyBxB,KAAKyL,OAAtE,SAEA,OAAOhG,EAAE,MAAO,CACdjE,YADc,gBAEd+D,MAAO,gBACL,wBAAyBvF,KAAKmE,SADzB,IAEL,yBAA0BnE,KAAKmE,SAF1B,KAGFnE,KAAK8L,cAEVzL,MAAO,CAAE,YAAY,GACrB+T,SAAU,CAAEN,GAAI9T,KAAK8T,KACpB,CATH,Q,qBC7CJ,IAAIO,EAAM,CACT,gBAAiB,OACjB,eAAgB,OAChB,eAAgB,OAChB,iBAAkB,OAClB,cAAe,QAIhB,SAASC,EAAeC,GACvB,IAAIT,EAAKU,EAAsBD,GAC/B,OAAOE,EAAoBX,GAE5B,SAASU,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAEL,EAAKE,GAAM,CACpC,IAAIzH,EAAI,IAAIqH,MAAM,uBAAyBI,EAAM,KAEjD,MADAzH,EAAE6H,KAAO,mBACH7H,EAEP,OAAOuH,EAAIE,GAEZD,EAAeM,KAAO,WACrB,OAAOhK,OAAOgK,KAAKP,IAEpBC,EAAeO,QAAUL,EACzB3U,EAAOC,QAAUwU,EACjBA,EAAeR,GAAK,Q,2DCzBpB,IAAIgB,EAAI,EAAQ,QACZC,EAA2B,EAAQ,QAAmDC,EACtFC,EAAW,EAAQ,QACnBC,EAAa,EAAQ,QACrBC,EAAyB,EAAQ,QACjCC,EAAuB,EAAQ,QAC/BC,EAAU,EAAQ,QAGlBC,EAAY,GAAGC,SACfjM,EAAMjB,KAAKiB,IAEXkM,EAA0BJ,EAAqB,YAE/CK,GAAoBJ,IAAYG,KAA6B,WAC/D,IAAIE,EAAaX,EAAyB7R,OAAOyS,UAAW,YAC5D,OAAOD,IAAeA,EAAWE,SAF8B,GAOjEd,EAAE,CAAE9O,OAAQ,SAAU6P,OAAO,EAAMC,QAASL,IAAqBD,GAA2B,CAC1FD,SAAU,SAAkBQ,GAC1B,IAAIC,EAAO9S,OAAOiS,EAAuBnV,OACzCkV,EAAWa,GACX,IAAIE,EAAcC,UAAUlP,OAAS,EAAIkP,UAAU,QAAK/P,EACpDgQ,EAAMlB,EAASe,EAAKhP,QACpB+H,OAAsB5I,IAAhB8P,EAA4BE,EAAM7M,EAAI2L,EAASgB,GAAcE,GACnEC,EAASlT,OAAO6S,GACpB,OAAOT,EACHA,EAAUe,KAAKL,EAAMI,EAAQrH,GAC7BiH,EAAKM,MAAMvH,EAAMqH,EAAOpP,OAAQ+H,KAASqH,M,uEChCjDvW,EAAOC,QAAU,k6F,mBCAjBD,EAAOC,QAAU,uqG,kICGH,cAEZ,OAAO,cAAW,CAChBmC,KAAM,KAAF,OADY,GAGhByI,YAHgB,EAKhBlI,MAAO,CACLsR,GADK,OAELtQ,IAAK,CACHR,KADG,OAEHD,QAAS,QAIbqC,OAbgB,SAaV,EAbU,GAaoB,IAAzB,EAAyB,EAAzB,QAAyB,EAAzB,KAAeC,EAAU,EAAVA,SACxB5B,EAAA,YAAoB,UAAGxB,EAAH,YAAWwB,EAAA,aAAZ,IAAnB,OAEA,IAAQpD,EAAR,EAAQA,MACR,KAAW,CAEToD,EAAA,SACA,IAAMY,EAAUuG,OAAA,gBAA0B,SAAA5J,GAGxC,YAAIA,EAAgB,OAAO,EAE3B,IAAMT,EAAQF,EALgC,GAS9C,OAAIW,EAAA,WAAJ,UACEyC,EAAA,YACA,GAGKlD,GAAP,kBAAuBA,KAGrB8D,EAAJ,SAAoBZ,EAAA,wBAAwBY,EAAA,KAAxB,OAQtB,OALI7B,EAAJ,KACEiB,EAAA,SAAgBA,EAAA,UAAhB,GACAA,EAAA,YAAmBjB,EAAnB,IAGKiD,EAAEjD,EAAD,MAAR,M,gBC1CS,6BAAyB,CACtCP,KADsC,cAEtCyI,YAFsC,EAGtClI,MAAO,CACLsR,GADK,OAELtQ,IAAK,CACHR,KADG,OAEHD,QAAS,OAEXwT,MAAO,CACLvT,KADK,QAELD,SAAS,IAGbqC,OAdsC,SAchC,EAdgC,GAcF,IAClC,EADS,EAAyB,EAAzB,QAAyB,EAAzB,KAAeC,EAAU,EAAVA,SAEhBhF,EAAR,EAAQA,MA2BR,OA1BA,IAEEoD,EAAA,SACAY,EAAUuG,OAAA,gBAA0B,SAAA5J,GAGlC,YAAIA,EAAgB,OAAO,EAE3B,IAAMT,EAAQF,EAL0B,GASxC,OAAIW,EAAA,WAAJ,UACEyC,EAAA,YACA,GAGKlD,GAAP,kBAAuBA,MAIvBiC,EAAJ,KACEiB,EAAA,SAAgBA,EAAA,UAAhB,GACAA,EAAA,YAAmBjB,EAAnB,IAGKiD,EACLjD,EADM,IAEN,OAAAgU,EAAA,MAAU/S,EAAM,CACdjC,YADc,YAEd+D,MAAOkR,MAAW,CAChB,mBAAoBjU,EAAM+T,QADrB,OAEGlS,GAFH,MAJX,O,sJCvCW,SAAAkC,EAAA,qBAA0B,CACvCtE,KADuC,eAGvCO,MAAO,CACLkU,YAAa,CAACxT,OADT,QAELyT,aAAczT,QAGhBS,SAAU,CACRiT,oBADQ,WAEN,OAAO3T,OAAOjD,KAAd,cAEF6W,YAJQ,WAKN,OAAO7W,KAAK4W,oBACR,CAAEvL,cAAgB,EAAIrL,KAAL,wBAAuC,UAD5D,GAIF8W,cATQ,WAUN,OAAK9W,KAAL,YAEOA,KAAKE,eAAe,MAAO,CAChCgF,MAAOlF,KADyB,YAEhCwB,YAAa,wBAJe,KASlCmD,QAAS,CACPM,WADO,WAEL,OAAOjF,KAAKE,eAAe,MAAO,CAChCsB,YADgC,wBAEhC+D,MAAOvF,KAAK2W,cACX3W,KAAKyL,OAHR,WAOJrG,OApCuC,SAoCjC,GACJ,OAAOK,EAAE,MAAO,CACdjE,YADc,eAEd0D,MAAOlF,KAFO,iBAGdkB,GAAIlB,KAAKwF,YACR,CACDxF,KADC,cAEDA,KANF,kBC9CJ,I,oCC0BM+W,EAAiC,qBAAX9O,QAA0B,yBAAtD,OAGe,cAAA1B,EAAA,MAAO,EAAP,eAGN,CACPtE,KADO,QAGPsF,WAAY,CAAEyP,YAAA,MAEdxU,MAAO,CACLyU,IADK,OAELC,QAFK,QAGLC,MAHK,QAILC,SAJK,OAKLC,QALK,OAMLxR,QAAS,CACP7C,KADO,OAIPD,QAAS,iBAAO,CACduU,UADc,EAEdC,gBAFc,EAGdlO,eAAWlD,KAGfqR,SAAU,CACRxU,KADQ,OAERD,QAAS,iBAEX0U,MApBK,OAqBLlU,IAAK,CACHP,KAAM,CAACE,OADJ,QAEHH,QAAS,IAEX2U,OAzBK,OA0BLC,WAAY,CACV3U,KAAM,CAACyD,QADG,QAEV1D,QAAS,oBAIbU,KArCO,WAsCL,MAAO,CACLmU,WADK,GAEL/S,MAFK,KAGLgT,WAHK,EAILC,2BAJK,EAKLC,kBALK,EAMLC,UAAU,IAIdrU,SAAU,CACRiT,oBADQ,WAEN,OAAO3T,OAAOjD,KAAKiY,cAAcC,QAAUlY,KAA3C,wBAEFiY,cAJQ,WAKN,OAAOjY,KAAKuD,KAAL,WAAY,eAAOvD,KAAP,KACf,CACAuD,IAAKvD,KAAKuD,IADV,IAEAmU,OAAQ1X,KAAK0X,QAAU1X,KAAKuD,IAF5B,OAGA8T,QAASrX,KAAKqX,SAAWrX,KAAKuD,IAH9B,QAIA2U,OAAQjV,OAAOjD,KAAK0W,aAAe1W,KAAKuD,IAA1B,SACZ,CACFA,IAAKvD,KADH,IAEF0X,OAAQ1X,KAFN,OAGFqX,QAASrX,KAHP,QAIFkY,OAAQjV,OAAOjD,KAAK0W,aAAN,KAGpByB,cAlBQ,WAmBN,KAAMnY,KAAKiY,cAAc1U,KAAOvD,KAAKiY,cAA/B,SAAwDjY,KAA9D,UAA8E,MAAO,GAErF,IAAMoY,EAAN,GACM7U,EAAMvD,KAAK6X,UAAY7X,KAAKiY,cAAtB,QAA8CjY,KAA1D,WAEIA,KAAJ,UAAmBoY,EAAA,+BAAwCpY,KAAxC,eACnB,GAASoY,EAAA,6BAET,IAAMvT,EAAQ7E,KAAKE,eAAe,MAAO,CACvCsB,YADuC,iBAEvC+D,MAAO,CACL,0BAA2BvF,KADtB,UAEL,0BAA2BA,KAFtB,QAGL,yBAA0BA,KAAKkX,SAEjChS,MAAO,CACLkT,gBAAiBA,EAAA,KADZ,MAELC,mBAAoBrY,KAAKwX,UAE3BxW,KAAMhB,KAAK6X,YAIb,OAAK7X,KAAL,WAEOA,KAAKE,eAAe,aAAc,CACvCG,MAAO,CACL4B,KAAMjC,KADD,WAELsY,KAAM,WAEP,CALH,IAF6BzT,IAWjC8B,MAAO,CACLpD,IADK,WAGEvD,KAAL,UACKA,KAAKuY,YADWvY,KAAKsS,UAAKnM,OAAWA,GAA1C,IAGF,4BAA6B,UAG/Bc,QA9GO,WA+GLjH,KAAA,QAGF2E,QAAS,CACP2N,KADO,SACH,OAQF,IACEyE,GAAA,GAEC/W,KAHH,OAMA,GAAIA,KAAKiY,cAAT,QAAgC,CAC9B,IAAMO,EAAU,IAAhB,MACAA,EAAA,IAAcxY,KAAKiY,cAAnB,QACAjY,KAAA,oBAGEA,KAAKiY,cAAT,KAA4BjY,KAAKuY,cAEnCE,OAvBO,WAwBLzY,KAAA,SACAA,KAAA,aACAA,KAAA,aAAmBA,KAAnB,KAGEA,KAAK6E,QACJ7E,KAAKiY,cAAc1U,IAAIgS,SAAS,SAAWvV,KAAKiY,cAAc1U,IAAImV,WAFrE,yBAIM1Y,KAAK6E,MAAM8T,eAAiB3Y,KAAK6E,MAArC,cACE7E,KAAA,aAAoBA,KAAK6E,MAAzB,aACA7E,KAAA,sBAA6BA,KAAK6E,MAAMkT,aAAe/X,KAAK6E,MAA5D,eAEA7E,KAAA,0BAIN4Y,QAxCO,WAyCL5Y,KAAA,YACAA,KAAA,cAAoBA,KAApB,MAEF6Y,OA5CO,WA8CD7Y,KAAJ,QAAgBA,KAAK4X,WAAa5X,KAAK6E,MAAM+S,YAAc5X,KAAK6E,MAAhD,MAElB0T,UAhDO,WAgDE,WACD1T,EAAQ,IAAd,MACA7E,KAAA,QAEA6E,EAAA,OAAe,WAETA,EAAJ,OACEA,EAAA,gBAAsB,SAAAiU,GACpB,OAAA3Q,EAAA,MACE,qEACQ,gBADR,MAEC2Q,EAAA,oCAAmCA,EAAnC,SAHQ,IAAX,MADF,KAOQ,EAPR,QASA,YAGJjU,EAAA,QAAgB7E,KAAhB,QAEAA,KAAA,YACAA,KAAA,QAAe6E,EAAA,MAAc7E,KAA7B,OACAA,KAAA,uBAA8B6E,EAAA,OAAe7E,KAAKiY,cAAlD,QACApT,EAAA,IAAY7E,KAAKiY,cAAjB,IACAjY,KAAA,kBAAwBA,KAAKiY,cAA7B,KAEAjY,KAAA,aAAoBA,KAAK+Y,YAAzB,GACA/Y,KAAA,UAEF+Y,YA9EO,SA8EI,GAAqD,WAA5BC,EAA4B,uDAArD,IACHC,EAAO,SAAPA,IACJ,IAAM,EAAN,EAAM,cAAiBlB,EAAvB,EAAuBA,aAEnBY,GAAJ,GACE,iBACA,wBAA6BZ,EAA7B,GACUhT,EAAD,WAAiB,EAAjB,WAAoC,EAApC,UAAJ,MAAyDiU,GAC9DE,WAAWD,EAAX,IAIJA,KAEFhU,WA5FO,WA6FL,IAAMkU,EAAiB,kCAAvB,MAOA,OANInZ,KAAJ,cACEA,KAAA,GAAQmZ,EAAR,WAA8B,CAC5BjU,MAAO,CAAEkL,MAAO,GAAF,OAAKpQ,KAAK+X,aAAV,SAIlB,GAEFqB,iBAtGO,WAuGL,GAAIpZ,KAAKyL,OAAT,YAA6B,CAC3B,IAAM4N,EAAcrZ,KAAK6X,UACrB,CAAC7X,KAAKE,eAAe,MAAO,CAC5BsB,YAAa,wBACZxB,KAAKyL,OAHU,cAApB,GAMA,OAAKzL,KAAL,WAEOA,KAAKE,eAAe,aAAc,CACvCsC,MAAO,CACL8W,QADK,EAELrX,KAAMjC,KAAK2X,aAHf,GAF6B0B,EAAP,MAY5BjU,OA5OO,SA4OD,GACJ,IAAMmU,EAAO,2BAAb,GAEM9V,EAAO,OAAA+S,EAAA,MAAU+C,EAAD,KAAa,CACjC/X,YADiC,UAEjCnB,MAAO,CACL,aAAcL,KADT,IAELwZ,KAAMxZ,KAAKiX,IAAM,WAAQ9Q,GAE3BZ,MAAOvF,KAN0B,aASjCuH,WAAYwP,EACR,CAAC,CACD9U,KADC,YAEDwX,UAAW,CAAEC,MAAM,GACnBnZ,MAAO,CACLwF,QAAS/F,KADJ,KAEL6F,QAAS7F,KAAK6F,gBAGhBM,IAUN,OAPAoT,EAAA,SAAgB,CACdvZ,KADc,cAEdA,KAFc,cAGdA,KAHc,mBAIdA,KAJF,cAOOyF,EAAE8T,EAAD,MAAiBA,EAAzB,c,0CC9SJ1Z,EAAOC,QAAU,uvG","file":"js/chunk-a6709b92.45a3804e.js","sourcesContent":["module.exports = \"data:image/jpeg;base64,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\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-navigation-drawer',{attrs:{\"clipped\":\"\",\"app\":\"\",\"dark\":\"\",\"color\":\"#d8512a\"},model:{value:(_vm.nd),callback:function ($$v) {_vm.nd=$$v},expression:\"nd\"}},[_c('v-list',[_c('v-subheader',[_vm._v(\"SEZIONI\")]),_c('v-list-item-group',{model:{value:(_vm.selectedItem),callback:function ($$v) {_vm.selectedItem=$$v},expression:\"selectedItem\"}},_vm._l((_vm.elencoView),function(element){return _c('v-list-item',{key:element.link,attrs:{\"link\":\"\"},on:{\"click\":function($event){return _vm.goTo(element)}}},[_c('v-list-item-icon',[_c('v-img',{attrs:{\"max-height\":\"40\",\"max-width\":\"40\",\"src\":require('./assets/images/' + element.icon)}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(element.text))])],1)],1)}),1)],1)],1),_c('v-app-bar',{attrs:{\"app\":\"\",\"clipped-left\":\"\",\"dark\":\"\",\"color\":\"grey darken-4\"}},[_c('v-app-bar-nav-icon',{attrs:{\"color\":\"white\"},on:{\"click\":function($event){_vm.nd = !_vm.nd}}}),_c('a',{attrs:{\"href\":\"/\"}},[_c('v-img',{staticClass:\"mx-2\",attrs:{\"max-height\":\"40\",\"max-width\":\"40\",\"src\":require('../public/MAB_logo.png')}})],1),_c('v-toolbar-title',[_vm._v(\"M.A.B. S.p.A.\")]),_c('v-spacer'),_c('v-icon',{attrs:{\"color\":\"white\"},on:{\"click\":function($event){_vm.overlay = !_vm.overlay}}},[_vm._v(\"mdi-logout\")])],1),_c('v-main',{staticStyle:{\"background-color\":\"#eeeeee\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view',{key:_vm.$route.fullPath})],1)],1),_c('v-overlay',{attrs:{\"z-index\":9999,\"value\":_vm.overlay}},[_c('v-card',{attrs:{\"color\":\"white black--text\",\"min-width\":\"400\"}},[_c('v-card-title',[_vm._v(\"Vuoi effettuare il logout?\")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"#d8512a\",\"elevation\":\"2\",\"to\":\"/logout\"}},[_c('v-icon',[_vm._v(\"mdi-logout\")]),_vm._v(\" Logout \")],1),_c('v-btn',{attrs:{\"color\":\"secondary\",\"elevation\":\"2\"},on:{\"click\":function($event){_vm.overlay = false}}},[_vm._v(\"Indietro\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue } from \"vue-property-decorator\";\r\nimport ReloadModule from \"./store/modules/reload.module\";\r\nimport store from \"./store/index\";\r\nimport { getModule } from \"vuex-module-decorators\";\r\nconst reloadModule = getModule(ReloadModule, store);\r\n@Component({\r\n components: {},\r\n})\r\nexport default class Layout extends Vue {\r\n public nd = true;\r\n public overlay = false;\r\n public selectedItem = null;\r\n public elencoView = [\r\n {\r\n text: \"Tondi Trafilati\",\r\n icon: \"Tondi.jpg\",\r\n link: \"/tondi\",\r\n name: \"Tondi\",\r\n },\r\n {\r\n text: \"Quadri Trafilati\",\r\n icon: \"Quadri.jpg\",\r\n link: \"/quadri\",\r\n },\r\n {\r\n text: \"Piatti Trafilati\",\r\n icon: \"Piatti.jpg\",\r\n link: \"/piatti\",\r\n },\r\n {\r\n text: \"Esagoni Trafilati\",\r\n icon: \"Esagoni.jpg\",\r\n link: \"/esagoni\",\r\n },\r\n {\r\n text: \"Profili Speciali\",\r\n icon: \"Speciali.jpg\",\r\n link: \"/speciali\",\r\n },\r\n ];\r\n\r\n goTo(element): void {\r\n if (this.$route.fullPath === element.link) {\r\n reloadModule.showReload();\r\n // this.$router.replace({ name: \"Tondi\", params: { date: new Date().toString() } });\r\n } else {\r\n this.$router.push({ path: element.link });\r\n }\r\n }\r\n}\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=ts&\"","// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\n/* @vue/component */\nexport default VSheet.extend({\n name: 'v-toolbar',\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', ''],\n ['manual-scroll', ''],\n ['clipped-left', ''],\n ['clipped-right', ''],\n ['inverted-scroll', ''],\n ['scroll-off-screen', ''],\n ['scroll-target', ''],\n ['scroll-threshold', ''],\n ['card', ''],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img({ props })\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return this.$createElement('div', {\n staticClass: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (h): VNode {\n this.isExtended = this.extended || !!this.$scopedSlots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n on: this.$listeners,\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$scopedSlots.img) children.unshift(this.genBackground())\n\n return h(this.tag, data, children)\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","// Directives\nimport { Scroll } from '../../directives'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue from 'vue'\n\n/**\n * Scrollable\n *\n * Used for monitoring scrolling and\n * invoking functions based upon\n * scrolling thresholds being\n * met.\n */\n/* @vue/component */\nexport default Vue.extend({\n name: 'scrollable',\n\n directives: { Scroll },\n\n props: {\n scrollTarget: String,\n scrollThreshold: [String, Number],\n },\n\n data: () => ({\n currentScroll: 0,\n currentThreshold: 0,\n isActive: false,\n isScrollingUp: false,\n previousScroll: 0,\n savedScroll: 0,\n target: null as Element | null,\n }),\n\n computed: {\n /**\n * A computed property that returns\n * whether scrolling features are\n * enabled or disabled\n */\n canScroll (): boolean {\n return typeof window !== 'undefined'\n },\n /**\n * The threshold that must be met before\n * thresholdMet function is invoked\n */\n computedScrollThreshold (): number {\n return this.scrollThreshold\n ? Number(this.scrollThreshold)\n : 300\n },\n },\n\n watch: {\n isScrollingUp () {\n this.savedScroll = this.savedScroll || this.currentScroll\n },\n isActive () {\n this.savedScroll = 0\n },\n },\n\n mounted () {\n if (this.scrollTarget) {\n this.target = document.querySelector(this.scrollTarget)\n\n if (!this.target) {\n consoleWarn(`Unable to locate element with identifier ${this.scrollTarget}`, this)\n }\n }\n },\n\n methods: {\n onScroll () {\n if (!this.canScroll) return\n\n this.previousScroll = this.currentScroll\n this.currentScroll = this.target\n ? this.target.scrollTop\n : window.pageYOffset\n\n this.isScrollingUp = this.currentScroll < this.previousScroll\n this.currentThreshold = Math.abs(this.currentScroll - this.computedScrollThreshold)\n\n this.$nextTick(() => {\n if (\n Math.abs(this.currentScroll - this.savedScroll) >\n this.computedScrollThreshold\n ) this.thresholdMet()\n })\n },\n /**\n * The method invoked when\n * scrolling in any direction\n * has exceeded the threshold\n */\n thresholdMet () { /* noop */ },\n },\n})\n","import Vue from 'vue'\n\n/**\n * SSRBootable\n *\n * @mixin\n *\n * Used in layout components (drawer, toolbar, content)\n * to avoid an entry animation when using SSR\n */\nexport default Vue.extend({\n name: 'ssr-bootable',\n\n data: () => ({\n isBooted: false,\n }),\n\n mounted () {\n // Use setAttribute instead of dataset\n // because dataset does not work well\n // with unit tests\n window.requestAnimationFrame(() => {\n this.$el.setAttribute('data-booted', 'true')\n this.isBooted = true\n })\n },\n})\n","// Styles\nimport './VAppBar.sass'\n\n// Extensions\nimport VToolbar from '../VToolbar/VToolbar'\n\n// Directives\nimport Scroll from '../../directives/scroll'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Scrollable from '../../mixins/scrollable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VToolbar,\n Scrollable,\n SSRBootable,\n Toggleable,\n Applicationable('top', [\n 'clippedLeft',\n 'clippedRight',\n 'computedHeight',\n 'invertedScroll',\n 'isExtended',\n 'isProminent',\n 'value',\n ])\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-app-bar',\n\n directives: { Scroll },\n\n provide (): object {\n return { VAppBar: this }\n },\n\n props: {\n clippedLeft: Boolean,\n clippedRight: Boolean,\n collapseOnScroll: Boolean,\n elevateOnScroll: Boolean,\n fadeImgOnScroll: Boolean,\n hideOnScroll: Boolean,\n invertedScroll: Boolean,\n scrollOffScreen: Boolean,\n shrinkOnScroll: Boolean,\n value: {\n type: Boolean,\n default: true,\n },\n },\n\n data () {\n return {\n isActive: this.value,\n }\n },\n\n computed: {\n applicationProperty (): string {\n return !this.bottom ? 'top' : 'bottom'\n },\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.invertedScroll ||\n this.elevateOnScroll ||\n this.hideOnScroll ||\n this.collapseOnScroll ||\n this.isBooted ||\n // If falsy, user has provided an\n // explicit value which should\n // overwrite anything we do\n !this.value\n )\n )\n },\n classes (): object {\n return {\n ...VToolbar.options.computed.classes.call(this),\n 'v-toolbar--collapse': this.collapse || this.collapseOnScroll,\n 'v-app-bar': true,\n 'v-app-bar--clipped': this.clippedLeft || this.clippedRight,\n 'v-app-bar--fade-img-on-scroll': this.fadeImgOnScroll,\n 'v-app-bar--elevate-on-scroll': this.elevateOnScroll,\n 'v-app-bar--fixed': !this.absolute && (this.app || this.fixed),\n 'v-app-bar--hide-shadow': this.hideShadow,\n 'v-app-bar--is-scrolled': this.currentScroll > 0,\n 'v-app-bar--shrink-on-scroll': this.shrinkOnScroll,\n }\n },\n scrollRatio (): number {\n const threshold = this.computedScrollThreshold\n return Math.max((threshold - this.currentScroll) / threshold, 0)\n },\n computedContentHeight (): number {\n if (!this.shrinkOnScroll) return VToolbar.options.computed.computedContentHeight.call(this)\n\n const min = this.dense ? 48 : 56\n const max = this.computedOriginalHeight\n\n return min + (max - min) * this.scrollRatio\n },\n computedFontSize (): number | undefined {\n if (!this.isProminent) return undefined\n\n const min = 1.25\n const max = 1.5\n\n return min + (max - min) * this.scrollRatio\n },\n computedLeft (): number {\n if (!this.app || this.clippedLeft) return 0\n\n return this.$vuetify.application.left\n },\n computedMarginTop (): number {\n if (!this.app) return 0\n\n return this.$vuetify.application.bar\n },\n computedOpacity (): number | undefined {\n if (!this.fadeImgOnScroll) return undefined\n\n return this.scrollRatio\n },\n computedOriginalHeight (): number {\n let height = VToolbar.options.computed.computedContentHeight.call(this)\n if (this.isExtended) height += parseInt(this.extensionHeight)\n return height\n },\n computedRight (): number {\n if (!this.app || this.clippedRight) return 0\n\n return this.$vuetify.application.right\n },\n computedScrollThreshold (): number {\n if (this.scrollThreshold) return Number(this.scrollThreshold)\n\n return this.computedOriginalHeight - (this.dense ? 48 : 56)\n },\n computedTransform (): number {\n if (\n !this.canScroll ||\n (this.elevateOnScroll && this.currentScroll === 0 && this.isActive)\n ) return 0\n\n if (this.isActive) return 0\n\n const scrollOffScreen = this.scrollOffScreen\n ? this.computedHeight\n : this.computedContentHeight\n\n return this.bottom ? scrollOffScreen : -scrollOffScreen\n },\n hideShadow (): boolean {\n if (this.elevateOnScroll && this.isExtended) {\n return this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.elevateOnScroll) {\n return this.currentScroll === 0 ||\n this.computedTransform < 0\n }\n\n return (\n !this.isExtended ||\n this.scrollOffScreen\n ) && this.computedTransform !== 0\n },\n isCollapsed (): boolean {\n if (!this.collapseOnScroll) {\n return VToolbar.options.computed.isCollapsed.call(this)\n }\n\n return this.currentScroll > 0\n },\n isProminent (): boolean {\n return (\n VToolbar.options.computed.isProminent.call(this) ||\n this.shrinkOnScroll\n )\n },\n styles (): object {\n return {\n ...VToolbar.options.computed.styles.call(this),\n fontSize: convertToUnit(this.computedFontSize, 'rem'),\n marginTop: convertToUnit(this.computedMarginTop),\n transform: `translateY(${convertToUnit(this.computedTransform)})`,\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n computedTransform () {\n // Normally we do not want the v-app-bar\n // to update the application top value\n // to avoid screen jump. However, in\n // this situation, we must so that\n // the clipped drawer can update\n // its top value when scrolled\n if (\n !this.canScroll ||\n (!this.clippedLeft && !this.clippedRight)\n ) return\n\n this.callUpdate()\n },\n invertedScroll (val: boolean) {\n this.isActive = !val || this.currentScroll !== 0\n },\n },\n\n created () {\n if (this.invertedScroll) this.isActive = false\n },\n\n methods: {\n genBackground () {\n const render = VToolbar.options.methods.genBackground.call(this)\n\n render.data = this._b(render.data || {}, render.tag!, {\n style: { opacity: this.computedOpacity },\n })\n\n return render\n },\n updateApplication (): number {\n return this.invertedScroll\n ? 0\n : this.computedHeight + this.computedTransform\n },\n thresholdMet () {\n if (this.invertedScroll) {\n this.isActive = this.currentScroll > this.computedScrollThreshold\n return\n }\n\n if (this.hideOnScroll) {\n this.isActive = this.isScrollingUp ||\n this.currentScroll < this.computedScrollThreshold\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n },\n\n render (h): VNode {\n const render = VToolbar.options.render.call(this, h)\n\n render.data = render.data || {}\n\n if (this.canScroll) {\n render.data.directives = render.data.directives || []\n render.data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return render\n },\n})\n","// Components\nimport VIcon from '../VIcon'\nimport VBtn from '../VBtn/VBtn'\n\n// Types\nimport Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'v-app-bar-nav-icon',\n\n functional: true,\n\n render (h, { slots, listeners, props, data }) {\n const d = Object.assign(data, {\n staticClass: (`v-app-bar__nav-icon ${data.staticClass || ''}`).trim(),\n props: {\n ...props,\n icon: true,\n },\n on: listeners,\n })\n\n const defaultSlot = slots().default\n\n return h(VBtn, d, defaultSlot || [h(VIcon, '$menu')])\n },\n})\n","// Styles\nimport './VMain.sass'\n\n// Mixins\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default SSRBootable.extend({\n name: 'v-main',\n\n props: {\n tag: {\n type: String,\n default: 'main',\n },\n },\n\n computed: {\n styles (): object {\n const {\n bar, top, right, footer, insetFooter, bottom, left,\n } = this.$vuetify.application\n\n return {\n paddingTop: `${top + bar}px`,\n paddingRight: `${right}px`,\n paddingBottom: `${footer + insetFooter + bottom}px`,\n paddingLeft: `${left}px`,\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-main',\n style: this.styles,\n ref: 'main',\n }\n\n return h(this.tag, data, [\n h(\n 'div',\n { staticClass: 'v-main__wrap' },\n this.$slots.default\n ),\n ])\n },\n})\n","// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n","import VOverlay from './VOverlay'\n\nexport { VOverlay }\n\nexport default VOverlay\n","// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent & KeyboardEvent) {\n if (e.type === 'keydown') {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ['auto', 'scroll'].includes(style.overflowY!) && el.scrollHeight > el.clientHeight\n },\n shouldScroll (el: Element, delta: number) {\n if (el.scrollTop === 0 && delta < 0) return true\n return el.scrollTop + el.clientHeight === el.scrollHeight && delta > 0\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = e.path || this.composedPath(e)\n const delta = e.deltaY\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return this.shouldScroll(dialog, delta)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return this.shouldScroll(el as Element, delta)\n }\n\n return true\n },\n /**\n * Polyfill for Event.prototype.composedPath\n */\n composedPath (e: WheelEvent): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n","import { VNodeDirective, VNode } from 'vue/types/vnode'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && (touchendY < touchstartY - minDistance) && wrapper.up(wrapper)\n wrapper.down && (touchendY > touchstartY + minDistance) && wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start &&\n wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end &&\n wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const value = binding.value!\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value!)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.context!._uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\n const target = binding.value!.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.context!._uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.context!._uid]\n}\n\nexport const Touch = {\n inserted,\n unbind,\n}\n\nexport default Touch\n","// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=dfd2fc88&\"\nimport script from \"./Layout.vue?vue&type=script&lang=ts&\"\nexport * from \"./Layout.vue?vue&type=script&lang=ts&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VAppBarNavIcon,VBtn,VCard,VCardActions,VCardTitle,VContainer,VIcon,VImg,VList,VListItem,VListItemContent,VListItemGroup,VListItemIcon,VListItemTitle,VMain,VNavigationDrawer,VOverlay,VSpacer,VSubheader,VToolbarTitle})\n","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","// Styles\nimport './VApp.sass'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n Themeable\n).extend({\n name: 'v-app',\n\n props: {\n dark: {\n type: Boolean,\n default: undefined,\n },\n id: {\n type: String,\n default: 'app',\n },\n light: {\n type: Boolean,\n default: undefined,\n },\n },\n\n computed: {\n isDark (): boolean {\n return this.$vuetify.theme.dark\n },\n },\n\n beforeCreate () {\n if (!this.$vuetify || (this.$vuetify === this.$root as any)) {\n throw new Error('Vuetify is not properly initialized, see https://vuetifyjs.com/getting-started/quick-start#bootstrapping-the-vuetify-object')\n }\n },\n\n render (h) {\n const wrapper = h('div', { staticClass: 'v-application--wrap' }, this.$slots.default)\n\n return h('div', {\n staticClass: 'v-application',\n class: {\n 'v-application--is-rtl': this.$vuetify.rtl,\n 'v-application--is-ltr': !this.$vuetify.rtl,\n ...this.themeClasses,\n },\n attrs: { 'data-app': true },\n domProps: { id: this.id },\n }, [wrapper])\n },\n})\n","var map = {\n\t\"./Esagoni.jpg\": \"6314\",\n\t\"./Piatti.jpg\": \"d286\",\n\t\"./Quadri.jpg\": \"a1f8\",\n\t\"./Speciali.jpg\": \"6057\",\n\t\"./Tondi.jpg\": \"13a8\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"7584\";","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar $endsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAABkCAMAAABw3mgXAAABLFBMVEUAAAClqa2hpan///+Wm5////+/wsX///////+9wMOssLTP0dO2ubzNz9GMkZa4u76nq6+TmJyOlJikqKzBxMaQlZqwtLf///////+eo6aprbH///+XnaGcoaXBxMa1uLv///+5vL////////////////////+3ur2/wsWZnqKytrm5vcC6vcD///++wcT///+rr7OusrWxtLj///+3u73///////++wcS+wcSytbm7vsGip6r///////+qrrL///+tsbT///+4u77///////+wtLe0t7r///////+8v8L///////+/wsW/wsX///////////////////+6vsH///////////+7vsG7v8G8v8K8wML///////////////+2ur2DiY7///+Kj5SGjJEGPLwoAAAAYHRSTlMA3OeQ92Af0A88wAKHBv5w1vr93gv8rSD97M4Z9fASkddqCfjutaGCGPOeZWBDKfPFt6mVfXtPMiykWePgy8nAvZp1PCWxmIh1RzYwJSLmu61xXFxpZVZTTUpBOoFILIXS4DR8AAAGx0lEQVRo3u2a2ULaQBiFfyK4peygsrtQUcQqilrFfW2ta22r1i4Def93KOWfLYFBIdN6w3dDklFyMnPmzBKgT58+3eL3ki4pgnbGSLcELkEz7+uka0KgmSjpgS3QyhTphXnzH7jSGHUQqhqZjFENLY86CZO/bOp3ZTwLnLnDfSNsEUY8kcyNgESBelO7K3NAuVhJWKSVePJQ1H8GvanblRlAgoZFVESWNwC5wwt3ml2JXv+dJh2xPN9l5WlTpyuxZu/mX5IPF9BgxEJv6nRl/R1ANmR/aK+RHB0bOxkNJcL2rDyFBrt4fKHRlWMAJflWmfJUFgSDlWV5cDEuAQYDWC/6XBmOwabwY/hkA1p5XA6InrLFh5uSNldW/EnCSBdUbosVeWVZbyCGJ2m/rqyMGfwZcyaoia3w2tiEHB6s6HGl9cA1hOagM++qXIU5Tz2txZW7Ueb7Q3ieHDNPjralR4crAyHWFFMjL+F3nfqiksGDBQ2uTBCXeP2uXVm3iFvG3LhSF/X3euaV4TBxQVTLvLL+6CVumNIxrzwFL47UPVLWsNoxAEXU4f8hXGlhY2y8ggjuyjhK2YdXERGVcyoyJ4v4MCSYBcqnIYlhkHjLL6+DxJCTneuBb9Mgs0CHqwCvCCFioCaYYf+2VpOQRTyJy29BotaO/K3Z4srAKfrinVOEYBGQa5WIA3F5IqUSIZgVKlZo2oboKKgWcQZNpmcUIqaXaoIPShGCNT4nqNNxJ9L8LHQQsQNNFmsKEZ/l65MvEDHDqstDmhw+YP+MdRAxgTc8U4m4thWcK0UIvthcacBm87MKThEyaPkdhYjxCVvBahsRR+Pj48eLwjoHsiut74CWOFGImBHfO4z3WmoRseZw/3SriHE85492I7tyGQDniCWFiGvRzuu0DzpFmJP05qzkm0qEcNUBupIHFKZEViGCPuVfI602j64GnCKOWMf7yqJCKWKdnX+VXHkKkEU1oBBxjh+fAWASb9Ui4oAZJzXBokIhws8cnB9GV7KtnhE8UokYvsJbA6SoHF7CQ4Ln6o4zKkR4+Hy+L2eT7NSHruRG2MJOohQx2/zY5mGQcorwsUYQDp3s3EUnbtGVIiSDODNTiqD3PoZZ+v1OEXui6/+SokIt4uYX/AUz0novRHiUIlLMSdvYWUUJDwnh3W1HVLSPy5sjaDBKmhReUhPUjzfH1H1OET/kaB9wREVNwaoJkI3TrQDuUbUnaM/Mf6EB7hBhsodfs+XAN5UIkRNsKV0GgI+4HaIWsU7Nhs8rl9hu+6nZB5eYSx0ifn5qsOh7K3IcADJ8KX2JMzylCExrxplTxCwrGWoyw2cVbcMKq5X2ebgX2+OYnTGVCPu4tegQMbxUa8+H9iLQWdjnAUJ8yxC3Cx/UIs7kiZ5DhK+mYLK9iHGeFdDgIoBeYAm+qRQhz2X25BIMCRXnDhHOAVceRnP0wKMUIc/q1uQSrF0Vq60izOMf3F9X8oQinsXcjpgqEfLjPjlKfqhF5KdlEUv5fN5mnxtockiXPCY2zIJaxBr/Kr9cIoXExADnSo4KtcZ1QAwM7w1cAiXVIp7EmkLhlj3gnEl/rBaxhxXPN6aj9LVFViVCRNCtQ8RsjRdwjsQCRC1iOwWMZdIkiO1RVIoAFnS/wB5jM8J3HDMvRYWqHlLAmcPRNJ3EkcSvFHFLHW3aRXwVoSAxK11tN4YOHfw0gSGGEFojRVnEuQ/xQ4MUHv8EsJUc+ShHIHHsY0yDz8H6U8oEB2YGu2eC9tbX2STZsu1hJl9BhBhCLPquZ4GKGOyRGHSPWH+kLWyQSy9xgfXR3a5Vgn64ErELPeIP4wZBmrgDl3O9UqGmrBO3FKF3DEztTeIC12/uv1tYFcsE8VaCMoU37clFCJJO63gXh3e3HqPskTbgeS4zzAlBy/WbHzGEJPh7uPrzrbsQJ0jgvsq2g91xSt9IchUk0bnHDyZ5j7i/Y0sYl5jzdEHmDxFGaERdc2Xek7wjkKH/C24p8fdHJ4RTnWpr9wepM3uyUGDLWvd4+IIsGLH9YMOeP9mpXSlSAzkAE88T2rb7cUF2ESUyac9+rhDcClZO9z32VPU0JEORDRru4c1wDw0KYfI8iVKzaiJ00NABe++ewZOxCOmMQd92lbFd5kADYgh5Qxt/pUNtBJKs9i/qmn+AJ6Z4SCkUaDtUeiqiNyb1/aQG+Wg5Q8df2s/Yxta4cXJnto46C6CP3Xbxa44cFsujyd3RsVxpEBxU6XaXRuaw+r3Gi2GqdVIkvVAGrZhdT/Fw0NDLAumeAugmSrolAdrZ6Ha2az1Cnz59+vwr/gBx5v48EvYjhwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/jpeg;base64,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\"","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","module.exports = \"data:image/jpeg;base64,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\""],"sourceRoot":""}