{"version":3,"sources":["components/api-authorization/LoginMenu.js","components/helpers.js","components/NavMenuAdmin.js","components/RestaurantContext.js","components/Layout.js","components/ta-med-styles/TaMedStyles.js","components/NavMenuPublic.js","components/DownloadButtons.js","components/Home.js","components/api-authorization/AuthorizeRoute.js","firebaseConfig.js","components/api-authorization/Login.js","components/Marker.js","components/Restaurant.js","components/DishListItem.js","components/DailySettings.js","components/ALaCarte.js","components/PrivacyPolicy.js","components/Restaurants.js","components/TakeAwayMenu.js","components/Banners.js","components/SysOp.js","SwishCallback.js","components/Report.js","components/Refund.js","App.js","index.js"],"names":["LoginMenu","props","state","isSignedIn","user","providerId","authenticatedView","displayName","anonymousView","userName","Button","component","Link","to","color","Component","uuidv4","replace","c","crypto","getRandomValues","Uint8Array","toString","greenTheme","createMuiTheme","typography","fontFamily","palette","type","text","primary","secondary","main","background","default","paper","grayTheme","h2","fontSize","fontWeight","lineHeight","breakpoints","up","h4","theme","NavMenuAdmin","useState","restaurants","setRestaurants","React","selectedRestaurantId","setSelectedRestaurantId","restaurant","id","length","dummyCategories","mobileOpen","setMobileOpen","handleDrawerToggle","label","url","drawer","List","map","index","ListItem","button","key","NavLink","activeClassName","onClick","ListItemText","theLinks","entry","activeStyle","style","paddingRight","paddingLeft","menuItems","MenuItem","value","name","classes","makeStyles","formControl","margin","spacing","minWidth","selectEmpty","marginTop","inputlabel","select","borderColor","icon","fill","useStyles","AppBar","position","Toolbar","Hidden","lgUp","IconButton","aria-label","edge","Grid","container","alignItems","item","xs","FormControl","className","InputLabel","Select","labelId","onChange","onRestaurantChanged","target","inputProps","mdDown","float","Drawer","variant","open","onClose","ModalProps","keepMounted","RestaurantContext","createContext","restaurantEmitter","require","setCachedRestaurants","rs","emit","onRestaurantUpdated","r","clonedRestaurants","findIndex","el","splice","firebase","auth","currentUser","getIdToken","then","token","payload","description","weekdaySettings","dishes","minimumDelayMinutes","postalTown","streetAddress","lng","lat","fetch","method","headers","body","JSON","stringify","response","a","ok","alert","dtoToRest","json","console","log","catch","error","data","aLaCarteMenu","Content","lastUser","setLastUser","undefined","selectedRestaurant","setSelectedRestaurant","reloadRestaurants","restaurantsTask","data2","mappedData2","useEffect","cachedRestaurants","found","find","on","removeListener","childrenWithProps","Children","children","child","isValidElement","cloneElement","Container","Provider","Layout","TaMedHeading","Typography","TaMedIntermediateHeading","TaMedBody","paragraph","TaMedOverline","letterSpacing","textTransform","NavMenuPublic","isXs","useMediaQuery","down","anchorEl","setAnchorEl","Boolean","userAgent","navigator","vendor","testedAndroid","test","testedIos","window","MSStream","elevation","justify","Box","mt","mb","mx","display","justifyContent","href","width","src","alt","visibility","event","currentTarget","PaperProps","backgroundColor","maxHeight","ITEM_HEIGHT","location","DownloadButtons","downloadString","direction","height","m","StepCard","greenCardStyle","dark","borderRadius","Card","Home","screenshotStyle","verticalAlign","CssBaseline","Helmet","content","sm","xsDown","smUp","maxWidth","marginLeft","marginRight","my","minHeight","AuthorizeRoute","rest","render","firebaseConfig","apiKey","authDomain","databaseURL","projectId","storageBucket","messagingSenderId","appId","measurementId","uiConfig","callbacks","signInSuccessWithAuthResult","authResult","redirectUrl","uiShown","signInFlow","signInSuccessUrl","signInOptions","GoogleAuthProvider","PROVIDER_ID","provider","EmailAuthProvider","requireDisplayName","tosUrl","privacyPolicyUrl","initializeApp","ui","firebaseui","AuthUI","Login","setTimeout","checkUi","signOut","reset","email","photoURL","emailVerified","uid","start","Marker","cursor","title","WeekdayItem","defaultOpen","defaultOpenTime","defaultCloseTime","defaultLunchStartTime","defaultLunchEndTime","onUpdate","moment","locale","setState","storeDayConfig","newVar","_with","oldStructure","newEntries","Object","assign","lg","ml","weekdays","FormControlLabel","control","Checkbox","checked","newState","FormGroup","row","FormLabel","TextField","disabled","InputLabelProps","shrink","step","SettingsContentView","lastRestaurant","setLastRestaurant","restaurantState","setRestaurantState","descriptionState","setDescriptionState","addressState","setAddressState","postalTownState","setPostalTownState","waitTimeState","setWaitTimeState","handleUpdateWeekdayItem","newList","u","saveButtonEnabled","addressSaveButtonEnabled","defaultCenter","Paper","p","py","px","onSubmit","parseInt","preventDefault","fullWidth","multiline","rows","numberString","md","pt","top","left","right","bottom","obj","x","y","bootstrapURLKeys","defaultZoom","center","pb","LoadingBadge","AuthenticatedView","setRestaurant","NotAuthenticated","Restaurant","Consumer","EditDish","initialState","price","enabled","setValue","dishNameIsOk","priceIsOk","priceHasError","buttonEnabled","newValue","autoFocus","priceString","onCancel","stopPropagation","DishNameDescriptionAndPrice","DishEntryButtons","onMoveUp","onDeleteItem","DailyDishListItem","editing","setEditing","CardActionArea","ListItemSecondaryAction","ALaCarteDishListItem","active","setActive","Switch","e","LunchMenu","initialMenu","storedConfiguration","setStoredConfiguration","addFormVisible","setAddFormVisible","setListAndUpdateBackend","tempState","handleUpdate","handleDelete","filter","handleMoveUp","clonedDishes","Divider","ListSubheader","openTime","newLunchStart","setLunchStartAndUpdateBackend","closeTime","newLunchEnd","setLunchEndAndUpdateBackend","concat","DayCard","dayConfig","openTimeValid","newOpenSettings","restaurantId","date","format","HTML5_FMT","DATE","DayMenu","handleClose","aria-controls","aria-haspopup","onCopyDay","toDate","toLocaleDateString","weekday","month","day","isOpen","dayMenu","newMenu","DailySettingsSubview","initialRestaurantState","loaded","initialStateDayConfig","dayConfigs","loadingUser","subtract","isoWeekday","mondayCurrentWeek","setMoment","loadRestaurant","year","isoWeek","week","handleNextWeek","moment2","clone","add","loadWeek","handlePreviousWeek","copyFromPreviousDay","today","copyDay","WeekMenu","selectCopyWeek","mondayDate","copyWeek","previousWeeks","Array","from","_","mondayMoment","URLSearchParams","firstIsoDate","weekConfigResponse","weekConfig","copyFromMoment","copyFrom","targetMoment","targetIsoDate","onAuthStateChanged","authUser","tuesday","wednesday","thursday","friday","saturday","sunday","defaults","DailySettings","ALaCarteContentView","confirm","useConfirm","mr","ALaCarte","PrivacyPolicy","align","textLinkStyle","root","textDecoration","RestaurantListEntry","slug","RestaurantList","restaurantList","DynamicView","reloadrestaurant","restaurantTask","Restaurants","isMdUp","DishEntry","GreenCard","TodaysLunch","currentLunchMenu","futureLunchMenu","lunchmenu","ALaCarteMenu","renderHeading","OpeningHours","openFrom","openTo","DelivryTime","expectedWaitTimeMinutes","MenuContentView","webSubtitle","textAlign","TakeAwayMenu","restaurantslug","match","params","CodeBox","BannerList","Banners","rel","defer","BadPrinterListEntry","printerId","BadPrinters","printers","restaurantName","badPrinters","badRestaurants","CreateNewRestaurant","rName","setRName","RefundAnyOrder","orderId","setOrderId","restaurantStatus","setPrinterStatus","SysOp","SwishCallback","flexWrap","textField","SalesSummary","setRestaurantId","startDate","setStartDate","endDate","setEndDate","report","setReport","loadReport","startIsoDate","endIsoDate","totalAmountSales","toFixed","orderCount","averageSale","topSellers","count","amount","DateRangeSelector","fromDate","setFromDate","setToDate","ReportContentView","Report","SimpleDialog","selectedValue","Dialog","aria-labelledby","DialogTitle","sleep","ms","Promise","resolve","TransactionList","refundModalVisible","setRefundModalVisible","performRefund","ticketId","dateLocal","userFirstName","contactInfo","ticketText","totalAmount","RefundContentView","Refund","AdminHome","Admin","exact","path","App","Fragment","defaultOptions","confirmationButtonProps","cancellationText","confirmationText","baseUrl","document","getElementsByTagName","getAttribute","rootElement","getElementById","ReactDOM","basename"],"mappings":"qZAMaA,EAAb,kDACI,WAAYC,GAAQ,IAAD,8BACf,cAAMA,IAEDC,MAAQ,GAHE,EADvB,kJAcc,IAAD,OACL,OAAO,kBAAC,IAAD,MACF,YAAuC,IAApCC,EAAmC,EAAnCA,WAAYC,EAAuB,EAAvBA,KAAuB,EAAjBC,WAClB,OAAKF,EAGM,EAAKG,kBAAkBF,EAAKG,aAF5B,EAAKC,qBAlBhC,wCA0BsBC,GACd,OAAQ,kBAAC,WAAD,KACJ,kBAACC,EAAA,EAAD,CAAQC,UAAWC,IAAMC,GAAI,iBAAkBC,MAAO,WAAYL,MA5B9E,sCAkCQ,OAAQ,kBAAC,WAAD,KACJ,kBAAC,IAAD,CAAcE,UAAWC,IAAMC,GAAI,iBAAkBC,MAAO,WAA5D,cAnCZ,GAA+BC,a,yFCFlBC,EAAS,kBAAO,CAAC,MAAQ,KAAO,KAAO,KAAO,MAAMC,QAAQ,UAAU,SAAAC,GAAC,OAC/EA,EAAIC,OAAOC,gBAAgB,IAAIC,WAAW,IAAI,GAAK,IAAMH,EAAI,GAAGI,SAAS,QAGjEC,EAAaC,YAAe,CACrCC,WAAY,CACRC,WAAY,WAEhBC,QAAS,CACLC,KAAM,OAENC,KAAM,CACFC,QAAS,UACTC,UAAW,WAGfD,QAAS,CACLE,KAAM,WAEVD,UAAW,CACPC,KAAM,WAEVC,WAAY,CACRC,QAAS,UACTC,MAAO,CAACH,KAAK,eAMZI,EAAYZ,YAAe,CACpCC,WAAY,CACRC,WAAY,WAEhBC,QAAS,CACLC,KAAM,QAENE,QAAS,CACLE,KAAM,WAEVD,UAAW,CACPC,KAAM,WAEVC,WAAY,CACRE,MAAO,UACPD,QAAS,cAOrBX,EAAWE,WAAWY,GAAtB,aACIC,SAAU,OACVC,WAAY,IACZC,WAAY,QACXjB,EAAWkB,YAAYC,GAAG,MAAQ,CAC/BJ,SAAU,OACVE,WAAY,OACZD,WAAY,MAIpBhB,EAAWE,WAAWkB,GAAtB,aACIL,SAAU,OACVC,WAAY,IACZC,WAAY,QACXjB,EAAWkB,YAAYC,GAAG,MAAQ,CAC/BJ,SAAU,OACVE,WAAY,OACZD,WAAY,MAIb,IAAMK,EAAQpB,YAAe,CAChCC,WAAY,CACRC,WAAY,WAEhBC,QAAS,CACLG,QAAS,CACLE,KAAM,WAEVD,UAAW,CACPC,KAAM,WAEVC,WAAY,CACRE,MAAO,cAMnBS,EAAMnB,WAAWY,GAAKd,EAAWE,WAAWY,GAC5CO,EAAMnB,WAAWkB,GAAKpB,EAAWE,WAAWkB,GAC5CP,EAAUX,WAAWY,GAAKd,EAAWE,WAAWY,GAChDD,EAAUX,WAAWkB,GAAKpB,EAAWE,WAAWkB,G,qBCvEjC,SAASE,EAAa5C,GAAO,MAGF6C,mBAAS7C,EAAM8C,aAHb,mBAGjCA,EAHiC,KAGpBC,EAHoB,OAIgBC,IAAMH,SAAS,IAJ/B,mBAIjCI,EAJiC,KAIXC,EAJW,KAMpClD,EAAMmD,YAAcnD,EAAMmD,WAAWC,KAAOH,GAE5CC,EAAwBlD,EAAMmD,WAAWC,IAGzCpD,EAAM8C,cAAgBA,IACtBC,EAAe/C,EAAM8C,aACjB9C,EAAM8C,YAAYO,OAAS,GAE3BH,EAAwBlD,EAAM8C,YAAY,GAAGM,KAfb,IAyBpCE,EAzBoC,EAmBJN,IAAMH,UAAS,GAnBX,mBAmBjCU,EAnBiC,KAmBrBC,EAnBqB,KAqBlCC,EAAqB,WACvBD,GAAeD,IAMfD,EAFAtD,EAAMmD,WAEY,CAAC,CAACO,MAAO,QAASC,IAAI,sBACpC,CAACD,MAAO,gBAAcC,IAAK,qBAC3B,CAACD,MAAO,UAAWC,IAAK,iBACxB,CAACD,MAAO,eAAgBC,IAAK,iBAC7B,CAACD,MAAO,mBAAiBC,IAAK,sBAIhB,GAItB,IAAMC,EACF,6BACI,kBAACC,EAAA,EAAD,KACKP,EAAgBQ,KAAI,SAAClC,EAAMmC,GAAP,OACjB,kBAACC,EAAA,EAAD,CAAUC,QAAM,EAACC,IAAKtC,EAAK8B,MAAOhD,UAAWyD,IAASvD,GAAIgB,EAAK+B,IAAKS,gBAAiB,eAAgBC,QAASZ,GAC1G,kBAACa,EAAA,EAAD,CAAczC,QAASD,EAAK8B,cAO1Ca,EAAW,6BACRjB,EAAgBQ,KAAI,SAACU,EAAOT,GAAR,OACjB,kBAACtD,EAAA,EAAD,CAAQyD,IAAKM,EAAMb,IAAKjD,UAAWyD,IAASvD,GAAI4D,EAAMb,IAAK9C,MAAO,UAAY4D,YAAa,CAAEnC,WAAY,QAAUoC,MAAO,CAACC,aAAc,OAAQC,YAAa,SAAUJ,EAAMd,WAIpLmB,EAAY7E,EAAM8C,YAAc9C,EAAM8C,YAAYgB,KAAI,SAACU,GAAD,OACxD,kBAACM,EAAA,EAAD,CAAUC,MAAOP,EAAMpB,GAAIc,IAAKM,EAAMpB,IAAKoB,EAAMQ,SAChD,GA6BCC,EAzBYC,KAAW,SAACvC,GAAD,MAAY,CACrCwC,YAAa,CACTC,OAAQzC,EAAM0C,QAAQ,GACtBC,SAAU,KAEdC,YAAa,CACTC,UAAW7C,EAAM0C,QAAQ,IAE7BI,WAAY,CACV5E,MAAO,aAET6E,OAAQ,CACJ7E,MAAO,QACP,WAAY,CACR8E,YAAa,aAEjB,oCAAqC,CACjCA,YAAa,cAGrBC,KAAM,CACFC,KAAM,gBAIEC,CAAUnD,GAE1B,OACI,oCACI,kBAACoD,EAAA,EAAD,CAAQC,SAAS,UACb,kBAACC,EAAA,EAAD,KACI,kBAACC,EAAA,EAAD,CAAQC,MAAI,GAAC,kBAACC,EAAA,EAAD,CACTvF,MAAM,UACNwF,aAAW,cACXC,KAAK,QACLjC,QAASZ,GACT,kBAAC,IAAD,QAIJ,kBAAC8C,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EAAGoB,WAAY,UAKpC,kBAACF,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,6BACI,kBAACC,EAAA,EAAD,CAAaC,UAAW5B,EAAQE,aAC5B,kBAAC2B,EAAA,EAAD,CAAYD,UAAW5B,EAAQQ,WACnBrC,GAAG,4BADf,cAEA,kBAAC2D,EAAA,EAAD,CACIF,UAAW5B,EAAQS,OACnBsB,QAAQ,2BACR5D,GAAG,qBACH2B,MAAO9B,EACPgE,SAAU,SAAClC,GACP/E,EAAMkH,oBAAoBnC,EAAMoC,OAAOpC,QAE3CqC,WAAY,CACRnC,QAAS,CACLW,KAAMX,EAAQW,QAIrBf,MAKjB,kBAACqB,EAAA,EAAD,CAAQmB,QAAM,GAEV,kBAACd,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACVpC,IAGT,kBAAC2B,EAAA,EAAD,CAAQC,MAAI,GACR,kBAACI,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,KAEnB,kBAACJ,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,yBAAKjC,MAAO,CAAC4C,MAAO,UAChB,kBAAC,EAAD,WAOpB,6BAEI,kBAACpB,EAAA,EAAD,CAAQC,MAAI,GACR,kBAACoB,EAAA,EAAD,CACIC,QAAQ,YACRC,KAAMlE,EACNmE,QAASjE,EACTkE,WAAY,CACRC,aAAa,IAEjB,kBAACxB,EAAA,EAAD,CAAY/B,QAASZ,GACjB,kBAAC,IAAD,OAEHG,M,sCC7LZiE,EAAoB7E,IAAM8E,cAAc,MAMxCC,EAAoB,I,4HAJZC,EAAQ,OAMzBlF,EAAc,KAELmF,EAAuB,SAACC,GAE7BA,IAAOpF,IACPA,EAAcoF,EACdH,EAAkBI,KAAK,aASlBC,GAAsB,SAACC,GAGhC,IAAMC,EAAiB,YAAOxF,GACxBiB,EAAQuE,EAAkBC,WAAU,SAAAC,GAAE,OAAIA,EAAGpF,KAAOiF,EAAEjF,MAC5DkF,EAAkBG,OAAO1E,EAAO,EAAGsE,GACnCJ,EAAqBK,GAGrBI,IAASC,OAAOC,YAAYC,aACvBC,MAAK,SAAAC,GACF,IAAMC,EAAU,CACZ,GAAMX,EAAEjF,GACR,YAAeiF,EAAEY,YACjB,gBAAmBZ,EAAEa,gBACrB,aAAgBb,EAAEc,OAClB,oBAAuBd,EAAEe,oBACzB,WAAcf,EAAEgB,WAChB,cAAiBhB,EAAEiB,cACnB,IAAOjB,EAAEkB,IACT,IAAOlB,EAAEmB,KAGbC,MAAM,iBAAkB,CACpBC,OAAQ,MACRC,QAAS,CACL,eAAgB,mBAChB,cAAgB,UAAhB,OAA2BZ,IAE/Ba,KAAMC,KAAKC,UAAUd,KAEpBF,KARL,uCAQU,WAAMiB,GAAN,iBAAAC,EAAA,yDACGD,EAASE,GADZ,gBAEEC,MAAM,kBAFR,mCAOMC,GAPN,SAOsBJ,EAASK,OAP/B,mBAOE/B,GAPF,cAQEgC,QAAQC,IAAIjC,EAAErD,MAGRsD,EAXR,YAWgCxF,GACxBiB,EAAQuE,EAAkBC,WAAU,SAAAC,GAAE,OAAIA,EAAGpF,KAAOiF,EAAEjF,MAC5DkF,EAAkBG,OAAO1E,EAAO,EAAGsE,GACnCJ,EAAqBK,GAdvB,4CARV,uDAyBKiC,OAAM,SAAAC,GACHN,MAAM,wBAQnB,SAASC,GAAUM,GACtB,MAAQ,CACJrH,GAAIqH,EAAKrH,GACT4B,KAAMyF,EAAKzF,KACXkE,gBAAiBuB,EAAKvB,gBACtBC,OAAQsB,EAAKC,aACbzB,YAAawB,EAAKxB,YAClBG,oBAAqBqB,EAAKrB,oBAC1BE,cAAemB,EAAKnB,cACpBD,WAAYoB,EAAKpB,WACjBG,IAAKiB,EAAKjB,IACVD,IAAKkB,EAAKlB,KClFlB,SAASoB,GAAQ3K,GAAQ,IAAD,EACY6C,mBAAS7C,EAAMG,MAD3B,mBACbyK,EADa,KACHC,EADG,OAEgChI,wBAASiI,GAFzC,mBAEbC,EAFa,KAEOC,EAFP,OAGkBnI,wBAASiI,GAH3B,mBAGbhI,EAHa,KAGAC,EAHA,cA8BLkI,IA9BK,2EA8BpB,kCAAAjB,EAAA,sEAEwBhK,EAAMG,KAAK0I,aAFnC,cAEUE,EAFV,OAIUmC,EAAkBzB,MAAM,gCAAiC,CAC3DE,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MAL7C,SAS+BmC,EAT/B,8BASgDd,OAThD,OASUe,EATV,OAUUC,EAAcD,EAAMrH,IAAIqG,IAE9BlC,EAAqBmD,GAZzB,6CA9BoB,sBAMpBC,qBAAU,WAEN,IAAMnE,EAAsB,WACxB,IAAMoE,EDEPxI,ECAC,GADAC,EAAeuI,GACXA,EACA,GAAIP,EAAoB,CACpB,IAAMQ,EAAQD,EAAkBE,MAAK,SAAAhD,GAAE,OAAIA,EAAGpF,KAAO2H,EAAmB3H,MACxE4H,EAAsBO,QAItBP,EAAsBM,EAAkBjI,OAAS,EAAIiI,EAAkB,GAAK,OAOxF,OAFAvD,EAAkB0D,GAAG,UAAWvE,GAEzB,WACHa,EAAkB2D,eAAe,UAAWxE,OAmBhDlH,EAAMG,OAASyK,QAAmCE,IAAvBC,IAE3BF,EAAY7K,EAAMG,MAClB6K,EAAsB,MACtBjI,EAAe,MAEX/C,EAAMG,MAEN8K,IAAoBnC,MAAK,SAAAT,QAIjC,IAAMsD,EAAoB3I,IAAM4I,SAAS9H,IAAI9D,EAAM6L,UAAU,SAAAC,GAEzD,OAAI9I,IAAM+I,eAAeD,GACd9I,IAAMgJ,aAAaF,EAAO,CAAEf,mBAAoBA,IAEpDe,KAaX,OAAO,oCACH,kBAAClJ,EAAD,CAAcO,WAAY4H,EAAoB5K,KAAMH,EAAMG,KAAM2C,YAAaA,EAAaoE,oBAXjE,SAAC9D,GAC1B4H,EAAsBlI,EAAY0I,MAAK,SAAAhD,GAAE,OAAIA,EAAGpF,KAAOA,MAGnDpD,EAAMG,MAEN8K,IAAoBnC,MAAK,SAAAT,UAM9B,kBAAC4D,EAAA,EAAD,KACI,kBAACpE,EAAkBqE,SAAnB,CAA4BnH,MAAOgG,GAClCY,KAOG,SAASQ,GAAOnM,GAE3B,OAAO,kBAAC,IAAD,MACF,YAAoC,EAAlCE,WAAmC,IAAvBC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAO,kBAACuK,GAAD,CAASxK,KAAMA,EAAM0L,SAAU7L,EAAM6L,c,qDC9FjD,SAASO,GAAapM,GAEzB,OACI,kBAACqM,GAAA,EAAD,CAAY7E,QAAS,MAChBxH,EAAM6L,UAKZ,SAASS,GAAyBtM,GAErC,OACI,kBAACqM,GAAA,EAAD,CAAY7E,QAAS,MAChBxH,EAAM6L,UAKZ,SAASU,GAAUvM,GAEtB,OAAQ,kBAACqM,GAAA,EAAD,CAAY7E,QAAS,QAASgF,WAAW,GAC5CxM,EAAM6L,UAIR,SAASY,GAAczM,GAE1B,OAAQ,kBAACqM,GAAA,EAAD,CAAY7E,QAAS,QAASgF,WAAW,EAAM9H,MAAO,CAC1DrC,SAAU,OACVE,WAAY,OACZD,WAAY,IAAKoK,cAAe,QAASC,cAAe,cACvD3M,EAAM6L,U,iCCnBA,SAASe,GAAc5M,GAalC,IAIM6M,EAAOC,aAAc3K,EAAUK,YAAYuK,KAAK,OAjBb,EAmBT/J,IAAMH,SAAS,MAnBN,mBAmBlCmK,EAnBkC,KAmBxBC,EAnBwB,KAoBnCxF,EAAOyF,QAAQF,GASfG,EAAYC,UAAUD,WAAaC,UAAUC,OAC7CC,EAAgB,WAAWC,KAAKJ,GAChCK,EAAY,mBAAmBD,KAAKJ,KAAeM,OAAOC,SAEhE,OACI,oCAEI,kBAAC3H,EAAA,EAAD,CAAQC,SAAS,SAAStB,MAvBd,CAChB7D,MAAO,WAsB2C8M,UAAW,GAErD,kBAACpH,EAAA,EAAD,CAAMC,WAAS,EAACoH,QAAS,iBACrB,kBAACrH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GAAIC,GAAInB,EAAO,EAAI,EAAGoB,QAAS,OAAQC,eAAgB,UACnE,uBAAGC,KAAK,IAAIzJ,MAAO,CAACuJ,QAAS,eAAgBG,MAAO,SAAS,yBAAKA,MAAO,OACPC,IAAK,mBACLC,IAAK,cAI/E,kBAAC/H,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAIjB,EAAO,EAAI,EAAGmB,GAAInB,EAAO,EAAI,GAClC,kBAACzG,EAAA,EAAD,CACI1B,MAAO,CAAC6J,WAAa9G,EAAO,SAAW,WACvC5G,MAAM,UACNwF,aAAW,cACXC,KAAK,QACLjC,QAhCR,SAACmK,GACjBvB,EAAYuB,EAAMC,iBAgCM,kBAAC,IAAD,OAGJ,kBAAC,KAAD,CACIrL,GAAG,YACH4J,SAAUA,EACVpF,aAAW,EACXH,KAAMA,EACNC,QArCR,WAChBuF,EAAY,OAqCYyB,WAAY,CACRhK,MAAO,CACHiK,gBAAiBrN,EAAWI,QAAQM,WAAWC,QAC/CpB,MAAOS,EAAWI,QAAQE,KAAKC,QAC/B+M,UAAWC,IACXT,MAAO,UAIdd,EAAgB,kBAACxI,EAAA,EAAD,CAAUT,QAAS,WAAOoJ,OAAOqB,SAASX,KAAO,mEAAjD,mBAAkJ,GAClKX,EAAY,kBAAC1I,EAAA,EAAD,CAAUT,QAAS,WAAOoJ,OAAOqB,SAASX,KAAO,sEAAjD,mBAAqJ,GAClK,kBAACrJ,EAAA,EAAD,CAAUT,QAAS,WAAOoJ,OAAOqB,SAASX,KAAO,uBAAjD,sBAOfnO,EAAM6L,WClGhB,SAASkD,GAAgB/O,GAC5B,IAAIgP,EAWJ,OAHIA,EANEhP,EAAMmD,WAMS,aAAenD,EAAMmD,WAAW6B,KAAO,iBAJvC,yBAOd,oCACH,kBAACuB,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EACnB4J,UAAU,MACVxI,WAAW,SACXmH,QAAQ,UACV,kBAACrH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,KACI,uBAAGM,KAAK,oJACJ,yBAAKG,IAAKU,EACLtK,MAAO,CAACwK,OAAQ,QAChBb,IAAI,+FAGrB,kBAAC9H,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKsB,EAAG,GAAG,uBAAGhB,KAAK,qEAAoE,yBACnFG,IAAKU,EAAgBtK,MAAO,CAACwK,OAAQ,QACrCb,IAAI,0CChBxB,SAASe,GAASpP,GACd,IAAMqP,EAAiB,CAGnBV,gBAAiBhM,EAAMjB,QAAQG,QAAQyN,KACvCC,aAAc,QAGlB,OAAO,kBAACC,GAAA,EAAD,CAAM9K,MAAO2K,GACfrP,EAAM6L,UAIA,SAAS4D,GAAKzP,GAEzB,IAAM6M,EAAOC,aAAc3K,EAAUK,YAAYuK,KAAK,OAEhD2C,EAAkB,CAChBR,OAAQ,QACRS,cAAe,UAGnB,OACI,kBAAC,KAAD,CAAkBhN,MAAOrB,GACrB,kBAACsO,GAAA,EAAD,MACA,kBAACC,GAAA,EAAD,KACI,4FACA,0BAAM7K,KAAK,cAAc8K,QAAQ,uJAGrC,kBAAClD,GAAD,KACI,kBAACX,EAAA,EAAD,KACI,kBAAC4B,GAAA,EAAD,CAAKE,GAAI,IAAI,kBAACxH,EAAA,EAAD,CAAMC,WAAS,GACxB,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAC7J,EAAA,EAAD,CAAQ8J,QAAM,GACd,kBAAC5D,GAAD,iDAIA,kBAAClG,EAAA,EAAD,CAAQ+J,MAAI,GACR,yBAAK5B,IAAK,sBAAuBC,IAAK,aAAc5J,MAAO,CAC3FwL,SAAU,OACVtB,UAAW,QACXX,QAAS,QACTkC,WAAY,OACZC,YAAa,UAEmB,kBAAC/D,GAAA,EAAD,CAAY7E,QAAQ,KAAK9C,MAAO,CAACrC,SAAU,SAA3C,6CAGR,kBAACkE,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,QAOnC,kBAAClC,GAAA,EAAD,KAAK,kBAAC5B,EAAA,EAAD,KACD,kBAAC1F,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKwC,GAAI,GAEL,kBAAC9J,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAACX,GAAD,KACI,kBAAC7I,EAAA,EAAD,CACIC,WAAS,EACTyI,UAAU,SACVxI,WAAW,SACX/B,MAAO,CAAC4L,UAAWzD,EAAO,QAAU,UAEpC,kBAACtG,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKG,GAAI,EAAGF,GAAI,GACZ,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,uBAGR,kBAACjB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAIjB,EAAO,EAAI,IAChB,kBAACkC,GAAD,WAOpB,kBAACxI,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAACX,GAAD,KACI,kBAAC7I,EAAA,EAAD,CACIC,WAAS,EACTyI,UAAU,SACVrB,QAAQ,gBACRnH,WAAW,SACX/B,MAAO,CAAC4L,UAAWzD,EAAO,QAAU,UAEpC,kBAACtG,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKG,GAAI,EAAGF,GAAI,GAC5B,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,wBAA6C,6BAA7C,eAGQ,kBAACjB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAI,GACrB,yBAAKO,IAAK,4BAA6B3J,MAAOgL,EAAiBpB,IAAK,oCAMxE,kBAAC/H,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAACX,GAAD,KACI,kBAAC7I,EAAA,EAAD,CACIC,WAAS,EACTyI,UAAU,SACVrB,QAAQ,gBACRnH,WAAW,SACX/B,MAAO,CAAC4L,UAAWzD,EAAO,QAAU,UAEpC,kBAACtG,EAAA,EAAD,CAAMG,MAAI,GACd,kBAACmH,GAAA,EAAD,CAAKG,GAAI,EAAGF,GAAI,GACpB,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,qBAII,kBAACjB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAI,GACjB,yBAAKO,IAAK,2BAA4B3J,MAAOgL,EAAiBpB,IAAK,gCAUvF,kBAACT,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACb,kBAACxH,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAClC,GAAA,EAAD,CAAKsB,EAAG,EAAGlB,QAAS,OAAQC,eAAgB,UACxC,kBAACzN,EAAA,EAAD,CAAQC,UAAW,IAAKyN,KAAK,iBAA7B,YAGR,kBAAC5H,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACvB,kBAAClC,GAAA,EAAD,CAAKsB,EAAG,EAAGlB,QAAS,OAAQC,eAAgB,UACxC,kBAACzN,EAAA,EAAD,CAAQC,UAAW,IAAKyN,KAAK,wBAA7B,kBAGJ,kBAAC5H,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAClC,GAAA,EAAD,CAAKsB,EAAG,EAAGlB,QAAS,OAAQC,eAAgB,UACxC,kBAACzN,EAAA,EAAD,CAAQC,UAAWC,IAAMC,GAAI,YAA7B,4B,cC9Jf2P,G,kDACjB,WAAYvQ,GAAQ,IAAD,8BACf,cAAMA,IAEDC,MAAQ,GAHE,E,kJAaT,IAAD,OACL,OAAO,kBAAC,IAAD,MACF,YAAuC,IAApCC,EAAmC,EAAnCA,WAAmC,KAAvBC,KAAuB,EAAjBC,WACwB,EAAKJ,OAA5Bc,EADgB,EAC3BJ,UAAyB8P,EADE,8BAGnC,OAAO,kBAAC,IAAD,iBAAWA,EAAX,CACOC,OAAQ,SAACzQ,GACL,OAAIE,EACO,kBAACY,EAAcd,GAEf,6BAAK,kDAA2B,0E,GAxBjCc,a,qCCM/B4P,I,OAAiB,CAC1BC,OAAQ,0CACRC,WAAY,+BACZC,YAAa,sCACbC,UAAW,eACXC,cAAe,2BACfC,kBAAmB,eACnBC,MAAO,4CACPC,cAAe,iBCVbC,GAAW,CACbC,UAAW,CACPC,4BAA6B,SAASC,EAAYC,GAI9C,OAAO,GAEXC,QAAS,cAObC,WAAY,QACZC,iBAAkB,qBAClBC,cAAe,CAEXjJ,KAASC,KAAKiJ,mBAAmBC,YACjC,CACIC,SAAUpJ,KAASC,KAAKoJ,kBAAkBF,YAC1CG,oBAAoB,GAExB,CACIF,SAAU,cAKlBG,OAAQ,iBAERC,iBAAkB,YAGtBxJ,KAASyJ,cAAczB,IACnB,IAAM0B,GAAK,IAAIC,KAAgBC,OAAO5J,KAASC,QAMtC4J,GAAb,kDACI,WAAYvS,GAAQ,IAAD,8BACf,cAAMA,IAEDC,MAAQ,GAHE,EADvB,qDAQc,IAAD,OACD,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnCC,EAAkC,EAAlCA,WAAkC,EAAtBC,KAAsB,EAAhBC,WAIjB,OAHAqN,OAAO+E,YAAW,WACd,EAAKC,aAELvS,EAAmB,kBAACO,EAAA,EAAD,CACnB4D,QAAS,WAELqE,KAASC,OAAO+J,YAHD,YAQZ,6BAAK,0CAAmB,yBAAKtP,GAAG,oCAtB/D,gCAgCQiH,QAAQC,IAAI,mBACZ8H,GAAGO,QAEH,IACI3N,EADA7E,EAAOuI,KAASC,OAAOC,YAGf,MAARzI,GACA6E,EAAO7E,EAAKG,YACJH,EAAKyS,MACFzS,EAAK0S,SACA1S,EAAK2S,cACf3S,EAAK4S,IAGX1I,QAAQC,IAAI,mBAAqBtF,KAIjCqF,QAAQC,IAAI,eACZ8H,GAAGY,MAAM,6BAA8B7B,SAnDnD,GAA2BrQ,a,4GCvCZmS,I,OAVA,SAACjT,GAAW,IACfa,EAAoBb,EAApBa,MAAOmE,EAAahF,EAAbgF,KAAahF,EAAPoD,GACrB,OACI,yBAAKyD,UAAU,SACVnC,MAAO,CAAEiK,gBAAiB9N,EAAOqS,OAAQ,WACzCC,MAAOnO,MCedoO,GAAc,SAAC,GAGpB,IAAD,YAHsB1M,YAGtB,MAH6B,CAAC2M,aAAa,EAAOC,gBAAiB,QAASC,iBAAkB,QAASC,sBAAuB,QAASC,oBAAqB,SAG5J,MAFqB1P,aAErB,OAF8B,EAE9B,EADqB2P,EACrB,EADqBA,SAEjBC,KAAOC,OAAO,MADlB,MAG8B5Q,IAAMH,SAAS6D,GAH7C,mBAGWzG,EAHX,KAGkB4T,EAHlB,KAUI,SAASC,EAAeC,GACpBL,EAAS,CAAC3P,MAAOA,EAAOgB,MAAOgP,IAN/B9T,IAAUyG,GAEVmN,EAASnN,GAOb,IAAMsN,EAAQ,SAACC,EAAcC,GACzB,OAAOC,OAAOC,OAAO,GAAIH,EAAcC,IAqC3C,OAAO,kBAAClQ,EAAA,EAAD,KACH,kBAACuC,EAAA,EAAD,CAAMlB,QAAS,EAAGmB,WAAS,GACvB,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAI0N,GAAI,GAAI,kBAACxG,GAAA,EAAD,CAAKyG,GAAI,CAAC3N,GAAG,EAAG0N,GAAG,IAAI,kBAAChI,GAAA,EAAD,CAAY7E,QAAS,aAAemM,KAAOY,SAASxQ,EAAQ,MAC9G,kBAACwC,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC6N,GAAA,EAAD,CACIC,QAAS,kBAACC,GAAA,EAAD,CAAUC,QAAS1U,EAAMoT,YAAapM,SAZrC,SAAAuH,GACtB,IAAMoG,EAAWZ,EAAM/T,EAAO,CAACoT,YAAa7E,EAAMrH,OAAOwN,UAEzDd,EAASe,GACTd,EAAec,IAQyE5P,KAAK,aACjFtB,MAAM,cAId,kBAAC6C,EAAA,EAAD,CAAMG,MAAI,EAAC2N,GAAI,IACf,kBAAC9N,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAI0N,GAAI,GACnB,kBAACQ,GAAA,EAAD,CAAWC,KAAG,GACV,kBAACC,GAAA,EAAD,yBACA,kBAAClH,GAAA,EAAD,CAAKyG,GAAI,GAAG,kBAACU,GAAA,EAAD,CACRC,UAAWhV,EAAMoT,YACjBjQ,GAAG,QACHM,MAAM,YACN/B,KAAK,OACLoD,MAAK,iBAAE9E,QAAF,IAAEA,OAAF,EAAEA,EAAOqT,uBAAT,QAA4B,GACjC9I,OAAO,EACPvD,SAlCS,SAAAuH,GACzB,IAAMoG,EAAWZ,EAAM/T,EAAO,CAACqT,gBAAiB9E,EAAMrH,OAAOpC,QAE7D8O,EAASe,GACTd,EAAec,IA+BCM,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,QAGd,kBAACvH,GAAA,EAAD,CAAKyG,GAAI,GAAG,kBAACU,GAAA,EAAD,CACRC,UAAWhV,EAAMoT,YACjBjQ,GAAG,QACHM,MAAM,QACN/B,KAAK,OACLoD,MAAK,UAAE9E,EAAMsT,wBAAR,aAA4BzI,EACjCN,OAAO,EACPvD,SAxDU,SAAAuH,GAC1B,IAAMoG,EAAWZ,EAAM/T,EAAO,CAACsT,iBAAkB/E,EAAMrH,OAAOpC,QAE9D8O,EAASe,GACTd,EAAec,IAqDCM,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,UAKtB,kBAAC7O,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAI0N,GAAI,GAAG,kBAACQ,GAAA,EAAD,CAAWC,KAAG,GACpC,kBAACC,GAAA,EAAD,kBACA,kBAAClH,GAAA,EAAD,CAAKyG,GAAI,GAAG,kBAACU,GAAA,EAAD,CACRC,UAAWhV,EAAMoT,YACjBjQ,GAAG,SACHM,MAAM,UACN/B,KAAK,OACLoD,MAAK,UAAE9E,EAAMuT,6BAAR,aAAiC1I,EACtCN,OAAO,EACPvD,SAzFe,SAAAuH,GAC3B,IAAMoG,EAAWZ,EAAM/T,EAAO,CAACuT,sBAAuBhF,EAAMrH,OAAOpC,QAEnE8O,EAASe,GACTd,EAAec,IAsFHM,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,QAGd,kBAACvH,GAAA,EAAD,CAAKyG,GAAI,GAAG,kBAACU,GAAA,EAAD,CACRC,UAAWhV,EAAMoT,YACjBjQ,GAAG,SACHM,MAAM,OACN/B,KAAK,OACLoD,MAAK,UAAE9E,EAAMwT,2BAAR,aAA+B3I,EACpCN,OAAO,EACPvD,SAjGa,SAAAuH,GACzB,IAAMoG,EAAWZ,EAAM/T,EAAO,CAACwT,oBAAqBjF,EAAMrH,OAAOpC,QAEjE8O,EAASe,GACTd,EAAec,IA8FHM,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,UAIlB,kBAAC7O,EAAA,EAAD,CAAMG,MAAI,EAAC2N,GAAI,OAMrBgB,GAAsB,SAACrV,GAC5B,IAAD,EACgD6C,mBAAS7C,EAAMmD,YAD/D,mBACWmS,EADX,KAC2BC,EAD3B,OAEkD1S,mBAAS7C,EAAMmD,YAFjE,mBAEWqS,EAFX,KAE4BC,EAF5B,OAGoD5S,mBAAS7C,EAAMmD,WAAW8F,aAH9E,mBAGWyM,EAHX,KAG6BC,EAH7B,OAI4C9S,mBAAS7C,EAAMmD,WAAWmG,eAJtE,mBAIWsM,EAJX,KAIyBC,EAJzB,OAKkDhT,mBAAS7C,EAAMmD,WAAWkG,YAL5E,mBAKWyM,EALX,KAK4BC,EAL5B,OAM8ClT,mBAAS7C,EAAMmD,WAAWiG,oBAAsBpJ,EAAMmD,WAAWiG,oBAAsB,IANrI,mBAMW4M,EANX,KAM0BC,EAN1B,KAQUC,EAA0B,SAAC,GAAoB,IAAD,EAAlBnS,EAAkB,EAAlBA,MAAOgB,EAAW,EAAXA,MAC/BoR,GAAU,iBAACX,QAAD,IAACA,OAAD,EAACA,EAAiBtM,uBAAlB,QAAmC,IAAIpF,KAAI,SAACsS,EAAGhE,GAAJ,OAAWA,IAAOrO,EAAQqS,EAAIrR,KAEnF6P,EAAWT,OAAOC,OAAO,GAAIoB,EAAiB,CAACtM,gBAAiBiN,IACtEV,EAAmBb,GACnB5U,EAAMoI,oBAAoBwM,IAqB9B,IAcMyB,IAAsBX,IAAqBF,EAAgBvM,aAAe+M,IAAkBR,EAAgBpM,qBAE5GkN,IAA6BV,IAAiBJ,EAAgBlM,eAAiBwM,IAAoBN,EAAgBnM,YAGrHrJ,EAAMmD,aAAemS,IAErBC,EAAkBvV,EAAMmD,YACxBsS,EAAmBzV,EAAMmD,YACzBwS,EAAoB3V,EAAMmD,WAAW8F,aACrC4M,EAAgB7V,EAAMmD,WAAWmG,eACjCyM,EAAmB/V,EAAMmD,WAAWkG,YACpC4M,EAAiBjW,EAAMmD,WAAWiG,sBAGtC,IAAMmN,EAAgB,CAClB/M,IAAKgM,EAAgBhM,IACrBD,IAAKiM,EAAgBjM,KAMzB,OAAO,oCACP,kBAACsE,GAAA,EAAD,CAAKC,GAAI,GACD,kBAAC0I,GAAA,EAAD,KACI,kBAAC3I,GAAA,EAAD,CAAK4I,EAAG,GACJ,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,MAArB,eAKJ,kBAACqG,GAAA,EAAD,CAAK6I,GAAI,EAAGC,GAAI,GACZ,0BAAMC,SA/CI,SAACpI,GACvB,IAAMoG,EAAWT,OAAOC,OAAO,GAAIoB,EAAiB,CAACvM,YAAayM,EAAkBtM,oBAAqByN,SAASb,KAClHP,EAAmBb,GACnB5U,EAAMoI,oBAAoBwM,GAC1BpG,EAAMsI,mBA4CM,kBAACvQ,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACnB,kBAACqO,GAAA,EAAD,CACI+B,WAAW,EACX3T,GAAG,4BACHM,MAAM,kBACNsT,WAAS,EACTC,KAAM,EACNlS,MAAK,OAAE2Q,QAAF,IAAEA,SAAoB5K,EAC3B7D,SA3EY,SAAAuH,GAC5BmH,EAAoBnH,EAAMrH,OAAOpC,QA2EjByC,QAAQ,cAER,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACqO,GAAA,EAAD,CAAW5R,GAAG,oBAEHM,MAAM,4BACNuD,SAtEnC,SAA8BuH,GAC1B,IAAM0I,EAAe,KAAK3J,KAAKiB,EAAMrH,OAAOpC,OAAS8R,SAASrI,EAAMrH,OAAOpC,OAAO1D,WAAa,GAE/F4U,EAAiBiB,IAoEcnS,MAAK,OAAEiR,QAAF,IAAEA,SAAiBlL,EACxB1F,OAAO,SAASoC,QAAQ,cAEvC,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACnB,kBAAClG,EAAA,EAAD,CAAQwU,UAAYoB,EAAmB7O,QAAS,YAAa7F,KAAM,UAAnE,aAIJ,kBAACkM,GAAA,EAAD,CAAK4I,EAAG,GACJ,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,MAArB,UAKJ,kBAACqG,GAAA,EAAD,CAAK6I,GAAI,EAAGC,GAAI,GACZ,0BAAMC,SAzEO,SAACpI,GAC1B,IAAMoG,EAAWT,OAAOC,OAAO,GAAIoB,EAAiB,CAAClM,cAAesM,EAAcvM,WAAYyM,IAC9FL,EAAmBb,GACnB5U,EAAMoI,oBAAoBwM,GAC1BpG,EAAMsI,mBAsEU,kBAACvQ,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIwQ,GAAI,GACnB,kBAACtJ,GAAA,EAAD,KACA,kBAACmH,GAAA,EAAD,CACI+B,WAAW,EACX3T,GAAG,4BACHM,MAAM,UACNqB,MAAK,OAAE6Q,QAAF,IAAEA,SAAgB9K,EACvB7D,SAvGJ,SAAAuH,GACxBqH,EAAgBrH,EAAMrH,OAAOpC,QAuGDyC,QAAQ,cAGZ,kBAACqG,GAAA,EAAD,CAAKuJ,GAAI,GACT,kBAACpC,GAAA,EAAD,CACI+B,WAAW,EACX3T,GAAG,4BACHM,MAAM,MACNqB,MAAK,OAAE+Q,QAAF,IAAEA,SAAmBhL,EAC1B7D,SA7GD,SAAAuH,GAC3BuH,EAAmBvH,EAAMrH,OAAOpC,QA6GJyC,QAAQ,cAGZ,kBAACqG,GAAA,EAAD,CAAKuJ,GAAI,GACT,kBAAC3W,EAAA,EAAD,CAAQwU,UAAYqB,EAA0B9O,QAAS,YAAa7F,KAAM,UAA1E,WAGJ,kBAAC4E,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAI0N,GAAI,GACnB,yBAAK3P,MAAO,CAAEuJ,QAAS,eAAgBjI,SAAS,WAAYoI,MAAO,SAC/D,yBAAK1J,MAAO,CAACc,UAAW,SACxB,yBAAKd,MAAO,CAACsB,SAAU,WAAYqR,IAAI,EAAGC,KAAK,EAAEC,MAAM,EAAEC,OAAO,IAChE,kBAAC,KAAD,CACInT,QA7EpC,SAAkBoT,GAAMpN,QAAQC,IAAImN,EAAIC,EAAGD,EAAIE,EAAGF,EAAIjO,IAAKiO,EAAIlO,IAAKkO,EAAIjJ,QA8EpCoJ,iBAAkB,CAAE1T,IAAK,2CAEzB2T,YAlFhB,GAmFgBC,OAAQvB,GAER,kBAAC,GAAD,CACI/M,IAAK+M,EAAc/M,IACnBD,IAAKgN,EAAchN,IACnBvE,KAAK,YACLnE,MAAM,gBAgBlC,kBAACgN,GAAA,EAAD,MAIA,kBAACA,GAAA,EAAD,CAAK4I,EAAG,GACJ,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,MAArB,iCAIJ,kBAACqG,GAAA,EAAD,CAAKkK,GAAI,GACT,kBAAClU,EAAA,EAAD,KACM2R,EAAgBtM,gBAAiBpF,KAAI,SAAC4C,EAAM3C,GAAP,YAC1B+G,IAATpE,EAAqB,8BACjB,kBAAC,GAAD,CAAaA,KAAMA,EAAMxC,IAAKH,EAAOA,MAAOA,EAAO2P,SAAUwC,aASnF8B,GAAe,WAEjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAGPmK,GAAoB,SAACjY,GAC1B,IAAD,EACoC6C,mBAAS7C,EAAMG,MADnD,mBACWyK,EADX,KACqBC,EADrB,OAGwChI,mBAAS7C,EAAMmD,YAHvD,mBAGWA,EAHX,KAGuB+U,EAHvB,KAiBI,OAXI/U,IAAenD,EAAMmD,YAGrB+U,EAAclY,EAAMmD,YAGpBnD,EAAMG,OAASyK,GAEfC,EAAY7K,EAAMG,WAAuB2K,IAAf3H,GAGxBA,EAIC,oCACH,kBAAC0K,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MACpBrE,EAAW6B,OAMhB,kBAAC,GAAD,CAAqB7B,WAAYA,EAAYiF,oBAAqBA,MAZ3D,kBAAC,GAAD,OAgBT+P,GAAmB,SAACnY,GACtB,OAAO,oCACH,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,6BAAK,kBAAC1B,GAAD,mCAKF,SAASgM,KACpB,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnClY,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAGM,kBAAC2H,EAAkBwQ,SAAnB,MACF,SAACtN,GAAD,OACGA,EAAqB,kBAAC,GAAD,CAAmB5K,KAAMA,EAAMgD,WAAY4H,IAC1D,wDALP,kBAAC,GAAD,S,+JCxYVuN,GAAW,SAACtY,GACrB,IAAMuY,EAAevY,EAAM0G,MAAQ,CAC/B1B,KAAM,GACNiE,YAAa,GACbuP,MAAO,GACPC,SAAS,EACTrV,GAAI,GANuB,EAQLJ,IAAMH,SAAS0V,GARV,mBAQxBxT,EARwB,KAQjB2T,EARiB,KAWzBC,EAAgB,KAAKpL,KAAKxI,EAAMC,MAEhC4T,EAAY/B,SAAS9R,EAAMyT,QADhB,EAEXK,EAAiB,KAAKtL,KAAKxI,EAAMyT,SAAcI,EAC/CE,EAAgBH,GAAgBC,EAsDtC,OAAQ,oCACJ,0BAAMhC,SApBV,SAAsBpI,GAElB,IAAMuK,EAAW5E,OAAOC,OACpB,GACArP,EACA,CAACyT,MAAO3B,SAAS9R,EAAMyT,SAG3BxY,EAAM4W,SAASmC,GAEfvK,EAAMsI,mBAWF,kBAACvQ,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IAAI,kBAACqO,GAAA,EAAD,CAAWgE,WAAS,EAACjC,WAAW,EAAM3T,GAAG,YAAYM,MAAM,aAAUqB,MAAOA,EAAMC,KACvEiC,SAxDjB,SAAAuH,GACrB,IAAMuK,EAAW5E,OAAOC,OACpB,GACArP,EACA,CAACC,KAAMwJ,EAAMrH,OAAOpC,QAGxB2T,EAASK,IAiDyDvR,QAAQ,YAClE,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IAAI,kBAACqO,GAAA,EAAD,CAAW+B,WAAW,EAAM3T,GAAG,kBAAkBM,MAAM,sBAC5CqB,MAAOA,EAAMkE,YAAahC,SAhDpC,SAAAuH,GAC5B,IAAMuK,EAAW5E,OAAOC,OACpB,GACArP,EACA,CAACkE,YAAauF,EAAMrH,OAAOpC,QAG/B2T,EAASK,IA0C6BvR,QAAQ,YAEtC,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACJ,EAAA,EAAD,CAAMC,WAAS,EAACC,WAAW,WAAWwI,UAAU,OAC5C,kBAAC1I,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAG,kBAACqO,GAAA,EAAD,CAAWxK,MAAOqO,EAAe9B,WAAW,EAAM3T,GAAG,aAAaM,MAAM,OAC7DqB,MAAOA,EAAMyT,MAAOvR,SA5C3C,SAAAuH,GACtB,IAAMyK,EAAc,KAAK1L,KAAKiB,EAAMrH,OAAOpC,OAAS8R,SAASrI,EAAMrH,OAAOpC,OAAO1D,WAAa,GAExF0X,EAAW5E,OAAOC,OACpB,GACArP,EACA,CAACyT,MAAOS,IAGZP,EAASK,IAoCoCvR,QAAQ,YACrC,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAG,kBAACkH,GAAA,EAAD,CAAKI,QAAS,OAAQC,eAAgB,YACpD,kBAACzN,EAAA,EAAD,CAAQwU,UAAY6D,EAAetR,QAAS,YAAa7F,KAAK,UAA9D,SACA,kBAACkM,GAAA,EAAD,CAAKyG,GAAI,GAAG,kBAAC7T,EAAA,EAAD,CAAQ4D,QAtB5C,SAAsBmK,GAClBxO,EAAMkZ,SAASnU,GAEfyJ,EAAM2K,mBAmByD3R,QAAS,QAAxC,mBAQxC,SAAS4R,GAA4BpZ,GACjC,OAAO,kBAACuG,EAAA,EAAD,CAAMC,WAAS,GAClB,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACrC,EAAA,EAAD,CAAczC,QAAS7B,EAAM0G,KAAK1B,KAAMlD,UAAW9B,EAAM0G,KAAKuC,eAElE,kBAAC1C,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACkH,GAAA,EAAD,CAAK4I,EAAG,GAAG,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,MAAOxH,EAAM0G,KAAK8R,UAK9D,SAASa,GAAiBrZ,GACtB,OAAO,kBAACuG,EAAA,EAAD,CACHC,WAAS,EACTyI,UAAW,SACXrB,QAAS,SACTnH,WAAW,SACXpB,QAAS,GAET,kBAACkB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAK8I,GAAI,EAAGS,GAAI,EAAGnJ,QAASjO,EAAMsZ,SAAW,QAAU,QACnD,kBAAClT,EAAA,EAAD,CAAY/B,QAAS,SAACmK,GAClBA,EAAM2K,kBACNnZ,EAAMsZ,SAAStZ,EAAM0G,KAAKtD,KAC3BkD,KAAK,MACID,aAAW,WACnB,kBAAC,KAAD,SAIZ,kBAACE,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAK8I,GAAI,EAAGoB,GAAI,GACZ,kBAAC3R,EAAA,EAAD,CAAY/B,QAAS,SAACmK,GAClBA,EAAM2K,kBACNnZ,EAAMuZ,aAAavZ,EAAM0G,KAAKtD,KAAMkD,KAAK,MACjCD,aAAW,UACnB,kBAAC,KAAD,UAOb,IAAMmT,GAAoB,SAACxZ,GAAW,IAAD,EACVgD,IAAMH,UAAS,GADL,mBACjC4W,EADiC,KACxBC,EADwB,KAexC,OAAO,kBAAC1V,EAAA,EAAD,CAAUK,QAAS,WAXlBoV,GAGJC,GAAW,MASLD,GACE,kBAAClT,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKkK,GAAI,GACT,kBAAC4B,GAAA,EAAD,KACI,kBAACP,GAAD,CAA6B1S,KAAM1G,EAAM0G,UAIjD,kBAACH,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACiT,GAAA,EAAD,KACI,kBAACP,GAAD,CAAkB3S,KAAM1G,EAAM0G,KAAM4S,SAAUtZ,EAAMsZ,SAAUC,aAAcvZ,EAAMuZ,kBAMjGE,GAAW,kBAAC,GAAD,CAAU/S,KAAM1G,EAAM0G,KAAMkQ,SAvBhD,SAAmBmC,GACfW,GAAW,GACX1Z,EAAM0T,SAASqF,IAqBkDG,SACzD,WACIQ,GAAW,QAMlBG,GAAuB,SAAC7Z,GAAW,IAAD,EACbgD,IAAMH,UAAS,GADF,mBACpC4W,EADoC,KAC3BC,EAD2B,OAEf1W,IAAMH,SAAS7C,EAAM0G,KAAK+R,SAFX,mBAEpCqB,EAFoC,KAE5BC,EAF4B,KA2B3C,OAAO,kBAAC/V,EAAA,EAAD,CAAUK,QAAS,WAtBlBoV,GAGJC,GAAW,MAoBTD,GACF,kBAAClT,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKkK,GAAI,GACT,kBAAC4B,GAAA,EAAD,KACI,kBAACP,GAAD,CAA6B1S,KAAM1G,EAAM0G,QAE7C,kBAACE,EAAA,EAAD,CAAalG,UAAU,YACnB,kBAACmU,GAAA,EAAD,KACI,kBAACL,GAAA,EAAD,CACIC,QAAS,kBAACuF,GAAA,EAAD,CAAQrF,QAASmF,EAAQ7S,SAtB1D,SAA4BuH,GACxBuL,EAAUvL,EAAMrH,OAAOwN,SACvB,IAAMoE,EAAW5E,OAAOC,OACpB,GACApU,EAAM0G,KACN,CAAC+R,QAASjK,EAAMrH,OAAOwN,UAG3B3U,EAAM0T,SAASqF,IAcqE1U,QAAS,SAAA4V,GAAC,OAAIA,EAAEd,qBAEnFzV,MAAO,SAKpB,kBAAC6C,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACiT,GAAA,EAAD,KACI,kBAACP,GAAD,CAAkB3S,KAAM1G,EAAM0G,KAAM4S,SAAUtZ,EAAMsZ,SAAUC,aAAcvZ,EAAMuZ,kBAM7FE,GAAW,kBAAC,GAAD,CAAU/S,KAAM1G,EAAM0G,KAAMkQ,SA1C5C,SAAmBmC,GACfW,GAAW,GACX1Z,EAAM0T,SAASqF,IAwC8CG,SACzD,WACIQ,GAAW,QC5NrBQ,GAAY,SAACla,GAAW,IAAD,QAC6BgD,IAAMH,SAAS7C,EAAMma,aADlD,mBAClBC,EADkB,KACGC,EADH,OAECrX,IAAMH,SAAS7C,EAAMma,aAFtB,mBAElBla,EAFkB,KAEX4T,EAFW,OAImB7Q,IAAMH,UAAS,GAJlC,mBAIlByX,EAJkB,KAIFC,EAJE,KAMzBlP,qBAAU,WACF+O,IAAwBpa,EAAMma,cAC9BE,EAAuBra,EAAMma,aAC7BtG,EAAS7T,EAAMma,aAEfI,GAAkB,MAEvB,CAACva,EAAMma,cAEV,IAAMK,EAA0B,SAAArE,GAC5B,IAAMsE,EAAYtG,OAAOC,OAAO,GAAInU,GACpCwa,EAAUtR,OAASgN,EACnBtC,EAAS4G,GACTza,EAAM0T,SAAS+G,IA8BbC,EAAe,SAAA3V,GAAU,IAAD,EACpBoR,GAAU,iBAAClW,QAAD,IAACA,OAAD,EAACA,EAAOkJ,cAAR,QAAgB,IAAIrF,KAAI,SAAAsS,GAAC,OAAIA,EAAEhT,KAAO2B,EAAM3B,GAAKgT,EAAIrR,KACrEyV,EAAwBrE,IAGtBwE,EAAe,SAAAzW,GAAQ,IAAD,EAClBiS,GAAU,iBAAClW,QAAD,IAACA,OAAD,EAACA,EAAOkJ,cAAR,QAAgB,IAAIyR,QAAO,SAAAxE,GAAC,OAAIA,EAAEhT,KAAOc,KACzDsW,EAAwBrE,IAGtBsC,EAAUzY,EAAMyY,QAUtB,IAAMoC,EAAe,SAAA3W,GACjBmG,QAAQC,IAAI,sBACZ,IAAMwQ,EAAY,mBAAO7a,QAAP,IAAOA,OAAP,EAAOA,EAAOkJ,QAC1BpF,EAAQ+W,EAAavS,WAAU,SAAAC,GAAE,OAAIA,EAAGpF,KAAOc,KACrD4W,EAAarS,OAAO1E,EAAQ,EAAG,EAAG+W,EAAarS,OAAO1E,EAAO,GAAG,IAChEyW,EAAwBM,IAG5B,OACI,oCACI,kBAACC,GAAA,EAAD,MACA,kBAAClN,GAAA,EAAD,CAAKC,GAAI,GACT,kBAACvH,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EAAGqB,MAAI,GAC5B,kBAACH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACsU,GAAA,EAAD,mBAEJ,kBAACzU,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACH,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EAAGqB,MAAI,GAC5B,kBAACH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKwC,GAAI,GAEL,kBAAC2E,GAAA,EAAD,CACIC,UAAYwD,EACZrV,GAAG,QACHM,MAAM,UACN/B,KAAK,OACLoD,MAAK,iBAAE9E,QAAF,IAAEA,OAAF,EAAEA,EAAOgb,gBAAT,QAAqB,GAC1BhU,SAnChC,SAAoCuH,IAtCE,SAAA0M,GAClC,IAAMT,EAAYtG,OAAOC,OAAO,GAAInU,GACpCwa,EAAUQ,SAAWC,EACrBrH,EAAS4G,GACTza,EAAM0T,SAAS+G,GAmCfU,CAA8B3M,EAAMrH,OAAOpC,QAmCfmQ,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,SAKtB,kBAAC7O,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKwC,GAAI,GACL,kBAAC2E,GAAA,EAAD,CACIC,UAAYwD,EACZrV,GAAG,QACHM,MAAM,OACN/B,KAAK,OACLoD,MAAK,iBAAE9E,QAAF,IAAEA,OAAF,EAAEA,EAAOmb,iBAAT,QAAsB,GAC3BnU,SAjDhC,SAAkCuH,IAnCE,SAAA6M,GAChC,IAAMZ,EAAYtG,OAAOC,OAAO,GAAInU,GACpCwa,EAAUW,UAAYC,EACtBxH,EAAS4G,GACTza,EAAM0T,SAAS+G,GAgCfa,CAA4B9M,EAAMrH,OAAOpC,QAiDbmQ,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,aAUlC,kBAACvR,EAAA,EAAD,MACK,iBAAC5D,QAAD,IAACA,OAAD,EAACA,EAAOkJ,cAAR,QAAgB,IAAIrF,KAAI,SAAC4C,EAAK3C,GAAN,OACrB,kBAAC,GAAD,CAAmB2C,KAAMA,EAAMxC,IAAKwC,EAAKtD,GAAIsQ,SAAUgH,EAAcnB,aAAcoB,EAAcrB,SAAoB,IAAVvV,EAAc,KAAO8W,SAItIP,GACF,kBAACzM,GAAA,EAAD,CAAKG,GAAI,EAAGC,QAAS,OAAQC,eAAgB,YACzC,kBAACzN,EAAA,EAAD,CAAQwU,UAAYwD,EAASjR,QAAS,YAAanD,QAAS,kBAAMkW,GAAkB,KAApF,4BAGHD,GAAkB,kBAACzM,GAAA,EAAD,CAAKsB,EAAG,GAAG,kBAAC,GAAD,CAAUyH,SAvG3B,SAAA7R,GACjB,GAAIA,EAAO,CAAC,IAAD,EACDgU,EAAW5E,OAAOC,OAAO,GAC3BrP,EACA,CAAC3B,GAAIrC,MAGTyZ,GAAwB,iBAACva,QAAD,IAACA,OAAD,EAACA,EAAOkJ,cAAR,QAAkB,IAAIoS,OAAOxC,IACrDwB,GAAkB,KA+F8CrB,SAAU,kBAAIqB,GAAkB,SAM5G,SAASiB,GAAQxb,GAAQ,IAAD,kBACkCgD,IAAMH,SAAS7C,EAAMyb,WADvD,mBACbrB,EADa,KACQC,EADR,OAEMrX,IAAMH,SAAS7C,EAAMyb,WAF3B,mBAEbxb,EAFa,KAEN4T,EAFM,KAKd6H,EADY,oDACcnO,KAAV,iBAAetN,QAAf,IAAeA,OAAf,EAAeA,EAAOgb,gBAAtB,QAAkC,IASxD,SAASnH,EAAe6H,GACpBjT,KAASC,OAAOC,YAAYC,aACvBC,MAAK,SAAAC,GACF,IAAMC,EAAU,CACZ,aAAiBhJ,EAAM4b,aACvB,QAAY5b,EAAM6b,KAAKC,OAAOnI,KAAOoI,UAAUC,MAC/C,UAAcL,GAElBlS,MAAM,gCAAiC,CACnCC,OAAQ,OACRC,QAAS,CAAG,eAAgB,mBACxB,cAAgB,UAAhB,OAA2BZ,IAC/Ba,KAAMC,KAAKC,UAAUd,KAEpBF,MAAK,SAAAiB,GACGA,EAASE,IACVC,MAAM,qBAGbK,OAAM,SAAAC,GACHN,MAAM,uBAgC1B,SAAS+R,IAAW,IAAD,EACiBjZ,IAAMH,SAAS,MADhC,mBACRmK,EADQ,KACEC,EADF,KAETxF,EAAOyF,QAAQF,GAMfkP,EAAc,WAChBjP,EAAY,OAQhB,OACI,kBAAC/G,EAAA,EAAD,CAAQ8J,QAAM,GACV,kBAAC5J,EAAA,EAAD,CACIC,aAAW,OACX8V,gBAAc,YACdC,gBAAc,OACd/X,QAnBQ,SAACmK,GACjBvB,EAAYuB,EAAMC,iBAoBV,kBAAC,KAAD,OAEJ,kBAAC,KAAD,CACIrL,GAAG,YACH4J,SAAUA,EACVpF,aAAW,EACXH,KAAMA,EACNC,QAASwU,EACTxN,WAAY,CACRhK,MAAO,CACHkK,UAAWC,IACXT,MAAO,UAIf,kBAACtJ,EAAA,EAAD,CAAUT,QA5BQ,WAC1B6X,IACAlc,EAAMqc,cA0BE,oCAMhB,OAzGAhR,qBAAU,WACF+O,IAAwBpa,EAAMyb,YAC9BpB,EAAuBra,EAAMyb,WAC7B5H,EAAS7T,EAAMyb,cAEpB,CAACzb,EAAMyb,YAoGH,kBAAClV,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIwQ,GAAI,EAAG9C,GAAI,GACjC,kBAAC7E,GAAA,EAAD,KACI,kBAAC3L,EAAA,EAAD,KACI,kBAAC0C,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMC,WAAS,EAACE,MAAI,EAACC,GAAI,EAAGtB,QAAS,GACjC,kBAACkB,EAAA,EAAD,CAAMG,MAAI,GACV,kBAACsU,GAAA,EAAD,KAAgBhb,EAAM6b,KAAKS,SAASC,wBAAmBzR,EAAW,CAC9D0R,QAAS,OACTC,MAAO,UACPC,IAAK,cAIT,kBAACnW,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACuV,EAAD,QAIR,kBAAC1V,EAAA,EAAD,CAAMC,WAAS,EAACE,MAAI,EAACC,GAAI,EAAGiH,QAAS,YACjC,kBAACrH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKsB,EAAG,GACZ,kBAAC5I,EAAA,EAAD,CAAMC,WAAS,EAACE,MAAI,EAACuI,UAAW,SAAUxI,WAAY,cACtD,kBAACF,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACE,EAAA,EAAD,CAAalG,UAAU,YACnB,kBAACmU,GAAA,EAAD,KACI,kBAACL,GAAA,EAAD,CACIC,QAAS,kBAACuF,GAAA,EAAD,CAAQrF,QAAO,iBAAE1U,QAAF,IAAEA,OAAF,EAAEA,EAAO0c,cAAT,SAA0B1V,SAnGtF,SAA0BuH,GACtB,IAAMmN,EAAkB,CAACgB,OAAQnO,EAAMrH,OAAOwN,QAASsG,SAAUhb,EAAMgb,SAAUG,UAAWnb,EAAMmb,UAAWwB,QAAS3c,EAAM2c,SAC5H/I,EAAS8H,GACT7H,EAAe6H,MAiGiBjY,MAAM,wBAMtB,kBAAC6C,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EAAGqB,MAAI,GAC5B,kBAACH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACsO,GAAA,EAAD,CACIC,WAAU,iBAAGhV,QAAH,IAAGA,OAAH,EAAGA,EAAO0c,cAAV,UACVvZ,GAAG,QACHM,MAAM,UACN/B,KAAK,OACLoD,MAAK,iBAAE9E,QAAF,IAAEA,OAAF,EAAEA,EAAOgb,gBAAT,QAAqB,GAC1BzQ,MAAO,iBAACvK,QAAD,IAACA,OAAD,EAACA,EAAO0c,cAAR,WAA8BjB,EACrCzU,SA7GhC,SAA8BuH,GAC1B,IAAMuF,EAAS,CAAC4I,OAAQ1c,EAAM0c,OAAQ1B,SAAUzM,EAAMrH,OAAOpC,MAAOqW,UAAWnb,EAAMmb,UAAWwB,QAAS3c,EAAM2c,SAC/G/I,EAASE,GACTD,EAAeC,IA2GamB,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,QAIlB,kBAAC7O,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACsO,GAAA,EAAD,CACIC,WAAU,iBAAGhV,QAAH,IAAGA,OAAH,EAAGA,EAAO0c,cAAV,UACVvZ,GAAG,QACHM,MAAM,OACN/B,KAAK,OACLoD,MAAK,iBAAE9E,QAAF,IAAEA,OAAF,EAAEA,EAAOmb,iBAAT,QAAsB,GAC3BnU,SAvHhC,SAA+BuH,GAC3B,IAAMuF,EAAS,CAAC4I,OAAQ1c,EAAM0c,OAAQ1B,SAAUhb,EAAMgb,SAAUG,UAAW5M,EAAMrH,OAAOpC,MAAO6X,QAAS3c,EAAM2c,SAC9G/I,EAASE,GACTD,EAAeC,IAqHamB,gBAAiB,CACbC,QAAQ,GAEZ/N,WAAY,CACRgO,KAAM,eAYlC,kBAACvH,GAAA,EAAD,CAAKE,GAAI,EAAGD,GAAI,GACZ,kBAAC,GAAD,CAAW+N,KAAM7b,EAAM6b,KAAMpD,QAAO,iBAAExY,QAAF,IAAEA,OAAF,EAAEA,EAAO0c,cAAT,SAA0BxC,YAAW,OAAEla,QAAF,IAAEA,OAAF,EAAEA,EAAO2c,QACvElJ,SApIvB,SAA2BmJ,GAEvB,IAAM9I,EAAS,CAAC4I,OAAQ1c,EAAM0c,OAAQ1B,SAAUhb,EAAMgb,SAAUG,UAAWnb,EAAMmb,UAC7EwB,QAASC,GACbhJ,EAASE,GACTD,EAAeC,SAqIvB,SAAS+I,GAAqB9c,GAC1B,IAAM+c,EAAyB,CAC3BC,QAAQ,EACRhY,KAAM,GACNkE,gBAAiB,CAAC,CAACmK,aAAa,EAChCC,gBAAiB,GACjBC,iBAAkB,GAClBC,sBAAuB,GACvBC,oBAAqB,MAEnBwJ,EAAwB,CAC1BD,QAAQ,EACRE,WAAY,CAkBR,KACA,KAAM,KAAM,KAAM,KAAM,KAAM,OA/BL,EAkCPra,mBAAS,CAC/BM,WAAY,KACZsY,UAAWwB,EACXE,aAAa,EACbhd,KAAMH,EAAMG,OAtCiB,mBAkC1BF,EAlC0B,KAkCnB4T,EAlCmB,OAwCMhR,mBAAS8Q,OAASyJ,SAASzJ,OAAS0J,aAAe,EAAG,SAxC5D,mBAwC1BC,EAxC0B,KAwCPC,EAxCO,KA0C7Bvd,EAAMmD,aAAelD,EAAMkD,aAE3B0Q,EAAS,CACL1Q,WAAYnD,EAAMmD,WAClBga,aAAa,EACbhd,KAAMF,EAAME,KACZsb,UAAWxb,EAAMwb,YAhDQ,+CAmD7B+B,CAAexd,EAAMG,KAAMmd,EAAmBtd,EAAMmD,YAAY2F,QAnDnC,MAuDV,CAACwU,EAAkBG,OAAQH,EAAkBI,WAA7DD,EAvD0B,KAuDpBE,EAvDoB,KAyDjC,SAASC,IAEL,IAAMC,EAAUP,EAAkBQ,QAAQC,IAAI,EAAG,QACjDR,EAAUM,GACVG,EAAShe,EAAMG,KAAMF,EAAMkD,WAAY0a,GAAS/U,OAGpD,SAASmV,IAEL,IAAMJ,EAAUP,EAAkBQ,QAAQV,SAAS,EAAG,QACtDG,EAAUM,GACVG,EAAShe,EAAMG,KAAMF,EAAMkD,WAAY0a,GAAS/U,OAcpD,SAASoV,EAAoBC,GAEzB9T,QAAQC,IAAI,0BApFiB,iDA0F7B8T,CAAQne,EAAME,KAAMF,EAAMkD,WAAYgb,EAAOA,EAAML,QAAQV,SAAS,EAAG,SAAStU,OAKpF,SAASuV,IAAY,IAAD,EACgBrb,IAAMH,SAAS,MAD/B,mBACTmK,EADS,KACCC,EADD,KAEVxF,EAAOyF,QAAQF,GAMfkP,EAAc,WAChBjP,EAAY,OAQVqR,EAAiB,SAACC,GACpBrC,IAjHyB,iDAkHzBsC,CAASve,EAAME,KAAMF,EAAMkD,WAAYma,EAAmBiB,GAAYzV,QAIpE2V,EAAgBC,MAAMC,KAAKD,MADL,IACiC,SAACE,EAAG7a,GAAJ,OAAcuZ,EAAkBQ,QAAQV,SAAS,GAAKrZ,EAAQ,GAAI,WAE/H,OACI,6BACI,kBAACqC,EAAA,EAAD,CACIC,aAAW,OACX8V,gBAAc,YACdC,gBAAc,OACd/X,QA3BQ,SAACmK,GACjBvB,EAAYuB,EAAMC,iBA4BV,kBAAC,KAAD,OAEJ,kBAAC,KAAD,CACIrL,GAAG,YACH4J,SAAUA,EACVpF,aAAW,EACXH,KAAMA,EACNC,QAASwU,EACTxN,WAAY,CACRhK,MAAO,CACHkK,UAAWC,IACXT,MAAO,UAIbqQ,EAAe3a,KAAI,SAAAsS,GAAC,OAAI,kBAACtR,EAAA,EAAD,CAAUT,QAAS,kBAAMia,EAAelI,KAAxC,oBAA2DA,EAAEsH,gBA/ItE,SA+MlBM,EA/MkB,kFA+MjC,WAAwB7d,EAAMgD,EAAY0b,GAA1C,mBAAA7U,EAAA,sEACwB7J,EAAK0I,aAD7B,cACUE,EADV,gBAE6CU,MAAM,+BAAiC,IAAIqV,gBAAgB,CACxFlD,aAAczY,EAAWC,GACzB2b,aAAcF,EAAa/C,OAAOnI,KAAOoI,UAAUC,QAEjD,CACErS,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MAPzD,cAEkBiW,EAFlB,gBAUqCA,EAAmB5U,OAVxD,OAUkB6U,EAVlB,OAWYpL,EAAS,CACL1Q,WAAYA,EACZga,aAAa,EACbhd,KAAMA,EACNsb,UAAW,CAACuB,QAAQ,EAAME,WAAY+B,KAftD,6CA/MiC,kEAkOjC,WAAwB9e,EAAMgD,EAAY0b,EAAcK,GAAxD,mBAAAlV,EAAA,sEACwB7J,EAAK0I,aAD7B,cACUE,EADV,gBAEqCU,MAAM,2BAA6B,IAAIqV,gBAAgB,CACpFlD,aAAczY,EAAWC,GACzB2b,aAAcF,EAAa/C,OAAOnI,KAAOoI,UAAUC,MACnDmD,SAAUD,EAAepD,OAAOnI,KAAOoI,UAAUC,QAE/C,CACErS,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MARjD,cAEUiW,EAFV,gBAW6BA,EAAmB5U,OAXhD,OAWU6U,EAXV,OAYIpL,EAAS,CACL1Q,WAAYA,EACZga,aAAa,EACbhd,KAAMA,EACNsb,UAAW,CAACuB,QAAQ,EAAME,WAAY+B,KAhB9C,6CAlOiC,kEAsPjC,WAAuB9e,EAAMgD,EAAYic,EAAcF,GAAvD,mBAAAlV,EAAA,sEACwB7J,EAAK0I,aAD7B,cACUE,EADV,gBAEqCU,MAAM,0BAA4B,IAAIqV,gBAAgB,CACnFlD,aAAczY,EAAWC,GACzBic,cAAeD,EAAatD,OAAOnI,KAAOoI,UAAUC,MACpDmD,SAAUD,EAAepD,OAAOnI,KAAOoI,UAAUC,QAE/C,CACErS,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MARjD,cAEUiW,EAFV,gBAW6BA,EAAmB5U,OAXhD,OAWU6U,EAXV,OAYIpL,EAAS,CACL1Q,WAAYA,EACZga,aAAa,EACbhd,KAAMA,EACNsb,UAAW,CAACuB,QAAQ,EAAME,WAAY+B,KAhB9C,6CAtPiC,kEA4QjC,WAA8B9e,EAAM0e,EAAc1b,GAAlD,eAAA6G,EAAA,6DAEI6J,EAAS,CAAC1Q,WADJsH,EAAOtH,EACega,aAAa,EAAOhd,KAAMA,EAAMsb,UAAWwB,IAF3E,SAIUe,EAAS7d,EAAMsK,EAAMoU,GAJ/B,4CA5QiC,sBAoSjC,OANAxT,qBAAU,WACN,OAAO3C,KAASC,OAAO2W,oBACnB,SAAAC,GAZJ1L,EAAS,CACL1Q,WAAY4Z,EACZtB,UAAWwB,EACXE,aAAa,EACbhd,KAQwBof,SAE7B,IAEmB,OAAftf,EAAME,KA9Ib,WAA8B,IAAD,8BACnBqf,EAAUlC,EAAkBQ,QAAQC,IAAI,EAAG,QAC3C0B,EAAYnC,EAAkBQ,QAAQC,IAAI,EAAG,QAC7C2B,EAAWpC,EAAkBQ,QAAQC,IAAI,EAAG,QAC5C4B,EAASrC,EAAkBQ,QAAQC,IAAI,EAAG,QAC1C6B,EAAWtC,EAAkBQ,QAAQC,IAAI,EAAG,QAC5C8B,EAASvC,EAAkBQ,QAAQC,IAAI,EAAG,QAChD,OACI,oCACI,kBAAClQ,GAAA,EAAD,CAAKC,GAAI,IACkB,IAAtB7N,EAAMkd,YACJ,kBAAC9Q,GAAA,EAAD,CAAY7E,QAAS,MAArB,cACA,kBAAC6E,GAAA,EAAD,CAAY7E,QAAS,MAArB,UAA4BvH,EAAMkD,kBAAlC,aAA4B,EAAkB6B,OAGrD,kBAAC6I,GAAA,EAAD,CAAKwC,GAAI,GACL,kBAAC9J,EAAA,EAAD,CAAMC,WAAS,GACf,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGH,WAAS,EAACC,WAAW,UACnC,kBAACF,EAAA,EAAD,CAAMG,MAAI,GAAC,kBAACN,EAAA,EAAD,CAAY/B,QAAS4Z,GAAoB,kBAAC,KAAD,QACpD,kBAAC1X,EAAA,EAAD,CAAMG,MAAI,GAAC,kBAAC4F,GAAD,SAA4BqR,EAA5B,KAAoCF,IAC/C,kBAAClX,EAAA,EAAD,CAAMG,MAAI,GAAC,kBAACN,EAAA,EAAD,CAAY/B,QAASuZ,GAAgB,kBAAC,KAAD,SAEhD,kBAACrX,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGH,WAAS,EAACoH,QAAQ,YAChC,oCAEI,kBAACyQ,EAAD,UAMhB,kBAAC9X,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACmW,GAAD,CAASK,KAAMyB,EAAmBwC,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GACrEuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoBZ,MAC/H,kBAAC9B,GAAD,CAASK,KAAM2D,EACNM,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoBsB,MAC/H,kBAAChE,GAAD,CAASK,KAAM4D,EACNK,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoBuB,MAC/H,kBAACjE,GAAD,CAASK,KAAM6D,EACNI,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoBwB,MAC/H,kBAAClE,GAAD,CAASK,KAAM8D,EACNG,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoByB,MAC/H,kBAACnE,GAAD,CAASK,KAAM+D,EACNE,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoB0B,MAC/H,kBAACpE,GAAD,CAASK,KAAMgE,EACNC,SAAQ,UAAE7f,EAAMkD,kBAAR,aAAE,EAAkB+F,gBAAgB,GAC5CuS,UAAWxb,EAAMwb,UAAUyB,WAAW,GAAItB,aAAY,UAAI3b,EAAMkD,kBAAV,aAAI,EAAkBC,GAAIiZ,UAAW,WAAO6B,EAAoB2B,QA4FzIxf,GACA,kDAGK,SAAS0f,KAEpB,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnC7f,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAGM,kBAAC2H,EAAkBwQ,SAAnB,MACF,SAACtN,GAAD,OACGA,EAAqB,kBAAC+R,GAAD,CAAsB3c,KAAMA,EAAMgD,WAAY4H,IAC7D,wCALP,4DCjpBvB,IAAMiV,GAAsB,SAAChgB,GAC5B,IAAD,IACgD6C,mBAAS7C,EAAMmD,YAD/D,mBACWmS,EADX,KAC2BC,EAD3B,OAEkD1S,mBAAS7C,EAAMmD,YAFjE,mBAEWqS,EAFX,KAE4BC,EAF5B,OAGgDzS,IAAMH,UAAS,GAH/D,mBAGWyX,EAHX,KAG2BC,EAH3B,KAKQva,EAAMmD,aAAemS,IAErBC,EAAkBvV,EAAMmD,YACxBsS,EAAmBzV,EAAMmD,aAG7B,IAEMqX,EAA0B,SAAArE,GAC5B,IAAMsE,EAAYtG,OAAOC,OAAO,GAAIoB,GACpCiF,EAAUtR,OAASgN,EACnBV,EAAmBgF,GACnBza,EAAMoI,oBAAoBqS,IAexBC,EAAe,SAAA3V,GAAU,IAAD,EACpBoR,GAAU,iBAACX,QAAD,IAACA,OAAD,EAACA,EAAiBrM,cAAlB,QAA0B,IAAIrF,KAAI,SAAAsS,GAAC,OAAIA,EAAEhT,KAAO2B,EAAM3B,GAAKgT,EAAIrR,KAC/EyV,EAAwBrE,IAEtB8J,EAAUC,cAEVvF,EAAe,SAAAzW,GACjB+b,EAAQ,CAAChX,YAAa,iCACjBH,KADL,sBACU,8BAAAkB,EAAA,sDACImM,GAAU,iBAACX,QAAD,IAACA,OAAD,EAACA,EAAiBrM,cAAlB,QAA4B,IAAIyR,QAAO,SAAAxE,GAAC,OAAIA,EAAEhT,KAAOc,KACrEsW,EAAwBrE,GAFtB,4CAIL5L,OAAM,WACHF,QAAQC,IAAI,2BAIlBuQ,EAAe,SAAA3W,GACjBmG,QAAQC,IAAI,sBACZ,IAAMwQ,EAAY,mBAAOtF,QAAP,IAAOA,OAAP,EAAOA,EAAiBrM,QACpCpF,EAAQ+W,EAAavS,WAAU,SAAAC,GAAE,OAAIA,EAAGpF,KAAOc,KACrD4W,EAAarS,OAAO1E,EAAQ,EAAG,EAAG+W,EAAarS,OAAO1E,EAAO,GAAG,IAChEyW,EAAwBM,IAI5B,OAAO,oCACH,kBAACjN,GAAA,EAAD,CAAKC,GAAI,EAAGC,GAAI,GACZ,kBAACxH,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAI0N,GAAI,GAC3B,kBAACmC,GAAA,EAAD,KACI,kBAAC3I,GAAA,EAAD,CAAK4I,EAAG,GACJ,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,MAArB,+CAIJ,kBAACqG,GAAA,EAAD,CAAKkK,GAAI,EAAGoI,GAAI,EAAG7L,GAAI,CAAC3N,GAAG,EAAG0N,GAAG,IAC7B,kBAACxQ,EAAA,EAAD,KACI,kBAACA,EAAA,EAAD,MACK,iBAAC2R,QAAD,IAACA,OAAD,EAACA,EAAiBrM,cAAlB,QAA4B,IAAIrF,KAAI,SAAC4C,EAAM3C,GAAP,OACjC,kBAAC,GAAD,CAAsB2C,KAAMA,EAAMxC,IAAKwC,EAAKtD,GAAIsQ,SAAUgH,EAAcpB,SAAoB,IAAVvV,EAAc,KAAO8W,EACpFtB,aAAcoB,SAGvCL,GACF,kBAACzM,GAAA,EAAD,CAAKG,GAAI,EAAGC,QAAS,OAAQC,eAAgB,cACzC,kBAACzN,EAAA,EAAD,CAAQwU,UAAU,EAAUzN,QAAS,YAAanD,QAAS,kBAAMkW,GAAkB,KAAnF,4BAIHD,GAAkB,kBAACzM,GAAA,EAAD,CAAKsB,EAAG,GAAG,kBAAC,GAAD,CAAUyH,SA9DnC,SAAA7R,GACrB,GAAIA,EAAO,CAAC,IAAD,EACDgU,EAAW5E,OAAOC,OAAO,GAC3BrP,EACA,CAAC3B,GAAIrC,MAGTyZ,GAAwB,iBAAChF,QAAD,IAACA,OAAD,EAACA,EAAiBrM,cAAlB,QAA4B,IAAIoS,OAAOxC,IAC/DwB,GAAkB,KAuDkCrB,SAAU,kBAAMqB,GAAkB,eAW5FvC,GAAe,WAEjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAGPmK,GAAoB,SAACjY,GAEvB,OAAMA,EAAMmD,WAIL,oCACH,kBAAC0K,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MACpBxH,EAAMmD,WAAW6B,OAGtB,kBAAC,GAAD,CAAqB7B,WAAYnD,EAAMmD,WAAYiF,oBAAqBA,MATjE,kBAAC,GAAD,OAaT+P,GAAmB,SAACnY,GACtB,OAAO,oCACH,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,6BAAK,kBAAC1B,GAAD,mCAKF,SAASgU,KACpB,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnClgB,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAGM,kBAAC2H,EAAkBwQ,SAAnB,MACN,SAACtN,GAAD,OACGA,EAAqB,kBAAC,GAAD,CAAmB5K,KAAMA,EAAMgD,WAAY4H,IAC1D,wDALH,kBAAC,GAAD,SCrIR,SAASsV,KACpB,OAAO,kBAAC,KAAD,CAAkB1d,MAAOrB,GAC5B,kBAACsO,GAAA,EAAD,MACA,kBAAC/B,GAAA,EAAD,KAAK,kBAAC5B,EAAA,EAAD,KACD,kBAAC1F,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,IACtB,kBAACxJ,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAClC,GAAA,EAAD,CAAKG,GAAI,EAAGqC,GAAI,EAAGpC,QAAS,OAAQC,eAAgB,UAChD,yBAAKE,MAAO,OAAQC,IAAK,mBAAoBC,IAAK,iBAEtD,kBAACT,GAAA,EAAD,CAAKI,QAAS,OAAQC,eAAgB,UAClC,kBAAC7B,GAAA,EAAD,CAAYiU,MAAO,SAAU9Y,QAAS,MAAtC,yCAGR,kBAACjB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,IAEtB,kBAACxJ,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKsB,EAAG,GAEJ,kBAAC5I,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC2F,GAAD,0BACA,kBAACuB,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,SAArB,4BACA,kBAAC6E,GAAA,EAAD,CAAY7E,QAAS,SAArB,sHACA,kBAAC6E,GAAA,EAAD,CAAY7E,QAAS,SAArB,8GACA,kBAAC6E,GAAA,EAAD,CAAY7E,QAAS,SAArB,kFACA,kBAAC6E,GAAA,EAAD,CAAY7E,QAAS,QAASgF,WAAW,GAAzC,iIACA,kBAACD,GAAD,0ECvBpC,IAAMgU,GAAgBrb,IAAW,CAC7Bsb,KAAM,CAAE3f,MAAO,UAAW4f,eAAgB,aAG9C,SAASC,GAAoB1gB,GACzB,IAAMiF,EAAUsb,KAEhB,OAAO,kBAAC1S,GAAA,EAAD,CAAKwC,GAAI,GAAG,kBAAChE,GAAA,EAAD,CAAY7E,QAAS,MACpC,kBAAC,IAAD,CAAO5G,GAAI,mBAAqBZ,EAAM0G,KAAKia,KAAM9Z,UAAW5B,EAAQub,MACnExgB,EAAM0G,KAAK1B,QASpB,IAAM4b,GAAiB,SAAC5gB,GACvB,IAAD,EAEI,OAAO,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,IACP,UAAC9N,EAAM8C,YAAY+d,sBAAnB,QAAqC,IAAI/c,KAAI,SAAA4C,GAAI,OAC9C,kBAACga,GAAD,CAAqBha,KAAMA,EAAMxC,IAAKwC,EAAKia,YAKrD3I,GAAe,WAEjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAGPgT,GAAc,SAAC9gB,GAAW,IAAD,EACS6C,wBAASiI,GADlB,mBACpB3H,EADoB,KACR+U,EADQ,KAGrB6I,EAAgB,uCAAG,8BAAA/W,EAAA,6DACfgX,EAAiBvX,MAAM,qBAAsB,IAD9B,SAKKuX,EALL,8BAKqB5W,OALrB,OAKfK,EALe,OAMrBJ,QAAQC,IAAIG,GACZyN,EAAc,CACV2I,eAAgBpW,IARC,2CAAH,qDAmBtB,YAPmBK,IAAf3H,IACA+U,EAAc,MAGd6I,IAAmBjY,QAGlB3F,EAIE,oCACH,kBAAC,GAAD,CAAgBL,YAAaK,KAJtB,kBAAC,GAAD,OASA,SAAS8d,KACpB,IAAMC,EAASpU,aAAc3K,EAAUK,YAAYC,GAAG,OAElD,OACI,kBAAC,KAAD,CAAkBE,MAAOR,GACrB,kBAACyN,GAAA,EAAD,MACA,kBAACC,GAAA,EAAD,KACI,4FACA,0BAAM7K,KAAK,cAAc8K,QAAQ,uJAGrC,kBAAClD,GAAD,KACI,kBAACX,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKE,GAAI,EAAGC,GAAIkT,EAAS,GAAK,GAC1B,kBAAC9U,GAAD,kCAOZ,kBAACH,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKG,GAAIkT,EAAS,GAAK,GAGvB,kBAAC,GAAD,MAEA,kBAACrT,GAAA,EAAD,CAAKC,GAAI,IACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,QCzFvC,SAAS2a,GAAUnhB,GAGf,OAFAqK,QAAQC,IAAItK,EAAM0G,MAEX,kBAACH,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GAC5B,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACrC,EAAA,EAAD,CAAczC,QAAS7B,EAAM0G,KAAK1B,KAAMlD,UAAW9B,EAAM0G,KAAKuC,eAElE,kBAAC1C,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACkH,GAAA,EAAD,CAAK6I,GAAI,GACL,yBAAKhS,MAAO,CAAC4C,MAAO,UAChB,kBAACiF,GAAD,KAAYvM,EAAM0G,KAAK8R,MAAvB,cAUpB,SAAS4I,GAAUphB,GAMf,OAAO,kBAACwP,GAAA,EAAD,CAAM9K,MALU,CACnB7D,MAAO,UACP0O,aAAc,SAIbvP,EAAM6L,UAMf,SAASwV,GAAYrhB,GACjB,IAAMA,EAAMshB,mBAAuBthB,EAAMuhB,gBACrC,OAAO,qCAGX,IAAMC,EAAYxhB,EAAMshB,iBAAmBthB,EAAMshB,iBAAmBthB,EAAMuhB,gBAE1E,OAAyB,IAArBC,EAAUne,OACH,qCAEJ,oCACH,kBAACoJ,GAAD,sBACmBkH,OAAS2I,SAASC,wBAAmBzR,EAAW,CAC/D0R,QAAS,OACTC,MAAO,UACPC,IAAK,aAGT,kBAACnW,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC9C,EAAA,EAAD,MACK,OAAC2d,QAAD,IAACA,IAAa,IAAI1d,KAAI,SAAA4C,GAAI,OACvB,kBAACya,GAAD,CAAWza,KAAMA,EAAMxC,IAAKwC,WASpD,SAAS+a,GAAazhB,GAAQ,IAAD,EACzB,IAAKA,EAAMmD,WAAWuH,aAClB,OAAO,qCAEX,GAA6C,IAAzC1K,EAAMmD,WAAWuH,aAAarH,OAC9B,OAAO,qCAGX,IAAMqe,EAAgB1hB,EAAMmD,WAAWme,kBAAoBthB,EAAMmD,WAAWme,iBAAiBje,OAAS,EACtG,OAAO,oCACFqe,EAAgB,kBAACjV,GAAD,8BAAoD,kBAACA,GAAD,uBACrE,kBAAClG,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC9C,EAAA,EAAD,MACK,UAAC7D,EAAMmD,WAAWuH,oBAAlB,QAAkC,IAAI5G,KAAI,SAAA4C,GAAI,OAC3C,kBAACya,GAAD,CAAWza,KAAMA,EAAMxC,IAAKwC,WASpD,SAASib,GAAa3hB,GAElB,OAAKA,EAAMmD,WAAWye,SAKf,kBAACrV,GAAD,KACH,uBAAG7H,MAAO,CAACrC,SAAU,OAAQsN,cAAe,UAAW9I,UAAU,kBAAjE,eADG,OAGH,0BAAMnC,MAAO,CAACiL,cAAe,WAC5B3P,EAAMmD,WAAWye,SADlB,IAC6B5hB,EAAMmD,WAAW0e,SARvC,kBAACtV,GAAD,uBAYf,SAASuV,GAAY9hB,GAEjB,OAAO,kBAACuM,GAAD,KACH,yBAAK7H,MAAO,CAACiL,cAAe,UAAWvB,MAAO,OAAQC,IAAK,uBAAwBC,IAAK,kBADrF,OAGH,0BAAM5J,MAAO,CAACiL,cAAe,WAC5B3P,EAAMmD,WAAW4e,wBADlB,YAOR,IAAMC,GAAkB,SAAChiB,GAErB,IAAMkhB,EAASpU,aAAc3K,EAAUK,YAAYC,GAAG,OAEtD,OAAO,oCACH,kBAACoN,GAAA,EAAD,KACI,+BAAQ7P,EAAMmD,WAAW6B,KAAzB,qBACA,0BAAMA,KAAK,cACL8K,QAAS,gCAA4B9P,EAAMmD,WAAW6B,KAAO,MAAQhF,EAAMmD,WAAW8e,YAAc,qCAG9G,kBAACrV,GAAD,KACI,kBAACX,EAAA,EAAD,CAAWiE,SAAU,MACrB,kBAACrC,GAAA,EAAD,CAAKE,GAAI,EAAGC,GAAIkT,EAAS,GAAK,GAE1B,kBAAC7U,GAAA,EAAD,CAAY7E,QAAS,SAAUxH,EAAMmD,WAAW8e,aAChD,kBAAC7V,GAAD,KACKpM,EAAMmD,WAAW6B,MAGtB,kBAACuB,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAI,EAAGqS,GAAI,GACZ,kBAAC2B,GAAD,CAAa3e,WAAYnD,EAAMmD,eAIvC,kBAACoD,EAAA,EAAD,CAAMG,MAAI,GAEd,kBAACmH,GAAA,EAAD,CAAKC,GAAI,EAAGqS,GAAI,GACZ,kBAACwB,GAAD,CAAcxe,WAAYnD,EAAMmD,mBAQ5C,kBAAC8I,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKG,GAAIkT,EAAS,GAAK,GACvB,kBAAC3a,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKC,GAAI,GAEL,kBAACxB,GAAD,KAA2BtM,EAAMmD,WAAW8F,eAGhD,kBAAC4E,GAAA,EAAD,CAAKC,GAAI,GAAG,kBAACuT,GAAD,CAAaC,iBAAkBthB,EAAMmD,WAAWme,iBAAkBC,gBAAiBvhB,EAAMmD,WAAWoe,mBAChH,kBAAC1T,GAAA,EAAD,CAAKC,GAAI,GACb,kBAAC2T,GAAD,CAActe,WAAYnD,EAAMmD,cAIhC,kBAAC0K,GAAA,EAAD,CAAKC,GAAI,GAAG,kBAACsT,GAAD,KACR,kBAAC7a,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,EACnB4J,UAAU,MACVxI,WAAW,SACXmH,QAAQ,UACV,kBAACrH,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACmH,GAAA,EAAD,CAAKC,GAAI,EAAG2I,EAAG,GACX,kBAACpK,GAAA,EAAD,CAAY7E,QAAS,KAAM9C,MAAO,CAACwd,UAAW,WAC1C,kBAAChc,EAAA,EAAD,CAAQ8J,QAAM,GAAd,kCACyB,6BADzB,qBAGA,kBAAC9J,EAAA,EAAD,CAAQ+J,MAAI,GAAZ,yDAOhB,kBAACpC,GAAA,EAAD,CAAKsB,EAAG,GAAG,kBAACJ,GAAD,CAAiB5L,WAAYnD,EAAMmD,gBAKlD,kBAAC0K,GAAA,EAAD,CAAKC,GAAI,GAAIC,GAAI,GACb,kBAACxH,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACkH,GAAA,EAAD,CAAKsB,EAAG,EAAGlB,QAAS,OAAQC,eAAgB,UACxC,kBAACzN,EAAA,EAAD,CAAQC,UAAWC,IAAMC,GAAI,KAA7B,eAGR,kBAAC2F,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GACX,kBAACkH,GAAA,EAAD,CAAKsB,EAAG,EAAGlB,QAAS,OAAQC,eAAgB,UACxC,kBAACzN,EAAA,EAAD,CAAQC,UAAWC,IAAMC,GAAI,iBAA7B,wBAWtBoX,GAAe,WACjB,OAAO,sCAGL8I,GAAc,SAAC9gB,GAAW,IAAD,EACS6C,wBAASiI,GADlB,mBACpB3H,EADoB,KACR+U,EADQ,KAGrB6I,EAAgB,uCAAG,8BAAA/W,EAAA,6DACfgX,EAAiBvX,MAAM,sCAAwCzJ,EAAM2gB,KAAM,IAD5D,SAKKK,EALL,8BAKqB5W,OALrB,OAKfK,EALe,OAMrBJ,QAAQC,IAAIG,GACZyN,EAAczN,GAPO,2CAAH,qDAiBtB,YAPmBK,IAAf3H,IACA+U,EAAc,MAGd6I,IAAmBjY,QAGlB3F,EAIE,oCAGH,kBAAC,GAAD,CAAiBA,WAAYA,KANtB,kBAAC,GAAD,OAWA,SAASgf,GAAaniB,GACjC,IAAMoiB,EAAiBpiB,EAAMqiB,MAAMC,OAAOF,eAE1C,OADA/X,QAAQC,IAAI8X,GACL,kBAAC,KAAD,CAAkBzf,MAAOR,GAC5B,kBAACyN,GAAA,EAAD,MACA,kBAAC,GAAD,CAAa+Q,KAAMyB,KClQ3B,SAASG,GAAQviB,GAEb,OAAO,kBAAC6N,GAAA,EAAD,CAAKE,GAAI,GACZ,8BAAUrJ,MAAO,CAAC0J,MAAO,OAAQc,OAAQ,UAAWlP,EAAM6L,WAOlE,IAAM2W,GAAa,WAEf,OAAO,kBAAC3U,GAAA,EAAD,CAAKC,GAAI,GACZ,kBAACvB,GAAD,iGACA,kBAACD,GAAD,oBACA,kBAAC/F,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,yBAAKlJ,UAAU,wCACX,uBAAGA,UAAU,uBAAuBsH,KAAK,oBAAoBhH,OAAO,UAApE,UACA,yBAAKN,UAAU,wBAAf,sDACA,yBAAKA,UAAU,2BACX,uBAAGA,UAAU,2BACVsH,KAAK,kEACJ,yBAAKG,IAAI,iBAAiB5J,MAAO,CAACwK,OAAQ,QACrCb,IAAI,6FACb,uBAAGxH,UAAU,4CACVsH,KAAK,qEAAoE,yBACxEG,IAAI,aAAa5J,MAAO,CAACwK,OAAQ,OAAQ9J,OAAQ,QACjDiJ,IAAI,0CAKpB,kBAAC9H,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,IAIvB,kBAACxJ,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC4F,GAAD,KAAY,wCACZ,kBAACgW,GAAD,+FAGA,kBAAChW,GAAD,sFAGA,kBAACgW,GAAD,87BAiBR,kBAACjW,GAAD,uBACA,kBAAC/F,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,yBAAKlJ,UAAU,yBACX,yBACInC,MAAO,CAACuJ,QAAS,OAAQxH,WAAY,SAAUyH,eAAgB,gBAAiB9I,OAAQ,iBACxF,uBAAGyB,UAAU,8BAA8BsH,KAAK,oBAAoBhH,OAAO,UAA3E,UACA,yBAAKN,UAAU,8BAA6B,0BAAMnC,MAAO,CAACpC,WAAY,MAA1B,iBAAiD,6BAA7F,+BAGA,yBAAKuE,UAAU,kCACX,uBAAGA,UAAU,2BACVsH,KAAK,kEACJ,yBAAKG,IAAI,iBAAiB5J,MAAO,CAACwK,OAAQ,QACrCb,IAAI,6FACb,uBAAGxH,UAAU,4CACVsH,KAAK,qEAAoE,yBACxEG,IAAI,aAAa5J,MAAO,CAACwK,OAAQ,OAAQ9J,OAAQ,OACjDiJ,IAAI,2DAKxB,kBAAC9H,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,IAEvB,kBAACxJ,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAAC4F,GAAD,KAAY,wCACZ,kBAACgW,GAAD,+FAGA,kBAAChW,GAAD,sFAGA,kBAACgW,GAAD,0tCAsBD,SAASE,KACpB,IAAMvB,EAASpU,aAAc3K,EAAUK,YAAYC,GAAG,OAEtD,OACI,kBAAC,KAAD,CAAkBE,MAAOR,GACrB,kBAACyN,GAAA,EAAD,MACA,kBAACC,GAAA,EAAD,KACI,4FACA,0BAAM7K,KAAK,cACL8K,QAAQ,sJACd,0BACInO,KAAK,WACL+gB,IAAI,aACJvU,KAAK,2BAET,4BAAQwU,OAAK,EAACtU,IAAI,8BAGtB,kBAACzB,GAAD,KACI,kBAACX,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKE,GAAI,EAAGC,GAAIkT,EAAS,GAAK,GAC1B,kBAAC9U,GAAD,+BAOZ,kBAACH,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKG,GAAIkT,EAAS,GAAK,GAGnB,kBAAC,GAAD,MAEA,kBAACrT,GAAA,EAAD,CAAKC,GAAI,IACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,QChJvC,IAAM+Z,GAAgBrb,IAAW,CAC7Bsb,KAAM,CAAE3f,MAAO,UAAW4f,eAAgB,aAG9C,SAASmC,GAAoB5iB,GACTugB,KAEhB,OAAO,kBAAC1S,GAAA,EAAD,CAAKG,GAAI,GACPhO,EAAM0G,KAAKmc,WAKxB,SAASC,GAAY9iB,GAAQ,IAAD,EACxB,OAA6B,GAAzBA,EAAM+iB,SAAS1f,OACR,qCAEJ,qDAEF,UAACrD,EAAM+iB,gBAAP,QAAmB,IAAIjf,KAAI,SAAA4C,GAAI,OAC5B,kBAACkc,GAAD,CAAqBlc,KAAMA,EAAMxC,IAAKwC,EAAKmc,gBAKvD,SAASnC,GAAoB1gB,GACTugB,KAEhB,OAAO,kBAAC1S,GAAA,EAAD,CAAKwC,GAAI,EAAGrC,GAAI,GAEnB,kBAAC3B,GAAA,EAAD,CAAY7E,QAAQ,MACnBxH,EAAM0G,KAAKsc,gBAEZ,kBAACF,GAAD,CAAaC,SAAU/iB,EAAM0G,KAAKuc,eAQ1C,IAAMrC,GAAiB,SAAC5gB,GACvB,IAAD,EAEI,OAAO,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACpB,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,qCAGa,UAACxH,EAAM8C,YAAYogB,sBAAnB,QAAqC,IAAIpf,KAAI,SAAA4C,GAAI,OAC9C,kBAAC,GAAD,CAAqBA,KAAMA,EAAMxC,IAAKwC,EAAKkV,oBAKrD5D,GAAe,WAEjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAIb,SAASqV,KAAuB,IAAD,EACDngB,IAAMH,SAAS,IADd,mBACpBugB,EADoB,KACbC,EADa,KAuC3B,OAAO,oCACH,kBAAChX,GAAA,EAAD,CAAY7E,QAAS,MAArB,sBACA,kBAACqG,GAAA,EAAD,CAAKwC,GAAI,EAAGrC,GAAI,GAEZ,kBAACzH,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACsO,GAAA,EAAD,CAAW5R,GAAG,iBAAiBM,MAAM,kBAAkBqB,MAAOqe,EAAOnc,SA1CrF,SAA2BuH,GACvB6U,EAAS7U,EAAMrH,OAAOpC,WA8Cd,kBAACwB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACjG,EAAA,EAAD,CAAQ+G,QAAS,YAAanD,QA5C9C,WACIqE,IAASC,OAAOC,YAAYC,aACvBC,MAAK,SAAAC,GACF,IAAMC,EAAU,CACZ,KAAQoa,GAIZ3Z,MAAM,6BAA8B,CAChCC,OAAQ,MACRC,QAAS,CACL,eAAgB,mBAChB,cAAgB,UAAhB,OAA2BZ,IAE/Ba,KAAMC,KAAKC,UAAUd,KAEpBF,KARL,uCAQU,WAAMiB,GAAN,SAAAC,EAAA,sDACGD,EAASE,GAKboZ,EAAS,IAJNnZ,MAAM,kBAFR,2CARV,uDAiBKK,OAAM,SAAAC,GACHN,MAAM,yBAkBV,6BAOpB,SAASoZ,KAAkB,IAAD,EACQtgB,IAAMH,SAAS,IADvB,mBACf0gB,EADe,KACNC,EADM,iDAOtB,4BAAAxZ,EAAA,sEACwBtB,IAASC,OAAOC,YAAYC,aADpD,OACUE,EADV,OAGIU,MAAM,oCAAsC8Z,EAAS,CACjD7Z,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,cAAgB,UAAhB,OAA2BZ,MAI9BD,KARL,uCAQU,WAAMiB,GAAN,SAAAC,EAAA,sDACGD,EAASE,GAGVuZ,EAAW,IAFXtZ,MAAM,kBAFR,2CARV,uDAeKK,OAAM,SAAAC,GACHN,MAAM,oBAnBlB,4CAPsB,sBA+BtB,OAAO,oCACH,kBAACmC,GAAA,EAAD,CAAY7E,QAAS,MAArB,0BACA,kBAACqG,GAAA,EAAD,CAAKwC,GAAI,EAAGrC,GAAI,GAEZ,kBAACzH,EAAA,EAAD,CAAMC,WAAS,EAACnB,QAAS,GACrB,kBAACkB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACsO,GAAA,EAAD,CAAW5R,GAAG,iBAAiBM,MAAM,WAAWqB,MAAOwe,EAAStc,SAlChF,SAA2BuH,GACvBgV,EAAWhV,EAAMrH,OAAOpC,WAsChB,kBAACwB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAACjG,EAAA,EAAD,CAAQ+G,QAAS,YAAanD,QA3CxB,4CA2CN,cAOpB,IAAMyc,GAAc,SAAC9gB,GAAW,IAAD,EACkB6C,wBAASiI,GAD3B,mBACpB2Y,EADoB,KACFC,EADE,KAGrB3C,EAAgB,uCAAG,gCAAA/W,EAAA,sEACDhK,EAAMG,KAAK0I,aADV,cACfE,EADe,OAGfiY,EAAiBvX,MAAM,8BAA+B,CACxDE,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MAJpB,SAOKiY,EAPL,8BAOqB5W,OAPrB,OAOfK,EAPe,OAQrBJ,QAAQC,IAAIG,GACZiZ,EAAiBjZ,GATI,4CAAH,qDAmBtB,YAPyBK,IAArB2Y,IACAC,EAAiB,MAGjB3C,IAAmBjY,QAGlB2a,EAIE,oCACH,kBAAC,GAAD,CAAgB3gB,YAAa2gB,IAC7B,kBAAC5V,GAAA,EAAD,CAAKwC,GAAI,GAAG,kBAAC0K,GAAA,EAAD,OACZ,kBAACoI,GAAD,MACA,kBAACtV,GAAA,EAAD,CAAKwC,GAAI,GAAG,kBAAC0K,GAAA,EAAD,OACZ,kBAACuI,GAAD,OARO,kBAAC,GAAD,OAYTnL,GAAmB,SAACnY,GACtB,OAAO,oCACH,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,6BAAK,kBAAC1B,GAAD,mCAMF,SAASuX,KACpB,IAAMzC,EAASpU,aAAc3K,EAAUK,YAAYC,GAAG,OAElD,OACI,kBAAC,KAAD,CAAkBE,MAAOR,GACrB,kBAACyN,GAAA,EAAD,MAGA,kBAAChD,GAAD,KACI,kBAACX,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKE,GAAI,EAAGC,GAAIkT,EAAS,GAAK,GAC1B,kBAAC9U,GAAD,kBAOZ,kBAACH,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKG,GAAIkT,EAAS,GAAK,GAGnB,kBAAC,IAAD,MACC,YAAqC,IAAnChhB,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAIM,kBAAC,GAAD,CAAaC,KAAMA,IAHnB,kBAAC,GAAD,SAWnB,kBAAC0N,GAAA,EAAD,CAAKC,GAAI,IACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,QClQhC,SAASod,KACZ,IAAM1C,EAASpU,aAAc3K,EAAUK,YAAYC,GAAG,OAEtD,OACI,kBAAC,KAAD,CAAkBE,MAAOR,GACrB,kBAACyN,GAAA,EAAD,MACA,kBAACC,GAAA,EAAD,KACI,4FACA,0BAAM7K,KAAK,cACL8K,QAAQ,uJAGlB,kBAAClD,GAAD,KACI,kBAACX,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKE,GAAI,EAAGC,GAAIkT,EAAS,GAAK,GAC1B,kBAAC9U,GAAD,6BAMZ,kBAACH,EAAA,EAAD,CAAWiE,SAAU,MACjB,kBAACrC,GAAA,EAAD,CAAKC,GAAI,EAAGE,GAAIkT,EAAS,GAAK,GAG1B,kBAAC7U,GAAA,EAAD,CAAY7E,QAAS,MAArB,gGAAkH,qCAAlH,KAEA,kBAACqG,GAAA,EAAD,CAAKC,GAAI,IACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,QCzBvC,IAAMV,GAAYZ,KAAW,SAACvC,GAAD,MAAY,CACrC6D,UAAW,CACPyH,QAAS,OACT4V,SAAU,QAEdC,UAAW,OAQTC,GAAe,SAAA/jB,GAAU,IAAD,IACc6C,mBAAS7C,EAAM+K,mBAAmB3H,IADhD,mBACnBwY,EADmB,KACLoI,EADK,OAEQnhB,mBAAS7C,EAAMikB,WAFvB,mBAEnBA,EAFmB,KAERC,EAFQ,OAGIrhB,mBAAS7C,EAAMmkB,SAHnB,mBAGnBA,EAHmB,KAGVC,EAHU,OAKEvhB,wBAASiI,GALX,mBAKnBuZ,EALmB,KAKXC,EALW,cAOXC,IAPW,2EAO1B,gCAAAva,EAAA,sEACwBtB,IAASC,OAAOC,YAAYC,aADpD,cACUE,EADV,gBAE2BU,MAAM,4BAA8B,IAAIqV,gBAAgB,CAC3ElD,aAAc5b,EAAM+K,mBAAmB3H,GACvCohB,aAAcxkB,EAAMikB,UACpBQ,WAAYzkB,EAAMmkB,UAEhB,CACExa,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MARjD,cAEUgB,EAFV,gBAWyBA,EAASK,OAXlC,OAWUia,EAXV,OAaIC,EAAUD,GACVha,QAAQC,IAAI+Z,GAdhB,6CAP0B,sBAoD1B,YA3BevZ,IAAXuZ,IAEAC,EAAU,MACVC,IAAazb,QAGb8S,IAAiB5b,EAAM+K,mBAAmB3H,KAE1C4gB,EAAgBhkB,EAAM+K,mBAAmB3H,IACzCkhB,EAAU,MACVC,IAAazb,QAGbmb,IAAcjkB,EAAMikB,YAEpBC,EAAalkB,EAAMikB,WACnBK,EAAU,MACVC,IAAazb,QAGbqb,IAAYnkB,EAAMmkB,UAElBC,EAAWpkB,EAAMmkB,SACjBG,EAAU,MACVC,IAAazb,QAGVub,EAAS,oCACZ,kBAACxW,GAAA,EAAD,CAAKC,GAAI,GACT,kBAACvH,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,kCAIJ,kBAAChG,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY8X,EAAOK,iBAAiBC,QAAQ,GAA5C,WAEJ,kBAACpe,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,IAE7B,kBAAC5Q,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,sBAIJ,kBAAChG,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY8X,EAAOO,aAEvB,kBAACre,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,IAE7B,kBAAC5Q,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GAC7B,kBAAC5K,GAAD,8BAIA,kBAAChG,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY8X,EAAOQ,YAAYF,QAAQ,GAAvC,WAEJ,kBAACpe,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,MAGjC,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,kCAIJ,kBAACqG,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,IACd,UAAC6d,EAAOS,kBAAR,QAAsB,IAAIhhB,KAAI,SAAA4C,GAAI,OAC/B,oCACI,kBAACH,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY7F,EAAKqe,QAEzB,kBAACxe,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY7F,EAAK1B,OAEjB,kBAACuB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,GACzB,kBAAC5K,GAAD,KAAY7F,EAAKse,OAAjB,WAEJ,kBAACze,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGoJ,GAAI,EAAGoH,GAAI,UAKzC,kBAACtJ,GAAA,EAAD,CAAKkK,GAAI,KACT,sCAGFkN,GAAoB,SAAAjlB,GACtB,IAAMiF,EAAUa,KADe,EAECjD,mBAAS8Q,OAASmI,OAAOnI,KAAOoI,UAAUC,OAF3C,mBAExBkJ,EAFwB,KAEdC,EAFc,OAGHtiB,mBAAS8Q,OAASmI,OAAOnI,KAAOoI,UAAUC,OAHvC,mBAGxBM,EAHwB,KAGhB8I,EAHgB,KAe/B,OAAO,oCACP,kBAAC7e,EAAA,EAAD,CAAMC,WAAS,GACX,kBAACD,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAClC,GAAA,EAAD,CAAKC,GAAI,GACT,kBAACkH,GAAA,EAAD,CACI5R,GAAG,WACHM,MAAM,UACN/B,KAAK,OACLoD,MAAOmgB,EACPje,SAnBZ,SAA8BuH,GAC1B2W,EAAY3W,EAAMrH,OAAOpC,QAmBjB8B,UAAW5B,EAAQ6e,UACnB5O,gBAAiB,CACbC,QAAQ,OAMpB,kBAAC5O,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,GAAIoJ,GAAI,GACnB,kBAAClC,GAAA,EAAD,CAAKC,GAAI,GACT,kBAACkH,GAAA,EAAD,CACI5R,GAAG,SACHM,MAAM,OACN/B,KAAK,OACLoD,MAAOuX,EACPrV,SA9BZ,SAA4BuH,GACxB4W,EAAU5W,EAAMrH,OAAOpC,QA8Bf8B,UAAW5B,EAAQ6e,UACnB5O,gBAAiB,CACbC,QAAQ,OAKpB,kBAACjP,EAAA,EAAD,CAAQ8J,QAAM,GACV,kBAACzJ,EAAA,EAAD,CAAMG,MAAI,EAACqJ,GAAI,MAGlB/P,EAAM6L,SAASqZ,EAAU5I,KAI5B+I,GAAoB,SAACrlB,GAGvB,OACI,oCACI,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,8BAKJ,kBAACqG,GAAA,EAAD,CAAKuJ,GAAI,GACL,kBAAC,GAAD,MACK,SAAC6M,EAAWE,GAAZ,OAAyB,kBAACtW,GAAA,EAAD,CAAKC,GAAI,GAE3B,kBAACjG,EAAkBwQ,SAAnB,MACC,SAACtN,GAAD,OACGA,EAAqB,kBAAC,GAAD,CAAckZ,UAAWA,EAAWE,QAASA,EAASpZ,mBAAoBA,IACzF,+DAahCkN,GAAoB,SAACjY,GAGvB,OAAMA,EAAMmD,WAIL,oCAGH,kBAAC,GAAD,CAAmBA,WAAYnD,EAAMmD,WAAYiF,oBAAqBA,MAN/D,kBAAC,GAAD,OAUT4P,GAAe,WAEjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAIPqK,GAAmB,SAACnY,GACtB,OAAO,oCACH,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,6BAAK,kBAAC1B,GAAD,mCAKV,SAASkZ,KACZ,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnCplB,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAGM,kBAAC2H,EAAkBwQ,SAAnB,MACF,SAACtN,GAAD,OACGA,EAAqB,kBAAC,GAAD,CAAmB5K,KAAMA,EAAMgD,WAAY4H,IAC1D,wDALP,kBAAC,GAAD,S,wBCrPvB,SAASwa,GAAavlB,GAAQ,IAClB0H,EAAiC1H,EAAjC0H,QAAS8d,EAAwBxlB,EAAxBwlB,cAAe/d,EAASzH,EAATyH,KAMhC,OACI,kBAACge,GAAA,EAAD,CAAQ/d,QALQ,WAChBA,EAAQ8d,IAIsBE,kBAAgB,sBAAsBje,KAAMA,GACtE,kBAACke,GAAA,EAAD,CAAaviB,GAAG,uBAAuBpD,EAAMmT,OAC7C,kBAACtF,GAAA,EAAD,CAAK8I,GAAI,EAAGoB,GAAI,GAChB,kBAACxL,GAAD,KAAYvM,EAAM4B,QAa9B,SAASgkB,GAAMC,GACX,OAAO,IAAIC,SAAQ,SAAAC,GAAO,OAAIvT,WAAWuT,EAASF,MAGtD,IAAMG,GAAkB,SAAAhmB,GAAU,IAAD,EACW6C,mBAAS7C,EAAM+K,mBAAmB3H,IAD7C,mBACtBwY,EADsB,KACRoI,EADQ,OAEDnhB,wBAASiI,GAFR,mBAEtBuZ,EAFsB,KAEdC,EAFc,OAGuBzhB,oBAAS,GAHhC,mBAGtBojB,EAHsB,KAGFC,EAHE,KAKvBjG,EAAUC,cAEViG,EAAa,uCAAG,WAAO5C,GAAP,eAAAvZ,EAAA,sEACEtB,IAASC,OAAOC,YAAYC,aAD9B,OACZE,EADY,OAGlBU,MAAM,iCAAmC8Z,EAAS,CAC9C7Z,OAAQ,OACRC,QAAS,CACL,eAAgB,mBAChB,cAAgB,UAAhB,OAA2BZ,MAI9BD,MAAK,SAAAiB,GACGA,EAASE,IACVC,MAAM,qBAGbK,OAAM,SAAAC,GACHN,MAAM,oBAjBI,2CAAH,sDAPU,SA4BVqa,IA5BU,2EA4BzB,gCAAAva,EAAA,sEACoBtB,IAASC,OAAOC,YAAYC,aADhD,cACME,EADN,gBAEuBU,MAAM,mCAAqC,IAAIqV,gBAAgB,CAClFlD,aAAc5b,EAAM+K,mBAAmB3H,KAErC,CACEuG,QAAS,CAAC,cAAgB,UAAhB,OAA2BZ,MAN7C,cAEMgB,EAFN,gBASqBA,EAASK,OAT9B,OASMia,EATN,OAWAC,EAAUD,GACVha,QAAQC,IAAI+Z,GAZZ,6CA5ByB,sBAuD7B,YAXevZ,IAAXuZ,IACAC,EAAU,MACVC,IAAazb,QAGb8S,IAAiB5b,EAAM+K,mBAAmB3H,KAC1C4gB,EAAgBhkB,EAAM+K,mBAAmB3H,IACzCkhB,EAAU,MACVC,IAAazb,QAGVub,EAAS,oCACZ,kBAACkB,GAAD,CAAc7d,QAAS,kBAAM2C,QAAQC,IAAI,YAAY7C,KAAMwe,EAAoBrkB,KAAM,kCAA6BuR,MAAO,aAEzH,kBAACtF,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,IACV,OAAC6d,QAAD,IAACA,IAAU,IAAIvgB,KAAI,SAAA4C,GAAI,OAAI,oCACxB,kBAACH,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGwQ,GAAI,GAClB,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAAC1B,GAAD,KAAe1F,EAAK0f,YAG5B,kBAAC7f,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGwQ,GAAI,GAClB,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACvH,EAAA,EAAD,CAAMC,WAAS,EAACyI,UAAW,SAAU5J,QAAS,GAC1C,kBAACkB,EAAA,EAAD,CAAMG,MAAI,GACN,kBAAC2F,GAAA,EAAD,CACI7E,QAAS,SAAUmM,KAAOjN,EAAK2f,WAAWvK,OAAO,WAEzD,kBAACvV,EAAA,EAAD,CAAMG,MAAI,GACN,kBAAC2F,GAAA,EAAD,CAAY7E,QAAS,SAAUd,EAAK4f,gBAExC,kBAAC/f,EAAA,EAAD,CAAMG,MAAI,GACN,kBAAC2F,GAAA,EAAD,CAAY7E,QAAS,SAAUd,EAAK6f,iBAKpD,kBAAChgB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGwQ,GAAI,GAClB,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,SAAUd,EAAK8f,cAG5C,kBAACjgB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGwQ,GAAI,GAClB,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,SAAUd,EAAK+f,YAApC,SAED,kBAAClgB,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,EAAGwQ,GAAI,GAC7B,kBAACtJ,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACrN,EAAA,EAAD,CAAQ+G,QAAS,YAAanD,QAAS,WAEnC4b,EAAQ,CAAEhX,YAAa,+BAA8BvC,EAAK0f,SAAW,MAChEtd,KADL,sBACU,sBAAAkB,EAAA,6DACFK,QAAQC,IAAI,UACZ4b,GAAsB,GAFpB,SAGIC,EAAczf,EAAK6c,SAHvB,uBAIIqC,GAAM,KAJV,uBAKIrB,IALJ,OAMF2B,GAAsB,GANpB,4CAQL3b,OAAM,WAAQF,QAAQC,IAAI,qBAXnC,YAeJ,kBAAC/D,EAAA,EAAD,CAAMG,MAAI,EAACC,GAAI,IACX,kBAACkH,GAAA,EAAD,CAAKC,GAAI,WAuBzB,kBAACD,GAAA,EAAD,CAAKkK,GAAI,KACP,sCAIJ2O,GAAoB,SAAC1mB,GACvB,OACI,oCACI,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,kBAACzB,GAAA,EAAD,CAAY7E,QAAS,MAArB,mBAKJ,kBAACqG,GAAA,EAAD,CAAKuJ,GAAI,GACL,kBAAC,GAAD,CAAiBrM,mBAAoB/K,EAAMmD,gBAMrD8U,GAAoB,SAACjY,GAEvB,OAAKA,EAAMmD,WAIJ,oCAGH,kBAAC,GAAD,CAAmBA,WAAYnD,EAAMmD,WAAYiF,oBAAqBA,MAN/D,kBAAC,GAAD,OAUT4P,GAAe,WACjB,OAAO,oCAAE,kBAACnK,GAAA,EAAD,CAAKC,GAAI,GAAT,eAIPqK,GAAmB,SAACnY,GACtB,OAAO,oCACH,kBAAC6N,GAAA,EAAD,CAAKC,GAAI,GACL,6BAAK,kBAAC1B,GAAD,mCAKV,SAASua,KACZ,OAAO,kBAAC,IAAD,MACF,YAAqC,IAAnCzmB,EAAkC,EAAlCA,WAAYC,EAAsB,EAAtBA,KAAsB,EAAhBC,WACjB,OAAKF,EAGM,kBAAC2H,EAAkBwQ,SAAnB,MACF,SAACtN,GAAD,OACGA,EAAqB,kBAAC,GAAD,CAAmB5K,KAAMA,EAAMgD,WAAY4H,IAC1D,wDALP,kBAAC,GAAD,SChMvB,SAAS6b,KACL,OACI,kBAAC/e,EAAkBwQ,SAAnB,MACK,SAACtN,GAAD,OACGA,EACA,kBAAC8C,GAAA,EAAD,CAAKwC,GAAI,GACL,kBAACjE,GAAD,cAAqBrB,EAAmB/F,OAEtC,wCAOtB,SAAS6hB,KACG,OAAO,kBAAC1a,GAAD,KACH,kBAAC,GAAD,CAAgB2a,OAAK,EAACC,KAAK,SAASrmB,UAAWkmB,KAC/C,kBAAC,GAAD,CAAgBG,KAAK,oBAAoBrmB,UAAWqf,KACpD,kBAAC,GAAD,CAAgBgH,KAAK,oBAAoBrmB,UAAW0f,KACpD,kBAAC,GAAD,CAAgB2G,KAAK,gBAAgBrmB,UAAW4kB,KAChD,kBAAC,GAAD,CAAgByB,KAAK,gBAAgBrmB,UAAWimB,KAChD,kBAAC,GAAD,CAAgBI,KAAK,oBAAoBrmB,UAAW0X,KACpD,kBAAC,IAAD,CAAO2O,KAAK,iBAAiBrmB,UAAW6R,M,IAKnCyU,G,uKAKb,OACI,kBAAC,IAAMC,SAAP,KACI,kBAACrX,GAAA,EAAD,MAEA,kBAAC,KAAD,CAAkBjN,MAAOA,GACrB,kBAAC,IAAD,CAAiBukB,eAAgB,CAC7BC,wBAAyB,CAAEnO,WAAW,GACtCoO,iBAAkB,SAClBC,iBAAkB,KAClBlU,MAAO,uBAEX,kBAAC,IAAD,eAAsBzK,SAAUA,MAAcgI,IAC1C,kBAAC,IAAD,CAAOoW,OAAK,EAACC,KAAK,IAAIrmB,UAAW+O,KACjC,kBAAC,IAAD,CAAOsX,KAAK,gBAAgBrmB,UAAWugB,KACvC,kBAAC,IAAD,CAAO8F,KAAK,WAAWrmB,UAAW+hB,KAClC,kBAAC,IAAD,CAAOqE,OAAK,EAACC,KAAK,kCAAkCrmB,UAAWyhB,KAC/D,kBAAC,IAAD,CAAO4E,KAAK,SAASrmB,UAAWmmB,KAChC,kBAAC,IAAD,CAAOE,KAAK,SAASrmB,UAAWijB,KAChC,kBAAC,IAAD,CAAOoD,KAAK,sBAAsBrmB,UAAWkjB,KAC7C,kBAAC,IAAD,CAAOmD,KAAK,WAAWrmB,UAAW2f,a,GAxBzBvf,aAAZkmB,GACV1mB,YAAc0mB,GAAIhiB,KCxD7B,IAAMsiB,GAAUC,SAASC,qBAAqB,QAAQ,GAAGC,aAAa,QAChEC,GAAcH,SAASI,eAAe,QAE5CC,IAASnX,OACP,kBAAC,IAAD,CAAeoX,SAAUP,IACvB,kBAAC,GAAD,OAEFI,M","file":"static/js/main.fa0dea57.chunk.js","sourcesContent":["import React, { Component, Fragment } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport {Link as MaterialLink } from \"@material-ui/core\"\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nexport class LoginMenu extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n componentWillUnmount() {\r\n }\r\n\r\n render() {\r\n return \r\n {({ isSignedIn, user, providerId }) => {\r\n if (!isSignedIn) {\r\n return this.anonymousView();\r\n } else {\r\n return this.authenticatedView(user.displayName);\r\n }\r\n }}\r\n \r\n }\r\n\r\n authenticatedView(userName) {\r\n return (\r\n \r\n );\r\n\r\n }\r\n\r\n anonymousView() {\r\n return (\r\n Login\r\n );\r\n }\r\n}\r\n","import {createMuiTheme} from \"@material-ui/core/styles\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport {Card} from \"@material-ui/core\";\r\n\r\nexport const uuidv4 = () => ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n);\r\n\r\nexport const greenTheme = createMuiTheme({\r\n typography: {\r\n fontFamily: 'Poppins',\r\n },\r\n palette: {\r\n type: 'dark',\r\n\r\n text: {\r\n primary: \"#f3c0aa\",\r\n secondary: \"#000000\"\r\n },\r\n \r\n primary: {\r\n main: '#2e543e',\r\n },\r\n secondary: {\r\n main: '#3ea669',\r\n },\r\n background: {\r\n default: '#2e543e',\r\n paper: {main:'#e1dcd7'}\r\n }\r\n\r\n },\r\n});\r\n\r\nexport const grayTheme = createMuiTheme({\r\n typography: {\r\n fontFamily: 'Poppins',\r\n },\r\n palette: {\r\n type: \"light\",\r\n\r\n primary: {\r\n main: '#2e543e',\r\n },\r\n secondary: {\r\n main: '#3ea669',\r\n },\r\n background: {\r\n paper: '#2e543e',\r\n default: '#e1dcd7'\r\n }\r\n\r\n },\r\n});\r\n\r\n\r\ngreenTheme.typography.h2 = {\r\n fontSize: '48px',\r\n fontWeight: 400,\r\n lineHeight: '56px',\r\n [greenTheme.breakpoints.up('md')]: {\r\n fontSize: '60px',\r\n lineHeight: '72px',\r\n fontWeight: 500\r\n },\r\n};\r\n\r\ngreenTheme.typography.h4 = {\r\n fontSize: '24px',\r\n fontWeight: 500,\r\n lineHeight: '36px',\r\n [greenTheme.breakpoints.up('md')]: {\r\n fontSize: '34px',\r\n lineHeight: '42px',\r\n fontWeight: 500\r\n },\r\n};\r\n\r\nexport const theme = createMuiTheme({\r\n typography: {\r\n fontFamily: 'Poppins'\r\n },\r\n palette: {\r\n primary: {\r\n main: '#2e543e',\r\n },\r\n secondary: {\r\n main: '#3ea669',\r\n },\r\n background: {\r\n paper: '#e1dcd7'\r\n }\r\n\r\n },\r\n});\r\n\r\ntheme.typography.h2 = greenTheme.typography.h2 ;\r\ntheme.typography.h4 = greenTheme.typography.h4 ;\r\ngrayTheme.typography.h2 = greenTheme.typography.h2 ;\r\ngrayTheme.typography.h4 = greenTheme.typography.h4 ;\r\n\r\n\r\n","import React, {Component, useState} from 'react';\r\nimport {Link, NavLink} from 'react-router-dom';\r\nimport {Button, InputLabel, MenuItem, Select} from \"@material-ui/core\"\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport { LoginMenu } from './api-authorization/LoginMenu';\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport CloseIcon from '@material-ui/icons/Menu';\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport {grayTheme, greenTheme, theme} from \"./helpers\";\r\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\n\r\n\r\n// const theLinks =
\r\n// \r\n// \r\n// \r\n//
;\r\n\r\n \r\nexport default function NavMenuAdmin(props) {\r\n // const displayName = NavMenu.name;\r\n\r\n const [restaurants, setRestaurants] = useState(props.restaurants);\r\n const [selectedRestaurantId, setSelectedRestaurantId] = React.useState(\"\");\r\n\r\n if (props.restaurant && props.restaurant.id !== selectedRestaurantId)\r\n {\r\n setSelectedRestaurantId(props.restaurant.id);\r\n }\r\n \r\n if (props.restaurants !== restaurants) {\r\n setRestaurants(props.restaurants);\r\n if (props.restaurants.length > 0)\r\n {\r\n setSelectedRestaurantId(props.restaurants[0].id);\r\n }\r\n }\r\n \r\n const [mobileOpen, setMobileOpen] = React.useState(false);\r\n\r\n const handleDrawerToggle = () => {\r\n setMobileOpen(!mobileOpen)\r\n }\r\n\r\n let dummyCategories;\r\n if (props.restaurant)\r\n {\r\n dummyCategories = [{label: 'dagar', url:\"/admin/lunchmenus/\"},\r\n {label: 'à la carte', url: '/admin/a-la-carte'},\r\n {label: 'rapport', url: '/admin/report'},\r\n {label: 'avbryt order', url: '/admin/refund'},\r\n {label: 'inställningar', url: '/admin/restaurant'}];\r\n }\r\n else\r\n {\r\n dummyCategories = [];\r\n }\r\n \r\n\r\n const drawer = (\r\n
\r\n \r\n {dummyCategories.map((text, index) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n );\r\n\r\n const theLinks =
\r\n {dummyCategories.map((entry, index) => (\r\n \r\n ))}\r\n
;\r\n \r\n const menuItems = props.restaurants ? props.restaurants.map((entry) => (\r\n {entry.name}\r\n )) : [];\r\n \r\n \r\n\r\n const useStyles = makeStyles((theme) => ({\r\n formControl: {\r\n margin: theme.spacing(1),\r\n minWidth: 220,\r\n },\r\n selectEmpty: {\r\n marginTop: theme.spacing(2),\r\n },\r\n inputlabel: {\r\n color: '#ffffffaa' \r\n },\r\n select: {\r\n color: 'white',\r\n '&:before': {\r\n borderColor: '#ffffffaa',\r\n },\r\n '&:hover:not(.Mui-disabled):before': {\r\n borderColor: '#ffffffaa',\r\n }\r\n },\r\n icon: {\r\n fill: '#ffffffaa',\r\n },\r\n }));\r\n \r\n const classes = useStyles(theme);\r\n \r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/**/}\r\n {/* */}\r\n {/**/}\r\n \r\n
\r\n \r\n Restaurang\r\n {\r\n props.onRestaurantChanged(value.target.value)\r\n }}\r\n inputProps={{\r\n classes: {\r\n icon: classes.icon,\r\n },\r\n }}\r\n >\r\n {menuItems}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {theLinks}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport firebase from \"firebase\";\r\n\r\nexport const RestaurantContext = React.createContext(null);\r\n\r\nconst EventEmitter = require('events');\r\n\r\nclass RestaurantEmitter extends EventEmitter {}\r\n\r\nexport const restaurantEmitter = new RestaurantEmitter();\r\n\r\nlet restaurants = null;\r\n\r\nexport const setCachedRestaurants = (rs) => \r\n{\r\n if (rs !== restaurants) {\r\n restaurants = rs;\r\n restaurantEmitter.emit('changed');\r\n }\r\n}\r\n\r\nexport const getCachedRestaurants = () => \r\n{\r\n return restaurants;\r\n}\r\n\r\nexport const onRestaurantUpdated = (r) => {\r\n\r\n // Update local cache and UI\r\n const clonedRestaurants = [...restaurants];\r\n const index = clonedRestaurants.findIndex(el => el.id === r.id);\r\n clonedRestaurants.splice(index, 1, r);\r\n setCachedRestaurants(clonedRestaurants);\r\n \r\n // Post to server\r\n firebase.auth().currentUser.getIdToken()\r\n .then(token => {\r\n const payload = {\r\n 'id': r.id,\r\n 'description': r.description,\r\n 'weekdaySettings': r.weekdaySettings,\r\n 'aLaCarteMenu': r.dishes,\r\n 'minimumDelayMinutes': r.minimumDelayMinutes,\r\n 'postalTown': r.postalTown,\r\n 'streetAddress': r.streetAddress,\r\n 'lng': r.lng,\r\n 'lat': r.lat\r\n }\r\n\r\n fetch('api/restaurant', {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`\r\n },\r\n body: JSON.stringify(payload)\r\n })\r\n .then(async response => {\r\n if (!response.ok) {\r\n alert(\"Request failed\")\r\n }\r\n else\r\n {\r\n // response ok, use new values from server\r\n r = dtoToRest(await response.json());\r\n console.log(r.name);\r\n\r\n // Update local cache and ui with response from server\r\n const clonedRestaurants = [...restaurants];\r\n const index = clonedRestaurants.findIndex(el => el.id === r.id);\r\n clonedRestaurants.splice(index, 1, r);\r\n setCachedRestaurants(clonedRestaurants);\r\n }\r\n })\r\n .catch(error => {\r\n alert(\"Network error\")\r\n });\r\n });\r\n\r\n \r\n\r\n}\r\n\r\nexport function dtoToRest(data) {\r\n return ({\r\n id: data.id,\r\n name: data.name,\r\n weekdaySettings: data.weekdaySettings,\r\n dishes: data.aLaCarteMenu,\r\n description: data.description,\r\n minimumDelayMinutes: data.minimumDelayMinutes,\r\n streetAddress: data.streetAddress,\r\n postalTown: data.postalTown,\r\n lat: data.lat,\r\n lng: data.lng\r\n });\r\n}","import React, {useEffect, useState} from 'react';\r\nimport NavMenuAdmin from './NavMenuAdmin';\r\nimport Container from \"@material-ui/core/Container\"\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport {\r\n dtoToRest,\r\n getCachedRestaurants,\r\n RestaurantContext,\r\n restaurantEmitter,\r\n setCachedRestaurants\r\n} from \"./RestaurantContext\";\r\n\r\nfunction Content(props) {\r\n const [lastUser, setLastUser] = useState(props.user);\r\n const [selectedRestaurant, setSelectedRestaurant] = useState(undefined);\r\n const [restaurants, setRestaurants] = useState(undefined);\r\n\r\n // Similar to componentDidMount and componentDidUpdate:\r\n useEffect(() => {\r\n\r\n const onRestaurantChanged = () => {\r\n const cachedRestaurants = getCachedRestaurants();\r\n setRestaurants(cachedRestaurants);\r\n if (cachedRestaurants) {\r\n if (selectedRestaurant) {\r\n const found = cachedRestaurants.find(el => el.id === selectedRestaurant.id);\r\n setSelectedRestaurant(found);\r\n }\r\n else\r\n {\r\n setSelectedRestaurant(cachedRestaurants.length > 0 ? cachedRestaurants[0] : null);\r\n }\r\n }\r\n };\r\n \r\n restaurantEmitter.on('changed', onRestaurantChanged);\r\n\r\n return () => {\r\n restaurantEmitter.removeListener('changed', onRestaurantChanged);\r\n };\r\n });\r\n\r\n async function reloadRestaurants() {\r\n // Reload restaurant\r\n const token = await props.user.getIdToken();\r\n\r\n const restaurantsTask = fetch('api/restaurant/getAllForAdmin', {\r\n headers: {'Authorization': `Bearer ${token}`}\r\n });\r\n\r\n\r\n const data2 = await (await restaurantsTask).json();\r\n const mappedData2 = data2.map(dtoToRest);\r\n\r\n setCachedRestaurants(mappedData2);\r\n }\r\n\r\n if (props.user !== lastUser || selectedRestaurant === undefined)\r\n {\r\n setLastUser(props.user);\r\n setSelectedRestaurant(null);\r\n setRestaurants(null);\r\n\r\n if (props.user)\r\n {\r\n reloadRestaurants().then(r => {});\r\n }\r\n }\r\n\r\n const childrenWithProps = React.Children.map(props.children, child => {\r\n // checking isValidElement is the safe way and avoids a typescript error too\r\n if (React.isValidElement(child)) {\r\n return React.cloneElement(child, { selectedRestaurant: selectedRestaurant });\r\n }\r\n return child;\r\n });\r\n \r\n const onRestaurantSelected = (id) => {\r\n setSelectedRestaurant(restaurants.find(el => el.id === id));\r\n\r\n // Update restaurant\r\n if (props.user)\r\n {\r\n reloadRestaurants().then(r => {});\r\n }\r\n }\r\n \r\n return <>\r\n \r\n \r\n \r\n {childrenWithProps}\r\n \r\n \r\n ;\r\n\r\n}\r\n\r\nexport default function Layout(props) {\r\n\r\n return \r\n {({isSignedIn, user, providerId}) => {\r\n return \r\n }} \r\n \r\n \r\n}\r\n","import React from 'react';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {withStyles} from \"@material-ui/core/styles\";\r\nimport {MenuItem} from \"@material-ui/core\";\r\nimport {grayTheme, greenTheme, theme} from \"../helpers\";\r\n\r\n\r\nexport function TaMedHeading(props)\r\n{\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport function TaMedIntermediateHeading(props)\r\n{\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport function TaMedBody(props)\r\n{\r\n return (\r\n {props.children}\r\n );\r\n}\r\n\r\nexport function TaMedOverline(props)\r\n{\r\n return (\r\n {props.children}\r\n );\r\n}\r\n// font-family: Poppins;\r\n// font-style: normal;\r\n// font-weight: 500;\r\n// font-size: 14px;\r\n// line-height: 16px;\r\n// /* identical to box height, or 114% */\r\n//\r\n// letter-spacing: 1.5px;\r\n// text-transform: uppercase;\r\nexport function TaMedCardHeading(props)\r\n{\r\n return (\r\n {props.children}\r\n );\r\n}\r\n\r\n// export const MyMenuItem = withStyles({\r\n// root: {\r\n// color: greenTheme.palette.text.primary,\r\n// \r\n// // '&:hover': {\r\n// // color: \"white\",\r\n// // // backgroundColor: \"#1fffff10\",\r\n// // }\r\n// }\r\n// })(MenuItem)\r\n\r\n","import React from 'react';\r\nimport {Menu, MenuItem, useMediaQuery} from \"@material-ui/core\"\r\nimport Grid from '@material-ui/core/Grid';\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport MenuIcon from '@material-ui/icons/Menu';\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {grayTheme, greenTheme, theme} from \"./helpers\";\r\n\r\nconst ITEM_HEIGHT = 48;\r\n\r\n\r\n\r\n// const theLinks =
\r\n// \r\n// \r\n// \r\n//
;\r\n\r\n\r\nexport default function NavMenuPublic(props) {\r\n\r\n\r\n // let dummyCategories;\r\n // if (props.restaurant) {\r\n // dummyCategories = [{label: 'dagar', url: \"/admin/lunchmenus/\"},\r\n // {label: 'à la carte', url: '/admin/a-la-carte'},\r\n // {label: 'inställningar', url: '/admin/restaurant'}];\r\n // } else {\r\n // dummyCategories = [];\r\n // }\r\n //\r\n\r\n const appbarStyle = {\r\n color: '#f3c0aa',\r\n };\r\n\r\n const isXs = useMediaQuery(grayTheme.breakpoints.down('xs'));\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const userAgent = navigator.userAgent || navigator.vendor;\r\n const testedAndroid = /android/i.test(userAgent);\r\n const testedIos = /iPad|iPhone|iPod/.test(userAgent) && !window.MSStream;\r\n \r\n return (\r\n <>\r\n\r\n \r\n\r\n \r\n \r\n \r\n {\"Ta\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {testedAndroid ? {window.location.href = 'https://play.google.com/store/apps/details?id=se.bitzeal.tamed';}}>Ladda ner appen : []}\r\n {testedIos ? {window.location.href = \"https://apps.apple.com/se/app/ta-med-take-away-lunch/id1537056494\";}}>Ladda ner appen : []}\r\n {window.location.href = '/admin/lunchmenus/';}}>Administration\r\n \r\n \r\n \r\n \r\n\r\n \r\n {props.children}\r\n \r\n\r\n \r\n \r\n );\r\n}\r\n","import Grid from \"@material-ui/core/Grid\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport React from \"react\";\r\n\r\nexport function DownloadButtons(props) {\r\n let downloadString;\r\n \r\n if (! props.restaurant)\r\n {\r\n downloadString = 'Ladda ned Ta Med appen';\r\n }\r\n else\r\n {\r\n downloadString = 'Ladda ned ' + props.restaurant.name + ' take away app';\r\n }\r\n \r\n return <>\r\n \r\n \r\n \r\n \r\n {downloadString}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}","import React from 'react';\r\nimport {Button, Card, MuiThemeProvider, useMediaQuery} from '@material-ui/core';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {Link} from 'react-router-dom';\r\nimport {TaMedBody, TaMedHeading, TaMedIntermediateHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {grayTheme, greenTheme, theme} from \"./helpers\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport {Helmet} from \"react-helmet\";\r\nimport NavMenuPublic from \"./NavMenuPublic\";\r\nimport {DownloadButtons} from \"./DownloadButtons\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\n\r\n\r\nfunction StepCard(props) {\r\n const greenCardStyle = {\r\n // color: '#f3c0aa',\r\n // minHeight: isXs?'100px': '430px',\r\n backgroundColor: theme.palette.primary.dark,\r\n borderRadius: '16px'\r\n };\r\n\r\n return \r\n {props.children}\r\n ;\r\n}\r\n\r\nexport default function Home(props) {\r\n\r\n const isXs = useMediaQuery(grayTheme.breakpoints.down('xs'));\r\n\r\n const screenshotStyle = {\r\n height: '234px',\r\n verticalAlign: 'bottom'\r\n };\r\n \r\n return (\r\n \r\n \r\n \r\n Ta Med - Beställ Take Away enkelt och betala med Swish\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Take away utan kö och kassabetalning\r\n \r\n \r\n \r\n {\"Ta\r\n Take away utan kö och kassabetalning\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {/*Take away lunch*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n 1. Hämta appen\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n 2. Välj och betala
med Swish
\r\n
\r\n
\r\n \r\n \r\n {\"köp\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n 3. Hämta upp\r\n \r\n \r\n \r\n \r\n \r\n {\"hämta\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from 'react'\r\nimport { Component } from 'react'\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport { Route } from 'react-router';\r\n\r\n\r\nexport default class AuthorizeRoute extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n componentWillUnmount() {\r\n }\r\n\r\n render() {\r\n return \r\n {({ isSignedIn, user, providerId }) => {\r\n const { component: Component, ...rest } = this.props;\r\n \r\n return {\r\n if (isSignedIn) {\r\n return \r\n } else {\r\n return

You are logged out

Please log in to view this page

\r\n }\r\n \r\n }} /> \r\n }}\r\n
\r\n\r\n \r\n // return
Auth Route here
\r\n // const { ready, authenticated } = this.state;\r\n // var link = document.createElement(\"a\");\r\n // link.href = this.props.path;\r\n // const returnUrl = `${link.protocol}//${link.host}${link.pathname}${link.search}${link.hash}`;\r\n // if (!ready) {\r\n // return
;\r\n // } else {\r\n // const { component: Component, ...rest } = this.props;\r\n // return {\r\n // if (authenticated) {\r\n // return \r\n // } else {\r\n // return \r\n // }\r\n // }} />\r\n // }\r\n }\r\n}\r\n","////export const firebaseConfig = {\r\n//// apiKey: \"AIzaSyBc84uUPT1IXHFCU0notV6eXb3u_k8I9Dg\",\r\n//// authDomain: \"ta-med-prod.firebaseapp.com\",\r\n//// databaseURL: \"https://ta-med-prod.firebaseio.com\",\r\n//// projectId: \"ta-med-prod\",\r\n//// storageBucket: \"ta-med-prod.appspot.com\",\r\n//// messagingSenderId: \"205250708895\",\r\n//// appId: \"1:205250708895:web:281ad63b450979dee069aa\",\r\n//// measurementId: \"G-BC67RJXGDH\"\r\n////};\r\n\r\n\r\nexport const firebaseConfig = {\r\n apiKey: \"AIzaSyD1_I6G56CRxEl2Lp39gPjB0diBeAkrUGc\",\r\n authDomain: \"ta-med-43e15.firebaseapp.com\",\r\n databaseURL: \"https://ta-med-43e15.firebaseio.com\",\r\n projectId: \"ta-med-43e15\",\r\n storageBucket: \"ta-med-43e15.appspot.com\",\r\n messagingSenderId: \"111753687088\",\r\n appId: \"1:111753687088:web:853fde350ca1b4ba9efdf5\",\r\n measurementId: \"G-VH5F4KLR86\"\r\n};\r\n\r\n\r\n// // This is our firebaseui configuration object\r\n// const uiConfig = ({\r\n// signInSuccessUrl: '/',\r\n// signInOptions: [\r\n// window.firebase.auth.GoogleAuthProvider.PROVIDER_ID\r\n// ],\r\n// tosUrl: '/terms-of-service' // This doesn't exist yet\r\n// })\r\n\r\n\r\n// // This sets up firebaseui\r\n// const ui = new firebaseui.auth.AuthUI(window.firebase.auth())\r\n//\r\n// // This adds firebaseui to the page\r\n// // It does everything else on its own\r\n// export const startFirebaseUI = function (elementId) {\r\n// ui.start(elementId, uiConfig)\r\n// }\r\n\r\n","import React from 'react'\r\nimport { Component } from 'react';\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/auth\";\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport * as firebaseui from \"firebaseui\";\r\nimport 'firebaseui/dist/firebaseui.css';\r\nimport {firebaseConfig} from \"../../firebaseConfig\";\r\nimport Button from \"@material-ui/core/Button\";\r\n\r\nconst uiConfig = {\r\n callbacks: {\r\n signInSuccessWithAuthResult: function(authResult, redirectUrl) {\r\n // User successfully signed in.\r\n // Return type determines whether we continue the redirect automatically\r\n // or whether we leave that to developer to handle.\r\n return true; // Don't redirect\r\n },\r\n uiShown: function() {\r\n // The widget is rendered.\r\n // Hide the loader.\r\n // document.getElementById('loader').style.display = 'none';\r\n }\r\n },\r\n // Will use popup for IDP Providers sign-in flow instead of the default, redirect.\r\n signInFlow: 'popup',\r\n signInSuccessUrl: '/admin/lunchmenus/',\r\n signInOptions: [\r\n // Leave the lines as is for the providers you want to offer your users.\r\n firebase.auth.GoogleAuthProvider.PROVIDER_ID,\r\n {\r\n provider: firebase.auth.EmailAuthProvider.PROVIDER_ID,\r\n requireDisplayName: true\r\n },\r\n {\r\n provider: \"apple.com\",\r\n \r\n },\r\n ],\r\n // Terms of service url.\r\n tosUrl: '',\r\n // Privacy policy url.\r\n privacyPolicyUrl: '/privacy'\r\n};\r\n\r\nfirebase.initializeApp(firebaseConfig);\r\n const ui = new firebaseui.auth.AuthUI(firebase.auth());\r\n\r\n// The main responsibility of this component is to handle the user's login process.\r\n// This is the starting point for the login process. Any component that needs to authenticate\r\n// a user can simply perform a redirect to this component with a returnUrl query parameter and\r\n// let the component perform the login and return back to the return url.\r\nexport class Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n };\r\n }\r\n\r\n render() {\r\n return \r\n {({isSignedIn, user, providerId}) => {\r\n window.setTimeout(() => {\r\n this.checkUi();\r\n });\r\n if (isSignedIn) return {\r\n // const googleAuthProvider = new firebase.auth.GoogleAuthProvider();\r\n firebase.auth().signOut();\r\n }}\r\n >Sign Out\r\n \r\n else {\r\n return

