{"version":3,"sources":["webpack:///./src/views/livestation.vue?b976","webpack:///src/views/livestation.vue","webpack:///./src/views/livestation.vue?c062","webpack:///./src/views/livestation.vue","webpack:///./src/assets/emu.png","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadioGroup.js","webpack:///./node_modules/vuetify/lib/components/VForm/VForm.js","webpack:///./node_modules/vuetify/lib/mixins/rippleable/index.js","webpack:///./node_modules/vuetify/lib/components/VRadioGroup/VRadio.js","webpack:///./node_modules/vuetify/lib/components/VAutocomplete/VAutocomplete.js","webpack:///./src/views/livestation.vue?d4ef","webpack:///./node_modules/vuetify/lib/mixins/selectable/index.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","stn_dialog","expression","staticClass","_v","valid","stations","stationFilter","stn_code","North_south","on","cancel","$event","saveSation","staticStyle","_s","getStationName","nativeOn","stopPropagation","speak","curTime","_e","_l","item","up_dn","train_no","destination","wtt_dep","substring","last_stn_name","getFormattedTimeSec","status","last_stn_code","colour_code","tt","pf","staticRenderFns","name","search","dateRules","v","errors","train","train_loading","trains","train_date","format","isLoading","lastupdate","lastupdate_relative","fromNow","fetchTimer","computed","localStorage","getItem","a","defaults","headers","common","get","then","response","data","initialize","catch","e","console","log","events","EventSource","onmessage","event","setInterval","clearInterval","methods","p","start_time","params","that","trns","_","forEach","o","find","dest","last_stn_late_dep","last_stn_late_arr","last_stn_dep","last_arr_dep_time","last_stn_arr","length","push","filter","org","queryText","itemText","textOne","stn_name","toLowerCase","textTwo","searchText","indexOf","setItem","window","speechSynthesis","getVoices","voice","default","msg","SpeechSynthesisUtterance","voices","volume","rate","pitch","text","lang","onend","elapsedTime","t","lt","testDateUtc","utc","localDate","local","last_stn","Math","abs","color_code","stn","stn_obj","component","VAutocomplete","VBtn","VCard","VCardActions","VCardText","VCardTitle","VChip","VCol","VContainer","VDialog","VDivider","VForm","VIcon","VRadio","VRadioGroup","VRow","module","exports","baseMixins","radioGroup","props","column","type","Boolean","height","Number","String","row","options","classes","call","id","role","computedId","genDefaultSlot","genInputSlot","click","label","genLabel","for","tag","onClick","extend","inheritAttrs","lazyValidation","inputs","watchers","errorBag","watch","val","Object","values","includes","$emit","deep","immediate","input","watcher","$watch","$set","_uid","shouldValidate","hasOwnProperty","validate","reset","resetErrorBag","setTimeout","resetValidation","watchInput","found","i","unwatch","$delete","h","novalidate","attrs$","submit","$slots","directives","ripple","center","assign","onChange","$listeners","disabled","offIcon","onIcon","readonly","isFocused","isDisabled","themeClasses","groupClasses","computedColor","isActive","hasLabel","hasState","rippleState","validationState","args","genInput","preventDefault","color","focused","setTextColor","dense","computedIcon","computedName","genRipple","isReadonly","toggle","onKeydown","class","genRadio","defaultMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","Function","toLocaleLowerCase","hideNoData","menuProps","noFilter","searchInput","undefined","lazySearch","selectedIndex","filteredItems","selectedItems","map","getValue","hideSelected","some","hasItem","selectedItem","getText","isSearching","internalSearch","allItems","searchIsDirty","multiple","hasDisplayedItems","$_menuProps","contentClass","trim","valueComparator","internalValue","listData","items","virtualizedItems","document","addEventListener","onCopy","$refs","select","removeEventListener","updateSelf","hasSlot","oldVal","isMenuActive","activateMenu","setSearch","setMenuIndex","$nextTick","menu","getTiles","updateMenuDimensions","updateDimensions","keyCode","left","right","backspace","delete","deleteCurrentItem","index","currentItem","getDisabled","newIndex","setValue","selectItem","clearableCallback","autocomplete","domProps","slot","genSelections","onFocus","isAppendInner","target","badInput","validity","onKeyDown","changeSelectedIndex","onTabDown","setSelectedItems","selectedValues","currentItemText","clipboardData","setData","prop","inputValue","falseValue","trueValue","hasColor","lazyValue","isDark","appIsDark","Array","isArray","isMultiple","toString","checked","blur","onBlur","change","focus","keydown","ref"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,YAAY,SAASC,MAAM,CAACC,MAAOR,EAAc,WAAES,SAAS,SAAUC,GAAMV,EAAIW,WAAWD,GAAKE,WAAW,eAAe,CAACR,EAAG,SAAS,CAACS,YAAY,UAAUP,MAAM,CAAC,YAAY,MAAM,SAAW,KAAK,CAACF,EAAG,eAAe,CAACA,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,OAAO,MAAQ,GAAG,KAAO,KAAK,CAACN,EAAIc,GAAG,gDAAgDd,EAAIc,GAAG,qDAAqD,GAAGV,EAAG,YAAY,CAACS,YAAY,OAAOP,MAAM,CAAC,OAAQ,KAAQF,EAAG,cAAc,CAACA,EAAG,SAAS,CAACG,MAAM,CAACC,MAAOR,EAAS,MAAES,SAAS,SAAUC,GAAMV,EAAIe,MAAML,GAAKE,WAAW,UAAU,CAACR,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQN,EAAIgB,SAAS,OAAShB,EAAIiB,cAAc,MAAQ,QAAQ,aAAa,WAAW,YAAY,WAAW,MAAQ,UAAU,UAAY,IAAIV,MAAM,CAACC,MAAOR,EAAY,SAAES,SAAS,SAAUC,GAAMV,EAAIkB,SAASR,GAAKE,WAAW,eAAe,GAAGR,EAAG,QAAQ,CAACA,EAAG,gBAAgB,CAACE,MAAM,CAAC,IAAM,IAAIC,MAAM,CAACC,MAAOR,EAAe,YAAES,SAAS,SAAUC,GAAMV,EAAImB,YAAYT,GAAKE,WAAW,gBAAgB,CAACR,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,IAAI,MAAQ,OAAOF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,IAAI,MAAQ,OAAOF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,IAAI,MAAQ,OAAOF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,KAAK,MAAQ,QAAQF,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,KAAK,MAAQ,SAAS,IAAI,IAAI,IAAI,IAAI,GAAGF,EAAG,iBAAiB,CAACA,EAAG,MAAM,CAACS,YAAY,gBAAgBT,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,gBAAgB,KAAO,IAAIc,GAAG,CAAC,MAAQpB,EAAIqB,SAAS,CAACrB,EAAIc,GAAG,YAAYV,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,gBAAgB,KAAO,IAAIc,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAOtB,EAAIuB,gBAAgB,CAACvB,EAAIc,GAAG,WAAW,IAAI,IAAI,GAAGV,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,mBAAmB,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACA,EAAG,MAAM,CAACE,MAAM,CAAC,IAAM,EAAQ,aAA4BF,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,UAAU,aAAa,UAAU,CAACxB,EAAIc,GAAG,cAAcd,EAAIyB,GAAGzB,EAAI0B,eAAe1B,EAAIkB,cAAcd,EAAG,MAAMA,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,SAAS,KAAO,IAAIqB,SAAS,CAAC,MAAQ,SAASL,GAAQA,EAAOM,kBAAkB5B,EAAIW,YAAW,KAAQ,CAACP,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIc,GAAG,iBAAiB,IAAI,GAAGV,EAAG,MAAMA,EAAG,KAAK,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,SAAS,KAAO,IAAIqB,SAAS,CAAC,MAAQ,SAASL,GAAiC,OAAzBA,EAAOM,kBAAyB5B,EAAI6B,WAAW,CAACzB,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIc,GAAG,mBAAmB,IAAI,GAAGV,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,UAAU,aAAa,UAAU,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGzB,EAAI8B,gBAAgB1B,EAAG,QAAQ,CAACE,MAAM,CAAC,GAAK,cAAc,CAACF,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIc,GAAG,WAAWV,EAAG,KAAK,CAACJ,EAAIc,GAAG,cAAcV,EAAG,KAAK,CAACJ,EAAIc,GAAG,iBAAiBV,EAAG,KAAK,CAACJ,EAAIc,GAAG,cAAcV,EAAG,KAAK,CAACJ,EAAIc,GAAG,kBAAkBV,EAAG,KAAK,CAACJ,EAAIc,GAAG,WAA4B,QAAhBd,EAAIkB,SAAoBd,EAAG,KAAK,CAACJ,EAAIc,GAAG,QAAQd,EAAI+B,OAAO/B,EAAIgC,GAAIhC,EAAU,QAAE,SAASiC,GAAM,OAAO7B,EAAG,KAAK,CAACA,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,SAAS,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKC,UAAU9B,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,YAAY,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKE,aAAa/B,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,QAAQ,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKG,gBAAgBhC,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,YAAY,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKI,QAAQC,UAAU,EAAE,OAAOlC,EAAG,KAAK,CAACJ,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKM,kBAAkBnC,EAAG,KAAK,CAAE6B,EAAkB,cAAE7B,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,MAAQN,EAAIwC,oBAAoBP,EAAKQ,OAAQR,EAAKS,eAAeC,cAAc,CAACvC,EAAG,OAAO,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,SAAS,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGzB,EAAIwC,oBAAoBP,EAAKQ,OAAQR,EAAKS,eAAeE,SAAS5C,EAAI+B,MAAM,GAAoB,QAAhB/B,EAAIkB,SAAoBd,EAAG,KAAK,CAACoB,YAAY,CAAC,YAAY,OAAO,cAAc,OAAO,MAAQ,YAAY,CAACxB,EAAIc,GAAGd,EAAIyB,GAAGQ,EAAKY,OAAO7C,EAAI+B,WAAU,IAAI,IACp3He,EAAkB,G,sDCkHP,GACbC,KAAM,cACN,OACE,MAAO,CACLC,OAAQ,GACRjC,OAAO,EACPkC,UAAW,CAACC,KAAOA,GAAK,oBACxBC,OAAQ,GACRC,MAAO,GACPC,eAAe,EACfC,OAAQ,GACRtC,SAAS,GACTuC,WAAY,MAASC,OAAO,uBAC5BC,WAAW,EACXvC,SAAU,MACVwC,WAAY,MAASF,OAAO,YAC5BG,oBAAqB,MAASC,UAC9BC,WAAY,KACZ/B,QAAS,KACTnB,YAAY,EACZQ,YAAa,MAGjB2C,SAAU,IACL,eAAS,CAAC,cAAe,gBAAiB,aAAc,eAAgB,SAAU,SAAU,UAAW,SAAU,SAAU,YAGhI,UACE7D,KAAKiB,SAAW6C,aAAaC,QAAQ,iBACrC/D,KAAKkB,YAAc4C,aAAaC,QAAQ,eACxC,EAAAC,EAAMC,SAASC,QAAQC,OAAO,iBAAmBL,aAAaC,QAAQ,YACtE,EAAAC,EAAMI,IAAI,iDACPC,KAAKC,IACJtE,KAAKe,SAAWuD,EAASC,KACzBvE,KAAKwE,eAENC,MAAMC,IACLC,QAAQC,IAAIF,KAEd,MAAMG,EAAS,IAAIC,YAAY,yCAC/BD,EAAOE,UAAaC,IAClBhF,KAAK6B,QAAUmD,EAAMT,OAI3B,UACEvE,KAAK4D,WAAaqB,YAAY,IAAMjF,KAAKwE,aAAc,MAGzD,YACEU,cAAclF,KAAK4D,aAErBuB,QAAS,IACJ,eAAW,CAAC,oBAAqB,sBAAuB,mBAAoB,qBAAsB,eAAgB,eAAgB,gBAAiB,eAAgB,eAAgB,iBACtL,aAGEnF,KAAKwD,WAAY,EACjB,IAAI4B,EAAI,CAENC,WAAY,MAAS9B,OAAO,uBAC5BtC,SAAUjB,KAAKiB,UAEjB,EAAA+C,EAAMC,SAASC,QAAQC,OAAO,iBAAmBL,aAAaC,QAAQ,YACtE,EAAAC,EAAMI,IAAI,mDAAwD,CAC9DkB,OAAQF,IAETf,KAAKC,IACJ,IAAIiB,EAAOvF,KACPwF,EAAO,GACXC,EAAEC,QAAQpB,EAASC,MAAM,SAASoB,GAChCA,EAAExD,YAAcsD,EAAEG,KAAKL,EAAKxE,SAAU,CAAC,SAAY4E,EAAEE,OAAO,YACxDF,EAAElD,gBACHkD,EAAErD,cAAgBqD,EAAElD,eAAiBgD,EAAEG,KAAKL,EAAKxE,SAAU,CAAC,SAAY4E,EAAElD,gBAAgB,aAEzFkD,EAAEzD,SAAW,GAAK,EACpByD,EAAE1D,MAAQ,KAEV0D,EAAE1D,MAAQ,KAEe,MAAvB0D,EAAEG,kBACJH,EAAEnD,OAASmD,EAAEG,kBACmB,MAAvBH,EAAEI,kBACXJ,EAAEnD,OAASmD,EAAEI,kBAEbJ,EAAEnD,OAAS,EAES,MAAlBmD,EAAEK,aACJL,EAAEM,kBAAoBN,EAAEK,aACG,MAAlBL,EAAEO,aACXP,EAAEM,kBAAoBN,EAAEO,aAExBP,EAAEM,kBAAoB,KAEpBT,EAAKW,OAAS,GACfX,EAAKY,KAAKT,MAGM,QAAjBJ,EAAKtE,SACmB,KAApBsE,EAAKrE,YACNqE,EAAKlC,OAAUoC,EAAEY,OAAOb,GAAM,SAASG,GAAK,OAAQA,EAAEzD,SAAW,EAAI,GAAc,QAATyD,EAAEW,OAChD,KAApBtG,KAAKkB,cACdqE,EAAKlC,OAAUoC,EAAEY,OAAOb,GAAM,SAASG,GAAK,OAAQA,EAAEzD,SAAW,GAAK,GAAc,QAATyD,EAAEW,QAEpD,MAApBf,EAAKrE,YACZqE,EAAKlC,OAAUoC,EAAEY,OAAOb,GAAM,SAASG,GAAK,OAAQA,EAAEzD,SAAW,EAAI,KAC1C,MAApBqD,EAAKrE,YACVqE,EAAKlC,OAAUoC,EAAEY,OAAOb,GAAM,SAASG,GAAK,OAAQA,EAAEzD,SAAW,GAAK,KAE1EqD,EAAKlC,OAASmC,EAEhBxF,KAAKwD,WAAY,EACjB+B,EAAKjC,WAAa,MAASC,OAAO,yBAGnCkB,MAAMC,IACJC,QAAQC,IAAIF,MAInB,cAAe1C,EAAMuE,EAAWC,GAC9B,MAAMC,EAAUzE,EAAK0E,SAASC,cACxBC,EAAU5E,EAAKf,SAAS0F,cACxBE,EAAaN,EAAUI,cAC7B,OAAOF,EAAQK,QAAQD,IAAe,GAC/BD,EAAQE,QAAQD,IAAe,GAExC,aACElC,QAAQC,IAAI5E,KAAKiB,SAASjB,KAAKkB,aAC/BlB,KAAKwE,aACLV,aAAaiD,QAAQ,gBAAiB/G,KAAKiB,UAC3C6C,aAAaiD,QAAQ,cAAe/G,KAAKkB,aACzClB,KAAKU,YAAa,GAEpB,SACEV,KAAKU,YAAa,GAEpB,QACEsG,OAAOC,gBAAgBC,YAAYxB,SAAQ,SAASyB,GAClDxC,QAAQC,IAAIuC,EAAMrE,KAAMqE,EAAMC,QAAUD,EAAMC,QAAS,OAEzD,IAAIC,EAAM,IAAIC,yBACVC,EAASP,OAAOC,gBAAgBC,YACpCG,EAAIF,MAAQI,EAAO,GAEnBF,EAAIG,OAAS,EACbH,EAAII,KAAO,EACXJ,EAAIK,MAAQ,EACZL,EAAIM,KAAO3H,KAAKqD,OAAO,GAAGlB,YAAYwE,cAAgB,sCAAwC3G,KAAKqD,OAAO,GAAGT,GAC7GyE,EAAIO,KAAO,QACXP,EAAIQ,MAAQ,SAASnD,GACnBC,QAAQC,IAAI,eAAiBI,MAAM8C,YAAc,cAGnDb,gBAAgBrF,MAAMyF,IAExB,iBAAiBU,GACf,IAAIC,EAAK,IAAOD,GAAGxE,OAAO,uBACtB0E,EAAc,IAAOC,IAAIF,GACzBG,EAAY,IAAOF,GAAaG,QACpC,OAAOD,EAAU5E,OAAO,eAE1B,iBAAiBwE,GACf,OAAO,IAAOG,IAAIH,GAAGxE,OAAO,UAE9B,oBAAoBwE,EAAGM,GACrB,OAAIA,EACGN,GAAK,GACD,CAACpF,GAAG,IAAOuF,IAAkB,IAAdI,KAAKC,IAAIR,IAAWxE,OAAO,SAAUiF,WAAY,WAC9DT,EAAI,GACN,CAACpF,GAAI,IAAOuF,IAAkB,IAAdI,KAAKC,IAAIR,IAAWxE,OAAO,SAASb,YAAa,WAEjE,CAACC,GAAG,KAAMD,YAAa,WAGvB,CAACC,GAAG,KAAMD,YAAa,OAGpC,aAAaqF,GACX,GAAIA,EACF,OAAOA,EAAE1F,UAAU,EAAG,IAG1B,eAAeoG,GACZ,IAAIC,EAAWjD,EAAEG,KAAK5F,KAAKe,SAAU,CAAC,SAAY0H,IAClD,GAAIC,EACF,OAAOA,EAAQ,eC7SuO,I,qNCQ3PC,EAAY,eACd,EACA7I,EACA+C,GACA,EACA,KACA,WACA,MAIa,aAAA8F,EAAiB,QAoBhC,IAAkBA,EAAW,CAACC,gBAAA,KAAcC,OAAA,KAAKC,QAAA,KAAMC,aAAA,OAAaC,UAAA,OAAUC,WAAA,OAAWC,QAAA,KAAMC,OAAA,KAAKC,aAAA,KAAWC,UAAA,KAAQC,WAAA,KAASC,QAAA,KAAMC,QAAA,KAAMC,SAAA,KAAOC,cAAA,KAAYC,OAAA,Q,uBCvC/JC,EAAOC,QAAU,IAA0B,wB,+GCA3C,wEAUA,MAAMC,EAAa,eAAO,OAAY,OAAe,QAGtC,OAAAA,EAAA,QACbhH,KAAM,gBAEN,UACE,MAAO,CACLiH,WAAY/J,OAIhBgK,MAAO,CACLC,OAAQ,CACNC,KAAMC,QACN/C,SAAS,GAEXgD,OAAQ,CACNF,KAAM,CAACG,OAAQC,QACflD,QAAS,QAEXtE,KAAMwH,OACNC,IAAKJ,QAIL5J,MAAO,MAETsD,SAAU,CACR,UACE,MAAO,IAAK,OAAO2G,QAAQ3G,SAAS4G,QAAQC,KAAK1K,MAC/C,oDAAoD,EACpD,+BAAgCA,KAAKiK,SAAWjK,KAAKuK,IACrD,4BAA6BvK,KAAKuK,OAKxCpF,QAAS,CACP,iBACE,OAAOnF,KAAKE,eAAe,MAAO,CAChCU,YAAa,8BACbP,MAAO,CACLsK,GAAI3K,KAAK2K,GACTC,KAAM,aACN,kBAAmB5K,KAAK6K,aAEzB,OAAOL,QAAQrF,QAAQ2F,eAAeJ,KAAK1K,QAGhD,eACE,MAAMF,EAAS,OAAO0K,QAAQrF,QAAQ4F,aAAaL,KAAK1K,MAExD,cADOF,EAAOyE,KAAKpD,GAAG6J,MACflL,GAGT,WACE,MAAMmL,EAAQ,OAAOT,QAAQrF,QAAQ+F,SAASR,KAAK1K,MACnD,OAAKiL,GACLA,EAAM1G,KAAKlE,MAAMsK,GAAK3K,KAAK6K,kBAEpBI,EAAM1G,KAAKlE,MAAM8K,IACxBF,EAAMG,IAAM,SACLH,GALY,MAQrBI,QAAS,OAAcb,QAAQrF,QAAQkG,Y,oCC5E3C,wCAMe,sBAAO,OAAY,eAAmB,SAEnDC,OAAO,CACPxI,KAAM,SACNyI,cAAc,EACdvB,MAAO,CACLwB,eAAgBrB,QAChB5J,MAAO4J,SAET5F,KAAM,KAAM,CACVkH,OAAQ,GACRC,SAAU,GACVC,SAAU,KAEZC,MAAO,CACLD,SAAU,CACR,QAAQE,GACN,MAAM3I,EAAS4I,OAAOC,OAAOF,GAAKG,UAAS,GAC3ChM,KAAKiM,MAAM,SAAU/I,IAGvBgJ,MAAM,EACNC,WAAW,IAGfhH,QAAS,CACP,WAAWiH,GACT,MAAMC,EAAUD,IACd,OAAOA,EAAME,OAAO,WAAYT,IAC9B7L,KAAKuM,KAAKvM,KAAK2L,SAAUS,EAAMI,KAAMX,IACpC,CACDM,WAAW,KAITT,EAAW,CACfc,KAAMJ,EAAMI,KACZ1L,MAAO,OACP2L,eAAgB,QAelB,OAZIzM,KAAKwL,eAEPE,EAASe,eAAiBL,EAAME,OAAO,iBAAkBT,IAClDA,IAED7L,KAAK2L,SAASe,eAAeN,EAAMI,QACvCd,EAAS5K,MAAQuL,EAAQD,OAG3BV,EAAS5K,MAAQuL,EAAQD,GAGpBV,GAIT,WACE,OAAqE,IAA9D1L,KAAKyL,OAAOpF,OAAO+F,IAAUA,EAAMO,UAAS,IAAOxG,QAI5D,QACEnG,KAAKyL,OAAO/F,QAAQ0G,GAASA,EAAMQ,SACnC5M,KAAK6M,iBAGP,gBACM7M,KAAKwL,gBAEPsB,WAAW,KACT9M,KAAK2L,SAAW,IACf,IAKP,kBACE3L,KAAKyL,OAAO/F,QAAQ0G,GAASA,EAAMW,mBACnC/M,KAAK6M,iBAGP,SAAST,GACPpM,KAAKyL,OAAOrF,KAAKgG,GACjBpM,KAAK0L,SAAStF,KAAKpG,KAAKgN,WAAWZ,KAGrC,WAAWA,GACT,MAAMa,EAAQjN,KAAKyL,OAAO7F,KAAKsH,GAAKA,EAAEV,OAASJ,EAAMI,MACrD,IAAKS,EAAO,OACZ,MAAME,EAAUnN,KAAK0L,SAAS9F,KAAKsH,GAAKA,EAAEV,OAASS,EAAMT,MAErDW,IACFA,EAAQrM,QACRqM,EAAQV,kBAGVzM,KAAK0L,SAAW1L,KAAK0L,SAASrF,OAAO6G,GAAKA,EAAEV,OAASS,EAAMT,MAC3DxM,KAAKyL,OAASzL,KAAKyL,OAAOpF,OAAO6G,GAAKA,EAAEV,OAASS,EAAMT,MACvDxM,KAAKoN,QAAQpN,KAAK2L,SAAUsB,EAAMT,QAKtC,OAAOa,GACL,OAAOA,EAAE,OAAQ,CACfzM,YAAa,SACbP,MAAO,CACLiN,YAAY,KACTtN,KAAKuN,QAEVpM,GAAI,CACFqM,OAAQ9I,GAAK1E,KAAKiM,MAAM,SAAUvH,KAEnC1E,KAAKyN,OAAOrG,a,kCCxHnB,4BAIe,oBAAIkE,OAAO,CACxBxI,KAAM,aACN4K,WAAY,CACVC,OAAA,QAEF3D,MAAO,CACL2D,OAAQ,CACNzD,KAAM,CAACC,QAAS2B,QAChB1E,SAAS,IAGbjC,QAAS,CACP,UAAUZ,EAAO,IACf,OAAKvE,KAAK2N,QACVpJ,EAAK3D,YAAc,sCACnB2D,EAAKmJ,WAAanJ,EAAKmJ,YAAc,GACrCnJ,EAAKmJ,WAAWtH,KAAK,CACnBtD,KAAM,SACNvC,MAAO,CACLqN,QAAQ,KAGZrJ,EAAKpD,GAAK2K,OAAO+B,OAAO,CACtB7C,MAAOhL,KAAK8N,UACX9N,KAAK+N,YACD/N,KAAKE,eAAe,MAAOqE,IAZT,MAe3B,iB,oCChCJ,kJAeA,MAAMuF,EAAa,eAAO,OAAY,OAAW,OAAY,eAAiB,cAAe,QAG9E,OAAAA,EAAA,iBACbhH,KAAM,UACNyI,cAAc,EACdvB,MAAO,CACLgE,SAAU7D,QACVQ,GAAIL,OACJW,MAAOX,OACPxH,KAAMwH,OACN2D,QAAS,CACP/D,KAAMI,OACNlD,QAAS,aAEX8G,OAAQ,CACNhE,KAAMI,OACNlD,QAAS,YAEX+G,SAAUhE,QACV5J,MAAO,CACL6G,QAAS,OAGb7C,KAAM,KAAM,CACV6J,WAAW,IAEbvK,SAAU,CACR,UACE,MAAO,CACL,uBAAwB7D,KAAKqO,WAC7B,sBAAuBrO,KAAKoO,aACzBpO,KAAKsO,gBACLtO,KAAKuO,eAIZ,gBACE,OAAO,OAAW/D,QAAQ3G,SAAS2K,cAAc9D,KAAK1K,OAGxD,eACE,OAAOA,KAAKyO,SAAWzO,KAAKkO,OAASlO,KAAKiO,SAG5C,aACE,OAAO,OAAOzD,QAAQ3G,SAASgH,WAAWH,KAAK1K,OAGjD0O,SAAU,OAAOlE,QAAQ3G,SAAS6K,SAElC,WACE,OAAQ1O,KAAK+J,YAAc,IAAI4E,UAGjC,aACE,OAAO3O,KAAKgO,aAAehO,KAAK+J,YAAc,IAAIiE,UAGpD,aACE,OAAOhO,KAAKmO,aAAenO,KAAK+J,YAAc,IAAIoE,UAGpD,eACE,OAAInO,KAAK8C,OAAS9C,KAAK+J,WACd/J,KAAK8C,KAGP9C,KAAK+J,WAAWjH,MAAQ,SAAS9C,KAAK+J,WAAWyC,QAG1D,cACE,OAAO,OAAWhC,QAAQ3G,SAAS+K,YAAYlE,KAAK1K,OAGtD,kBACE,OAAQA,KAAK+J,YAAc,IAAI8E,iBAAmB7O,KAAKwO,gBAI3DrJ,QAAS,CACP,SAAS2J,GAIP,OAAO,OAAWtE,QAAQrF,QAAQ4J,SAASrE,KAAK1K,KAAM,QAAS8O,IAGjE,WACE,OAAK9O,KAAK0O,SACH1O,KAAKE,eAAe,OAAQ,CACjCiB,GAAI,CACF6J,MAAOtG,IAILA,EAAEsK,iBACFhP,KAAK8N,aAGTzN,MAAO,CACL8K,IAAKnL,KAAK6K,YAEZb,MAAO,CACLiF,MAAOjP,KAAK6O,gBACZK,QAASlP,KAAK2O,WAEf,eAAQ3O,KAAM,UAAYA,KAAKiL,OAlBP,MAqB7B,WACE,OAAOjL,KAAKE,eAAe,MAAO,CAChCU,YAAa,sCACZ,CAACZ,KAAKE,eAAe,OAAOF,KAAKmP,aAAanP,KAAK6O,gBAAiB,CACrE7E,MAAO,CACLoF,MAAOpP,KAAK+J,YAAc/J,KAAK+J,WAAWqF,SAE1CpP,KAAKqP,cAAerP,KAAK+O,SAAS,CACpCjM,KAAM9C,KAAKsP,aACX/O,MAAOP,KAAKO,SACTP,KAAKuN,SACNvN,KAAKuP,UAAUvP,KAAKmP,aAAanP,KAAK4O,iBAG5C,QAAQlK,GACN1E,KAAKoO,WAAY,EACjBpO,KAAKiM,MAAM,QAASvH,IAGtB,OAAOA,GACL1E,KAAKoO,WAAY,EACjBpO,KAAKiM,MAAM,OAAQvH,IAGrB,WACM1E,KAAKqO,YAAcrO,KAAKwP,YAAcxP,KAAKyO,UAC/CzO,KAAKyP,UAGPC,UAAW,QAGb,OAAOrC,GACL,MAAM9I,EAAO,CACX3D,YAAa,UACb+O,MAAO3P,KAAKyK,SAEd,OAAO4C,EAAE,MAAO9I,EAAM,CAACvE,KAAK4P,WAAY5P,KAAKkL,iB,yDClKjD,8DAQA,MAAM2E,EAAmB,IAAK,OAC5BC,SAAS,EACTC,gBAAgB,EAChBC,YAAY,GAIC,cAAQ1E,OAAO,CAC5BxI,KAAM,iBACNkH,MAAO,CACLiG,cAAe,CACb/F,KAAMC,QACN/C,SAAS,GAEX8I,gBAAiB,CACfhG,KAAMC,QACN/C,SAAS,GAEXf,OAAQ,CACN6D,KAAMiG,SACN/I,QAAS,CAACpF,EAAMuE,EAAWC,KACzB,OAAOA,EAAS4J,oBAAoBtJ,QAAQP,EAAU6J,sBAAwB,IAGlFC,WAAYlG,QACZmG,UAAW,CACTpG,KAAM,OAAQM,QAAQR,MAAMsG,UAAUpG,KACtC9C,QAAS,IAAMyI,GAEjBU,SAAUpG,QACVqG,YAAa,CACXtG,KAAMI,OACNlD,aAASqJ,IAIb,OACE,MAAO,CACLC,WAAY1Q,KAAKwQ,cAIrB3M,SAAU,CACR,UACE,MAAO,IAAK,OAAQ2G,QAAQ3G,SAAS4G,QAAQC,KAAK1K,MAChD,kBAAkB,EAClB,qCAAsCA,KAAK2Q,eAAiB,IAIhE,gBACE,OAAO3Q,KAAK4Q,eAGd,iBACE,OAAO5Q,KAAK6Q,cAAcC,IAAI9O,GAAQhC,KAAK+Q,SAAS/O,KAGtD,oBACE,OAAOhC,KAAKgR,aAAehR,KAAK4Q,cAAcK,KAAKjP,IAAShC,KAAKkR,QAAQlP,IAAShC,KAAK4Q,cAAczK,OAAS,GAGhH,eACE,OAAyB,MAArBnG,KAAKmR,aAA6B,EAC/B7G,OAAOtK,KAAKoR,QAAQpR,KAAKmR,eAAehL,QAGjD,gBACE,OAAKnG,KAAKqR,aAAerR,KAAKuQ,UAAmC,MAAvBvQ,KAAKsR,eAA+BtR,KAAKuR,SAC5EvR,KAAKuR,SAASlL,OAAOrE,GAAQhC,KAAKqG,OAAOrE,EAAMsI,OAAOtK,KAAKsR,gBAAiBhH,OAAOtK,KAAKoR,QAAQpP,OAGzGsP,eAAgB,CACd,MACE,OAAOtR,KAAK0Q,YAGd,IAAI7E,GACF7L,KAAK0Q,WAAa7E,EAClB7L,KAAKiM,MAAM,sBAAuBJ,KAKtC,oBACE,OAAO,GAGT,UACE,OAAO7L,KAAKwR,eAAiBxR,KAAK6Q,cAAc1K,OAAS,GAG3D,cACE,OAAOnG,KAAKyR,UAAYzR,KAAKwR,eAAiBxR,KAAKwR,eAAiBxR,KAAKsR,iBAAmBtR,KAAKoR,QAAQpR,KAAKmR,eAGhH,cACE,QAAKnR,KAAKoO,YACHpO,KAAK0R,oBAAsB1R,KAAKqQ,aAGzC,cACE,MAAMrG,EAAQ,OAAQQ,QAAQ3G,SAAS8N,YAAYjH,KAAK1K,MAExD,OADAgK,EAAM4H,aAAe,2BAA2B5H,EAAM4H,cAAgB,KAAKC,OACpE,IAAKhC,KACP7F,IAIP,gBACE,OAA8B,MAAvBhK,KAAKsR,gBAAkD,KAAxBtR,KAAKsR,gBAG7C,eACE,OAAItR,KAAKyR,SAAiB,KACnBzR,KAAK6Q,cAAcjL,KAAKsH,IAC7B,OAAOlN,KAAK8R,gBAAgB9R,KAAK+Q,SAAS7D,GAAIlN,KAAK+Q,SAAS/Q,KAAK+R,mBAIrE,WACE,MAAMxN,EAAO,OAAQiG,QAAQ3G,SAASmO,SAAStH,KAAK1K,MAMpD,OALAuE,EAAKyF,MAAQ,IAAKzF,EAAKyF,MACrBiI,MAAOjS,KAAKkS,iBACZ3B,SAAUvQ,KAAKuQ,WAAavQ,KAAKqR,cAAgBrR,KAAK4Q,cAAczK,OACpEqK,YAAaxQ,KAAKsR,gBAEb/M,IAIXqH,MAAO,CACLgF,cAAe,yBACfmB,cAAe,YAEf,UAAUlG,GACJA,GACFsG,SAASC,iBAAiB,OAAQpS,KAAKqS,QACvCrS,KAAKsS,MAAMlG,OAASpM,KAAKsS,MAAMlG,MAAMmG,WAErCJ,SAASK,oBAAoB,OAAQxS,KAAKqS,QAC1CrS,KAAKyS,eAIT,aAAa5G,IACPA,GAAQ7L,KAAK0S,UACjB1S,KAAK0Q,gBAAaD,IAGpB,MAAM5E,EAAK8G,GAMHA,GAAUA,EAAOxM,SAAWnG,KAAKqQ,aAAcrQ,KAAKoO,WAAcpO,KAAK4S,eAAgB/G,EAAI1F,QAAQnG,KAAK6S,gBAGhH,YAAYhH,GACV7L,KAAK0Q,WAAa7E,GAGpByF,eAAgB,0BAChB9K,SAAU,cAGZ,UACExG,KAAK8S,aAGP3N,QAAS,CACP,uBAAuB0G,EAAK8G,GAGtB9G,IAAQ8G,IACZ3S,KAAK+S,cAAc,GACnB/S,KAAKgT,UAAU,KACRhT,KAAKsR,iBAAiC,IAAfzF,EAAI1F,QAAiBnG,KAAKkQ,mBACtDlQ,KAAKsS,MAAMW,KAAKC,WAChBlT,KAAK+S,aAAa,QAItB,0BACE/S,KAAKmT,wBAGP,uBAEEnT,KAAK4S,cAAgB5S,KAAKsS,MAAMW,MAAQjT,KAAKsS,MAAMW,KAAKG,oBAG1D,oBAAoBC,GAGdrT,KAAKwR,gBAELxR,KAAKyR,UAAY4B,IAAY,OAASC,MACZ,IAAxBtT,KAAK2Q,cACP3Q,KAAK2Q,cAAgB3Q,KAAK6Q,cAAc1K,OAAS,EAEjDnG,KAAK2Q,gBAEE3Q,KAAKyR,UAAY4B,IAAY,OAASE,MAC3CvT,KAAK2Q,eAAiB3Q,KAAK6Q,cAAc1K,OAAS,EACpDnG,KAAK2Q,eAAiB,EAEtB3Q,KAAK2Q,gBAEE0C,IAAY,OAASG,WAAaH,IAAY,OAASI,QAChEzT,KAAK0T,sBAIT,oBACE,GAAI1T,KAAKmO,SAAU,OACnB,MAAMwF,EAAQ3T,KAAK6Q,cAAc1K,OAAS,EAE1C,IAA4B,IAAxBnG,KAAK2Q,eAAkC,IAAVgD,EAE/B,YADA3T,KAAK2Q,cAAgBgD,GAIvB,MAAMC,EAAc5T,KAAK6Q,cAAc7Q,KAAK2Q,eAC5C,GAAI3Q,KAAK6T,YAAYD,GAAc,OACnC,MAAME,EAAW9T,KAAK2Q,gBAAkBgD,EAAQ3T,KAAK2Q,cAAgB,EAAI3Q,KAAK6Q,cAAc7Q,KAAK2Q,cAAgB,GAAK3Q,KAAK2Q,eAAiB,GAE1H,IAAdmD,EACF9T,KAAK+T,SAAS/T,KAAKyR,SAAW,QAAKhB,GAEnCzQ,KAAKgU,WAAWJ,GAGlB5T,KAAK2Q,cAAgBmD,GAGvB,oBACE9T,KAAKsR,oBAAiBb,EACtB,OAAQjG,QAAQrF,QAAQ8O,kBAAkBvJ,KAAK1K,OAGjD,WACE,MAAMoM,EAAQ,OAAW5B,QAAQrF,QAAQ4J,SAASrE,KAAK1K,MAUvD,OATAoM,EAAM7H,KAAO,eAAU6H,EAAM7H,KAAM,CACjClE,MAAO,CACL,wBAAyB,eAAqBL,KAAKsS,MAAMW,KAAM,iBAC/DiB,aAAc,eAAqB9H,EAAM7H,KAAM,qBAAsB,QAEvE4P,SAAU,CACR5T,MAAOP,KAAKsR,kBAGTlF,GAGT,eACE,MAAMgI,EAAO,OAAQ5J,QAAQrF,QAAQ4F,aAAaL,KAAK1K,MAEvD,OADAoU,EAAK7P,KAAKlE,MAAMuK,KAAO,WAChBwJ,GAGT,gBACE,OAAOpU,KAAK0S,SAAW1S,KAAKyR,SAAW,OAAQjH,QAAQrF,QAAQkP,cAAc3J,KAAK1K,MAAQ,IAG5F,QAAQ0E,GACF1E,KAAKqO,aACTrO,KAAK2Q,eAAiB,EAAI3Q,KAAK2Q,eAAiB,EAAI3Q,KAAKsU,UACpDtU,KAAKuU,cAAc7P,EAAE8P,SAASxU,KAAK6S,iBAG1C,QAAQnO,GACN,GAAI1E,KAAK2Q,eAAiB,IAAMjM,EAAE8P,OAAQ,OAC1C,MAAMA,EAAS9P,EAAE8P,OACXjU,EAAQiU,EAAOjU,MAEjBiU,EAAOjU,OAAOP,KAAK6S,eACvB7S,KAAKsR,eAAiB/Q,EACtBP,KAAKyU,SAAWD,EAAOE,UAAYF,EAAOE,SAASD,UAGrD,UAAU/P,GACR,MAAM2O,EAAU3O,EAAE2O,QAClB,OAAQ7I,QAAQrF,QAAQwP,UAAUjK,KAAK1K,KAAM0E,GAK7C1E,KAAK4U,oBAAoBvB,IAG3B,YAAY3O,KAEZ,UAAUA,GACR,OAAQ8F,QAAQrF,QAAQ0P,UAAUnK,KAAK1K,KAAM0E,GAC7C1E,KAAKyS,cAGP,SAAS/N,GAEPA,EAAEsK,iBAIFhP,KAAK6S,gBAGP,WAAW7Q,GACT,OAAQwI,QAAQrF,QAAQ6O,WAAWtJ,KAAK1K,KAAMgC,GAC9ChC,KAAK8S,aAGP,mBACE,OAAQtI,QAAQrF,QAAQ2P,iBAAiBpK,KAAK1K,MAGzCA,KAAKoO,WAAWpO,KAAK8S,aAG5B,YAGE9S,KAAKgT,UAAU,KACRhT,KAAKyR,UAAazR,KAAKsR,gBAAmBtR,KAAK4S,eAClD5S,KAAKsR,gBAAkBtR,KAAK6Q,cAAc1K,QAAUnG,KAAKyR,UAAYzR,KAAK0S,QAAU,KAAO1S,KAAKoR,QAAQpR,KAAKmR,kBAKnH,cACOnR,KAAKwR,eAAkBxR,KAAK+R,iBAE5B/R,KAAK8R,gBAAgB9R,KAAKsR,eAAgBtR,KAAK+Q,SAAS/Q,KAAK+R,iBAChE/R,KAAK8S,cAIT,QAAQ9Q,GACN,OAAOhC,KAAK+U,eAAejO,QAAQ9G,KAAK+Q,SAAS/O,KAAU,GAG7D,OAAOgD,GACL,IAA4B,IAAxBhF,KAAK2Q,cAAsB,OAC/B,MAAMiD,EAAc5T,KAAK6Q,cAAc7Q,KAAK2Q,eACtCqE,EAAkBhV,KAAKoR,QAAQwC,GACrC5O,EAAMiQ,cAAcC,QAAQ,aAAcF,GAC1ChQ,EAAMiQ,cAAcC,QAAQ,2CAA4CF,GACxEhQ,EAAMgK,sB,kCCpWZ,yBAAkiB,EAAG,G,yDCAriB,oDASe,sBAAO,OAAQ,OAAY,QAAY1D,OAAO,CAC3DxI,KAAM,aACNxC,MAAO,CACL6U,KAAM,aACNnQ,MAAO,UAETgF,MAAO,CACLW,GAAIL,OACJ8K,WAAY,KACZC,WAAY,KACZC,UAAW,KACX7D,SAAU,CACRvH,KAAMC,QACN/C,QAAS,MAEX6D,MAAOX,QAGT,OACE,MAAO,CACLiL,SAAUvV,KAAKoV,WACfI,UAAWxV,KAAKoV,aAIpBvR,SAAU,CACR,gBACE,GAAK7D,KAAKyO,SACV,OAAIzO,KAAKiP,MAAcjP,KAAKiP,MACxBjP,KAAKyV,SAAWzV,KAAK0V,UAAkB,QACpC,WAGT,aACE,OAAyB,IAAlB1V,KAAKyR,UAAuC,OAAlBzR,KAAKyR,UAAqBkE,MAAMC,QAAQ5V,KAAK+R,gBAGhF,WACE,MAAMxR,EAAQP,KAAKO,MACb6L,EAAQpM,KAAK+R,cAEnB,OAAI/R,KAAK6V,aACFF,MAAMC,QAAQxJ,IACZA,EAAM6E,KAAKjP,GAAQhC,KAAK8R,gBAAgB9P,EAAMzB,SAGhCkQ,IAAnBzQ,KAAKsV,gBAA+C7E,IAApBzQ,KAAKqV,WAChC9U,EAAQP,KAAK8R,gBAAgBvR,EAAO6L,GAASjC,QAAQiC,GAGvDpM,KAAK8R,gBAAgB1F,EAAOpM,KAAKsV,YAG1C,UACE,OAAOtV,KAAKyO,UAGd,cACE,OAAQzO,KAAKgO,UAAahO,KAAK6O,gBAA8B7O,KAAK6O,gBAAjB,YAIrDjD,MAAO,CACL,WAAWC,GACT7L,KAAKwV,UAAY3J,EACjB7L,KAAKuV,SAAW1J,IAIpB1G,QAAS,CACP,WACE,MAAM8F,EAAQ,OAAOT,QAAQrF,QAAQ+F,SAASR,KAAK1K,MACnD,OAAKiL,GACLA,EAAM1G,KAAKpD,GAAK,CACd6J,MAAOtG,IAILA,EAAEsK,iBACFhP,KAAK8N,aAGF7C,GAVYA,GAarB,SAASf,EAAM7J,GACb,OAAOL,KAAKE,eAAe,QAAS,CAClCG,MAAOyL,OAAO+B,OAAO,CACnB,eAAgB7N,KAAKyO,SAASqH,WAC9B9H,SAAUhO,KAAKqO,WACf1D,GAAI3K,KAAK6K,WACTD,KAAMV,EACNA,QACC7J,GACH8T,SAAU,CACR5T,MAAOP,KAAKO,MACZwV,QAAS/V,KAAKyO,UAEhBtN,GAAI,CACF6U,KAAMhW,KAAKiW,OACXC,OAAQlW,KAAK8N,SACbqI,MAAOnW,KAAKsU,QACZ8B,QAASpW,KAAK0P,WAEhB2G,IAAK,WAIT,SACErW,KAAKoO,WAAY,GAGnB,WACE,GAAIpO,KAAKqO,WAAY,OACrB,MAAM9N,EAAQP,KAAKO,MACnB,IAAI6L,EAAQpM,KAAK+R,cAEjB,GAAI/R,KAAK6V,WAAY,CACdF,MAAMC,QAAQxJ,KACjBA,EAAQ,IAGV,MAAMjG,EAASiG,EAAMjG,OACrBiG,EAAQA,EAAM/F,OAAOrE,IAAShC,KAAK8R,gBAAgB9P,EAAMzB,IAErD6L,EAAMjG,SAAWA,GACnBiG,EAAMhG,KAAK7F,QAGb6L,OAD4BqE,IAAnBzQ,KAAKsV,gBAA+C7E,IAApBzQ,KAAKqV,WACtCrV,KAAK8R,gBAAgB1F,EAAOpM,KAAKsV,WAAatV,KAAKqV,WAAarV,KAAKsV,UACpE/U,EACDP,KAAK8R,gBAAgB1F,EAAO7L,GAAS,KAAOA,GAE3C6L,EAGXpM,KAAK2M,UAAS,EAAMP,GACpBpM,KAAK+R,cAAgB3F,EACrBpM,KAAKuV,SAAWnJ,GAGlB,UACEpM,KAAKoO,WAAY,GAInB,UAAU1J","file":"js/chunk-f505b9e4.2aff397a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-dialog',{attrs:{\"max-width\":\"800px\"},model:{value:(_vm.stn_dialog),callback:function ($$v) {_vm.stn_dialog=$$v},expression:\"stn_dialog\"}},[_c('v-card',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"800\",\"outlined\":\"\"}},[_c('v-card-title',[_c('v-icon',{attrs:{\"color\":\"blue\",\"large\":\"\",\"left\":\"\"}},[_vm._v(\"\\r\\n mdi-home\\r\\n \")]),_vm._v(\"\\r\\n Live Sation Update\\r\\n \")],1),_c('v-divider',{staticClass:\"mx-4\",attrs:{\"inset\":true}}),_c('v-card-text',[_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-autocomplete',{attrs:{\"items\":_vm.stations,\"filter\":_vm.stationFilter,\"color\":\"white\",\"item-value\":\"stn_code\",\"item-text\":\"stn_name\",\"label\":\"Station\",\"clearable\":\"\"},model:{value:(_vm.stn_code),callback:function ($$v) {_vm.stn_code=$$v},expression:\"stn_code\"}})],1),_c('v-col',[_c('v-radio-group',{attrs:{\"row\":\"\"},model:{value:(_vm.North_south),callback:function ($$v) {_vm.North_south=$$v},expression:\"North_south\"}},[_c('v-radio',{attrs:{\"label\":\"N\",\"value\":\"N\"}}),_c('v-radio',{attrs:{\"label\":\"S\",\"value\":\"S\"}}),_c('v-radio',{attrs:{\"label\":\"A\",\"value\":\"A\"}}),_c('v-radio',{attrs:{\"label\":\"UP\",\"value\":\"UP\"}}),_c('v-radio',{attrs:{\"label\":\"DN\",\"value\":\"DN\"}})],1)],1)],1)],1)],1),_c('v-card-actions',[_c('div',{staticClass:\"flex-grow-1\"}),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":_vm.cancel}},[_vm._v(\"Cancel\")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.saveSation()}}},[_vm._v(\"Save\")])],1)],1)],1),_c('table',{attrs:{\"id\":\"display_header\"}},[_c('tr',[_c('th',[_c('img',{attrs:{\"src\":require(\"./../assets/emu.png\")}})]),_c('th',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"color\":\"#FF0000\",\"text-align\":\"right\"}},[_vm._v(\"Welcome to \"+_vm._s(_vm.getStationName(_vm.stn_code)))]),_c('th'),_c('th',[_c('v-btn',{attrs:{\"text\":\"\",\"icon\":\"\",\"color\":\"purple\",\"dark\":\"\"},nativeOn:{\"click\":function($event){$event.stopPropagation();_vm.stn_dialog=true}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-pencil\")])],1)],1),_c('th'),_c('th',[_c('v-btn',{attrs:{\"text\":\"\",\"icon\":\"\",\"color\":\"purple\",\"dark\":\"\"},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.speak()}}},[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-bullhorn\")])],1)],1),_c('th',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"color\":\"#FF0000\",\"text-align\":\"right\"}},[_vm._v(_vm._s(_vm.curTime))])])]),_c('table',{attrs:{\"id\":\"customers\"}},[_c('tr',[_c('th',[_vm._v(\"UP/DN\")]),_c('th',[_vm._v(\"TRAIN NO\")]),_c('th',[_vm._v(\"DESTINATION\")]),_c('th',[_vm._v(\"SCH. DEP\")]),_c('th',[_vm._v(\"LAST STATION\")]),_c('th',[_vm._v(\"LT/BT\")]),(_vm.stn_code == 'SDAH')?_c('th',[_vm._v(\"PF\")]):_vm._e()]),_vm._l((_vm.trains),function(item){return _c('tr',[_c('td',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.up_dn))]),_c('td',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"color\":\"#FFD700\"}},[_vm._v(_vm._s(item.train_no))]),_c('td',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"width\":\"40%\"}},[_vm._v(_vm._s(item.destination))]),_c('td',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"color\":\"#FFD700\"}},[_vm._v(_vm._s(item.wtt_dep.substring(0,5)))]),_c('td',[_vm._v(_vm._s(item.last_stn_name))]),_c('td',[(item.last_stn_code)?_c('v-chip',{attrs:{\"large\":\"\",\"dark\":\"\",\"color\":_vm.getFormattedTimeSec(item.status, item.last_stn_code).colour_code}},[_c('span',{staticStyle:{\"font-size\":\"36px\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.getFormattedTimeSec(item.status, item.last_stn_code).tt))])]):_vm._e()],1),(_vm.stn_code == 'SDAH')?_c('td',{staticStyle:{\"font-size\":\"72px\",\"font-weight\":\"bold\",\"color\":\"#FFD700\"}},[_vm._v(_vm._s(item.pf))]):_vm._e()])})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./livestation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./livestation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./livestation.vue?vue&type=template&id=4b2d57aa&scoped=true&\"\nimport script from \"./livestation.vue?vue&type=script&lang=js&\"\nexport * from \"./livestation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./livestation.vue?vue&type=style&index=0&id=4b2d57aa&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b2d57aa\",\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 { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCardTitle,VChip,VCol,VContainer,VDialog,VDivider,VForm,VIcon,VRadio,VRadioGroup,VRow})\n","module.exports = __webpack_public_path__ + \"img/emu.839b72fe.png\";","// Styles\nimport \"../../../src/styles/components/_selection-controls.sass\";\nimport \"../../../src/components/VRadioGroup/VRadioGroup.sass\"; // Extensions\n\nimport VInput from '../VInput';\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Mixins\n\nimport Comparable from '../../mixins/comparable'; // Types\n\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(Comparable, BaseItemGroup, VInput);\n/* @vue/component */\n\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide() {\n return {\n radioGroup: this\n };\n },\n\n props: {\n column: {\n type: Boolean,\n default: true\n },\n height: {\n type: [Number, String],\n default: 'auto'\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null\n },\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row\n };\n }\n\n },\n methods: {\n genDefaultSlot() {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId\n }\n }, VInput.options.methods.genDefaultSlot.call(this));\n },\n\n genInputSlot() {\n const render = VInput.options.methods.genInputSlot.call(this);\n delete render.data.on.click;\n return render;\n },\n\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return null;\n label.data.attrs.id = this.computedId; // WAI considers this an orphaned label\n\n delete label.data.attrs.for;\n label.tag = 'legend';\n return label;\n },\n\n onClick: BaseItemGroup.options.methods.onClick\n }\n});\n//# sourceMappingURL=VRadioGroup.js.map","// Mixins\nimport mixins from '../../util/mixins';\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport { provide as RegistrableProvide } from '../../mixins/registrable';\n/* @vue/component */\n\nexport default mixins(BindsAttrs, RegistrableProvide('form')\n/* @vue/component */\n).extend({\n name: 'v-form',\n inheritAttrs: false,\n props: {\n lazyValidation: Boolean,\n value: Boolean\n },\n data: () => ({\n inputs: [],\n watchers: [],\n errorBag: {}\n }),\n watch: {\n errorBag: {\n handler(val) {\n const errors = Object.values(val).includes(true);\n this.$emit('input', !errors);\n },\n\n deep: true,\n immediate: true\n }\n },\n methods: {\n watchInput(input) {\n const watcher = input => {\n return input.$watch('hasError', val => {\n this.$set(this.errorBag, input._uid, val);\n }, {\n immediate: true\n });\n };\n\n const watchers = {\n _uid: input._uid,\n valid: () => {},\n shouldValidate: () => {}\n };\n\n if (this.lazyValidation) {\n // Only start watching inputs if we need to\n watchers.shouldValidate = input.$watch('shouldValidate', val => {\n if (!val) return; // Only watch if we're not already doing it\n\n if (this.errorBag.hasOwnProperty(input._uid)) return;\n watchers.valid = watcher(input);\n });\n } else {\n watchers.valid = watcher(input);\n }\n\n return watchers;\n },\n\n /** @public */\n validate() {\n return this.inputs.filter(input => !input.validate(true)).length === 0;\n },\n\n /** @public */\n reset() {\n this.inputs.forEach(input => input.reset());\n this.resetErrorBag();\n },\n\n resetErrorBag() {\n if (this.lazyValidation) {\n // Account for timeout in validatable\n setTimeout(() => {\n this.errorBag = {};\n }, 0);\n }\n },\n\n /** @public */\n resetValidation() {\n this.inputs.forEach(input => input.resetValidation());\n this.resetErrorBag();\n },\n\n register(input) {\n this.inputs.push(input);\n this.watchers.push(this.watchInput(input));\n },\n\n unregister(input) {\n const found = this.inputs.find(i => i._uid === input._uid);\n if (!found) return;\n const unwatch = this.watchers.find(i => i._uid === found._uid);\n\n if (unwatch) {\n unwatch.valid();\n unwatch.shouldValidate();\n }\n\n this.watchers = this.watchers.filter(i => i._uid !== found._uid);\n this.inputs = this.inputs.filter(i => i._uid !== found._uid);\n this.$delete(this.errorBag, found._uid);\n }\n\n },\n\n render(h) {\n return h('form', {\n staticClass: 'v-form',\n attrs: {\n novalidate: true,\n ...this.attrs$\n },\n on: {\n submit: e => this.$emit('submit', e)\n }\n }, this.$slots.default);\n }\n\n});\n//# sourceMappingURL=VForm.js.map","// Directives\nimport ripple from '../../directives/ripple'; // Types\n\nimport Vue from 'vue';\nexport default Vue.extend({\n name: 'rippleable',\n directives: {\n ripple\n },\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true\n }\n },\n methods: {\n genRipple(data = {}) {\n if (!this.ripple) return null;\n data.staticClass = 'v-input--selection-controls__ripple';\n data.directives = data.directives || [];\n data.directives.push({\n name: 'ripple',\n value: {\n center: true\n }\n });\n data.on = Object.assign({\n click: this.onChange\n }, this.$listeners);\n return this.$createElement('div', data);\n },\n\n onChange() {}\n\n }\n});\n//# sourceMappingURL=index.js.map","// Styles\nimport \"../../../src/components/VRadioGroup/VRadio.sass\";\nimport VLabel from '../VLabel';\nimport VIcon from '../VIcon';\nimport VInput from '../VInput'; // Mixins\n\nimport BindsAttrs from '../../mixins/binds-attrs';\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Rippleable from '../../mixins/rippleable';\nimport Themeable from '../../mixins/themeable';\nimport Selectable from '../../mixins/selectable'; // Utilities\n\nimport { getSlot } from '../../util/helpers';\nimport mixins from '../../util/mixins';\nconst baseMixins = mixins(BindsAttrs, Colorable, Rippleable, GroupableFactory('radioGroup'), Themeable);\n/* @vue/component */\n\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n inheritAttrs: false,\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff'\n },\n onIcon: {\n type: String,\n default: '$radioOn'\n },\n readonly: Boolean,\n value: {\n default: null\n }\n },\n data: () => ({\n isFocused: false\n }),\n computed: {\n classes() {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses\n };\n },\n\n computedColor() {\n return Selectable.options.computed.computedColor.call(this);\n },\n\n computedIcon() {\n return this.isActive ? this.onIcon : this.offIcon;\n },\n\n computedId() {\n return VInput.options.computed.computedId.call(this);\n },\n\n hasLabel: VInput.options.computed.hasLabel,\n\n hasState() {\n return (this.radioGroup || {}).hasState;\n },\n\n isDisabled() {\n return this.disabled || !!(this.radioGroup || {}).disabled;\n },\n\n isReadonly() {\n return this.readonly || !!(this.radioGroup || {}).readonly;\n },\n\n computedName() {\n if (this.name || !this.radioGroup) {\n return this.name;\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`;\n },\n\n rippleState() {\n return Selectable.options.computed.rippleState.call(this);\n },\n\n validationState() {\n return (this.radioGroup || {}).validationState || this.computedColor;\n }\n\n },\n methods: {\n genInput(args) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args);\n },\n\n genLabel() {\n if (!this.hasLabel) return null;\n return this.$createElement(VLabel, {\n on: {\n click: e => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault();\n this.onChange();\n }\n },\n attrs: {\n for: this.computedId\n },\n props: {\n color: this.validationState,\n focused: this.hasState\n }\n }, getSlot(this, 'label') || this.label);\n },\n\n genRadio() {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input'\n }, [this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense\n }\n }), this.computedIcon), this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$\n }), this.genRipple(this.setTextColor(this.rippleState))]);\n },\n\n onFocus(e) {\n this.isFocused = true;\n this.$emit('focus', e);\n },\n\n onBlur(e) {\n this.isFocused = false;\n this.$emit('blur', e);\n },\n\n onChange() {\n if (this.isDisabled || this.isReadonly || this.isActive) return;\n this.toggle();\n },\n\n onKeydown: () => {}\n },\n\n render(h) {\n const data = {\n staticClass: 'v-radio',\n class: this.classes\n };\n return h('div', data, [this.genRadio(), this.genLabel()]);\n }\n\n});\n//# sourceMappingURL=VRadio.js.map","// Styles\nimport \"../../../src/components/VAutocomplete/VAutocomplete.sass\"; // Extensions\n\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect';\nimport VTextField from '../VTextField/VTextField'; // Utilities\n\nimport mergeData from '../../util/mergeData';\nimport { keyCodes, getObjectValueByPath } from '../../util/helpers';\nconst defaultMenuProps = { ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false\n};\n/* @vue/component */\n\nexport default VSelect.extend({\n name: 'v-autocomplete',\n props: {\n allowOverflow: {\n type: Boolean,\n default: true\n },\n autoSelectFirst: {\n type: Boolean,\n default: false\n },\n filter: {\n type: Function,\n default: (item, queryText, itemText) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1;\n }\n },\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps\n },\n noFilter: Boolean,\n searchInput: {\n type: String,\n default: undefined\n }\n },\n\n data() {\n return {\n lazySearch: this.searchInput\n };\n },\n\n computed: {\n classes() {\n return { ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1\n };\n },\n\n computedItems() {\n return this.filteredItems;\n },\n\n selectedValues() {\n return this.selectedItems.map(item => this.getValue(item));\n },\n\n hasDisplayedItems() {\n return this.hideSelected ? this.filteredItems.some(item => !this.hasItem(item)) : this.filteredItems.length > 0;\n },\n\n currentRange() {\n if (this.selectedItem == null) return 0;\n return String(this.getText(this.selectedItem)).length;\n },\n\n filteredItems() {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems;\n return this.allItems.filter(item => this.filter(item, String(this.internalSearch), String(this.getText(item))));\n },\n\n internalSearch: {\n get() {\n return this.lazySearch;\n },\n\n set(val) {\n this.lazySearch = val;\n this.$emit('update:search-input', val);\n }\n\n },\n\n isAnyValueAllowed() {\n return false;\n },\n\n isDirty() {\n return this.searchIsDirty || this.selectedItems.length > 0;\n },\n\n isSearching() {\n return this.multiple && this.searchIsDirty || this.searchIsDirty && this.internalSearch !== this.getText(this.selectedItem);\n },\n\n menuCanShow() {\n if (!this.isFocused) return false;\n return this.hasDisplayedItems || !this.hideNoData;\n },\n\n $_menuProps() {\n const props = VSelect.options.computed.$_menuProps.call(this);\n props.contentClass = `v-autocomplete__content ${props.contentClass || ''}`.trim();\n return { ...defaultMenuProps,\n ...props\n };\n },\n\n searchIsDirty() {\n return this.internalSearch != null && this.internalSearch !== '';\n },\n\n selectedItem() {\n if (this.multiple) return null;\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue));\n });\n },\n\n listData() {\n const data = VSelect.options.computed.listData.call(this);\n data.props = { ...data.props,\n items: this.virtualizedItems,\n noFilter: this.noFilter || !this.isSearching || !this.filteredItems.length,\n searchInput: this.internalSearch\n };\n return data;\n }\n\n },\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n\n isFocused(val) {\n if (val) {\n document.addEventListener('copy', this.onCopy);\n this.$refs.input && this.$refs.input.select();\n } else {\n document.removeEventListener('copy', this.onCopy);\n this.updateSelf();\n }\n },\n\n isMenuActive(val) {\n if (val || !this.hasSlot) return;\n this.lazySearch = undefined;\n },\n\n items(val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (!(oldVal && oldVal.length) && this.hideNoData && this.isFocused && !this.isMenuActive && val.length) this.activateMenu();\n },\n\n searchInput(val) {\n this.lazySearch = val;\n },\n\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf'\n },\n\n created() {\n this.setSearch();\n },\n\n methods: {\n onFilteredItemsChanged(val, oldVal) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return;\n this.setMenuIndex(-1);\n this.$nextTick(() => {\n if (!this.internalSearch || val.length !== 1 && !this.autoSelectFirst) return;\n this.$refs.menu.getTiles();\n this.setMenuIndex(0);\n });\n },\n\n onInternalSearchChanged() {\n this.updateMenuDimensions();\n },\n\n updateMenuDimensions() {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions();\n },\n\n changeSelectedIndex(keyCode) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return;\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1;\n } else {\n this.selectedIndex--;\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1;\n } else {\n this.selectedIndex++;\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem();\n }\n },\n\n deleteCurrentItem() {\n if (this.readonly) return;\n const index = this.selectedItems.length - 1;\n\n if (this.selectedIndex === -1 && index !== 0) {\n this.selectedIndex = index;\n return;\n }\n\n const currentItem = this.selectedItems[this.selectedIndex];\n if (this.getDisabled(currentItem)) return;\n const newIndex = this.selectedIndex === index ? this.selectedIndex - 1 : this.selectedItems[this.selectedIndex + 1] ? this.selectedIndex : -1;\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined);\n } else {\n this.selectItem(currentItem);\n }\n\n this.selectedIndex = newIndex;\n },\n\n clearableCallback() {\n this.internalSearch = undefined;\n VSelect.options.methods.clearableCallback.call(this);\n },\n\n genInput() {\n const input = VTextField.options.methods.genInput.call(this);\n input.data = mergeData(input.data, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data, 'attrs.autocomplete', 'off')\n },\n domProps: {\n value: this.internalSearch\n }\n });\n return input;\n },\n\n genInputSlot() {\n const slot = VSelect.options.methods.genInputSlot.call(this);\n slot.data.attrs.role = 'combobox';\n return slot;\n },\n\n genSelections() {\n return this.hasSlot || this.multiple ? VSelect.options.methods.genSelections.call(this) : [];\n },\n\n onClick(e) {\n if (this.isDisabled) return;\n this.selectedIndex > -1 ? this.selectedIndex = -1 : this.onFocus();\n if (!this.isAppendInner(e.target)) this.activateMenu();\n },\n\n onInput(e) {\n if (this.selectedIndex > -1 || !e.target) return;\n const target = e.target;\n const value = target.value; // If typing and menu is not currently active\n\n if (target.value) this.activateMenu();\n this.internalSearch = value;\n this.badInput = target.validity && target.validity.badInput;\n },\n\n onKeyDown(e) {\n const keyCode = e.keyCode;\n VSelect.options.methods.onKeyDown.call(this, e); // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n\n this.changeSelectedIndex(keyCode);\n },\n\n onSpaceDown(e) {},\n\n onTabDown(e) {\n VSelect.options.methods.onTabDown.call(this, e);\n this.updateSelf();\n },\n\n onUpDown(e) {\n // Prevent screen from scrolling\n e.preventDefault(); // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n\n this.activateMenu();\n },\n\n selectItem(item) {\n VSelect.options.methods.selectItem.call(this, item);\n this.setSearch();\n },\n\n setSelectedItems() {\n VSelect.options.methods.setSelectedItems.call(this); // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n\n if (!this.isFocused) this.setSearch();\n },\n\n setSearch() {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (!this.multiple || !this.internalSearch || !this.isMenuActive) {\n this.internalSearch = !this.selectedItems.length || this.multiple || this.hasSlot ? null : this.getText(this.selectedItem);\n }\n });\n },\n\n updateSelf() {\n if (!this.searchIsDirty && !this.internalValue) return;\n\n if (!this.valueComparator(this.internalSearch, this.getValue(this.internalValue))) {\n this.setSearch();\n }\n },\n\n hasItem(item) {\n return this.selectedValues.indexOf(this.getValue(item)) > -1;\n },\n\n onCopy(event) {\n if (this.selectedIndex === -1) return;\n const currentItem = this.selectedItems[this.selectedIndex];\n const currentItemText = this.getText(currentItem);\n event.clipboardData.setData('text/plain', currentItemText);\n event.clipboardData.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);\n event.preventDefault();\n }\n\n }\n});\n//# sourceMappingURL=VAutocomplete.js.map","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./livestation.vue?vue&type=style&index=0&id=4b2d57aa&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./livestation.vue?vue&type=style&index=0&id=4b2d57aa&scoped=true&lang=css&\"","// Components\nimport VInput from '../../components/VInput'; // Mixins\n\nimport Rippleable from '../rippleable';\nimport Comparable from '../comparable'; // Utilities\n\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(VInput, Rippleable, Comparable).extend({\n name: 'selectable',\n model: {\n prop: 'inputValue',\n event: 'change'\n },\n props: {\n id: String,\n inputValue: null,\n falseValue: null,\n trueValue: null,\n multiple: {\n type: Boolean,\n default: null\n },\n label: String\n },\n\n data() {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue\n };\n },\n\n computed: {\n computedColor() {\n if (!this.isActive) return undefined;\n if (this.color) return this.color;\n if (this.isDark && !this.appIsDark) return 'white';\n return 'primary';\n },\n\n isMultiple() {\n return this.multiple === true || this.multiple === null && Array.isArray(this.internalValue);\n },\n\n isActive() {\n const value = this.value;\n const input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false;\n return input.some(item => this.valueComparator(item, value));\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value ? this.valueComparator(value, input) : Boolean(input);\n }\n\n return this.valueComparator(input, this.trueValue);\n },\n\n isDirty() {\n return this.isActive;\n },\n\n rippleState() {\n return !this.disabled && !this.validationState ? 'primary' : this.validationState;\n }\n\n },\n watch: {\n inputValue(val) {\n this.lazyValue = val;\n this.hasColor = val;\n }\n\n },\n methods: {\n genLabel() {\n const label = VInput.options.methods.genLabel.call(this);\n if (!label) return label;\n label.data.on = {\n click: e => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault();\n this.onChange();\n }\n };\n return label;\n },\n\n genInput(type, attrs) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown\n },\n ref: 'input'\n });\n },\n\n onBlur() {\n this.isFocused = false;\n },\n\n onChange() {\n if (this.isDisabled) return;\n const value = this.value;\n let input = this.internalValue;\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = [];\n }\n\n const length = input.length;\n input = input.filter(item => !this.valueComparator(item, value));\n\n if (input.length === length) {\n input.push(value);\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue;\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value;\n } else {\n input = !input;\n }\n\n this.validate(true, input);\n this.internalValue = input;\n this.hasColor = input;\n },\n\n onFocus() {\n this.isFocused = true;\n },\n\n /** @abstract */\n onKeydown(e) {}\n\n }\n});\n//# sourceMappingURL=index.js.map"],"sourceRoot":""}