Signed out

\r\n }\r\n }\r\n }\r\n
\r\n \r\n }\r\n \r\n checkUi()\r\n {\r\n console.log(\"checkUi running\");\r\n ui.reset();\r\n \r\n var user = firebase.auth().currentUser;\r\n var name, email, photoUrl, uid, emailVerified;\r\n\r\n if (user != null) {\r\n name = user.displayName;\r\n email = user.email;\r\n photoUrl = user.photoURL;\r\n emailVerified = user.emailVerified;\r\n uid = user.uid; // The user's ID, unique to the Firebase project. Do NOT use\r\n // this value to authenticate with your backend server, if\r\n // you have one. Use User.getToken() instead.\r\n console.log(\"user logged in: \" + name)\r\n }\r\n else\r\n {\r\n console.log(\"starting ui\")\r\n ui.start('#firebaseui-auth-container', uiConfig);\r\n }\r\n \r\n }\r\n\r\n}\r\n","import React from 'react';\r\nimport './Marker.css';\r\n\r\nconst Marker = (props) => {\r\n const { color, name, id } = props;\r\n return (\r\n
\r\n );\r\n};\r\n\r\nexport default Marker;","import React, {useState} from \"react\";\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport {TaMedHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport moment from \"moment\";\r\nimport 'moment/locale/sv'\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport FormGroup from \"@material-ui/core/FormGroup\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport FormLabel from \"@material-ui/core/FormLabel\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport \"firebase/auth\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport {onRestaurantUpdated, RestaurantContext} from \"./RestaurantContext\";\r\nimport GoogleMapReact from 'google-map-react';\r\nimport './Marker.css'\r\nimport Marker from \"./Marker\";\r\n\r\nconst WeekdayItem = ({item = {defaultOpen: false, defaultOpenTime: '00:00', defaultCloseTime: '00:00', defaultLunchStartTime: '00:00', defaultLunchEndTime: '00:00'},\r\n index = -1,\r\n onUpdate}) =>\r\n{\r\n moment.locale('sv');\r\n\r\n const [state, setState] = React.useState(item);\r\n\r\n if (state !== item)\r\n {\r\n setState(item); \r\n }\r\n \r\n function storeDayConfig(newVar) {\r\n onUpdate({index: index, value: newVar});\r\n }\r\n \r\n const _with = (oldStructure, newEntries) => {\r\n return Object.assign({}, oldStructure, newEntries);\r\n }\r\n\r\n const handleLunchStartChange = event => {\r\n const newState = _with(state, {defaultLunchStartTime: event.target.value});\r\n\r\n setState(newState);\r\n storeDayConfig(newState);\r\n }\r\n\r\n const handleLunchEndChange = event => {\r\n const newState = _with(state, {defaultLunchEndTime: event.target.value});\r\n\r\n setState(newState);\r\n storeDayConfig(newState);\r\n }\r\n\r\n const handleCloseTimeChange = event => {\r\n const newState = _with(state, {defaultCloseTime: event.target.value});\r\n\r\n setState(newState);\r\n storeDayConfig(newState);\r\n }\r\n\r\n const handleOpenTimeChange = event => {\r\n const newState = _with(state, {defaultOpenTime: event.target.value});\r\n\r\n setState(newState);\r\n storeDayConfig(newState);\r\n };\r\n const handleOpenChanged = event => {\r\n const newState = _with(state, {defaultOpen: event.target.checked});\r\n\r\n setState(newState);\r\n storeDayConfig(newState);\r\n };\r\n \r\n return \r\n \r\n {moment.weekdays(index + 1)}\r\n \r\n }\r\n label=\"Öppet\"\r\n />\r\n\r\n \r\n \r\n \r\n \r\n Beställningar\r\n \r\n \r\n \r\n \r\n \r\n Lunchmeny\r\n \r\n \r\n \r\n \r\n \r\n \r\n}\r\nconst AnyReactComponent = ({ text }) =>
{text}
;\r\n \r\nconst SettingsContentView = (props) =>\r\n{\r\n const [lastRestaurant, setLastRestaurant] = useState(props.restaurant);\r\n const [restaurantState, setRestaurantState] = useState(props.restaurant);\r\n const [descriptionState, setDescriptionState] = useState(props.restaurant.description);\r\n const [addressState, setAddressState] = useState(props.restaurant.streetAddress);\r\n const [postalTownState, setPostalTownState] = useState(props.restaurant.postalTown);\r\n const [waitTimeState, setWaitTimeState] = useState(props.restaurant.minimumDelayMinutes ? props.restaurant.minimumDelayMinutes : '');\r\n \r\n const handleUpdateWeekdayItem = ({index, value}) => {\r\n const newList = (restaurantState?.weekdaySettings??[]).map((u, ui) => ui !== index ? u : value);\r\n \r\n const newState = Object.assign({}, restaurantState, {weekdaySettings: newList});\r\n setRestaurantState(newState);\r\n props.onRestaurantUpdated(newState);\r\n }\r\n \r\n const handleDescriptionChange = event => {\r\n setDescriptionState(event.target.value);\r\n }\r\n \r\n const handleAddressChange = event => {\r\n setAddressState(event.target.value);\r\n }\r\n\r\n const handlePostalTownChange = event => {\r\n setPostalTownState(event.target.value);\r\n }\r\n\r\n function handleWaitTimeChange(event) {\r\n const numberString = /\\d/.test(event.target.value) ? parseInt(event.target.value).toString() : \"\";\r\n \r\n setWaitTimeState(numberString);\r\n }\r\n\r\n const miscFormSubmitted = (event) => {\r\n const newState = Object.assign({}, restaurantState, {description: descriptionState, minimumDelayMinutes: parseInt(waitTimeState)});\r\n setRestaurantState(newState);\r\n props.onRestaurantUpdated(newState);\r\n event.preventDefault();\r\n }\r\n\r\n const addressFormSubmitted = (event) => {\r\n const newState = Object.assign({}, restaurantState, {streetAddress: addressState, postalTown: postalTownState});\r\n setRestaurantState(newState);\r\n props.onRestaurantUpdated(newState);\r\n event.preventDefault();\r\n }\r\n\r\n const saveButtonEnabled = !(descriptionState === restaurantState.description && waitTimeState === restaurantState.minimumDelayMinutes);\r\n\r\n const addressSaveButtonEnabled = !(addressState === restaurantState.streetAddress && postalTownState === restaurantState.postalTown);\r\n \r\n \r\n if (props.restaurant !== lastRestaurant)\r\n {\r\n setLastRestaurant(props.restaurant);\r\n setRestaurantState(props.restaurant)\r\n setDescriptionState(props.restaurant.description);\r\n setAddressState(props.restaurant.streetAddress);\r\n setPostalTownState(props.restaurant.postalTown);\r\n setWaitTimeState(props.restaurant.minimumDelayMinutes);\r\n }\r\n\r\n const defaultCenter = {\r\n lat: restaurantState.lat,\r\n lng: restaurantState.lng\r\n };\r\n const defaultZoom = 17;\r\n\r\n function _onClick(obj){ console.log(obj.x, obj.y, obj.lat, obj.lng, obj.event);}\r\n \r\n return <>\r\n \r\n \r\n \r\n \r\n Allmänt\r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Plats\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/**/}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Mall för en standardvecka\r\n \r\n \r\n \r\n \r\n {(restaurantState.weekdaySettings).map((item, index) => (\r\n item === undefined ?
:\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n}\r\n\r\nconst LoadingBadge = () =>\r\n{\r\n return <>Laddar...\r\n}\r\n\r\nconst AuthenticatedView = (props) =>\r\n{\r\n const [lastUser, setLastUser] = useState(props.user);\r\n \r\n const [restaurant, setRestaurant] = useState(props.restaurant);\r\n\r\n \r\n if (restaurant !== props.restaurant)\r\n {\r\n // Reload restaurant\r\n setRestaurant(props.restaurant);\r\n }\r\n \r\n if (props.user !== lastUser)\r\n {\r\n setLastUser(props.user || restaurant === undefined);\r\n }\r\n \r\n if (! restaurant) {\r\n return \r\n }\r\n\r\n return <>\r\n \r\n \r\n {restaurant.name}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n}\r\n\r\nconst NotAuthenticated = (props) => {\r\n return <>\r\n \r\n
Du är inte inloggad
\r\n
\r\n ;\r\n}\r\n\r\nexport default function Restaurant() {\r\n return \r\n {({isSignedIn, user, providerId}) => {\r\n if (!isSignedIn)\r\n return \r\n else\r\n return \r\n {(selectedRestaurant) => (\r\n selectedRestaurant ? \r\n : <>No restaurant\r\n )}\r\n\r\n \r\n }\r\n }\r\n \r\n}\r\n","import React from \"react\";\r\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport ListItemSecondaryAction from \"@material-ui/core/ListItemSecondaryAction\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport DeleteIcon from \"@material-ui/icons/Delete\";\r\nimport ArrowUpwardIcon from \"@material-ui/icons/ArrowUpward\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport FormGroup from \"@material-ui/core/FormGroup\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\n\r\nexport const EditDish = (props) => {\r\n const initialState = props.item || {\r\n name: '',\r\n description: '',\r\n price: '',\r\n enabled: true,\r\n id: 0\r\n };\r\n const [value, setValue] = React.useState(initialState);\r\n\r\n // string is not empty and not just whitespace\r\n const dishNameIsOk = (/\\S/.test(value.name));\r\n const minPrice = 1;\r\n const priceIsOk = parseInt(value.price) >= minPrice;\r\n const priceHasError = (/\\S/.test(value.price)) && (! priceIsOk);\r\n const buttonEnabled = dishNameIsOk && priceIsOk;\r\n\r\n const handleChangeName = event => {\r\n const newValue = Object.assign(\r\n {},\r\n value,\r\n {name: event.target.value},\r\n )\r\n\r\n setValue(newValue);\r\n };\r\n\r\n const handleChangeDescription = event => {\r\n const newValue = Object.assign(\r\n {},\r\n value,\r\n {description: event.target.value},\r\n )\r\n\r\n setValue(newValue);\r\n };\r\n\r\n const handleChangePrice = event => {\r\n const priceString = /\\d/.test(event.target.value) ? parseInt(event.target.value).toString() : \"\";\r\n \r\n const newValue = Object.assign(\r\n {},\r\n value,\r\n {price: priceString},\r\n )\r\n\r\n setValue(newValue);\r\n };\r\n\r\n\r\n function handleSubmit(event) {\r\n // Make sure price is a number\r\n const newValue = Object.assign(\r\n {},\r\n value,\r\n {price: parseInt(value.price)},\r\n )\r\n \r\n props.onSubmit(newValue);\r\n\r\n event.preventDefault();\r\n }\r\n\r\n function handleCancel(event) {\r\n props.onCancel(value);\r\n\r\n event.stopPropagation();\r\n }\r\n\r\n return (<>\r\n
\r\n \r\n \r\n \r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
)\r\n}\r\n\r\nfunction DishNameDescriptionAndPrice(props) {\r\n return \r\n \r\n \r\n \r\n \r\n {props.item.price}\r\n \r\n ;\r\n}\r\n\r\nfunction DishEntryButtons(props) {\r\n return \r\n \r\n \r\n {\r\n event.stopPropagation();\r\n props.onMoveUp(props.item.id);\r\n }} edge=\"end\"\r\n aria-label=\"move up\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n event.stopPropagation();\r\n props.onDeleteItem(props.item.id)}} edge=\"end\"\r\n aria-label=\"delete\">\r\n \r\n \r\n \r\n \r\n ;\r\n}\r\n\r\nexport const DailyDishListItem = (props) => {\r\n const [editing, setEditing] = React.useState(false);\r\n\r\n function listItemClicked() {\r\n if (editing)\r\n return;\r\n\r\n setEditing(true);\r\n }\r\n\r\n function itemSaved(newValue) {\r\n setEditing(false);\r\n props.onUpdate(newValue);\r\n }\r\n\r\n return listItemClicked()}>\r\n {!editing && \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n }\r\n {editing && {\r\n setEditing(false);\r\n }\r\n }/>}\r\n \r\n}\r\n\r\nexport const ALaCarteDishListItem = (props) => {\r\n const [editing, setEditing] = React.useState(false);\r\n const [active, setActive] = React.useState(props.item.enabled);\r\n \r\n function listItemClicked() {\r\n if (editing)\r\n return;\r\n\r\n setEditing(true);\r\n }\r\n\r\n function itemSaved(newValue) {\r\n setEditing(false);\r\n props.onUpdate(newValue);\r\n }\r\n\r\n function handleActiveChange(event) {\r\n setActive(event.target.checked);\r\n const newValue = Object.assign(\r\n {},\r\n props.item,\r\n {enabled: event.target.checked},\r\n )\r\n\r\n props.onUpdate(newValue);\r\n }\r\n \r\n return listItemClicked()}>\r\n {!editing &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n e.stopPropagation()}/>}\r\n // label=\"Visa i menyn\"\r\n label={\"\"}/>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n }\r\n {editing && {\r\n setEditing(false);\r\n }\r\n }/>}\r\n \r\n}","import React, {useEffect, useState} from 'react';\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/auth\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {TaMedBody, TaMedHeading, TaMedIntermediateHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport moment from \"moment\";\r\nimport Card from \"@material-ui/core/Card\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport List from \"@material-ui/core/List\";\r\nimport ListSubheader from \"@material-ui/core/ListSubheader\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport Switch from \"@material-ui/core/Switch\";\r\nimport FormControl from \"@material-ui/core/FormControl\";\r\nimport FormGroup from \"@material-ui/core/FormGroup\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport NavigateBeforeIcon from '@material-ui/icons/NavigateBefore';\r\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\r\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\r\nimport {DailyDishListItem, EditDish} from \"./DishListItem\";\r\nimport {uuidv4} from \"./helpers\";\r\nimport {Menu, MenuItem, Typography} from \"@material-ui/core\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport {RestaurantContext} from \"./RestaurantContext\";\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\n\r\nconst ITEM_HEIGHT = 48;\r\n\r\nconst LunchMenu = (props) => {\r\n const [storedConfiguration, setStoredConfiguration] = React.useState(props.initialMenu);\r\n const [state, setState] = React.useState(props.initialMenu);\r\n \r\n const [addFormVisible, setAddFormVisible] = React.useState(false);\r\n \r\n useEffect(() => {\r\n if (storedConfiguration !== props.initialMenu) {\r\n setStoredConfiguration(props.initialMenu);\r\n setState(props.initialMenu);\r\n \r\n setAddFormVisible(false);\r\n }\r\n }, [props.initialMenu]);\r\n \r\n const setListAndUpdateBackend = newList => {\r\n const tempState = Object.assign({}, state);\r\n tempState.dishes = newList;\r\n setState(tempState);\r\n props.onUpdate(tempState);\r\n\r\n }\r\n \r\n const setLunchStartAndUpdateBackend = newLunchStart => {\r\n const tempState = Object.assign({}, state);\r\n tempState.openTime = newLunchStart;\r\n setState(tempState);\r\n props.onUpdate(tempState);\r\n }\r\n\r\n const setLunchEndAndUpdateBackend = newLunchEnd => {\r\n const tempState = Object.assign({}, state);\r\n tempState.closeTime = newLunchEnd;\r\n setState(tempState);\r\n props.onUpdate(tempState);\r\n }\r\n \r\n const handleSubmit = value => {\r\n if (value) {\r\n const newValue = Object.assign({},\r\n value,\r\n {id: uuidv4()},\r\n )\r\n\r\n setListAndUpdateBackend((state?.dishes ?? []).concat(newValue));\r\n setAddFormVisible(false);\r\n }\r\n };\r\n\r\n const handleUpdate = value => {\r\n const newList = (state?.dishes??[]).map(u => u.id !== value.id ? u : value);\r\n setListAndUpdateBackend(newList)\r\n }\r\n \r\n const handleDelete = key => {\r\n const newList = (state?.dishes??[]).filter(u => u.id !== key);\r\n setListAndUpdateBackend(newList);\r\n }\r\n\r\n const enabled = props.enabled;\r\n\r\n function handleLunchStartTimeChange(event) {\r\n setLunchStartAndUpdateBackend(event.target.value);\r\n }\r\n \r\n function handleLunchEndTimeChange(event) {\r\n setLunchEndAndUpdateBackend(event.target.value);\r\n }\r\n\r\n const handleMoveUp = key => {\r\n console.log(\"request to move up\");\r\n const clonedDishes = [...state?.dishes];\r\n const index = clonedDishes.findIndex(el => el.id === key);\r\n clonedDishes.splice(index - 1, 0, clonedDishes.splice(index, 1)[0]);\r\n setListAndUpdateBackend(clonedDishes);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n Lunchmeny\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {(state?.dishes??[]).map((item,index) => (\r\n \r\n\r\n ))}\r\n \r\n {!addFormVisible &&\r\n \r\n \r\n \r\n }\r\n {addFormVisible && setAddFormVisible(false)}/>}\r\n \r\n );\r\n};\r\n\r\n\r\nfunction DayCard(props) {\r\n const [storedConfiguration, setStoredConfiguration] = React.useState(props.dayConfig)\r\n const [state, setState] = React.useState(props.dayConfig);\r\n \r\n const timeRegex = /^([0-1]?[0-9]|2[0-4]):([0-5][0-9])(:[0-5][0-9])?$/;\r\n const openTimeValid = timeRegex.test(state?.openTime ?? \"\");\r\n \r\n useEffect(() => {\r\n if (storedConfiguration !== props.dayConfig) {\r\n setStoredConfiguration(props.dayConfig);\r\n setState(props.dayConfig);\r\n }\r\n }, [props.dayConfig]);\r\n\r\n function storeDayConfig(newOpenSettings) {\r\n firebase.auth().currentUser.getIdToken()\r\n .then(token => {\r\n const payload = {\r\n 'restaurantId' : props.restaurantId,\r\n 'isoDate' : props.date.format(moment.HTML5_FMT.DATE),\r\n 'dayConfig' : newOpenSettings}\r\n \r\n fetch('api/restaurant/storeDayConfig', {\r\n method: 'POST', \r\n headers: { 'Content-Type': 'application/json',\r\n 'Authorization': `Bearer ${token}`},\r\n body: JSON.stringify(payload)\r\n }) \r\n .then(response => {\r\n if (!response.ok) {\r\n alert(\"Request failed\")\r\n }\r\n })\r\n .catch(error => {\r\n alert(\"Network error\")\r\n });\r\n });\r\n }\r\n\r\n function handleOpenChange(event) {\r\n const newOpenSettings = {isOpen: event.target.checked, openTime: state.openTime, closeTime: state.closeTime, dayMenu: state.dayMenu};\r\n setState(newOpenSettings);\r\n storeDayConfig(newOpenSettings);\r\n }\r\n\r\n function handleOpenTimeChange(event) {\r\n const newVar = {isOpen: state.isOpen, openTime: event.target.value, closeTime: state.closeTime, dayMenu: state.dayMenu};\r\n setState(newVar);\r\n storeDayConfig(newVar);\r\n }\r\n\r\n function handleCloseTimeChange(event) {\r\n const newVar = {isOpen: state.isOpen, openTime: state.openTime, closeTime: event.target.value, dayMenu: state.dayMenu};\r\n setState(newVar);\r\n storeDayConfig(newVar);\r\n }\r\n \r\n function handleMenuUpdated(newMenu)\r\n {\r\n const newVar = {isOpen: state.isOpen, openTime: state.openTime, closeTime: state.closeTime, \r\n dayMenu: newMenu};\r\n setState(newVar);\r\n storeDayConfig(newVar);\r\n }\r\n \r\n\r\n function DayMenu() {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n const selectCopyPreviousDay = () => {\r\n handleClose();\r\n props.onCopyDay();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n Kopiera från förra dagen\r\n \r\n \r\n );\r\n }\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n {props.date.toDate().toLocaleDateString(undefined, {\r\n weekday: 'long',\r\n month: 'numeric',\r\n day: 'numeric' \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n label=\"Beställningar\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n}\r\n\r\nfunction DailySettingsSubview(props) {\r\n const initialRestaurantState = {\r\n loaded: false,\r\n name: '',\r\n weekdaySettings: [{defaultOpen: false,\r\n defaultOpenTime: \"\",\r\n defaultCloseTime: \"\",\r\n defaultLunchStartTime: \"\",\r\n defaultLunchEndTime: \"\"}]};\r\n\r\n const initialStateDayConfig = {\r\n loaded: false,\r\n dayConfigs: [\r\n // {\r\n // isOpen: false,\r\n // openTime: \"\",\r\n // closeTime: \"\",\r\n // dayMenu: {\r\n // openTime: \"\",\r\n // closeTime: \"\",\r\n // dishes: [\r\n // {\r\n // name: \"Köttbullar\",\r\n // description: \"Kioskgjort mos ingår\",\r\n // price: \"90.50\",\r\n // id: \"123\"\r\n // }\r\n // ]\r\n // }\r\n // },\r\n null,\r\n null, null, null, null, null, null]\r\n };\r\n\r\n const [state, setState] = useState({\r\n restaurant: null, \r\n dayConfig: initialStateDayConfig,\r\n loadingUser: true, \r\n user: props.user});\r\n\r\n const [mondayCurrentWeek, setMoment] = useState(moment().subtract(moment().isoWeekday() - 1, 'days'));\r\n\r\n if (props.restaurant !== state.restaurant)\r\n {\r\n setState({\r\n restaurant: props.restaurant,\r\n loadingUser: false,\r\n user: state.user,\r\n dayConfig: state.dayConfig\r\n });\r\n\r\n loadRestaurant(props.user, mondayCurrentWeek, props.restaurant).then();\r\n }\r\n \r\n \r\n const [year, week, ] = [mondayCurrentWeek.year(), mondayCurrentWeek.isoWeek(), ];\r\n\r\n function handleNextWeek()\r\n {\r\n const moment2 = mondayCurrentWeek.clone().add(7, 'days');\r\n setMoment(moment2);\r\n loadWeek(props.user, state.restaurant, moment2).then();\r\n }\r\n \r\n function handlePreviousWeek()\r\n {\r\n const moment2 = mondayCurrentWeek.clone().subtract(7, 'days');\r\n setMoment(moment2);\r\n loadWeek(props.user, state.restaurant, moment2).then();\r\n }\r\n\r\n // function copyFromPreviousWeek()\r\n // {\r\n // console.log(\"Copy from previous week\");\r\n // \r\n // // Week to load from\r\n // const moment2 = mondayCurrentWeek.clone().subtract(7, 'days');\r\n // \r\n // // Copy and load\r\n // copyWeek(state.user, state.restaurant, mondayCurrentWeek, moment2).then();\r\n // }\r\n\r\n function copyFromPreviousDay(today)\r\n {\r\n console.log(\"Copy from previous day\");\r\n\r\n // // Week to load from\r\n // const moment2 = mondayCurrentWeek.clone().subtract(7, 'days');\r\n //\r\n // Copy and load\r\n copyDay(state.user, state.restaurant, today, today.clone().subtract(1, 'days')).then();\r\n }\r\n\r\n\r\n\r\n function WeekMenu() {\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n const open = Boolean(anchorEl);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n\r\n // const selectCopyPrevious = () => {\r\n // handleClose();\r\n // copyFromPreviousWeek();\r\n // };\r\n\r\n const selectCopyWeek = (mondayDate) => {\r\n handleClose();\r\n copyWeek(state.user, state.restaurant, mondayCurrentWeek, mondayDate).then();\r\n };\r\n \r\n const numberOfWeeksInList = 7;\r\n const previousWeeks = Array.from(Array(numberOfWeeksInList), (_, index) => mondayCurrentWeek.clone().subtract(7 * (index + 1), 'days'));\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {(previousWeeks).map(u => selectCopyWeek(u)}>Kopiera från v{u.isoWeek()})}\r\n \r\n
\r\n );\r\n }\r\n\r\n\r\n function authenticatedView() {\r\n const tuesday = mondayCurrentWeek.clone().add(1, 'days');\r\n const wednesday = mondayCurrentWeek.clone().add(2, 'days');\r\n const thursday = mondayCurrentWeek.clone().add(3, 'days');\r\n const friday = mondayCurrentWeek.clone().add(4, 'days');\r\n const saturday = mondayCurrentWeek.clone().add(5, 'days');\r\n const sunday = mondayCurrentWeek.clone().add(6, 'days');\r\n return (\r\n <>\r\n {\r\n (state.loadingUser === true)\r\n ? (Loading...)\r\n : ({state.restaurant?.name})}\r\n \r\n\r\n \r\n \r\n \r\n \r\n v{week}, {year}\r\n \r\n \r\n \r\n <>\r\n {/**/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {copyFromPreviousDay(mondayCurrentWeek)}}/>\r\n {copyFromPreviousDay(tuesday)}}/>\r\n {copyFromPreviousDay(wednesday)}}/>\r\n {copyFromPreviousDay(thursday)}}/>\r\n {copyFromPreviousDay(friday)}}/>\r\n {copyFromPreviousDay(saturday)}}/>\r\n {copyFromPreviousDay(sunday)}}/>\r\n \r\n \r\n );\r\n }\r\n \r\n async function loadWeek(user, restaurant, mondayMoment) {\r\n const token = await user.getIdToken();\r\n const weekConfigResponse = await fetch('api/restaurant/getSevenDays?' + new URLSearchParams({\r\n restaurantId: restaurant.id,\r\n firstIsoDate: mondayMoment.format(moment.HTML5_FMT.DATE)\r\n })\r\n , {\r\n headers: {'Authorization': `Bearer ${token}`},\r\n });\r\n\r\n const weekConfig = await weekConfigResponse.json();\r\n setState({\r\n restaurant: restaurant,\r\n loadingUser: false,\r\n user: user,\r\n dayConfig: {loaded: true, dayConfigs: weekConfig}\r\n });\r\n }\r\n\r\n async function copyWeek(user, restaurant, mondayMoment, copyFromMoment) {\r\n const token = await user.getIdToken();\r\n const weekConfigResponse = await fetch('api/restaurant/copyWeek?' + new URLSearchParams({\r\n restaurantId: restaurant.id,\r\n firstIsoDate: mondayMoment.format(moment.HTML5_FMT.DATE),\r\n copyFrom: copyFromMoment.format(moment.HTML5_FMT.DATE)\r\n })\r\n , {\r\n headers: {'Authorization': `Bearer ${token}`},\r\n });\r\n\r\n const weekConfig = await weekConfigResponse.json();\r\n setState({\r\n restaurant: restaurant,\r\n loadingUser: false,\r\n user: user,\r\n dayConfig: {loaded: true, dayConfigs: weekConfig}\r\n });\r\n }\r\n\r\n async function copyDay(user, restaurant, targetMoment, copyFromMoment) {\r\n const token = await user.getIdToken();\r\n const weekConfigResponse = await fetch('api/restaurant/copyDay?' + new URLSearchParams({\r\n restaurantId: restaurant.id,\r\n targetIsoDate: targetMoment.format(moment.HTML5_FMT.DATE),\r\n copyFrom: copyFromMoment.format(moment.HTML5_FMT.DATE)\r\n })\r\n , {\r\n headers: {'Authorization': `Bearer ${token}`},\r\n });\r\n\r\n const weekConfig = await weekConfigResponse.json();\r\n setState({\r\n restaurant: restaurant,\r\n loadingUser: false,\r\n user: user,\r\n dayConfig: {loaded: true, dayConfigs: weekConfig}\r\n });\r\n }\r\n\r\n\r\n\r\n async function loadRestaurant(user, mondayMoment, restaurant) {\r\n const data = restaurant;\r\n setState({restaurant: data, loadingUser: false, user: user, dayConfig: initialStateDayConfig});\r\n\r\n await loadWeek(user, data, mondayMoment);\r\n }\r\n \r\n function userUpdated(user) {\r\n setState({\r\n restaurant: initialRestaurantState,\r\n dayConfig: initialStateDayConfig,\r\n loadingUser: true, \r\n user: user});\r\n \r\n // loadRestaurant(user, mondayCurrentWeek);\r\n\r\n }\r\n\r\n useEffect(() => {\r\n return firebase.auth().onAuthStateChanged(\r\n authUser => userUpdated(authUser)\r\n );\r\n }, []);\r\n\r\n return state.user !== null\r\n ? authenticatedView()\r\n :
Not authenticated
\r\n}\r\n\r\nexport default function DailySettings()\r\n{\r\n return \r\n {({isSignedIn, user, providerId}) => {\r\n if (!isSignedIn)\r\n return <>not authenticated\r\n else\r\n return \r\n {(selectedRestaurant) => (\r\n selectedRestaurant ? \r\n : <>\r\n )}\r\n\r\n \r\n }\r\n }\r\n \r\n}","import React, {useState} from \"react\";\r\nimport {FirebaseAuthConsumer} from \"@react-firebase/auth\";\r\nimport {TaMedHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport List from \"@material-ui/core/List\";\r\nimport 'moment/locale/sv'\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport \"firebase/auth\";\r\nimport {ALaCarteDishListItem, EditDish} from \"./DishListItem\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport {uuidv4} from \"./helpers\";\r\nimport {onRestaurantUpdated, RestaurantContext} from \"./RestaurantContext\";\r\nimport {useConfirm} from \"material-ui-confirm\";\r\n\r\nconst ALaCarteContentView = (props) =>\r\n{\r\n const [lastRestaurant, setLastRestaurant] = useState(props.restaurant);\r\n const [restaurantState, setRestaurantState] = useState(props.restaurant);\r\n const [addFormVisible, setAddFormVisible] = React.useState(false);\r\n \r\n if (props.restaurant !== lastRestaurant)\r\n {\r\n setLastRestaurant(props.restaurant);\r\n setRestaurantState(props.restaurant);\r\n }\r\n \r\n const enabled = true;\r\n \r\n const setListAndUpdateBackend = newList => {\r\n const tempState = Object.assign({}, restaurantState);\r\n tempState.dishes = newList;\r\n setRestaurantState(tempState);\r\n props.onRestaurantUpdated(tempState);\r\n }\r\n\r\n const handleSubmitDish = value => {\r\n if (value) {\r\n const newValue = Object.assign({},\r\n value,\r\n {id: uuidv4()},\r\n )\r\n\r\n setListAndUpdateBackend((restaurantState?.dishes ?? []).concat(newValue));\r\n setAddFormVisible(false);\r\n }\r\n };\r\n\r\n const handleUpdate = value => {\r\n const newList = (restaurantState?.dishes??[]).map(u => u.id !== value.id ? u : value);\r\n setListAndUpdateBackend(newList)\r\n }\r\n const confirm = useConfirm();\r\n\r\n const handleDelete = key => {\r\n confirm({description: 'Vill du radera maträtten?'})\r\n .then(async () => {\r\n const newList = (restaurantState?.dishes ?? []).filter(u => u.id !== key);\r\n setListAndUpdateBackend(newList);\r\n })\r\n .catch(() => {\r\n console.log(\"Aborted delete dish\")\r\n });\r\n }\r\n \r\n const handleMoveUp = key => {\r\n console.log(\"request to move up\");\r\n const clonedDishes = [...restaurantState?.dishes];\r\n const index = clonedDishes.findIndex(el => el.id === key);\r\n clonedDishes.splice(index - 1, 0, clonedDishes.splice(index, 1)[0]);\r\n setListAndUpdateBackend(clonedDishes);\r\n }\r\n\r\n \r\n return <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n À la carte meny (alltid tillgänglig)\r\n \r\n \r\n \r\n \r\n \r\n {(restaurantState?.dishes ?? []).map((item, index) => (\r\n \r\n ))}\r\n \r\n {!addFormVisible &&\r\n \r\n \r\n \r\n }\r\n {addFormVisible && setAddFormVisible(false)}/>}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}\r\n\r\nconst LoadingBadge = () =>\r\n{\r\n return <>Laddar...\r\n}\r\n\r\nconst AuthenticatedView = (props) =>\r\n{\r\n if (! props.restaurant) {\r\n return \r\n }\r\n\r\n return <>\r\n \r\n \r\n {props.restaurant.name}\r\n \r\n \r\n \r\n \r\n}\r\n\r\nconst NotAuthenticated = (props) => {\r\n return <>\r\n \r\n
Du är inte inloggad
\r\n
\r\n ;\r\n}\r\n\r\nexport default function ALaCarte() {\r\n return \r\n {({isSignedIn, user, providerId}) => {\r\n if (!isSignedIn)\r\n return \r\n else\r\n return \r\n {(selectedRestaurant) => (\r\n selectedRestaurant ? \r\n : <>No restaurant\r\n )}\r\n\r\n \r\n }\r\n }\r\n \r\n}\r\n\r\n","import {greenTheme} from \"./helpers\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {Button, MuiThemeProvider} from \"@material-ui/core\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport {TaMedBody, TaMedHeading, TaMedIntermediateHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport React from \"react\";\r\n\r\nexport default function PrivacyPolicy(){\r\n return \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\"ta-med\r\n \r\n \r\n Lunch utan kö och kassabetalning\r\n \r\n \r\n \r\n\r\n \r\n \r\n {/*Take away lunch*/}\r\n \r\n \r\n Integritetspolicy\r\n \r\n Vi lagrar användares:\r\n E-postadress, för att tillhandahålla inloggning och kunna skicka e-post med rapporter och marknadsföring.\r\n Namn, för att kunna märka beställningar och säkerställa att de mottagits av rätt person.\r\n Telefonnummer vid Swishbetalning, för att kunna göra återbetalningar.\r\n Information om transaktioner, för att kunna tillhandahålla historik, rapporter, kvitton och lösa eventuella problem.\r\n Vi säljer inte kunduppgifter vidare till tredje part.\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n}\r\n","import React, {useState} from 'react';\r\nimport {MuiThemeProvider, useMediaQuery} from '@material-ui/core';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {Link} from 'react-router-dom';\r\nimport {TaMedHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {grayTheme} from \"./helpers\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport {Helmet} from \"react-helmet\";\r\nimport TextField from \"@material-ui/core/TextField\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport NavMenuPublic from \"./NavMenuPublic\";\r\nimport makeStyles from \"@material-ui/core/styles/makeStyles\";\r\n\r\nconst textLinkStyle = makeStyles({\r\n root: { color: 'inherit', textDecoration: 'inherit'}, // a style rule\r\n});\r\n\r\nfunction RestaurantListEntry(props) {\r\n const classes = textLinkStyle();\r\n \r\n return \r\n \r\n {props.item.name}\r\n \r\n \r\n \r\n \r\n}\r\n\r\nRestaurantListEntry.propTypes = {item: PropTypes.any};\r\n\r\nconst RestaurantList = (props) =>\r\n{\r\n \r\n return \r\n {(props.restaurants.restaurantList ?? []).map(item => (\r\n \r\n ))}\r\n \r\n}\r\n\r\nconst LoadingBadge = () =>\r\n{\r\n return <>Laddar...\r\n}\r\n\r\nconst DynamicView = (props) => {\r\n const [restaurant, setRestaurant] = useState(undefined);\r\n\r\n const reloadrestaurant = async () => {\r\n const restaurantTask = fetch('api/webmenu/getall', {\r\n // headers: {'Authorization': `Bearer ${token}`}\r\n });\r\n\r\n const data = await (await restaurantTask).json();\r\n console.log(data);\r\n setRestaurant({\r\n restaurantList: data\r\n });\r\n }\r\n \r\n if (restaurant === undefined) {\r\n setRestaurant(null);\r\n\r\n // Reload restaurant\r\n reloadrestaurant().then();\r\n }\r\n\r\n if (!restaurant) {\r\n return \r\n }\r\n\r\n return <>\r\n \r\n \r\n}\r\n\r\n\r\nexport default function Restaurants() {\r\n const isMdUp = useMediaQuery(grayTheme.breakpoints.up('md'));\r\n\r\n return (\r\n \r\n \r\n \r\n Ta Med - Beställ Take Away enkelt och betala med Swish\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Take away restauranger\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import React, {useState} from 'react';\r\nimport {Button, Card, MuiThemeProvider, useMediaQuery} from '@material-ui/core';\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Container from \"@material-ui/core/Container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {Link} from 'react-router-dom';\r\nimport {TaMedBody, TaMedHeading, TaMedIntermediateHeading, TaMedOverline} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {grayTheme} from \"./helpers\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport {Helmet} from \"react-helmet\";\r\nimport List from \"@material-ui/core/List\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport NavMenuPublic from \"./NavMenuPublic\";\r\nimport moment from \"moment\";\r\nimport Hidden from \"@material-ui/core/Hidden\";\r\nimport {DownloadButtons} from \"./DownloadButtons\";\r\n\r\n\r\nfunction DishEntry(props) {\r\n console.log(props.item);\r\n\r\n return \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {props.item.price} kr\r\n
\r\n
\r\n
\r\n
\r\n\r\n}\r\n\r\nDishEntry.propTypes = {item: PropTypes.any};\r\n\r\nfunction GreenCard(props) {\r\n const greenCardStyle = {\r\n color: '#f3c0aa',\r\n borderRadius: '16px'\r\n };\r\n \r\n return \r\n {props.children}\r\n ;\r\n}\r\n\r\nGreenCard.propTypes = {children: PropTypes.node};\r\n\r\nfunction TodaysLunch(props) {\r\n if ((!props.currentLunchMenu) && (!props.futureLunchMenu)) {\r\n return <>;\r\n }\r\n \r\n const lunchmenu = props.currentLunchMenu ? props.currentLunchMenu : props.futureLunchMenu;\r\n \r\n if (lunchmenu.length === 0)\r\n return <>;\r\n\r\n return <>\r\n \r\n Dagens lunch, {moment().toDate().toLocaleDateString(undefined, {\r\n weekday: 'long',\r\n month: 'numeric',\r\n day: 'numeric'\r\n })} \r\n \r\n \r\n \r\n \r\n {(lunchmenu ?? []).map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n \r\n}\r\n\r\nfunction ALaCarteMenu(props) {\r\n if (!props.restaurant.aLaCarteMenu)\r\n return <>;\r\n\r\n if (props.restaurant.aLaCarteMenu.length === 0)\r\n return <>;\r\n\r\n\r\n const renderHeading = props.restaurant.currentLunchMenu && props.restaurant.currentLunchMenu.length > 0;\r\n return <>\r\n {renderHeading ? Stående alternativ : Take Away Meny}\r\n \r\n \r\n \r\n {(props.restaurant.aLaCarteMenu ?? []).map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n\r\n \r\n}\r\n\r\nfunction OpeningHours(props) {\r\n\r\n if (!props.restaurant.openFrom)\r\n return \r\n Stängt idag\r\n \r\n\r\n return \r\n access_time\r\n  \r\n \r\n {props.restaurant.openFrom}-{props.restaurant.openTo}\r\n \r\n \r\n}\r\nfunction DelivryTime(props) {\r\n\r\n return \r\n {\"Take\r\n  \r\n \r\n {props.restaurant.expectedWaitTimeMinutes} min\r\n \r\n \r\n}\r\n\r\n\r\nconst MenuContentView = (props) => {\r\n\r\n const isMdUp = useMediaQuery(grayTheme.breakpoints.up('md'));\r\n\r\n return <>\r\n \r\n {props.restaurant.name} | Take Away Meny\r\n \r\n \r\n\r\n \r\n \r\n \r\n {/*{props.restaurant.webSubtitle}*/}\r\n {props.restaurant.webSubtitle}\r\n \r\n {props.restaurant.name}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/*{props.restaurant.webSubtitle}*/}\r\n {props.restaurant.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ladda ner vår app för att
köpa take away\r\n
\r\n \r\n Ladda ner vår app för att köpa take away\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n}\r\n\r\nconst LoadingBadge = () => {\r\n return <>\r\n}\r\n\r\nconst DynamicView = (props) => {\r\n const [restaurant, setRestaurant] = useState(undefined);\r\n\r\n const reloadrestaurant = async () => {\r\n const restaurantTask = fetch('api/webmenu/restaurantdetails?slug=' + props.slug, {\r\n // headers: {'Authorization': `Bearer ${token}`}\r\n });\r\n\r\n const data = await (await restaurantTask).json();\r\n console.log(data);\r\n setRestaurant(data);\r\n }\r\n\r\n if (restaurant === undefined) {\r\n setRestaurant(null);\r\n\r\n // Reload restaurant\r\n reloadrestaurant().then();\r\n }\r\n\r\n if (!restaurant) {\r\n return \r\n }\r\n\r\n return <>\r\n\r\n\r\n \r\n \r\n}\r\n\r\n\r\nexport default function TakeAwayMenu(props) {\r\n const restaurantslug = props.match.params.restaurantslug;\r\n console.log(restaurantslug);\r\n return \r\n \r\n \r\n \r\n\r\n}\r\n","import React from 'react';\r\nimport {MuiThemeProvider, useMediaQuery} from '@material-ui/core';\r\nimport Container from \"@material-ui/core/Container\";\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport {TaMedBody, TaMedHeading, TaMedIntermediateHeading} from \"./ta-med-styles/TaMedStyles\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {grayTheme} from \"./helpers\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport {Helmet} from \"react-helmet\";\r\nimport * as PropTypes from \"prop-types\";\r\nimport NavMenuPublic from \"./NavMenuPublic\";\r\n\r\n\r\nfunction CodeBox(props) {\r\n \r\n return \r\n \r\n \r\n\r\n}\r\n\r\nCodeBox.propTypes = {children: PropTypes.node};\r\n\r\nconst BannerList = () => {\r\n\r\n return \r\n Det går att välja om man vill ha runda eller fyrkantiga hörn på sina banners\r\n Huvudbanner\r\n \r\n \r\n
\r\n Ta med\r\n
Köp take away, utan kö eller kassabetalning.
\r\n
\r\n \r\n \"Ta\r\n \r\n
\r\n {/**/}\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n {\"Placera denna kod i -sektionen\"}\r\n \r\n {``}\r\n \r\n \r\n Placera denna kod där du vill ha widgeten. Du kan också ändra texten\r\n \r\n \r\n {`
\r\n Ta med\r\n
Köp take away, utan kö eller kassabetalning.
\r\n
\r\n \r\n \"Ta\r\n \r\n
\r\n
\r\n