{"version":3,"sources":["types.ts","Auth.tsx","api.ts","Components/Navigation/index.tsx","Components/Table/index.tsx","Components/ManageClients/Search/index.tsx","Components/ManageClients/Add/index.tsx","Components/Modal/index.tsx","Components/ManageClients/View/index.tsx","Components/ManageClients/AddCharge/index.tsx","Components/ManageClients/ViewCharge/index.tsx","Components/ManageClients/AddPayment/index.tsx","Components/ManageClients/ViewPayment/index.tsx","Components/ManageClients/CompleteDocument/index.tsx","Components/ManageClients/Share/index.tsx","Components/ManageClients/index.tsx","Components/ManageTherapySessions/Search/index.tsx","Components/ManageTherapySessions/Add/index.tsx","Components/ManageTherapySessions/View/index.tsx","Components/ManageTherapySessions/AddClient/index.tsx","Components/ManageTherapySessions/index.tsx","Components/ManageUsers/Search/index.tsx","Components/ManageUsers/Add/index.tsx","Components/ManageUsers/index.tsx","Components/ManageTemplates/index.tsx","Containers/PrivateMainContainer/index.tsx","Components/Login/index.tsx","Components/Logout/index.tsx","Components/ActionSelection/index.tsx","Components/ActivationRequired/index.tsx","Components/LoginCode/index.tsx","Containers/AuthContainer/index.tsx","Containers/PublicMainContainer/index.tsx","Components/Export/index.tsx","Components/ExportPdfPage/index.tsx","Components/ExportPdfDocument/index.tsx","Components/ExportClientFile/index.tsx","Components/ExportClientFilePublic/index.tsx","Components/ExportNote/index.tsx","Components/PrintCharge/index.tsx","Components/PrintPayment/index.tsx","Components/CustomerStartSignDocument/index.tsx","Components/CustomerCompleteSignDocument/index.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["BootstrapValidateClass","HttpMethod","coreApiEndpoint","window","location","hostname","protocol","host","AUTH_ACCESS_TOKEN","AUTH_REFRESH_TOKEN","AUTH_EXPIRES_IN","AUTH_SCOPE","AUTH_TOKEN_TYPE","AUTH_CLOCK_START","logout","localStorage","removeItem","signInCode","username","code","a","formBody","push","encodeURIComponent","formBodyText","join","fetch","mode","credentials","headers","Authorization","getItem","Pragma","body","method","POST","then","ok","json","b","setItem","access_token","refresh_token","expires_in","scope","token_type","Date","now","toString","undefined","session","e","signIn","password","sessionId","signInClientFile","clientId","key","passcode","currentSession","accessToken","Promise","resolve","reject","message","clockStart","parseInt","elapsedTime","Math","floor","console","log","timeRemaining","refreshToken","esignApiEndpoint","handleResponse","response","error","handleNetworkError","getEsignDocument","documentId","profileId","documentKey","GET","getDocumentKey","userSession","getCustomerDocumentKey","getDocumentKeyPublic","getTemplates","createDocument","document","JSON","stringify","getEsignProfiles","getEsignProfilesPublic","getUserProfile","uploadFile","file","formData","FormData","append","name","getFile","path","getFilePublic","getLegacyDocument","id","getLegacyNote","getLegacyDocumentPublic","getUsers","getFeatures","getClients","firstName","lastName","email","disabled","therapySessionId","getClient","createClientShare","getClientPublic","getTherapySessions","therapistId","fromDate","toDate","getTherapySession","deleteTherapySession","DELETE","completeTherapySession","addClientToTherapySession","deleteClientToTherapySession","markAttendanceForClientInTherapySession","attendance","attended","uuid","resetAttendanceForClientInTherapySession","addTherapySessions","updateTherapySessions","PUT","addClient","updateClient","disableClient","enableClient","addCharge","getCharge","chargeId","deleteCharge","addPayment","sendPaymentReceipt","paymentId","getPayment","deletePayment","addDocumentToClient","getClientDocument","deleteClientDocument","completeDocumentOnClient","pendingCustomerDocumentOnClient","pendingCustomerDocumentOnClientReminder","shareDocumentWithClient","Navigation","useLocation","useState","menuItems","setMenuItems","useEffect","fs","items","forEach","f","label","weight","icon","sort","className","map","g","gindex","Array","isArray","length","u","uindex","pathname","startsWith","to","data-feather","Table","props","page","setPage","defaultPaginationSize","paginationSize","setPaginationSize","rows","React","toArray","children","numberOfPages","ceil","paginationComponent","i","type","onClick","h","index","filter","r","rindex","aria-label","value","onChange","target","format","require","SearchClients","loading","setLoading","clients","setClients","setFirstName","setLastName","setEmail","setClientId","setDisabled","doLoad","setDoLoad","load","useCallback","c","catch","finally","onSubmit","preventDefault","htmlFor","placeholder","autoComplete","hidden","socialsecurityNumber","dateTimeofAssessment","dateFormat","parse","AddClient","ssn","setSsn","dlState","setDlState","dlNumber","setDlNumber","dateOfBirth","setDateOfBirth","telephone","setTelephone","addressLine1","setAddressLine1","addressLine2","setAddressLine2","city","setCity","stateCode","setStateCode","zip","setZip","assessmentDate","setAssessmentDate","assessmentTime","setAssessmentTime","doRedirectToSearch","setDoRedirectToSearch","history","useHistory","address","state","driverslicenseNumber","driverslicenseState","dateofBirth","telephoneNumber","clientDiagnosis","drugTestDueDate","required","Modal","p","show","style","display","data-backdrop","data-keyboard","tabIndex","aria-labelledby","aria-hidden","xClasses","title","data-dismiss","doCancel","cancelButtonText","disableOk","doOk","okButtonText","ViewClient","esignEndpoint","showUploadFileModal","setShowUploadFileModal","useParams","currencyFormat","Intl","NumberFormat","currency","setId","addressId","setAddressId","balance","setBalance","transactions","setTransactions","attendances","setAttendances","recommendedHours","setRecommendedHours","totalHoursAttended","setTotalHoursAttended","absences","setAbsences","editMode","setEditMode","doReload","setDoReload","templates","setTemplates","documents","setDocuments","legacyDocuments","setLegacyDocuments","legacyNotes","setLegacyNotes","form","setForm","profile","setProfile","artifact","setArtifact","artifactUploading","setArtifactUploading","doUpload","setDoUpload","receiptLoading","setReceiptLoading","signReminderLoading","setSignReminderLoading","setClientDiagnosis","setDrugTestDueDate","ps","tz","t","tag","doQuickAddForm","formName","isFormComplete","d","template","fields","esignUrl","k","url","description","status","cd","completeDocUrl","open","toLowerCase","amount","createdAt","href","role","files","aria-describedby","fontSize","docValues","substring","indexOf","split","doOpenDocument","blob","data","URL","createObjectURL","anchor","createElement","download","click","revokeObjectURL","remove","esignDocumentId","esignDocumentKey","esignProfileId","sessionTopic","sessionStatus","sessionDate","signed","therapySession","date","AddCharge","setAmount","setCreatedAt","setDescription","doSearchRedirect","setDoSearchRedirect","chargeDate","ViewCharge","AddPayment","setMethod","cardNumber","setCardNumber","cvv","setCvv","expireMonth","setExpireMonth","expireYear","setExpireYear","creditCards","setCreditCards","client","setClient","creditCard","setCreditCard","cc","payments","s","match","zipCode","expirationYear","expirationMonth","creditCardNumber","getMethodDescription","paymentDate","ViewPayment","CompleteDocument","doRedirect","setDoRedirect","setError","queryParams","URLSearchParams","search","pendingCustomer","get","ShareFile","shareId","setShareId","ManageClients","useRouteMatch","exact","Add","Share","Search","dateParse","SearchTherapySessions","therapySessions","setTherapySessions","users","setUsers","therapist","setTherapist","setFromDate","setToDate","uz","startTime","AddTherapySession","setDate","setStartTime","endTime","setEndTime","note","setNote","calcEndTime","setHours","getHours","noteUuid","ViewTherapySession","setStatus","doNoteSignRedirect","didAttend","isSigned","doOpenNote","doAddNote","AddClientTherapySession","clientsInSession","setClientsInSession","setTherapySession","selectedClientId","setSelectedClientId","loadData","getLoadingSpinner","getButton","result","isClientInSession","doRemove","doAdd","ManageTherapySessions","SearchUsers","AddUser","selected","ManageUsers","ManageTemplates","rel","PrivateMainContainer","breadcrumbs","fullPath","replace","validToken","setValidToken","doLoginRedirect","setDoLoginRedirect","doActionItemRedirect","setDoActionItemRedirect","user","actions","data-toggle","data-target","aria-controls","aria-expanded","Login","setUsername","setPassword","setMessage","alt","src","event","ex","Logout","ActionSelection","setActions","doRedirectToLanding","setDoRedirectToLanding","doRedirectToLogin","setDoRedirectToLogin","getPathByCode","ActivationRequired","LoginCode","setCode","o","AuthContainer","component","PublicMainContainer","Export","setDocument","ld","pages","number","border","marginBottom","position","width","height","top","y","left","x","imageData","ExportPdfPage","canvasRef","useRef","renderTask","current","getPage","rotation","rotate","dpRatio","devicePixelRatio","adjustedScale","viewport","getViewport","scale","canvasEl","canvasContext","getContext","cancel","render","promise","ref","padding","margin","touchAction","ExportPdfDocument","documentProxy","setDocumentProxy","usePdf","ed","onDocumentLoadSuccess","elements","pdfDocument","pdfPage","random","numPages","ExportClientFile","esignDocuments","setEsignDocuments","imageUploads","setImageUploads","callback","reader","FileReader","onload","dataUrl","this","endsWith","readAsDataURL","esignDocumntId","hours","additionalNote","sessionTime","sessionNotes","sessionProgress","sessionActivity","sessionContact","ExportClientFilePublic","setAccessToken","authFailure","setAuthFailure","authCode","setAuthCode","filePassword","setFilePassword","maxLength","ExportNote","noteId","PrintCharge","PrintPayment","payment","setPayment","getCardLastFour","CustomerStartSignDocument","keyId","referTo","CustomerCompleteSignDocument","isLoading","setIsLoading","isSuccess","setIsSuccess","App","Boolean","ReactDOM","StrictMode","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"+UAgKYA,E,iHAAAA,K,mBAAAA,E,uBAAAA,E,gBAAAA,M,KAgBL,IChKFC,EAdCC,EAAgD,cAA7BC,OAAOC,SAASC,SAClCF,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SAAW,uBAC7DF,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAO,kBAE1DC,EAAoB,gCACpBC,EAAqB,iCACrBC,EAAkB,8BAClBC,EAAa,yBACbC,EAAkB,8BAClBC,EAAmB,gC,SAKpBZ,K,UAAAA,E,YAAAA,E,YAAAA,E,UAAAA,E,cAAAA,E,gBAAAA,E,kBAAAA,E,eAAAA,M,KAqBE,ICRFA,EDQQa,EAAS,WAClBC,aAAaC,WDtCkB,aCuC/BD,aAAaC,WAAWR,GACxBO,aAAaC,WAAWP,GACxBM,aAAaC,WAAWN,GACxBK,aAAaC,WAAWL,GACxBI,aAAaC,WAAWJ,GACxBG,aAAaC,WAAWH,IAcfI,EAAsB,uCAAI,WAAOC,EAAUC,GAAjB,iBAAAC,EAAA,6DAE7BC,EAAW,IACRC,KAAKC,mBAAmB,aAAe,IAAMA,mBAAmBL,IACzEG,EAASC,KAAKC,mBAAmB,QAAU,IAAMA,mBAAmBJ,IACpEE,EAASC,KAAKC,mBAAmB,cAAgB,IAAMA,mBAAmB,uBAC1EF,EAASC,KAAKC,mBAAmB,SAAW,IAAMA,mBAAmB,SACjEC,EAAeH,EAASI,KAAK,KAPE,kBAS5BC,MAAMxB,EAAkB,eAAgB,CAC3CyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYf,aAAagB,QAAQvB,GAChD,eAAgB,kDAChBwB,OAAQ,YAEZC,KAAMT,EACNU,OAAQjC,EAAWkC,OAElBC,MAAK,SAAUhB,GACZ,OAAIA,EAAEiB,GACKjB,EAAEkB,OAAOF,MAAK,SAAUG,GAU3B,OATAxB,aAAayB,QAAQhC,EAAmB+B,EAAEE,cAC1C1B,aAAayB,QAAQ/B,EAAoB8B,EAAEG,eAC3C3B,aAAayB,QAAQ9B,EAAiB6B,EAAEI,YACxC5B,aAAayB,QAAQ7B,EAAY4B,EAAEK,OACnC7B,aAAayB,QAAQ5B,EAAiB2B,EAAEM,YACxC9B,aAAayB,QAAQ3B,EAAkBiC,KAAKC,MAAMC,iBACjCC,IAAdV,EAAEW,SACDnC,aAAayB,QDrFT,iBCqF+BD,EAAEW,SAElCX,KAGRnB,EAAEkB,OAAOF,MAAK,SAAUe,GAC3B,MAAMA,SApCiB,2CAAJ,wDA2CtBC,EAAc,uCAAI,WAAOlC,EAAUmC,GAAjB,mBAAAjC,EAAA,6DAEvBkC,EAAYvC,aAAagB,QDpGL,mBCqGlBV,EAAW,IACRC,KAAKC,mBAAmB,aAAe,IAAMA,mBAAmBL,IACzEG,EAASC,KAAKC,mBAAmB,iBAAmB,IAAMA,mBAAmB8B,IAC7EhC,EAASC,KAAKC,mBAAmB,cAAgB,IAAMA,mBAAmB,sBAC1EF,EAASC,KAAKC,mBAAmB,SAAW,IAAMA,mBAAmB,cACpD0B,IAAdK,GAAyC,OAAdA,GAC1BjC,EAASC,KAAKC,mBAAmB,QAAU,IAAMA,mBAAmB+B,IAEpE9B,EAAeH,EAASI,KAAK,KAXN,kBAapBC,MAAMxB,EAAkB,eAAgB,CAC3CyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACL,eAAgB,kDAChBG,OAAQ,YAEZC,KAAMT,EACNU,OAAQjC,EAAWkC,OAElBC,MAAK,SAAUhB,GACZ,OAAIA,EAAEiB,GACKjB,EAAEkB,OAAOF,MAAK,SAAUG,GAO3B,OANAxB,aAAayB,QAAQhC,EAAmB+B,EAAEE,cAC1C1B,aAAayB,QAAQ/B,EAAoB8B,EAAEG,eAC3C3B,aAAayB,QAAQ9B,EAAiB6B,EAAEI,YACxC5B,aAAayB,QAAQ7B,EAAY4B,EAAEK,OACnC7B,aAAayB,QAAQ5B,EAAiB2B,EAAEM,YACxC9B,aAAayB,QAAQ3B,EAAkBiC,KAAKC,MAAMC,YAC3CT,KAGRnB,EAAEkB,OAAOF,MAAK,SAAUe,GAC3B,MAAMA,SApCS,2CAAJ,wDA2CdI,EAAkC,uCAAI,WAAOC,EAAUC,EAAKC,GAAtB,iBAAAtC,EAAA,6DAEzCC,EAAW,IACRC,KAAKC,mBAAmB,aAAe,IAAMA,mBAAmBiC,IACzEnC,EAASC,KAAKC,mBAAmB,iBAAmB,IAAMA,mBAAmBkC,IAC7EpC,EAASC,KAAKC,mBAAmB,QAAU,IAAMA,mBAAmBmC,IACpErC,EAASC,KAAKC,mBAAmB,cAAgB,IAAMA,mBAAmB,sBAC1EF,EAASC,KAAKC,mBAAmB,SAAW,IAAMA,mBAAmB,YAAYiC,IAE7EhC,EAAeH,EAASI,KAAK,KATc,kBAWxCC,MAAMxB,EAAkB,eAAgB,CAC3CyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACL,eAAgB,kDAChBG,OAAQ,YAEZC,KAAMT,EACNU,OAAQjC,EAAWkC,OAElBC,MAAK,SAAUhB,GACZ,OAAIA,EAAEiB,GACKjB,EAAEkB,OAAOF,MAAK,SAAUG,GAO3B,OAAOA,KAGRnB,EAAEkB,OAAOF,MAAK,SAAUe,GAC3B,MAAMA,SAlC6B,2CAAJ,0DA2ClCQ,EAAkC,WAC3C,IAAMC,EAAc7C,aAAagB,QAAQvB,GACzC,IAAKoD,EACD,OAAO,IAAIC,SAAsB,SAAUC,EAASC,GAChDA,EAAO,CACHC,QAAS,yBACT7C,KAnLQ,mCAuLpB,IAAM8C,EAAaC,SAASnD,aAAagB,QAAQlB,IAAqB,KAChEsD,EAAcC,KAAKC,OAAOvB,KAAKC,MAAQkB,GAAc,KAC3DK,QAAQC,IAAI,iBAAmBJ,GAC/B,IAEMK,EAFYN,SAASnD,aAAagB,QAAQrB,IAAoB,KAElCyD,EAElC,OADAG,QAAQC,IAAI,mBAAqBC,GAC7BA,EAAgB,IACT,IAAIX,SAAsB,SAAUC,EAASC,GAC5CD,EAAQ,CACJrB,aAAcmB,EACdlB,cAAe3B,aAAagB,QAAQtB,IAAuB,GAC3DkC,WAAY5B,aAAagB,QAAQrB,IAAoB,GACrDkC,MAAO7B,aAAagB,QAAQpB,IAAe,GAC3CkC,WAAY9B,aAAagB,QAAQnB,IAAoB,QAI1D4D,EAAgB,KAAOA,EAAgB,EACvCC,IAEJ,IAAIZ,SAAsB,SAAUC,EAASC,GAChDA,EAAO,CACHC,QAAS,gBACT7C,KAhNoB,4CAsN1BsD,EAAe,WACjBH,QAAQC,IAAI,oBACZ,IAAMlD,EAAW,GACjBA,EAASC,KAAKC,mBAAmB,iBAAmB,IAAMA,mBAAmBR,aAAagB,QAAQtB,IAAuB,KACzHY,EAASC,KAAKC,mBAAmB,cAAgB,IAAMA,mBAAmB,kBAC1EF,EAASC,KAAKC,mBAAmB,SAAW,IAAMA,mBAAmB,SACrE,IAAIC,EAAeH,EAASI,KAAK,KACjC,OAAOC,MAAMxB,EAAkB,eAAgB,CAC3CyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYf,aAAagB,QAAQvB,GAChD,eAAgB,kDAChBwB,OAAQ,YAEZC,KAAMT,EACNU,OAAQjC,EAAWkC,OAElBC,MAAK,SAAUhB,GACZ,OAAIA,EAAEiB,GACKjB,EAAEkB,OAAOF,MAAK,SAAUG,GAO3B,OANAxB,aAAayB,QAAQhC,EAAmB+B,EAAEE,cAC1C1B,aAAayB,QAAQ/B,EAAoB8B,EAAEG,eAC3C3B,aAAayB,QAAQ9B,EAAiB6B,EAAEI,YACxC5B,aAAayB,QAAQ7B,EAAY4B,EAAEK,OACnC7B,aAAayB,QAAQ5B,EAAiB2B,EAAEM,YACxC9B,aAAayB,QAAQ3B,EAAkBiC,KAAKC,MAAMC,YAC3CT,KAGRnB,EAAEkB,OAAOF,MAAK,SAAUe,GAC3B,MAAMA,SCpPhBjD,EAAgD,cAA7BC,OAAOC,SAASC,SAClCF,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SAAW,uBAC7DF,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAO,kBAE5DmE,EAAoBvE,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SAAW,kBA0BrF,SAASsE,EAAeC,GACpB,OAAIA,EAASvC,GACFuC,EAAStC,OAETsC,EAAStC,OAAOF,MAAK,SAAUyC,GAClC,MAAMA,KAMlB,SAASC,EAAmBD,GACxB,MAAMA,EArCuB,mBAA7B1E,OAAOC,SAASC,WAChBqE,EAAmB,wCAKU,4BAA7BvE,OAAOC,SAASC,UAAuE,uBAA7BF,OAAOC,SAASC,WAC1EqE,EAAmB,8C,SAGlBzE,K,UAAAA,E,YAAAA,E,YAAAA,E,UAAAA,E,cAAAA,E,gBAAAA,E,kBAAAA,E,eAAAA,M,KAkCE,IAAM8E,EAAkC,uCAAI,WAAOC,EAAYC,EAAWC,GAA9B,SAAA9D,EAAA,+EAExCM,MAAMgD,EAAmB,aAAeO,EAAY,cAAgBD,EAAa,QAAUE,EAAa,CAC3GvD,KAAM,OACNE,QAAS,CACLG,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IARuB,2CAAJ,0DAgBlCM,EAA8B,uCAAI,WAAOH,EAAWD,GAAlB,eAAA5D,EAAA,sEACjBuC,IADiB,cACrC0B,EADqC,yBAEpC3D,MAAMgD,EAAmB,aAAeO,EAAY,cAAgBD,EAAa,QAAS,CAC7FrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,OACpBC,KAAKuC,EAAgBG,IAVmB,2CAAJ,wDAe9BQ,EAA8C,uCAAI,WAAOL,EAAWD,GAAlB,eAAA5D,EAAA,sEACjCuC,IADiC,cACrD0B,EADqD,yBAEpD3D,MAAMgD,EAAmB,aAAeO,EAAY,cAAgBD,EAAa,iBAAkB,CACtGrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,OACpBC,KAAKuC,EAAgBG,IAVmC,2CAAJ,wDAe9CS,EAA0C,uCAAI,WAAON,EAAWD,EAAYvB,GAA9B,SAAArC,EAAA,+EAChDM,MAAMgD,EAAmB,aAAeO,EAAY,cAAgBD,EAAa,QAAS,CAC7FrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAY2B,EAC3BzB,OAAQ,YAEZE,OAAQjC,EAAWkC,OACpBC,KAAKuC,EAAgBG,IAT+B,2CAAJ,0DAiB1CU,EAA0B,uCAAI,WAAOP,GAAP,eAAA7D,EAAA,sEACbuC,IADa,cACjC0B,EADiC,yBAEhC3D,MAAMgD,EAAmB,aAAeO,EAAY,aAAc,CACrEtD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVe,2CAAJ,sDA2B1BW,EAA8B,uCAAI,WAAOR,EAAWS,GAAlB,eAAAtE,EAAA,sEACjBuC,IADiB,cACrC0B,EADqC,yBAEpC3D,MAAMgD,EAAmB,aAAeO,EAAY,aAAc,CACrEtD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAUF,KACtBtD,KAAKuC,EAAgBG,IAZmB,2CAAJ,wDAmB9Be,EAAkC,uCAAI,4BAAAzE,EAAA,sEACrBuC,IADqB,cACzC0B,EADyC,yBAExC3D,MAAMgD,EAAmB,eAAgB,CAC5C/C,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVuB,2CAAJ,qDAgBlCgB,EAA8C,uCAAI,WAAOrC,GAAP,SAAArC,EAAA,+EACpDM,MAAMgD,EAAmB,eAAgB,CAC5C/C,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAY2B,EAC3BzB,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IATmC,2CAAJ,sDAgB9CiB,EAA8B,uCAAI,4BAAA3E,EAAA,sEACjBuC,IADiB,cACrC0B,EADqC,yBAEpC3D,MAAMxB,EAAkB,YAAa,CACxCyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVmB,2CAAJ,qDAe9BkB,EAAsB,uCAAI,WAAOxC,EAAUyC,GAAjB,iBAAA7E,EAAA,sEACTuC,IADS,cAC7B0B,EAD6B,QAE7Ba,EAAW,IAAIC,UACZC,OACL,OACAH,EACAA,EAAKI,MAN0B,kBAQ5B3E,MAAMxB,EAAkB,YAAcsD,EAAW,SAAU,CAC9D7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,cAE3CP,OAAQjC,EAAWkC,KACnBF,KAAMiE,IACP9D,KAAKuC,EAAgBG,IAhBW,2CAAJ,wDAqBtBwB,EAAgB,uCAAI,WAAOC,GAAP,eAAAnF,EAAA,sEACHuC,IADG,cACvB0B,EADuB,yBAEtB3D,MAAMxB,EAAkBqG,EAAM,CACjC5E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,cAE3CP,OAAQjC,EAAWkF,OARM,2CAAJ,sDAchBqB,EAA4B,uCAAI,WAAOD,EAAM9C,GAAb,SAAArC,EAAA,+EAClCM,MAAMxB,EAAkBqG,EAAM,CACjC5E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAY2B,GAE/BvB,OAAQjC,EAAWkF,OAPkB,2CAAJ,wDAa5BsB,EAAoC,uCAAI,WAAOC,GAAP,eAAAtF,EAAA,sEACvBuC,IADuB,cAC3C0B,EAD2C,yBAE1C3D,MAAMxB,EAAkB,qBAAuBwG,EAAI,CACtD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVyB,2CAAJ,sDAepC6B,EAA4B,uCAAI,WAAOD,GAAP,eAAAtF,EAAA,sEACfuC,IADe,cACnC0B,EADmC,yBAElC3D,MAAMxB,EAAkB,iBAAmBwG,EAAI,CAClD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAViB,2CAAJ,sDAe5B8B,EAAgD,uCAAI,WAAOF,EAAIjD,GAAX,SAAArC,EAAA,+EACtDM,MAAMxB,EAAkB,qBAAuBwG,EAAI,CACtD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAY2B,EAC3BzB,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IATqC,2CAAJ,wDAchD+B,EAAkB,uCAAI,4BAAAzF,EAAA,sEACLuC,IADK,cACzB0B,EADyB,yBAExB3D,MAAMxB,EAAkB,SAAU,CACrCyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVO,2CAAJ,qDAelBgC,EAAwB,uCAAI,4BAAA1F,EAAA,sEACXuC,IADW,cAC/B0B,EAD+B,yBAE9B3D,MAAMxB,EAAkB,YAAa,CACxCyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVa,2CAAJ,qDAgBxBiC,EAAsB,uCAAI,WAAOvD,EAAUwD,EAAWC,EAAUC,EAAOC,EAAUC,GAAvD,eAAAhG,EAAA,sEACTuC,IADS,cAC7B0B,EAD6B,yBAE5B3D,MAAMxB,EAAkB,eAAiBsD,EAAW,cAAgBwD,EAAY,aAAeC,EAChG,UAAYC,EAAQ,aAAeC,EAAW,qBAAuBC,EAAkB,CACzFzF,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAXW,2CAAJ,gEAgBtBuC,EAAoB,uCAAI,WAAOX,GAAP,eAAAtF,EAAA,sEACPuC,IADO,cAC3B0B,EAD2B,yBAE1B3D,MAAMxB,EAAkB,YAAcwG,EAAI,CAC7C/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVS,2CAAJ,sDAepBwC,EAAoC,uCAAI,WAAOZ,GAAP,eAAAtF,EAAA,sEACvBuC,IADuB,cAC3C0B,EAD2C,yBAE1C3D,MAAMxB,EAAkB,YAAcwG,EAAK,SAAU,CACxD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,OACpBC,KAAKuC,EAAgBG,IAVyB,2CAAJ,sDAepCyC,EAAgC,uCAAI,WAAOb,EAAIjD,GAAX,SAAArC,EAAA,+EACtCM,MAAMxB,EAAkB,YAAcwG,EAAI,CAC7C/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAY2B,EAC3BzB,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IATqB,2CAAJ,wDAchC0C,GAAsC,uCAAI,WAAOC,EAAaC,EAAUC,GAA9B,eAAAvG,EAAA,sEACzBuC,IADyB,cAC7C0B,EAD6C,yBAE5C3D,MAAMxB,EAAkB,iCAAmCuH,EAAc,aAAeC,EACzF,WAAaC,EAAQ,CACvBhG,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAX2B,2CAAJ,0DAgBtC8C,GAAoC,uCAAI,WAAOlB,GAAP,eAAAtF,EAAA,sEACvBuC,IADuB,cAC3C0B,EAD2C,yBAE1C3D,MAAMxB,EAAkB,qBAAuBwG,EAAI,CACtD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVyB,2CAAJ,sDAepC+C,GAA0C,uCAAI,WAAOnB,GAAP,eAAAtF,EAAA,sEAC7BuC,IAD6B,cACjD0B,EADiD,yBAEhD3D,MAAMxB,EAAkB,qBAAuBwG,EAAI,CACtD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAW6H,UATgC,2CAAJ,sDAe1CC,GAA8C,uCAAI,WAAOrB,GAAP,eAAAtF,EAAA,sEACjCuC,IADiC,cACrD0B,EADqD,yBAEpD3D,MAAMxB,EAAkB,qBAAuBwG,EAAK,YAAa,CACpE/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,QAToC,2CAAJ,sDAe9C6F,GAAoD,uCAAI,WAAOZ,EAAkB5D,GAAzB,eAAApC,EAAA,sEACvCuC,IADuC,cAC3D0B,EAD2D,yBAE1D3D,MAAMxB,EAAkB,qBAAuBkH,EAAmB,YAAc5D,EAAU,CAC7F7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,QAT0C,2CAAJ,wDAepD8F,GAA0D,uCAAI,WAAOb,EAAkB5D,GAAzB,eAAApC,EAAA,sEAC7CuC,IAD6C,cACjE0B,EADiE,yBAEhE3D,MAAMxB,EAAkB,qBAAuBkH,EAAmB,YAAc5D,EAAU,CAC7F7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAW6H,UATgD,2CAAJ,wDAe1DI,GAAgF,uCAAI,WAAOd,EAAkB5D,EAAU2E,EAAYnD,GAA/C,eAAA5D,EAAA,sEACnEuC,IADmE,cACvF0B,EADuF,yBAEtF3D,MAAMxB,EAAkB,qBAAuBkH,EAAmB,YAAc5D,EAAW,mBAAoB,CAClH7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU,CACjBwC,SAAUD,EACVzC,SAAU,CACN2C,KAAMrD,QAd2E,2CAAJ,4DAsBhFsD,GAAkF,uCAAI,WAAOlB,EAAkB5D,GAAzB,eAAApC,EAAA,sEACrEuC,IADqE,cACzF0B,EADyF,yBAExF3D,MAAMxB,EAAkB,qBAAuBkH,EAAmB,YAAc5D,EAAW,oBAAqB,CACnH7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,QATwE,2CAAJ,wDAyBlFoG,GAAsC,uCAAI,WAAOtG,GAAP,eAAAb,EAAA,sEACzBuC,IADyB,cAC7C0B,EAD6C,yBAE5C3D,MAAMxB,EAAkB,oBAAqB,CAChDyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZ2B,2CAAJ,sDAiBtC0D,GAA4C,uCAAI,WAAO9B,EAAIzE,GAAX,eAAAb,EAAA,sEAC/BuC,IAD+B,cACnD0B,EADmD,yBAElD3D,MAAMxB,EAAkB,qBAAuBwG,EAAI,CACtD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWwI,IACnBxG,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZiC,2CAAJ,wDAwC5C4D,GAAoB,uCAAI,WAAOzG,GAAP,eAAAb,EAAA,sEACPuC,IADO,cAC3B0B,EAD2B,yBAE1B3D,MAAMxB,EAAkB,WAAY,CACvCyB,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZS,2CAAJ,sDAiBpB6D,GAA0B,uCAAI,WAAOjC,EAAIzE,GAAX,eAAAb,EAAA,sEACbuC,IADa,cACjC0B,EADiC,yBAEhC3D,MAAMxB,EAAkB,YAAcwG,EAAI,CAC7C/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWwI,IACnBxG,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZe,2CAAJ,wDAiB1B8D,GAA4B,uCAAI,WAAOlC,GAAP,eAAAtF,EAAA,sEACfuC,IADe,cACnC0B,EADmC,yBAElC3D,MAAMxB,EAAkB,YAAcwG,EAAK,WAAY,CAC1D/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,QAVkB,2CAAJ,sDAgB5B0G,GAA0B,uCAAI,WAAOnC,GAAP,eAAAtF,EAAA,sEACbuC,IADa,cACjC0B,EADiC,yBAEhC3D,MAAMxB,EAAkB,YAAcwG,EAAK,UAAW,CACzD/E,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,QAVgB,2CAAJ,sDAsB1B2G,GAAoB,uCAAI,WAAOtF,EAAUvB,GAAjB,eAAAb,EAAA,sEACPuC,IADO,cAC3B0B,EAD2B,yBAE1B3D,MAAMxB,EAAkB,YAAcsD,EAAW,WAAY,CAChE7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZS,2CAAJ,wDAiBpBiE,GAAoB,uCAAI,WAAOvF,EAAUwF,GAAjB,eAAA5H,EAAA,sEACPuC,IADO,cAC3B0B,EAD2B,yBAE1B3D,MAAMxB,EAAkB,YAAcsD,EAAW,YAAcwF,EAAU,CAC5ErH,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAXS,2CAAJ,wDAgBpBmE,GAA0B,uCAAI,WAAOzF,EAAUwF,GAAjB,eAAA5H,EAAA,sEACbuC,IADa,cACjC0B,EADiC,yBAEhC3D,MAAMxB,EAAkB,YAAcsD,EAAW,YAAcwF,EAAU,CAC5ErH,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAW6H,UAVgB,2CAAJ,wDAkC1BoB,GAAsB,uCAAI,WAAO1F,EAAUvB,GAAjB,eAAAb,EAAA,sEACTuC,IADS,cAC7B0B,EAD6B,yBAE5B3D,MAAMxB,EAAkB,YAAcsD,EAAW,YAAa,CACjE7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZW,2CAAJ,wDAiBtBqE,GAAwC,uCAAI,WAAO3F,EAAU4F,GAAjB,eAAAhI,EAAA,sEAC3BuC,IAD2B,cAC/C0B,EAD+C,yBAE9C3D,MAAMxB,EAAkB,YAAcsD,EAAW,aAAe4F,EAAY,gBAAiB,CAChGzH,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkC,QAT8B,2CAAJ,wDAexCkH,GAAsB,uCAAI,WAAO7F,EAAU4F,GAAjB,eAAAhI,EAAA,sEACTuC,IADS,cAC7B0B,EAD6B,yBAE5B3D,MAAMxB,EAAkB,YAAcsD,EAAW,aAAe4F,EAAW,CAC9EzH,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAXW,2CAAJ,wDAgBtBwE,GAA4B,uCAAI,WAAO9F,EAAU4F,GAAjB,eAAAhI,EAAA,sEACfuC,IADe,cACnC0B,EADmC,yBAElC3D,MAAMxB,EAAkB,YAAcsD,EAAW,aAAe4F,EAAW,CAC9EzH,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAW6H,UAVkB,2CAAJ,wDAwB5ByB,GAAwC,uCAAI,WAAO/F,EAAUvB,GAAjB,eAAAb,EAAA,sEAC3BuC,IAD2B,cAC/C0B,EAD+C,yBAE9C3D,MAAMxB,EAAkB,YAAcsD,EAAW,aAAc,CAClE7B,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,KACtBG,KAAKuC,EAAgBG,IAZ6B,2CAAJ,wDAiBxC0E,GAAoC,uCAAI,WAAOhG,EAAUwB,GAAjB,eAAA5D,EAAA,sEACvBuC,IADuB,cAC3C0B,EAD2C,yBAE1C3D,MAAMxB,EAAkB,YAAcsD,EAAW,cAAgBwB,EAAY,CAChFrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAWkF,MACpB/C,KAAKuC,EAAgBG,IAVyB,2CAAJ,wDAepC2E,GAA0C,uCAAI,WAAOjG,EAAUwB,GAAjB,eAAA5D,EAAA,sEAC7BuC,IAD6B,cACjD0B,EADiD,yBAEhD3D,MAAMxB,EAAkB,YAAcsD,EAAW,cAAgBwB,EAAY,CAChFrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,YAEZE,OAAQjC,EAAW6H,UATgC,2CAAJ,wDAe1C4B,GAAkD,uCAAI,WAAO1E,GAAP,SAAA5D,EAAA,+EAExDM,MAAMxB,EAAkB,cAAgB8E,EAAa,YAAa,CACrErD,KAAM,OACNE,QAAS,CACLG,OAAQ,YAEZE,OAAQjC,EAAWkC,QAPwC,2CAAJ,sDAmBlDwH,GAAgE,uCAAI,WAAOnG,EAAUwB,EAAY/C,GAA7B,eAAAb,EAAA,sEACnDuC,IADmD,cACvE0B,EADuE,yBAEtE3D,MAAMxB,EAAkB,YAAcsD,EAAW,cAAgBwB,EAAa,4BAA6B,CAC9GrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,MAXoD,2CAAJ,0DAuBhE2H,GAAgF,uCAAI,WAAOpG,EAAUwB,EAAY/C,GAA7B,eAAAb,EAAA,sEACnEuC,IADmE,cACvF0B,EADuF,yBAEtF3D,MAAMxB,EAAkB,YAAcsD,EAAW,cAAgBwB,EAAa,qCAAsC,CACvHrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,MAXoE,2CAAJ,0DAiBhF4H,GAAgD,uCAAI,WAAOrG,EAAUwB,EAAY/C,GAA7B,eAAAb,EAAA,sEACnCuC,IADmC,cACvD0B,EADuD,yBAEtD3D,MAAMxB,EAAkB,YAAcsD,EAAW,cAAgBwB,EAAa,kBAAmB,CACpGrD,KAAM,OACNC,YAAa,UACbC,QAAS,CACLC,cAAe,UAAYuD,EAAY5C,aACvCT,OAAQ,WACR,eAAgB,oBAEpBE,OAAQjC,EAAWkC,KACnBF,KAAM0D,KAAKC,UAAU3D,MAXoC,2CAAJ,0DC1vB9C6H,GAjJ6B,WAGxC,IAAI1J,EAAW2J,cACf,EAAkCC,mBAAqB,IAAvD,mBAAOC,EAAP,KAAkBC,EAAlB,KAiGA,OAjDAC,qBAAU,WAENrD,IACK1E,MAAK,SAACgI,GACH,IAAIC,EAAoB,GACxBD,EAAGE,SAAQ,SAACC,GAnDA,IAAC7D,EAoDT2D,EAAM/I,KAnDP,aADUoF,EAoDkB6D,EAAElE,MAlD9B,CACHmE,MAAO,UACPjE,KAAM,aACNkE,OAAQ,EACRR,UAAW,GACXS,KAAM,IAGH,qBAAPhE,EACO,CACH8D,MAAO,mBACPjE,KAAM,sBACNkE,OAAQ,GACRR,UAAW,GACXS,KAAM,IAGH,UAAPhE,EACO,CACH8D,MAAO,QACPjE,KAAM,WACNkE,OAAQ,GACRR,UAAW,GACXS,KAAM,IAGH,uBAAPhE,EACO,CACH8D,MAAO,qBACPjE,KAAM,eACNkE,OAAQ,GACRR,UAAW,GACXS,KAAM,IAGP,CACHF,MAAO9D,EACPH,KAAM,aACNkE,OAAQ,GACRR,UAAW,GACXS,KAAM,QAYFR,EAAaG,EAAMM,MAAK,SAAUvJ,EAAGmB,GACjC,OAAOnB,EAAEqJ,OAASlI,EAAEkI,gBAqCjC,IAIC,uBAAK/D,GAAG,cAAckE,UAAU,0DAC5B,uBAAKA,UAAU,uBACX,sBAAIA,UAAU,mBAGNX,EAAUY,KAAI,SAACC,EAAGC,GAAJ,OAAgB,gBAAC,WAAD,CAAgBtH,IAAK,KAAOsH,GAEjDC,MAAMC,QAAQH,EAAEb,YAAca,EAAEb,UAAUiB,OACvC,gCACI,sBAAIN,UAAU,+FACV,4BAAOE,EAAEN,QAEZM,EAAEb,UAAUY,KAAI,SAACM,EAAGC,GAAJ,OAAgB,sBAAI3H,IAAK,OAAS2H,EAAQR,UAAU,YACjE,gBAAC,IAAD,CACIA,UAAW,YAAexK,EAASiL,SAASC,WAAWH,EAAE5E,MAAS,UAAY,IAC9EgF,GAAIJ,EAAE5E,MACN,wBAAMiF,eAAa,WAClBL,EAAEX,YAKf,0BACI,gBAAC,IAAD,CACII,UAAW,YAAexK,EAASiL,SAASC,WAAWR,EAAEvE,MAAS,UAAY,IAC9EgF,GAAIT,EAAEvE,MACN,wBAAMiF,eAAa,WAClBV,EAAEN,gBCvDhCiB,GAzEoC,SAACC,GAUhD,IARA,MAAwB1B,mBAAS,GAAjC,mBAAO2B,EAAP,KAAaC,EAAb,KACA,EAA4C5B,mBAAS0B,EAAMG,uBAA3D,mBAAOC,EAAP,KAAuBC,EAAvB,KAEMC,EAAOC,WAAeC,QAAQR,EAAMS,UACpCC,EAAgBhI,KAAKiI,KAAKL,EAAKd,OAASY,GAGxCQ,EAAsB,GAT8B,WAUjDC,GACLD,EAAoBhL,KAAK,sBAAImC,IAAK,QAAU8I,EACf3B,UAAa2B,EAAI,IAAOZ,EAAQ,mBAAqB,aAC9E,0BAAQa,KAAM,SAAU5B,UAAU,YAAY6B,QAAS,kBAAMb,EAAQW,EAAI,KAAKA,EAAI,MAHjFA,EAAI,EAAGA,EAAIH,EAAeG,IAAM,EAAhCA,GAQT,OAAQ,gCACJ,uBAAK3B,UAAW,oBACZ,yBAAOA,UAAU,uBACb,6BACA,0BAEQc,EAAM7J,QAAQgJ,KAAI,SAAC6B,EAAGC,GAAJ,OACd,sBAAI/J,MAAM,MAAMa,IAAK,KAAOkJ,GAAQD,MAG5C,6BAGJ,6BAEIV,EAAKY,QAAO,SAACC,EAAGC,GAAJ,OAAeA,IAAWnB,EAAO,GAAKG,GAAkBgB,EAASnB,EAAOG,OAK5F,uBAAKiB,aAAW,2BACZ,sBAAInC,UAAU,cACV,sBAAIA,UAAqB,IAATe,EAAc,qBAAuB,aACjD,0BAAQa,KAAM,SAAU5B,UAAW,YAC3B6B,QAAS,kBAAOd,EAAO,EAAKC,EAAQD,EAAO,GAAKA,IADxD,aAIHW,EACD,sBAAI1B,UAAYe,IAASS,EAAiB,qBAAuB,aAC7D,0BAAQI,KAAM,SAAU5B,UAAU,YAC1B6B,QAAS,kBAAOd,EAAOS,EAAiBR,EAAQD,EAAO,GAAKA,IADpE,SAIJ,0BACI,0BAAQf,UAAW,mCACXoC,MAAOlB,EACPmB,SAAU,SAAA9J,GACN,IAAI6J,EAAQ7J,EAAE+J,OAAOF,MACrBjB,EAAkB7H,SAAS8I,IAC3BpB,EAAQ,KAEhB,0BAAQoB,MAAO,GAAf,KACA,0BAAQA,MAAO,IAAf,MACA,0BAAQA,MAAO,IAAf,MACA,0BAAQA,MAAO,IAAf,MACA,0BAAQA,MAAO,KAAf,c,SC/DxBG,GAASC,EAAQ,IA8INC,GA3IgC,WAE3C,MAA8BrD,oBAAS,GAAvC,mBAAOsD,EAAP,KAAgBC,EAAhB,KACA,EAA8BvD,qBAA9B,mBAAOwD,EAAP,KAAgBC,EAAhB,KACA,EAAkCzD,mBAAS,IAA3C,mBAAOhD,EAAP,KAAkB0G,EAAlB,KACA,EAAgC1D,mBAAS,IAAzC,mBAAO/C,EAAP,KAAiB0G,EAAjB,KACA,EAA0B3D,mBAAS,IAAnC,mBAAO9C,EAAP,KAAc0G,EAAd,KACA,EAAgC5D,mBAAS,IAAzC,mBAAOxG,EAAP,KAAiBqK,EAAjB,KACA,EAAgC7D,mBAAS,SAAzC,mBAAO7C,EAAP,KAAiB2G,EAAjB,KACA,EAA4B9D,oBAAS,GAArC,mBAAO+D,EAAP,KAAeC,EAAf,KAEMC,EAAOC,uBAAY,WAEjBH,IACAC,GAAU,GACVT,GAAW,GACXxG,EAAWvD,EAAUwD,EAAWC,EAAUC,EAAOC,EAAU,IACtD/E,MAAK,SAAC+L,GACHV,EAAWU,MAEdC,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MACbkL,SAAQ,WACXd,GAAW,SAGpB,CAAC/J,EAAUwD,EAAWC,EAAUC,EAAOC,EAAU4G,IAMpD,OAJA5D,qBAAU,WACN8D,MACD,CAACA,IAEI,gCAEJ,uBAAKrD,UAAW,OACZ,uBAAKA,UAAW,mBACZ,sCAEJ,uBAAKA,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,eACN,0BAAQiB,KAAM,SAAU5B,UAAW,mBAAnC,iBAIZ,wBAAM0D,SAAU,SAACnL,GACbA,EAAEoL,iBACFP,GAAU,KAEV,uBAAKpD,UAAW,OACZ,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,MACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,KAAMC,aAAc,eACjC1B,MAAOxJ,EAAUyJ,SAAU,SAAC9J,GAAD,OAAO0K,EAAY1K,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,cACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,aAAcC,aAAc,eACzC1B,MAAOhG,EAAWiG,SAAU,SAAC9J,GAAD,OAAOuK,EAAavK,EAAE+J,OAAOF,WAEpE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,aACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,YAAaC,aAAc,eACxC1B,MAAO/F,EAAUgG,SAAU,SAAC9J,GAAD,OAAOwK,EAAYxK,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,SACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsB+H,YAAa,QAC3EC,aAAc,eACd1B,MAAO9F,EAAO+F,SAAU,SAAC9J,GAAD,OAAOyK,EAASzK,EAAE+J,OAAOF,WAE5D,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,YACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAAeoC,MAAO7F,EAChD8F,SAAU,SAAC9J,GAAD,OAAO2K,EAAY3K,EAAE+J,OAAOF,SAC1C,0BAAQA,MAAO,SAAf,UACA,0BAAQA,MAAO,QAAf,cAGR,uBAAKpC,UAAU,iBACX,0BAAQ4B,KAAK,SAAS5B,UAAU,mBAAhC,eASpB,uBAAKA,UAAW,OACZ,uBAAK+D,QAASrB,EAAS1C,UAAW,8BAAlC,yBAGA,uBAAK+D,OAAQrB,EAAS1C,UAAW,mBAC7B,gBAAC,GAAD,CAAO/I,QAAS,CAAC,KAAM,aAAc,YAAa,QAAS,MAAO,mBAC3DgK,sBAAuB,IAD9B,OAGQ2B,QAHR,IAGQA,OAHR,EAGQA,EAAS3C,KAAI,SAACsD,GAAD,OACT,sBAAI1K,IAAK0K,EAAE9F,MACP,0BACI,gBAAC,IAAD,CAAMkD,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEzH,KAGX,0BACI,gBAAC,IAAD,CAAM6E,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEnH,YAGX,0BACI,gBAAC,IAAD,CAAMuE,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAElH,WAGX,0BAAKkH,EAAEjH,OACP,0BAAKiH,EAAES,sBACP,+BAAiC3L,IAA3BkL,EAAEU,qBACJC,aAAW3B,GAAO4B,MAAM,sBAAuBZ,EAAEU,sBAAuB,0BACtE,IAEN,oCC8JjBG,GA/R4B,WACvC,MAAkChF,mBAAS,IAA3C,mBAAOhD,EAAP,KAAkB0G,EAAlB,KACA,EAAgC1D,mBAAS,IAAzC,mBAAO/C,EAAP,KAAiB0G,EAAjB,KACA,EAA0B3D,mBAAS,IAAnC,mBAAO9C,EAAP,KAAc0G,EAAd,KACA,EAAsB5D,mBAAS,IAA/B,mBAAOiF,EAAP,KAAYC,EAAZ,KACA,EAA8BlF,mBAAS,IAAvC,mBAAOmF,EAAP,KAAgBC,EAAhB,KACA,EAAgCpF,mBAAS,IAAzC,mBAAOqF,EAAP,KAAiBC,EAAjB,KACA,EAAsCtF,mBAAS,IAA/C,mBAAOuF,EAAP,KAAoBC,EAApB,KACA,EAAkCxF,mBAAS,IAA3C,mBAAOyF,EAAP,KAAkBC,EAAlB,KACA,EAAwC1F,mBAAS,IAAjD,mBAAO2F,EAAP,KAAqBC,EAArB,KACA,EAAwC5F,mBAAS,IAAjD,mBAAO6F,EAAP,KAAqBC,EAArB,KACA,EAAwB9F,mBAAS,IAAjC,mBAAO+F,EAAP,KAAaC,EAAb,KACA,EAAkChG,mBAAS,IAA3C,mBAAOiG,EAAP,KAAkBC,EAAlB,KACA,EAAsBlG,mBAAS,IAA/B,mBAAOmG,GAAP,KAAYC,GAAZ,KACA,GAA4CpG,mBAAS,IAArD,qBAAOqG,GAAP,MAAuBC,GAAvB,MACA,GAA4CtG,mBAAS,IAArD,qBAAOuG,GAAP,MAAuBC,GAAvB,MACA,GAAoDxG,oBAAS,GAA7D,qBAAOyG,GAAP,MAA2BC,GAA3B,MACMC,GAAUC,cAGhBzG,qBAAU,WACFsG,IACAE,GAAQrP,KAAK,CACT+J,SAAU,iBAGnB,CAACoF,GAAoBE,KA2BxB,OAAQ,gCACJ,uBAAK/F,UAAW,OACZ,uBAAKA,UAAW,mBACZ,yCAEJ,wBAAM0D,SAAU,SAACnL,GACbA,EAAEoL,iBA9BV7F,GAAU,CACNmI,QAAS,CACLlB,aAAcA,EACdE,aAAcA,EACdE,KAAMA,EACNe,MAAOb,EACPE,IAAKA,IAETnJ,UAAWA,EACXC,SAAUA,EACV2H,qBAAsBK,EACtB8B,qBAAsB1B,EACtB2B,oBAAqB7B,EACrB8B,YAAa1B,EACb2B,gBAAiBzB,EACjBvI,MAAOA,EACP2H,qBAAsBwB,GAAiB,IAAME,GAC7CY,gBAAiB,GACjBC,gBAAiB,KAClBhP,MAAK,SAAC+L,GACLuC,IAAsB,MACvBtO,MAAK,SAACe,GAAD,OAAOmB,QAAQC,IAAIpB,QAYnB,uBAAKyH,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,cACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOhG,EAAWiG,SAAU,SAAC9J,GAAD,OAAOuK,EAAavK,EAAE+J,OAAOF,WAGpE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,aACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAO/F,EAAUgG,SAAU,SAAC9J,GAAD,OAAOwK,EAAYxK,EAAE+J,OAAOF,WAGlE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,SACA,yBAAO6C,UAAU,EAAM7E,KAAK,QAAQ5B,UAAU,eAAelE,GAAG,sBACzDsG,MAAO9F,EAAO+F,SAAU,SAAC9J,GAAD,OAAOyK,EAASzK,EAAE+J,OAAOF,WAG5D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOiC,EAAKhC,SAAU,SAAC9J,GAAD,OAAO+L,EAAO/L,EAAE+J,OAAOF,WAGxD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,0BACA,0BAAQ6C,UAAU,EAAM3K,GAAG,aAAakE,UAAU,eAC1CoC,MAAOmC,EAASlC,SAAU,SAAC9J,GAAD,OAAOiM,EAAWjM,EAAE+J,OAAOF,SAEzD,0BAAQA,MAAO,IAAf,aACA,0BAAQA,MAAO,MAAf,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,QAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,2BACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOqC,EAAUpC,SAAU,SAAC9J,GAAD,OAAOmM,EAAYnM,EAAE+J,OAAOF,WAGlE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,iBACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOuC,EAAatC,SAAU,SAAC9J,GAAD,OAAOqM,EAAerM,EAAE+J,OAAOF,WAGxE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAO6C,UAAU,EAAM7E,KAAK,MAAM5B,UAAU,eAAelE,GAAG,sBACvDsG,MAAOyC,EAAWxC,SAAU,SAAC9J,GAAD,OAAOuM,EAAavM,EAAE+J,OAAOF,aAK5E,uBAAKpC,UAAW,mBACZ,6CAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,kBACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAO2C,EAAc1C,SAAU,SAAC9J,GAAD,OAAOyM,EAAgBzM,EAAE+J,OAAOF,WAG1E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,kBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAO6C,EAAc5C,SAAU,SAAC9J,GAAD,OAAO2M,EAAgB3M,EAAE+J,OAAOF,WAG1E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAO+C,EAAM9C,SAAU,SAAC9J,GAAD,OAAO6M,EAAQ7M,EAAE+J,OAAOF,WAG1D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,SACA,0BAAQ6C,UAAU,EAAM3K,GAAG,aAAakE,UAAU,eAC1CoC,MAAOiD,EAAWhD,SAAU,SAAC9J,GAAD,OAAO+M,EAAa/M,EAAE+J,OAAOF,SAC7D,0BAAQA,MAAO,IAAf,aACA,0BAAQA,MAAO,MAAf,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,QAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOmD,GAAKlD,SAAU,SAAC9J,GAAD,OAAOiN,GAAOjN,EAAE+J,OAAOF,aAMhE,uBAAKpC,UAAW,mBACZ,yCAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOqD,GAAgBpD,SAAU,SAAC9J,GAAD,OAAOmN,GAAkBnN,EAAE+J,OAAOF,WAG9E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOuD,GAAgBtD,SAAU,SAAC9J,GAAD,OAAOqN,GAAkBrN,EAAE+J,OAAOF,aAKtF,uBAAKpC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,cACN,0BAAQiB,KAAM,SAAU5B,UAAW,uBAAnC,WAIJ,0BAAQ4B,KAAM,SAAU5B,UAAW,mBAAnC,mBCpOL0G,I,OA3CoC,SAACC,GAChD,OAAQ,gCACJ,uBAAK5C,QAAS4C,EAAEC,KAAMC,MAAO,CAACC,QAAS,SAAU9G,UAAW,kBAAmBlE,GAAG,iBAC7EiL,gBAAc,SAASC,gBAAc,QAAQC,UAAW,EACxDC,kBAAgB,sBAAsBC,cAAY,QACnD,uBAAKnH,eAA2B3H,IAAfsO,EAAES,SAA0B,wCAA0CT,EAAES,SAAW,wCAChG,uBAAKpH,UAAU,iBACX,uBAAKA,UAAU,gBACX,sBAAIA,UAAU,cAAclE,GAAG,uBAAuB6K,EAAEU,OACxD,0BAAQzF,KAAK,SAAS5B,UAAU,QAAQsH,eAAa,QAAQnF,aAAW,QAChEN,QAAS,SAAAtJ,GACLA,EAAEoL,iBACFgD,EAAEY,aAGV,wBAAMJ,cAAY,QAAlB,UAGR,uBAAKnH,UAAU,cACV2G,EAAEpF,UAEP,uBAAKvB,UAAU,gBACX,0BAAQ4B,KAAK,SAAS5B,UAAU,oBAAoBsH,eAAa,QACzDzF,QAAS,SAAAtJ,GACLA,EAAEoL,iBACFgD,EAAEY,aAEZZ,EAAEa,kBACJ,0BAAQ5F,KAAK,SAAS5B,UAAU,kBACxBzD,cAA2BlE,IAAhBsO,EAAEc,WAAmCd,EAAEc,UAClD5F,QAAS,SAAAtJ,GACLA,EAAEoL,iBACFgD,EAAEe,SAEZf,EAAEgB,kBAKpB,uBAAK5D,QAAS4C,EAAEC,KAAM5G,UAAU,2BChBpCuC,GAASC,EAAQ,IAmoCNoF,GAhoC6B,WAEU,cAA7BrS,OAAOC,SAASC,UAC9BF,OAAOC,SAASE,SAAkBH,OAAOC,SAASC,WAClDF,OAAOC,SAASE,SAAkBH,OAAOC,SAASG,MAFzD,IAIIkS,EAAiBtS,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SACtC,mBAA7BF,OAAOC,SAASC,WAChBoS,EAAgB,8BAEa,cAA7BtS,OAAOC,SAASC,WAChBoS,EAAgB,oBAGa,4BAA7BtS,OAAOC,SAASC,UAAuE,uBAA7BF,OAAOC,SAASC,WAC1EoS,EAAgB,oCAGpB,MAAsDzI,oBAAS,GAA/D,mBAAO0I,EAAP,KAA4BC,EAA5B,KACOnP,EAAYoP,cAAZpP,SACDqP,EAAiB,IAAIC,KAAKC,aAAa,QAAS,CAACtB,MAAO,WAAYuB,SAAU,QACpF,EAAoBhJ,mBAAS,IAA7B,mBAAOtD,EAAP,KAAWuM,EAAX,KACA,EAAkCjJ,mBAAS,IAA3C,mBAAOhD,EAAP,KAAkB0G,EAAlB,KACA,EAAgC1D,mBAAS,IAAzC,mBAAO/C,EAAP,KAAiB0G,EAAjB,KACA,EAA0B3D,mBAAS,IAAnC,mBAAO9C,EAAP,KAAc0G,EAAd,KACA,EAAsB5D,mBAAS,IAA/B,mBAAOiF,EAAP,KAAYC,EAAZ,KACA,EAA8BlF,mBAAS,IAAvC,mBAAOmF,EAAP,KAAgBC,EAAhB,KACA,EAAgCpF,mBAAS,IAAzC,mBAAOqF,EAAP,KAAiBC,EAAjB,KACA,EAAsCtF,mBAAS,IAA/C,mBAAOuF,EAAP,KAAoBC,EAApB,KACA,EAAkCxF,mBAAS,IAA3C,mBAAOyF,EAAP,KAAkBC,GAAlB,KACA,GAAwC1F,mBAAS,IAAjD,qBAAO2F,GAAP,MAAqBC,GAArB,MACA,GAAwC5F,mBAAS,IAAjD,qBAAO6F,GAAP,MAAqBC,GAArB,MACA,GAAwB9F,mBAAS,IAAjC,qBAAO+F,GAAP,MAAaC,GAAb,MACA,GAAkChG,mBAAS,IAA3C,qBAAOiG,GAAP,MAAkBC,GAAlB,MACA,GAAsBlG,mBAAS,IAA/B,qBAAOmG,GAAP,MAAYC,GAAZ,MACA,GAAkCpG,mBAAS,IAA3C,qBAAOkJ,GAAP,MAAkBC,GAAlB,MACA,GAA8BnJ,mBAAS,GAAvC,qBAAOoJ,GAAP,MAAgBC,GAAhB,MACA,GAAwCrJ,mBAAwB,IAAhE,qBAAOsJ,GAAP,MAAqBC,GAArB,MACA,GAAgCvJ,oBAAS,GAAzC,qBAAO7C,GAAP,MAAiB2G,GAAjB,MACA,GAAsC9D,mBAAuB,IAA7D,qBAAOwJ,GAAP,MAAoBC,GAApB,MAEA,GAA4CzJ,mBAAS,IAArD,qBAAOqG,GAAP,MAAuBC,GAAvB,MACA,GAA4CtG,mBAAS,IAArD,qBAAOuG,GAAP,MAAuBC,GAAvB,MACA,GAAgDxG,mBAAS,IAAzD,qBAAO0J,GAAP,MAAyBC,GAAzB,MACA,GAAoD3J,mBAAS,IAA7D,qBAAO4J,GAAP,MAA2BC,GAA3B,MACA,GAAgC7J,mBAAS,IAAzC,qBAAO8J,GAAP,MAAiBC,GAAjB,MAEA,GAAgC/J,oBAAS,GAAzC,qBAAOgK,GAAP,MAAiBC,GAAjB,MACA,GAAgCjK,oBAAS,GAAzC,qBAAOkK,GAAP,MAAiBC,GAAjB,MAEA,GAAkCnK,qBAAlC,qBAAOoK,GAAP,MAAkBC,GAAlB,MACA,GAAkCrK,qBAAlC,qBAAOsK,GAAP,MAAkBC,GAAlB,MACA,GAA8CvK,qBAA9C,qBAAOwK,GAAP,MAAwBC,GAAxB,MACA,GAAsCzK,qBAAtC,qBAAO0K,GAAP,MAAoBC,GAApB,MACA,GAAwB3K,mBAAS,IAAjC,qBAAO4K,GAAP,MAAaC,GAAb,MACA,GAA8B7K,mBAAS,IAAvC,qBAAO8K,GAAP,MAAgBC,GAAhB,MAEA,GAAgC/K,qBAAhC,qBAAOgL,GAAP,MAAiBC,GAAjB,MACA,GAAkDjL,oBAAS,GAA3D,qBAAOkL,GAAP,MAA0BC,GAA1B,MACA,GAAgCnL,oBAAS,GAAzC,qBAAOoL,GAAP,MAAiBC,GAAjB,MAEA,GAA4CrL,mBAAS,IAArD,qBAAOsL,GAAP,MAAuBC,GAAvB,MACA,GAAsDvL,mBAAS,IAA/D,qBAAOwL,GAAP,MAA4BC,GAA5B,MAEA,GAA8CzL,mBAAS,IAAvD,qBAAOmH,GAAP,MAAwBuE,GAAxB,MACA,GAA8C1L,mBAAS,IAAvD,qBAAOoH,GAAP,MAAwBuE,GAAxB,MAEM1H,GAAOC,uBAAY,WACrB7G,EAAU7D,GACLpB,MAAK,SAAC+L,GACH8E,EAAM9E,EAAEzH,IACRgH,EAAaS,EAAEnH,WACf2G,EAAYQ,EAAElH,UACd2G,EAASO,EAAEjH,OACXgI,EAAOf,EAAES,sBACTQ,EAAWjB,EAAE6C,qBACb1B,EAAYnB,EAAE4C,sBACdvB,EAAerB,EAAE8C,aACjBvB,GAAavB,EAAE+C,iBACftB,GAAgBzB,EAAE0C,QAAQlB,cAC1BG,GAAgB3B,EAAE0C,QAAQhB,cAC1BG,GAAQ7B,EAAE0C,QAAQd,MAClBG,GAAa/B,EAAE0C,QAAQC,OACvBV,GAAOjC,EAAE0C,QAAQV,KACjBgD,GAAahF,EAAE0C,QAAQxI,MAAQ,SACApF,IAA3BkL,EAAEU,uBACFyB,GAAkBxB,aAAW3B,GAAO4B,MAAM,sBAAuBZ,EAAEU,sBAAuB,eAC1F2B,GAAkB1B,aAAW3B,GAAO4B,MAAM,sBAAuBZ,EAAEU,sBAAuB,WAE9F8E,GAAoBxF,EAAEuF,kBACtBL,GAAWlF,EAAEiF,SACbG,GAAgBpF,EAAEmF,cAClBxF,GAAYK,EAAEhH,UACdsM,GAAetF,EAAEqF,aACjBK,GAAsB1F,EAAEyF,oBACxBG,GAAY5F,EAAE2F,UACdS,GAAapG,EAAEmG,WACfG,GAAmBtG,EAAEqG,iBACrBG,GAAexG,EAAEuG,aACjBgB,GAAmBvH,EAAEgD,iBACrBwE,GAAmBxH,EAAEiD,oBACtBhD,OAAM,SAACjL,GACVmB,QAAQC,IAAIpB,MAIhB0C,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxD0O,GAAWD,EAAQzM,MACnB7C,EAAasP,EAAQzM,MAChBjG,MAAK,SAACyT,GACHxB,GAAawB,EAAGjJ,QAAO,SAACkJ,GAAD,MAAiB,SAAVA,EAAEC,cAG3C3H,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,QAGrB,CAACK,IAEJ2G,qBAAU,WACN8D,OACD,CAACA,KAEJ9D,qBAAU,WACF+J,KACAC,IAAY,GACZlG,QAEL,CAACiG,GAAUjG,KAEd,IA4BM+H,GAAiB,SAACC,GACpB,IAAIC,GAAeD,GAAnB,CAGA,IAAMrJ,EAAM,OAAGwH,SAAH,IAAGA,QAAH,EAAGA,GAAWxH,QAAO,SAACuJ,GAAD,OAAOA,EAAE9P,OAAS4P,UACpChT,IAAX2J,GAAwBA,EAAO1B,OAAS,QAAiBjI,IAAZ6R,IAAqC,KAAZA,IACtErP,EAAeqP,GAAS,CACpBsB,SAAU,CACN/N,KAAMuE,EAAO,GAAGvE,MAEpBgO,OAAQ,CAAC,CACLhQ,KAAM,WACN2G,MAAOhG,EAAY,IAAMC,GAC1B,CACCZ,KAAM,YACN2G,MAAOhG,GACR,CACCX,KAAM,WACN2G,MAAO/F,GACR,CACCZ,KAAM,KACN2G,MAAOtG,GACR,CACCL,KAAM,QACN2G,MAAO9F,GACR,CACCb,KAAM,MACN2G,MAAOiC,GACR,CACC5I,KAAM,sBACN2G,MAAOmC,GACR,CACC9I,KAAM,uBACN2G,MAAOqC,GACR,CACChJ,KAAM,cACN2G,MAAOuC,GACR,CACClJ,KAAM,YACN2G,MAAOyC,GACR,CACCpJ,KAAM,eACN2G,MAAO2C,IACR,CACCtJ,KAAM,eACN2G,MAAO6C,IACR,CACCxJ,KAAM,OACN2G,MAAO+C,IACR,CACC1J,KAAM,YACN2G,MAAOiD,IACR,CACC5J,KAAM,MACN2G,MAAOmD,IACR,CACC9J,KAAM,UACN2G,MAAOoG,GAAU,IAClB,CACC/M,KAAM,iBACN2G,MAAOqD,IACR,CACChK,KAAM,iBACN2G,MAAOuD,IACR,CACClK,KAAM,mBACN2G,MAAO0G,IACR,CACCrN,KAAM,qBACN2G,MAAO4G,IACR,CACCvN,KAAM,WACN2G,MAAO8G,OAEZ1R,MAAK,SAAC+T,GACL,IAAMG,EAAW7D,EAAgB,MAAQqC,GAAU,IAAMqB,EAAE9N,KAE3DjD,EAAe0P,GAASqB,EAAE9N,MACrBjG,MAAK,SAACmU,GACHhN,GAAoB/F,EAAU,CAC1BgJ,KAAM,OACNnG,KAAM8P,EAAEC,SAAS/P,KACjBmQ,IAAKF,EACLG,YAAa,cACbC,OAAQ,YACTtU,MAAK,SAACuU,GACL,IAAMC,EAAkBzW,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAQ,cAAgBiD,EAAW,uBAAyBmT,EAAGtO,KACzIlI,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAO,iBAAmBuO,EAAgB,eAG7FxI,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,WA0I1CgH,qBAAU,gBACWlH,IAAb+R,IAA0BI,KAC1BD,IAAqB,GACrBnP,EAAWxC,EAAUwR,IAChB5S,MAAK,SAAC4K,GACHiB,QAEHI,SAAQ,WACLgH,IAAY,GACZJ,QAAYhS,GACZkS,IAAqB,SAGlC,CAACH,GAAUI,KAEd,IAAMc,GAAiB,SAACD,GACpB,IAAMrJ,EAAM,OAAG0H,SAAH,IAAGA,QAAH,EAAGA,GAAW1H,QAAO,SAACuJ,GAAD,OAAOA,EAAE9P,OAAS4P,KACnD,YAAkBhT,IAAX2J,GAAwBA,EAAO1B,OAAS,GA4FnD,OAAQ,gCACJ,uBAAKN,UAAW,OACZ,uBAAKA,UAAW,mBACZ,qCAGJ,4BAEI,uBAAKA,UAAW,mBACZ,kDAEJ,uBAAKA,UAAW,mBACZ,0BAAQ+D,OAAQxH,GAAUqF,KAAM,SAAU5B,UAAW,6BAC7C6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACF3F,GAAcpF,GACTpB,MAAK,SAACyK,GACCA,EAAExK,IACF8R,IAAY,QANpC,WAYA,0BAAQxF,QAASxH,GAAUqF,KAAM,SAAU5B,UAAW,6BAC9C6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACF1F,GAAarF,GACRpB,MAAK,SAACyK,GACCA,EAAExK,IACF8R,IAAY,QANpC,UAYA,0BAAQxF,OAAQqF,GAAUxH,KAAM,SAAU5B,UAAW,8BAC7C6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACF0F,IAAY,KAHxB,QAQA,0BAAQtF,QAASqF,GAAUxH,KAAM,SAAU5B,UAAW,8BAC9C6B,QAAS,SAACtJ,GACNA,EAAEoL,iBA1Z1B5F,GAAanF,EAAU,CACnBqN,QAAS,CACLlB,aAAcA,GACdE,aAAcA,GACdE,KAAMA,GACNe,MAAOb,GACPE,IAAKA,GACL9H,KAAM6K,IAEVlM,UAAWA,EACXC,SAAUA,EACV2H,qBAAsBK,EACtB8B,qBAAsB1B,EACtB2B,oBAAqB7B,EACrB8B,YAAa1B,EACb2B,gBAAiBzB,EACjBvI,MAAOA,EACP2H,qBAAsBwB,GAAiB,IAAME,GAC7CmD,iBAAkBA,GAClBvC,gBAAiBA,GACjBC,gBAAiBA,KAClBhP,MAAK,SAAC+L,GACL8F,IAAY,GACZhG,QACDG,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,QAgYhB,QAQA,gBAAC,IAAD,CAAMoI,GAAI,yBAA2B/H,EAAU0J,OAAQ,UACnD,0BAAQV,KAAM,SAAU5B,UAAW,+BAAnC,uBAIJ,gBAAC,IAAD,CAAMW,GAAI,oBAAsB/H,GAC5B,0BAAQgJ,KAAM,SAAU5B,UAAW,+BAAnC,gBAKR,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,MACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EACxE6F,MAAOtG,MAGtB,uBAAKkE,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,cACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOhG,EAAWiG,SAAU,SAAC9J,GAAD,OAAOuK,EAAavK,EAAE+J,OAAOF,WAEpE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,aACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAO/F,EAAUgG,SAAU,SAAC9J,GAAD,OAAOwK,EAAYxK,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,SACA,yBAAOhC,KAAK,QAAQ5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GAC1EhH,MAAO9F,EAAO+F,SAAU,SAAC9J,GAAD,OAAOyK,EAASzK,EAAE+J,OAAOF,WAE5D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOiC,EAAKhC,SAAU,SAAC9J,GAAD,OAAO+L,EAAO/L,EAAE+J,OAAOF,WAExD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,0BACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAAezD,UAAW6M,GACpDhH,MAAOmC,EAASlC,SAAU,SAAC9J,GAAD,OAAOiM,EAAWjM,EAAE+J,OAAOF,SACzD,0BAAQA,MAAO,IAAf,aACA,0BAAQA,MAAO,MAAf,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,QAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,2BACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOqC,EAAUpC,SAAU,SAAC9J,GAAD,OAAOmM,EAAYnM,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,iBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOuC,EAAatC,SAAU,SAAC9J,GAAD,OAAOqM,EAAerM,EAAE+J,OAAOF,WAExE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOhC,KAAK,MAAM5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACxEhH,MAAOyC,EAAWxC,SAAU,SAAC9J,GAAD,OAAOuM,GAAavM,EAAE+J,OAAOF,aAI5E,uBAAKpC,UAAW,mBACZ,6CAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,kBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAO2C,GAAc1C,SAAU,SAAC9J,GAAD,OAAOyM,GAAgBzM,EAAE+J,OAAOF,WAE1E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,kBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAO6C,GAAc5C,SAAU,SAAC9J,GAAD,OAAO2M,GAAgB3M,EAAE+J,OAAOF,WAE1E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAO+C,GAAM9C,SAAU,SAAC9J,GAAD,OAAO6M,GAAQ7M,EAAE+J,OAAOF,WAE1D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,SACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAAezD,UAAW6M,GACpDhH,MAAOiD,GAAWhD,SAAU,SAAC9J,GAAD,OAAO+M,GAAa/M,EAAE+J,OAAOF,SAC7D,0BAAQA,MAAO,IAAf,aACA,0BAAQA,MAAO,MAAf,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,MACA,0BAAQA,MAAM,MAAd,QAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOmD,GAAKlD,SAAU,SAAC9J,GAAD,OAAOiN,GAAOjN,EAAE+J,OAAOF,aAKhE,uBAAKpC,UAAW,mBACZ,yCAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOqD,GAAgBpD,SAAU,SAAC9J,GAAD,OAAOmN,GAAkBnN,EAAE+J,OAAOF,WAE9E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOuD,GAAgBtD,SAAU,SAAC9J,GAAD,OAAOqN,GAAkBrN,EAAE+J,OAAOF,WAE9E,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,qBACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GAC3EhH,MAAO0G,GAAkBzG,SAAU,SAAC9J,GAAD,OAAOwQ,GAAoBxQ,EAAE+J,OAAOF,aAI1F,uBAAKpC,UAAW,mBACZ,uBAAKA,UAAU,+BACP,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOmE,GAAiBlE,SAAU,SAAC9J,GAAD,OAAOuS,GAAmBvS,EAAE+J,OAAOF,YAGxF,uBAAKpC,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,sBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,GACzEhH,MAAOoE,GAAiBnE,SAAU,SAAC9J,GAAD,OAAOwS,GAAmBxS,EAAE+J,OAAOF,cAM5F,uBAAKpC,UAAW,cACZ,uBACIA,UAAU,6GAElB,uBAAKA,UAAW,mBACZ,0CACA,sCAAciI,EAAe1F,OAAOiG,KACpC,gBAAC,IAAD,CAAM7H,GAAI,cAAgB/H,EAAW,gBACjC,0BAAQoH,UAAW,+BAAnB,eAEJ,gBAAC,IAAD,CAAMW,GAAI,cAAgB/H,EAAW,iBACjC,0BAAQoH,UAAW,0BAAnB,iBAGR,uBAAKA,UAAW,kBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,OAAQ,OAAQ,SAAU,oBACpCgK,sBAAuB,IACzByH,GAAazI,KAAI,SAACiL,GAAD,OACd,sBAAIrS,IAAKqS,EAAEzN,MACP,0BACI,gBAAC,IAAD,CAAMkD,GAAI,cAAgB/H,EAAW,IAAMsS,EAAEtJ,KAAKsK,cAAgB,UAAYhB,EAAEzN,MAC3EyN,EAAEW,cAGX,0BAAKX,EAAEtJ,MACP,0BACgB,WAAXsJ,EAAEtJ,KACCqG,EAAe1F,OAAO2I,EAAEiB,QACxB,IAAMlE,EAAe1F,OAAO2I,EAAEiB,QAAU,KAEhD,0BAAKjI,aAAW3B,GAAO4B,MAAM,aAAc+G,EAAEkB,WAAY,eACzD,0BACI,qBAAGC,KAAM,sBAAwBzT,GAAuB,WAAXsS,EAAEtJ,KAAoB,YAAc,cAAgBsJ,EAAEzN,KAChG6E,OAAQ,UACP,0BAAQtC,UAAW,0BAAnB,UAEJ,0BAAQ+D,OAAmB,WAAXmH,EAAEtJ,KAAmB5B,UAAW,8BAExC6B,QAAS,WACL8I,GAAkBO,EAAEzN,MACpBc,GAAmB3F,EAAUsS,EAAEzN,MAC1BjG,MAAK,SAAAyK,OAELuB,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,MAC3BkL,SAAQ,kBAAMkH,GAAkB,SAE7C,wBAAM5G,OAAQ2G,KAAmBQ,EAAEzN,KAC7BuC,UAAU,mCAAmCsM,KAAK,SAClDnF,cAAY,SAZtB,yBAsBpB,uBAAKnH,UAAW,cACZ,uBACIA,UAAU,6GAElB,uBAAKA,UAAW,mBACZ,sDAEJ,uBAAKA,UAAW,mBACZ,sBAAIA,UAAW,cACX,sBAAIA,UAAWsL,GAAe,gCAAkC,UAAY,aACxE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,kCAFnB,0BAOJ,sBAAIpL,UAAWsL,GAAe,6BAA+B,UAAY,aAErE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,+BAFnB,uBAOJ,sBAAIpL,UAAWsL,GAAe,yBAA2B,UAAY,aACjE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,2BAFnB,mBAOJ,sBAAIpL,UAAWsL,GAAe,uCAAyC,UAAY,aAC/E,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,yCAFnB,mDAOJ,sBAAIpL,UAAWsL,GAAe,4BAA8B,UAAY,aACpE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,8BAFnB,sBAOJ,sBAAIpL,UAAWsL,GAAe,oCAAsC,UAAY,aAC5E,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,sCAFnB,mBAOJ,sBAAIpL,UAAWsL,GAAe,iCAAmC,UAAY,aACzE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,mCAFnB,2BAOJ,sBAAIpL,UAAWsL,GAAe,sBAAwB,UAAY,aAC9D,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,wBAFnB,gBAOJ,sBAAIpL,UAAWsL,GAAe,6BAA+B,UAAY,aACrE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,+BAFnB,8BAOJ,sBAAIpL,UAAWsL,GAAe,+CAAiD,UAAY,aACvF,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,iDAFnB,+BAOJ,sBAAIpL,UAAWsL,GAAe,iCAAmC,UAAY,aACzE,qBAAGe,KAAM,IAAKxK,QAAS,SAACtJ,GACpBA,EAAEoL,iBACFyH,GAAe,mCAFnB,eASZ,uBAAKpL,UAAW,kBAEZ,uBAAKA,UAAU,eACX,0BAAQA,UAAU,gBAAgBlE,GAAG,qBAC7BqG,aAAW,mCACXC,MAAO4H,GAAM3H,SAAU,SAAC9J,GAAD,OAAO0R,GAAQ1R,EAAE+J,OAAOF,SACnD,0BAAQA,MAAO,IAAf,oBAHJ,OAKQoH,SALR,IAKQA,QALR,EAKQA,GAAWvJ,KAAI,SAACiL,GAAD,OACX,0BAAQrS,IAAKqS,EAAEzN,KAAM2E,MAAO8I,EAAEzN,MAAOyN,EAAEzP,UAInD,uBAAKuE,UAAU,sBACX,0BAAQA,UAAU,kBAAkB4B,KAAK,SAASrF,UAAU,EAAOsF,QAAS,SAACtJ,GACzEA,EAAEoL,sBA3rBTtL,IAAT2R,IAA+B,KAATA,SAA2B3R,IAAZ6R,IAAqC,KAAZA,IAC9DrP,EAAeqP,GAAS,CACpBsB,SAAU,CACN/N,KAAMuM,IAEVyB,OAAQ,CAAC,CACLhQ,KAAM,WACN2G,MAAOhG,EAAY,IAAMC,GAC1B,CACCZ,KAAM,YACN2G,MAAOhG,GACR,CACCX,KAAM,WACN2G,MAAO/F,GACR,CACCZ,KAAM,KACN2G,MAAOtG,GACR,CACCL,KAAM,QACN2G,MAAO9F,GACR,CACCb,KAAM,MACN2G,MAAOiC,GACR,CACC5I,KAAM,sBACN2G,MAAOmC,GACR,CACC9I,KAAM,uBACN2G,MAAOqC,GACR,CACChJ,KAAM,cACN2G,MAAOuC,GACR,CACClJ,KAAM,YACN2G,MAAOyC,GACR,CACCpJ,KAAM,eACN2G,MAAO2C,IACR,CACCtJ,KAAM,eACN2G,MAAO6C,IACR,CACCxJ,KAAM,OACN2G,MAAO+C,IACR,CACC1J,KAAM,YACN2G,MAAOiD,IACR,CACC5J,KAAM,MACN2G,MAAOmD,IACR,CACC9J,KAAM,UACN2G,MAAOoG,GAAU,IAClB,CACC/M,KAAM,iBACN2G,MAAOqD,IACR,CACChK,KAAM,iBACN2G,MAAOuD,IACR,CACClK,KAAM,mBACN2G,MAAO0G,IACR,CACCrN,KAAM,qBACN2G,MAAO4G,IACR,CACCvN,KAAM,WACN2G,MAAO8G,OAEZ1R,MAAK,SAAC+T,GACL,IAAMG,EAAW7D,EAAgB,MAAQqC,GAAU,IAAMqB,EAAE9N,KAE3DjD,EAAe0P,GAASqB,EAAE9N,MACrBjG,MAAK,SAACmU,GACHhN,GAAoB/F,EAAU,CAC1BgJ,KAAM,OACNnG,KAAM8P,EAAEC,SAAS/P,KACjBmQ,IAAKF,EACLG,YAAa,cACbC,OAAQ,YACTtU,MAAK,SAACuU,GACL,IAAMC,EAAkBzW,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAQ,cAAgBiD,EAAW,uBAAyBmT,EAAGtO,KACzIlI,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAO,iBAAmBuO,EAAgB,eAG7FxI,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,WAqmBtB,eAWZ,uBAAKyH,UAAW,kBAEZ,uBAAKA,UAAU,oBACX,uBAAKA,UAAU,eACX,yBAAO4B,KAAK,OAAO5B,UAAU,GAAGlE,GAAG,mBAAmBS,SAAU+N,GACzDjI,SAAU,SAAA9J,GAAM,IAAD,IACX8R,GAAW,UAAC9R,EAAE+J,cAAH,iBAAC,EAAUiK,aAAX,aAAC,EAAkB,OAEzC,yBAAOvM,UAAU,oBAAoB4D,QAAQ,mBACtC4I,mBAAiB,wBACjB3F,MAAO,CAAC4F,SAAU,UAAoBpU,IAAb+R,GAA0BA,GAAS3O,KAAO,0BAE9E,uBAAKuE,UAAU,sBACX,0BAAQA,UAAU,kBAAkB4B,KAAK,SAAS9F,GAAG,wBAC7C+F,QAAS,SAACtJ,GACNA,EAAEoL,iBACF8G,IAAY,IAEhBlO,SAAU+N,IALlB,gBAQJ,uBAAKvG,QAASuG,GAAmBtK,UAAU,iBAAiBsM,KAAK,UAC7D,wBAAMtM,UAAU,WAAhB,wBAMZ,uBAAKA,UAAW,mBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,OAAQ,OAAQ,cAAe,SAAU,gBACnDgK,sBAAuB,IAD9B,OAGQyI,SAHR,IAGQA,QAHR,EAGQA,GAAWzJ,KAAI,SAACsL,GAAD,OACX,sBAAI1S,IAAK0S,EAAE9N,MACP,0BACI,qBACIoE,QAAS,SAACtJ,GAznBvB,IAACqT,EAAanQ,EA0nBGlD,EAAEoL,iBAC2B,WAAzB4H,EAAE3J,KAAKsK,cA/oB5B,SAACpQ,EAAYgQ,EAAgBF,GAChD,IAAMc,EAAYd,EAAIe,UAAUf,EAAIgB,QAAQ,QAAQC,MAAM,KAC1DrS,EAAe0P,GAASwC,EAAU,IAC7BlV,MAAK,SAACmU,GACH,IAAMD,EAAW7D,EAAgB,MAAQqC,GAAU,IAAMwC,EAAU,GACnE,GAA6B,YAAzBZ,EAAOI,cAA6B,CACpC,IAAMF,EAAkBzW,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAQ,mBAAqBiD,EACvGrD,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAO,iBAAmBuO,EAAgB,aACnF,CAEH,IAAMA,EAAkBzW,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KACpE,cAAgBiD,EAAW,uBAAyBkD,EAC1DvG,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAO,iBAAmBuO,EAAgB,aAG7FxI,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MAgoBoBuU,CAAevB,EAAE9N,KAAM8N,EAAEO,OAAQP,EAAEK,MA5nBvDA,EA8nBmCL,EAAEK,IA9nBxBnQ,EA8nB6B8P,EAAE9P,KA7nBhEC,EAAQkQ,GACHpU,MAAK,SAACyK,GACH,GAAIA,EAAExK,GACF,OAAOwK,EAAE8K,UAGhBvV,MAAK,SAACwV,GACH,IAAIpB,EAAMrW,OAAO0X,IAAIC,gBAAgBF,GACjCG,EAASrS,SAASsS,cAAc,KACpCD,EAAOd,KAAOT,EACduB,EAAOE,SAAW5R,EAClB0R,EAAOG,QACP/X,OAAO0X,IAAIM,gBAAgB3B,GAC3BuB,EAAOK,cAmnBiBnB,KAAM,KAELd,EAAE9P,OAGX,0BAAK8P,EAAE3J,MACP,0BAAK2J,EAAEM,aACP,0BAAKN,EAAEO,QACP,0BAAK5H,aAAW3B,GAAO4B,MAAM,sBAAuBoH,EAAEa,WAAY,eAClE,sBAAIpM,UAAW,cACX,0BAAQ+D,OAAqB,6BAAbwH,EAAEO,OACV9L,UAAW,2BAA4B4B,KAAM,SAC7CC,QAAS,SAACtJ,GACNA,EAAEoL,iBACF,IA3lBxBvJ,EAAoBqT,EA2lBQZ,EAAQtB,EAAEK,IAAIiB,MAAM,KACJ,IAAjBA,EAAMvM,SA5lBjClG,EA6lBuCmR,EAAE9N,KA7lBrBgQ,EA6lB2BZ,EAAM,GA1lBrE5R,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxDf,EAAuBwP,EAAQzM,KAAMrD,GAChC5C,MAAK,SAACmU,GACHd,GAAuBzQ,GACvB4E,GAAwCpG,EAAUwB,EAAY,CAC1DqT,gBAAiBA,EACjBC,iBAAkB/B,EAAElO,KACpBkQ,eAAgBzD,EAAQzM,OAEvBjG,MAAK,SAACyK,GACCA,EAAExK,GACF4L,KAEA3J,QAAQC,IAAI,8BAGnB6J,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MAEfkL,SAAQ,kBAAMoH,GAAuB,UAE7CrH,OAAM,SAAAjL,GACHmB,QAAQC,IAAIpB,SAGvBiL,OAAM,SAAAjL,GACHmB,QAAQC,IAAIpB,SAwjBQ,gBAYI,wBAAMwL,OAAQwH,EAAE9N,OAASmN,GAAqB5K,UAAU,wCAAwCsM,KAAK,SAASnF,cAAY,UAE9H,0BAAQpD,OAAqB,aAAbwH,EAAEO,QAAoC,WAAXP,EAAE3J,KACrC5B,UAAW,2BAA4B4B,KAAM,SAC7CC,QAAS,SAACtJ,GACNA,EAAEoL,iBACF,IAnkBnBvJ,EAAoBqT,EAmkBGZ,EAAQtB,EAAEK,IAAIiB,MAAM,KACJ,IAAjBA,EAAMvM,SApkB5BlG,EAqkBuCmR,EAAE9N,KArkBrBgQ,EAqkB2BZ,EAAM,GAlkB1E5R,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxDf,EAAuBwP,EAAQzM,KAAMrD,GAChC5C,MAAK,SAACmU,GACHd,GAAuBzQ,GACvB6E,GAAwBrG,EAAUwB,EAAY,CAC1CqT,gBAAiBA,EACjBC,iBAAkB/B,EAAElO,KACpBkQ,eAAgBzD,EAAQzM,OAEvBjG,MAAK,SAACyK,GACCA,EAAExK,GACF4L,KAEA3J,QAAQC,IAAI,8BAGnB6J,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MAEfkL,SAAQ,kBAAMoH,GAAuB,UAE7CrH,OAAM,SAAAjL,GACHmB,QAAQC,IAAIpB,SAGvBiL,OAAM,SAAAjL,GACHmB,QAAQC,IAAIpB,SAgiBQ,iBAYI,wBAAMwL,OAAQwH,EAAE9N,OAASmN,GAAqB5K,UAAU,wCAAwCsM,KAAK,SAASnF,cAAY,UAE9H,0BAAQnH,UAAW,wBAAyB4B,KAAM,SAC1CC,QAAS,SAACtJ,GAloBzB,IAAC6B,EAmoBkB7B,EAAEoL,iBAnoBpBvJ,EAooBmCmR,EAAE9N,KAnoB3DoB,GAAqBjG,EAAUwB,GAC1B5C,MAAK,SAACyK,GACCA,EAAExK,GACF4L,KAEA3J,QAAQC,IAAI,gCAGnB6J,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,QAunBQ,eArDpB,OAmEQqR,SAnER,IAmEQA,QAnER,EAmEQA,GAAiB3J,KAAI,SAACsL,GAAD,OACjB,sBAAI1S,IAAK,MAAQ0S,EAAEzP,IACf,0BACI,gBAAC,IAAD,CAAM6E,GAAI,aAAe4K,EAAEzP,GAAIwG,OAAQ,UAGlCiJ,EAAE9P,OAGX,sCACA,sDACA,uCACA,0BAAKyI,aAAW3B,GAAO4B,MAAM,aAAcoH,EAAEa,WAAY,eACzD,+BAhFhB,OAqFQtC,SArFR,IAqFQA,QArFR,EAqFQA,GAAa7J,KAAI,SAACsL,GAAD,OACb,sBAAI1S,IAAK,MAAQ0S,EAAEzP,IACf,0BACI,gBAAC,IAAD,CAAM6E,GAAI,kBAAoB4K,EAAEzP,GAAIwG,OAAQ,UAGvCiJ,EAAEqC,eAGX,sCACA,kDACA,0BAAKrC,EAAEsC,eACP,0BAAK3J,aAAW3B,GAAO4B,MAAM,aAAcoH,EAAEuC,aAAc,eAC3D,iCAOpB,uBAAK9N,UAAW,mBACZ,wCACA,2DAAmCgJ,GAAnC,eAAmEE,KAEvE,uBAAKlJ,UAAW,mBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,eAAgB,YAC1BgK,sBAAuB,IAEtB2H,GAAY5G,QAAO,SAAAxL,GAAC,OAAIA,EAAEuX,UAAQ9N,KAAI,SAACzJ,GAAD,OAClC,sBAAIqC,IAAKrC,EAAEwX,eAAevQ,MACtB,0BACI,gBAAC,IAAD,CAAMkD,GAAI,4BAA8BnK,EAAEwX,eAAevQ,MACpDjH,EAAEwX,eAAeC,OAG1B,0BACMzX,EAAEgH,SAAY,MAAQ,MAE5B,iCAUpB,uBAAKwC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,cACN,0BAAQiB,KAAM,SAAU5B,UAAW,wBAAnC,sBAQZ,gBAAC,GAAD,CAAO4G,KAAMkB,EAAqBT,MAAO,cAAeG,iBAAkB,SACnEG,aAAc,OACdJ,SAAU,WACNQ,GAAuB,IAE3BL,KAAM,WACFK,GAAuB,KAE9B,oCCvkCGmG,GApF4B,WAEvC,IAAOtV,EAAYoP,cAAZpP,SACP,EAA4BwG,mBAAS,IAArC,mBAAO+M,EAAP,KAAegC,EAAf,KACA,EAAkC/O,mBAAS,IAA3C,mBAAOgN,EAAP,KAAkBgC,EAAlB,KACA,EAAsChP,mBAAS,IAA/C,mBAAOyM,EAAP,KAAoBwC,EAApB,KACA,EAAgDjP,oBAAS,GAAzD,mBAAOkP,EAAP,KAAyBC,EAAzB,KAEMxI,EAAUC,cAEhBzG,qBAAU,WACF+O,GACAvI,EAAQrP,KAAK,CACT+J,SAAU,mBAAqB7H,MAGxC,CAAC0V,EAAkBvI,EAASnN,IAY/B,OAAQ,gCACJ,4BACI,uBAAKoH,UAAW,OACZ,uBAAKA,UAAW,mBACZ,yCAGJ,uBAAKA,UAAW,mBACZ,2CAEJ,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAC1BoC,MAAOyJ,EAAaxJ,SAAU,SAAC9J,GAAD,OAAO8V,EAAe9V,EAAE+J,OAAOF,SACjE,0BAAQA,MAAO,GAAI7F,UAAU,GAA7B,aACA,0BAAQ6F,MAAO,cAAf,cACA,0BAAQA,MAAO,mBAAf,mBACA,0BAAQA,MAAO,SAAf,WAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1CsG,MAAO+J,EAAQ9J,SAAU,SAAC9J,GAAD,OAAO4V,EAAU5V,EAAE+J,OAAOF,WAE9D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAOgK,EAAW/J,SAAU,SAAC9J,GAAD,OAAO6V,EAAa7V,EAAE+J,OAAOF,aAK5E,uBAAKpC,UAAW,mBACZ,0BAAQ4B,KAAM,SAAU5B,UAAW,sBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACF4K,GAAoB,KAHhC,UAMA,0BAAQ3M,KAAM,SAAU5B,UAAW,kBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAtD1BzF,GAAUtF,EAAU,CAChBuT,OAAQA,EACRqC,WAAYpC,EACZP,YAAaA,IACdrU,MAAK,SAAC+L,GACLgL,GAAoB,QA+CZ,aCsBLE,GA7F6B,WAExC,MAA6BzG,cAAtBpP,EAAP,EAAOA,SAAUwF,EAAjB,EAAiBA,SACjB,EAA4BgB,mBAAS,IAArC,mBAAO+M,EAAP,KAAegC,EAAf,KACA,EAAkC/O,mBAAS,IAA3C,mBAAOgN,EAAP,KAAkBgC,EAAlB,KACA,EAAsChP,mBAAS,IAA/C,mBAAOyM,EAAP,KAAoBwC,EAApB,KACA,EAAgDjP,oBAAS,GAAzD,mBAAOkP,EAAP,KAAyBC,EAAzB,KAEMxI,EAAUC,cAEhBzG,qBAAU,WACF+O,GACAvI,EAAQrP,KAAK,CACT+J,SAAU,mBAAqB7H,MAGxC,CAAC0V,EAAkBvI,EAAQnN,IAE9B,IAAMyK,EAAOC,uBAAY,WACrBnF,GAAUvF,EAAUwF,GACf5G,MAAK,SAAC+L,GACH4K,EAAU,GAAK5K,EAAE4I,QACjBiC,EAAa7K,EAAEiL,YACfH,EAAe9K,EAAEsI,kBAE1B,CAACjT,EAAUwF,IAEdmB,qBAAU,WACN8D,MACD,CAACA,IAWJ,OAAQ,gCACJ,4BACI,uBAAKrD,UAAW,OACZ,uBAAKA,UAAW,mBACZ,qCAGJ,uBAAKA,UAAW,mBACZ,2CAEJ,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,0BAAQrH,UAAU,EAAMT,GAAG,aAAakE,UAAU,eAC1CoC,MAAOyJ,EAAaxJ,SAAU,SAAC9J,GAAD,OAAO8V,EAAe9V,EAAE+J,OAAOF,SACjE,0BAAQA,MAAO,GAAI7F,UAAU,GAA7B,aACA,0BAAQ6F,MAAO,cAAf,cACA,0BAAQA,MAAO,mBAAf,mBACA,0BAAQA,MAAO,SAAf,WAGR,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,yBAAOrH,UAAU,EAAMqF,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1DsG,MAAO+J,EAAQ9J,SAAU,SAAC9J,GAAD,OAAO4V,EAAU5V,EAAE+J,OAAOF,WAE9D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOrH,UAAU,EAAMqF,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOgK,EAAW/J,SAAU,SAAC9J,GAAD,OAAO6V,EAAa7V,EAAE+J,OAAOF,aAK5E,uBAAKpC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,mBAAqB/H,GAC3B,0BAAQgJ,KAAM,SAAU5B,UAAW,wBAAnC,SAEJ,0BAAQ4B,KAAM,SAAU5B,UAAW,iBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAlD1BtF,GAAazF,EAAUwF,GAClB5G,MAAK,SAACyK,GACCA,EAAExK,IACF8W,GAAoB,QA6CpB,eCqJLG,GApO6B,WACxC,IAAO9V,EAAYoP,cAAZpP,SACP,EAA4BwG,mBAAS,IAArC,mBAAO+M,EAAP,KAAegC,EAAf,KACA,EAAkC/O,mBAAS,IAA3C,mBAAOgN,EAAP,KAAkBgC,EAAlB,KACA,EAA4BhP,mBAAS,IAArC,mBAAO9H,EAAP,KAAeqX,EAAf,KAEA,EAAoCvP,mBAAS,IAA7C,mBAAOwP,EAAP,KAAmBC,EAAnB,KACA,EAAsBzP,mBAAS,IAA/B,mBAAO0P,EAAP,KAAYC,EAAZ,KACA,EAAsB3P,mBAAS,IAA/B,mBAAOmG,EAAP,KAAYC,EAAZ,KACA,EAAsCpG,mBAAS,IAA/C,mBAAO4P,EAAP,KAAoBC,EAApB,KACA,EAAoC7P,mBAAS,IAA7C,mBAAO8P,EAAP,KAAmBC,EAAnB,KACA,EAAgD/P,oBAAS,GAAzD,mBAAOkP,EAAP,KAAyBC,EAAzB,KACA,EAAsCnP,mBAAuB,IAA7D,mBAAOgQ,EAAP,KAAoBC,EAApB,KACA,EAA4BjQ,qBAA5B,mBAAOkQ,EAAP,KAAeC,EAAf,KACA,EAAoCnQ,mBAAS,IAA7C,mBAAOoQ,EAAP,KAAmBC,EAAnB,KAEM1J,GAAUC,cAEhBzG,qBAAU,WACN9C,EAAU7D,GACLpB,MAAK,SAAC+L,GACH,IAAImM,EAAmB,GACvBnM,EAAEoM,SAASjQ,SAAQ,SAACiH,QACKtO,IAAjBsO,EAAE6I,YAC4D,IAA3DE,EAAG1N,QAAO,SAAC4N,GAAD,aAAOA,EAAEnS,QAAF,UAAWkJ,EAAE6I,kBAAb,aAAW,EAAc/R,SAAM6C,QAC/CoP,EAAGhZ,KAAKiQ,EAAE6I,eAItBH,EAAeK,GACfH,EAAUhM,MAEbC,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,QAErB,IAEHgH,qBAAU,WACN,IAAIsQ,EAAQT,EAAYpN,QAAO,SAACuB,GAAD,OAAOA,EAAE9F,MAAQ+R,KAChD,QAAanX,IAAVwX,GAAuBA,EAAMvP,OAAS,EAAG,CACxC,IAAMoP,EAAKG,EAAM,GACjBrK,EAAOkK,EAAGI,SACVf,EAAOW,EAAGZ,KACVK,EAAcO,EAAGK,gBACjBd,EAAeS,EAAGM,iBAClBnB,EAAca,EAAGO,uBAEjBzK,EAAO,IACPuJ,EAAO,IACPI,EAAc,IACdF,EAAe,IACfJ,EAAc,MAEnB,CAACW,IAEJjQ,qBAAU,WACF+O,GACAvI,GAAQrP,KAAK,CACT+J,SAAU,mBAAqB7H,MAGxC,CAAC0V,EAAkBvI,GAASnN,IAE/B,IAAMsX,GAAuB,SAAC5Y,GAC1B,OAAQA,GACJ,IAAK,cACD,MAAO,cACX,IAAK,OACD,MAAO,OACX,IAAK,QACD,MAAO,QACX,QACI,MAAO,KA+CnB,YAAoBe,IAAXiX,EAAwB,iDAAqB,gCAClD,4BACI,uBAAKtP,UAAW,OACZ,uBAAKA,UAAW,mBACZ,0CAGJ,uBAAKA,UAAW,mBACZ,2CAEJ,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAO+J,EAAQ9J,SAAU,SAAC9J,GAAD,OAAO4V,EAAU5V,EAAE+J,OAAOF,WAE9D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAOgK,EAAW/J,SAAU,SAAC9J,GAAD,OAAO6V,EAAa7V,EAAE+J,OAAOF,WAEpE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAC1BoC,MAAO9K,EAAQ+K,SAAU,SAAC9J,GAAD,OAAOoW,EAAUpW,EAAE+J,OAAOF,SACvD,0BAAQA,MAAO,GAAI7F,UAAU,GAA7B,aACA,0BAAQ6F,MAAO,eAAf,eACA,0BAAQA,MAAO,QAAf,QACA,0BAAQA,MAAO,SAAf,aAKhB,uBAAKpC,UAAW,iBAAkB+D,OAAmB,gBAAXzM,GACtC,uBAAK0I,UAAW,OACZ,uBAAKA,UAAU,YACX,yBAAO4D,QAAQ,eAAf,eACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAC1BoC,MAAOoN,EAAYnN,SAAU,SAAC9J,GAAD,OAAOkX,EAAclX,EAAE+J,OAAOF,SAC/D,0BAAQA,MAAO,GAAI7F,UAAU,GAA7B,mBAEI6S,EAAYnP,KAAI,SAACyP,GAAD,OACZ,0BAAQtN,MAAOsN,EAAGjS,KAAM5E,IAAK6W,EAAGjS,MAAOiS,EAAGO,wBAM9D,uBAAKjQ,UAAW,OACZ,uBAAKA,UAAW,uBACZ,+CAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,eACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAOwM,EAAYvM,SAAU,SAAC9J,GAAD,OAAOsW,EAActW,EAAE+J,OAAOF,WAEtE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1CsG,MAAO0M,EAAKzM,SAAU,SAAC9J,GAAD,OAAOwW,EAAOxW,EAAE+J,OAAOF,WAExD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1CsG,MAAOmD,EAAKlD,SAAU,SAAC9J,GAAD,OAAOiN,EAAOjN,EAAE+J,OAAOF,YAG5D,uBAAKpC,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,gBACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1CsG,MAAO4M,EAAa3M,SAAU,SAAC9J,GAAD,OAAO0W,EAAe1W,EAAE+J,OAAOF,WAGxE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,eACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAC1CsG,MAAO8M,EAAY7M,SAAU,SAAC9J,GAAD,OAAO4W,EAAc5W,EAAE+J,OAAOF,eAOtF,uBAAKpC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,mBAAqB/H,GAC3B,0BAAQgJ,KAAM,SAAU5B,UAAW,uBAAnC,WAEJ,0BAAQ4B,KAAM,SAAU5B,UAAW,kBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBA5IX,gBAAXrM,GAA2C,KAAfkY,EAC5BlR,GAAW1F,EAAU,CACjBuT,OAAQA,EACRgE,YAAa/D,EACbP,YAAaqE,GAAqB5Y,GAAU,WAC5CwU,OAAQ,YACRxU,OAAQA,EACRkY,WAAY,CACR/R,KAAM+R,KAEXhY,MAAK,SAACmP,GACL4H,GAAoB,MACrB/K,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MACX,gBAAXjB,GAA2C,KAAfkY,EAClClR,GAAW1F,EAAU,CACjBuT,OAAQA,EACRgE,YAAa/D,EACbP,YAAaqE,GAAqB5Y,GAAU,WAC5CwU,OAAQ,YACRxU,OAAQA,EACRkY,WAAY,CACRS,iBAAkBrB,EAClBE,IAAKA,EACLkB,gBAAiBhB,EACjBe,eAAgBb,EAChBY,QAASvK,KAEd/N,MAAK,SAACmP,GACL4H,GAAoB,MACrB/K,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MAE5B+F,GAAW1F,EAAU,CACjBuT,OAAQA,EACRgE,YAAa/D,EACbP,YAAaqE,GAAqB5Y,GAAU,WAC5CwU,OAAQ,YACRxU,OAAQA,IACTE,MAAK,SAACmP,GACL4H,GAAoB,MACrB/K,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,QAmGpB,aC/EL6X,GAzI8B,WAEzC,MAA8BpI,cAAvBpP,EAAP,EAAOA,SAAU4F,EAAjB,EAAiBA,UACjB,EAA4BY,mBAAS,IAArC,mBAAO+M,EAAP,KAAegC,EAAf,KACA,EAAkC/O,mBAAS,IAA3C,mBAAOgN,EAAP,KAAkBgC,EAAlB,KACA,EAA4BhP,mBAAS,IAArC,mBAAO9H,EAAP,KAAeqX,EAAf,KAEA,EAAoCvP,mBAAS,IAA7C,mBAAOwP,EAAP,KAAmBC,EAAnB,KACA,EAAsBzP,mBAAS,IAA/B,mBAAO0P,EAAP,KAAYC,EAAZ,KACA,EAAsB3P,mBAAS,IAA/B,mBAAOmG,EAAP,KAAYC,EAAZ,KACA,EAAsCpG,mBAAS,IAA/C,mBAAO4P,EAAP,KAAoBC,EAApB,KACA,EAAoC7P,mBAAS,IAA7C,mBAAO8P,EAAP,KAAmBC,EAAnB,KACA,EAAgD/P,oBAAS,GAAzD,mBAAOkP,EAAP,KAAyBC,EAAzB,KAEMxI,EAAUC,cAEV3C,EAAOC,uBAAY,WACrB7E,GAAW7F,EAAU4F,GAChBhH,MAAK,SAACmP,GAI8B,IAAD,GAHhCwH,EAAU,GAAKxH,EAAEwF,QACjBiC,EAAazH,EAAEwJ,aACfxB,EAAUhI,EAAErP,aACSe,IAAjBsO,EAAE6I,cACFX,EAAa,UAAClI,EAAE6I,kBAAH,aAAC,EAAcS,kBAC5BlB,EAAOpI,EAAE6I,WAAWV,KACpBtJ,EAAOmB,EAAE6I,WAAWM,SACpBX,EAAcxI,EAAE6I,WAAWO,gBAC3Bd,EAAetI,EAAE6I,WAAWQ,uBAGzC,CAACpX,EAAU4F,IAEde,qBAAU,WACF+O,GACAvI,EAAQrP,KAAK,CACT+J,SAAU,mBAAqB7H,MAGxC,CAAC0V,EAAkBvI,EAASnN,IAE/B2G,qBAAU,WACN8D,MACD,CAACA,IAYJ,OAAQ,gCACJ,4BACI,uBAAKrD,UAAW,OACZ,uBAAKA,UAAW,mBACZ,2CAGJ,uBAAKA,UAAW,mBACZ,2CAEJ,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EACxE6F,MAAO+J,EAAQ9J,SAAU,SAAC9J,GAAD,OAAO4V,EAAU5V,EAAE+J,OAAOF,WAE9D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,oBACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCS,UAAU,EACV6F,MAAOgK,EAAW/J,SAAU,SAAC9J,GAAD,OAAO6V,EAAa7V,EAAE+J,OAAOF,aAI5E,uBAAK2B,OAAmB,gBAAXzM,GACT,uBAAK0I,UAAW,mBACZ,+CAEJ,uBAAKA,UAAW,mBACZ,uBAAKA,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,eACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EACxE6F,MAAOwM,EAAYvM,SAAU,SAAC9J,GAAD,OAAOsW,EAActW,EAAE+J,OAAOF,WAEtE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EAC1E6F,MAAO0M,EAAKzM,SAAU,SAAC9J,GAAD,OAAOwW,EAAOxW,EAAE+J,OAAOF,WAExD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,OACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EACxE6F,MAAOmD,EAAKlD,SAAU,SAAC9J,GAAD,OAAOiN,EAAOjN,EAAE+J,OAAOF,YAG5D,uBAAKpC,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,gBACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EAC1E6F,MAAO4M,EAAa3M,SAAU,SAAC9J,GAAD,OAAO0W,EAAe1W,EAAE+J,OAAOF,WAExE,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,eACA,yBAAOhC,KAAK,SAAS5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EAC1E6F,MAAO8M,EAAY7M,SAAU,SAAC9J,GAAD,OAAO4W,EAAc5W,EAAE+J,OAAOF,cAMlF,uBAAKpC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,mBAAqB/H,GAC3B,0BAAQgJ,KAAM,SAAU5B,UAAW,uBAAnC,SAEJ,0BAAQ4B,KAAM,SAAU5B,UAAW,kBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAjF1BjF,GAAc9F,EAAU4F,GACnBhH,MAAK,SAACyK,GACCA,EAAExK,IACF8W,GAAoB,QA4EpB,eC3CL8B,GA5EmC,WAC9C,MAA+BrI,cAAxBpP,EAAP,EAAOA,SAAUwB,EAAjB,EAAiBA,WACX2L,EAAUC,cAChB,EAAoC5G,oBAAS,GAA7C,mBAAOkR,EAAP,KAAmBC,EAAnB,KACA,EAA0BnR,mBAAS,IAAnC,mBAAOnF,EAAP,KAAcuW,EAAd,KACIhb,EAAW2J,cACTsR,EAAc,IAAIC,gBAAgBlb,EAASmb,QAC3CC,EAAmBH,EAAYI,IAAI,qBAAuB,GAC1DpD,EAAmBgD,EAAYI,IAAI,gBAAkB,GAyD3D,OAtDAtR,qBAAU,WAEFqR,GAAuC,SAApBA,EACnB3V,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxDf,EAAuBwP,EAAQzM,KAAMrD,GAChC5C,MAAK,SAACmU,GACH5M,GAAgCnG,EAAUwB,EAAY,CAClDqT,gBAAiBA,EACjBC,iBAAkB/B,EAAElO,KACpBkQ,eAAgBzD,EAAQzM,OAEvBjG,MAAK,SAACyK,GACCA,EAAExK,GACF8Y,GAAc,GAEdC,EAAS,8BAEdhN,OAAM,SAACjL,GACViY,EAAS,iCAGhBhN,OAAM,SAAAjL,GACHiY,EAAS,iCAGpBhN,OAAM,SAAAjL,GACHiY,EAAS,8BAKjB1R,GAAyB1E,GACpB5C,MAAK,SAACyK,GACCA,EAAExK,GACF8Y,GAAc,GAEdC,EAAS,8BAEdhN,OAAM,SAACjL,GACViY,EAAS,gCAGlB,CAAC5X,EAAUwB,EAAYwW,IAE1BrR,qBAAU,WACF+Q,GACAvK,EAAQrP,KAAK,CACT+J,SAAU,mBAAqB7H,MAGxC,CAAC0X,EAAY1X,EAAUmN,IAElB,yBACJ,uBAAKhC,OAAkB,KAAV9J,GAAb,qBAEI,uBAAK+F,UAAU,4BAA4BsM,KAAK,UAC5C,wBAAMtM,UAAU,WAAhB,gBAGP/F,ICjDM6W,GA7B4B,WACvC,IAAOlY,EAAYoP,cAAZpP,SACP,EAA8BwG,qBAA9B,mBAAO2R,EAAP,KAAgBC,EAAhB,KASA,OAPAzR,qBAAU,WACN7C,EAAkB9D,GACbpB,MAAK,SAACoY,GACHoB,EAAWpB,EAAEnS,WAEtB,SAEkBpF,IAAZ0Y,EAAyB,iDAC5B,gCACE,uBAAK/Q,UAAW,mBACZ,+CACA,mHACA,yBACI,qBAAGqM,KAAM,sCAAwCzT,EAAW,QAAUmY,EAASzO,OAAQ,UAAW,sCAAwC1J,EAAW,QAAUmY,KAGvK,uBAAK/Q,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,mBAAqB/H,GAE3B,0BAAQgJ,KAAM,SAAU5B,UAAW,uBAAnC,YCmBLiR,GAnCgC,WAC3C,IAAKtV,EAAQuV,cAARvV,KACL,OAAQ,gCACJ,gBAAC,IAAD,KACI,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,QACtB,gBAACyV,GAAD,OAEJ,gBAAC,IAAD,CAAOD,OAAK,EAACxV,KAAMA,EAAO,mBACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,oBACtB,gBAAC0V,GAAD,OAEJ,gBAAC,IAAD,CAAOF,OAAK,EAACxV,KAAMA,EAAO,6CACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,0BACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,2BACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,uCACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,qCACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,GACf,gBAAC2V,GAAD,UCnCVC,GAAY/O,EAAQ,IA4HXgP,GAzHwC,WAEnD,MAA8CpS,qBAA9C,mBAAOqS,EAAP,KAAwBC,EAAxB,KACA,EAA0BtS,qBAA1B,mBAAOuS,EAAP,KAAcC,EAAd,KACA,EAAkCxS,mBAAS,IAA3C,mBAAOyS,EAAP,KAAkBC,EAAlB,KACA,EAAgC1S,mBAAS,IAAzC,mBAAOtC,EAAP,KAAiBiV,EAAjB,KACA,EAA4B3S,mBAAS,IAArC,mBAAOrC,EAAP,KAAeiV,EAAf,KACA,EAA4B5S,oBAAS,GAArC,mBAAO+D,EAAP,KAAeC,EAAf,KAEMuN,EAASrN,uBAAY,WACpBH,IACCC,GAAU,GACVxG,GAAmBiV,EAAW/U,EAAUC,GACnCvF,MAAK,SAACyT,GACHyG,EAAmBzG,MAEtBzH,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MACzBkL,SAAQ,kBAGlB,CAACoO,EAAW/U,EAAUC,EAAQoG,IAejC,OAbA5D,qBAAU,WACNoR,IACA1U,IACKzE,MAAK,SAACya,GACHL,EAASK,MAEZzO,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MACzBkL,SAAQ,iBAId,CAACkN,IAEI,gCACJ,uBAAK3Q,UAAW,OACZ,uBAAKA,UAAW,mBACZ,+CAEJ,uBAAKA,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,2BACN,0BAAQX,UAAW,mBAAnB,yBAGR,uBAAKA,UAAW,mBACZ,wBAAM0D,SAAU,SAACnL,GACbA,EAAEoL,iBACFP,GAAU,KAEV,uBAAKpD,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,aACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAAeoC,MAAOyP,EAChDxP,SAAU,SAAC9J,GAAD,OAAOuZ,EAAavZ,EAAE+J,OAAOF,SAC3C,0BAAQvJ,IAAK,MAAOuJ,MAAO,IAA3B,yBAFJ,OAIQuP,QAJR,IAIQA,OAJR,EAIQA,EAAO1R,KAAI,SAACM,GAAD,OACP,0BAAQ1H,IAAK0H,EAAE9C,KAAM2E,MAAO7B,EAAE9C,MAAO8C,EAAElE,SAAW,KAAOkE,EAAEnE,gBAK3E,uBAAK4D,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,aACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxCsG,MAAOtF,EACPuF,SAAU,SAAC9J,GAAD,OAAOwZ,EAAYxZ,EAAE+J,OAAOF,QACtCyB,YAAa,aAAcC,aAAc,kBAEpD,uBAAK9D,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,WACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,WACbzB,MAAOrF,EACPsF,SAAU,SAAC9J,GAAD,OAAOyZ,EAAUzZ,EAAE+J,OAAOF,QACpC0B,aAAc,kBAEzB,uBAAK9D,UAAU,iBACX,0BAAQ4B,KAAK,SAAS5B,UAAU,mBAAhC,cAMhB,uBAAKA,UAAW,mBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,OAAQ,OAAQ,YAAa,UACvCgK,sBAAuB,IAD9B,OAGQwQ,QAHR,IAGQA,OAHR,EAGQA,EAAiBxR,KAAI,SAACiL,GAAD,OACjB,sBAAIrS,IAAKqS,EAAEzN,MACP,0BACI,gBAAC,IAAD,CAAMkD,GAAI,4BAA8BuK,EAAEzN,MACrCyG,aAAWqN,GAAUpN,MAAM,aAAc+G,EAAE+C,MAAM,gBAG1D,0BACK/J,aAAYqN,GAAUpN,MAAM,QAAS+G,EAAEgH,WAAY,aAExD,0BACKhH,EAAE2G,UAAUzV,UAAY,IAAM8O,EAAE2G,UAAUxV,UAE/C,0BACK6O,EAAEY,QAGP,oCC7G1ByF,GAAY/O,EAAQ,IAoKX2P,GAjKoC,WAE/C,MAAkC/S,mBAAS,IAA3C,mBAAOyS,EAAP,KAAkBC,EAAlB,KACA,EAAwB1S,mBAAS,IAAjC,mBAAO6O,EAAP,KAAamE,EAAb,KACA,EAAkChT,mBAAS,IAA3C,mBAAO8S,EAAP,KAAkBG,EAAlB,KACA,EAA8BjT,mBAAS,IAAvC,mBAAOkT,EAAP,KAAgBC,EAAhB,KACA,EAA0BnT,qBAA1B,mBAAOuS,EAAP,KAAcC,EAAd,KACA,EAAoDxS,oBAAS,GAA7D,mBAAOyG,EAAP,KAA2BC,EAA3B,KACMC,EAAUC,cAChB,EAAkC5G,qBAAlC,mBAAOoK,EAAP,KAAkBC,EAAlB,KACA,EAA8BrK,mBAAS,IAAvC,mBAAgB+K,GAAhB,WACA,EAAwB/K,mBAAS,IAAjC,mBAAOoT,EAAP,KAAaC,EAAb,KAEAlT,qBAAU,WACN,QAAkBlH,IAAd6Z,GAAyC,KAAdA,EAC3B,IACI,IAAM/N,EAAQoN,GAAUpN,MAAM,QAAS+N,GACjCQ,EAAcvO,EAAMwO,SAASxO,EAAMyO,WAAa,GACtDL,EAAWrO,aAAWwO,EAAa,UACrC,MAAOna,OAId,CAAC2Z,IAEJ3S,qBAAU,WACNtE,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxD0O,EAAWD,EAAQzM,MACnB7C,EAAasP,EAAQzM,MAChBjG,MAAK,SAACyT,GACHxB,EAAawB,EAAGjJ,QAAO,SAACkJ,GAAD,MAAiB,SAAVA,EAAEC,cAG3C3H,OAAM,SAACjL,GACJmB,QAAQO,MAAM1B,QAEvB,IAwCH,OApBAgH,qBAAU,WACFsG,GACAE,EAAQrP,KAAK,CACT+J,SAAU,0BAGnB,CAACoF,EAAoBE,IAExBxG,qBAAU,WACNtD,IACKzE,MAAK,SAACya,GACHL,EAASK,MAEZzO,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MACzBkL,SAAQ,iBAId,IAEK,gCACJ,uBAAKzD,UAAW,OACZ,uBAAKA,UAAW,mBACZ,kDAEJ,wBAAM0D,SAAU,SAACnL,GACbA,EAAEoL,iBA3CVhG,GAAmB,CACfkU,UAAW,CACPpU,KAAMoU,GAEV5D,KAAMA,EACNqE,QAASA,EACTJ,UAAWA,EACXW,SAAUL,IAEThb,MAAK,SAAC0T,GACHpF,GAAsB,MAEzBtC,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,QAkCtB,uBAAKyH,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,aACA,0BAAQ6C,UAAU,EAAM3K,GAAG,aAAakE,UAAU,eAC1CqC,SAAU,SAAC9J,GAAD,OAAOuZ,EAAavZ,EAAE+J,OAAOF,SAC3C,0BAAQvJ,IAAK,MAAOuJ,MAAO,IAA3B,yBAFJ,OAIQuP,QAJR,IAIQA,OAJR,EAIQA,EAAO1R,KAAI,SAACM,GAAD,OACP,0BAAQ1H,IAAK0H,EAAE9C,KAAM2E,MAAO7B,EAAE9C,MAAO8C,EAAElE,SAAW,KAAOkE,EAAEnE,gBAK3E,uBAAK4D,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAO6L,EAAM5L,SAAU,SAAC9J,GAC3B6Z,EAAQ7Z,EAAE+J,OAAOF,WAIzB,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,cACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAO8P,EAAW7P,SAAU,SAAC9J,GAChC8Z,EAAa9Z,EAAE+J,OAAOF,WAI9B,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,YACA,yBAAO6C,UAAU,EAAM7E,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxDsG,MAAOkQ,EAASjQ,SAAU,SAAC9J,GAC9Bga,EAAWha,EAAE+J,OAAOF,WAI5B,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,gBACA,0BAAQ5D,UAAU,gBAAgBlE,GAAG,qBAC7B2K,UAAU,EACVtE,aAAW,mCAAmCC,MAAOoQ,EACrDnQ,SAAU,SAAC9J,GAAD,OAAOka,EAAQla,EAAE+J,OAAOF,SACtC,0BAAQA,MAAO,IAAf,aAJJ,OAMQoH,QANR,IAMQA,OANR,EAMQA,EAAWvJ,KAAI,SAACiL,GAAD,OACX,0BAAQrS,IAAKqS,EAAEzN,KAAM2E,MAAO8I,EAAEzN,MAAOyN,EAAEzP,aAU/D,uBAAKuE,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,uBACN,0BAAQiB,KAAM,SAAU5B,UAAW,uBAAnC,WAIJ,0BAAQ4B,KAAM,SAAU5B,UAAW,mBAAnC,4BClJduR,GAAY/O,EAAQ,IAqgBXsQ,GAlgBqC,WAChD,IAAIjL,EAAiBtS,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SACtC,mBAA7BF,OAAOC,SAASC,WAChBoS,EAAgB,8BAEa,cAA7BtS,OAAOC,SAASC,WAChBoS,EAAgB,yBAGa,4BAA7BtS,OAAOC,SAASC,UAAuE,uBAA7BF,OAAOC,SAASC,WAC1EoS,EAAgB,oCAGpB,MAAkCzI,mBAAS,IAA3C,mBAAOyS,EAAP,KAAkBC,EAAlB,KACA,EAAwB1S,mBAAS,IAAjC,mBAAO6O,EAAP,KAAamE,EAAb,KACA,EAAkChT,mBAAS,IAA3C,mBAAO8S,EAAP,KAAkBG,EAAlB,KACA,EAA8BjT,mBAAS,IAAvC,mBAAOkT,EAAP,KAAgBC,EAAhB,KACA,EAA4BnT,mBAAS,IAArC,mBAAO0M,EAAP,KAAeiH,EAAf,KACA,EAA0B3T,qBAA1B,mBAAOuS,EAAP,KAAcC,EAAd,KACA,EAA8BxS,qBAA9B,mBAAOwD,EAAP,KAAgBC,EAAhB,KACA,EAAoDzD,oBAAS,GAA7D,mBAAO4T,EAAP,KACMjN,GADN,KACgBC,eACTlK,EAAMkM,cAANlM,GACP,EAAgCsD,oBAAS,GAAzC,mBAAOgK,EAAP,KAAiBC,EAAjB,KACA,EAAoDjK,oBAAS,GAA7D,mBAAOyG,EAAP,KAA2BC,EAA3B,KAEA,EAAkC1G,qBAAlC,mBAAOoK,GAAP,KAAkBC,GAAlB,KACA,GAA8BrK,mBAAS,IAAvC,qBAAO8K,GAAP,MAAgBC,GAAhB,MACA,GAAwB/K,mBAAS,IAAjC,qBAAOoT,GAAP,MAAaC,GAAb,MAEMpP,GAAOC,uBAAY,WACrBtG,GAAkBlB,GACbtE,MAAK,SAAC0T,GACH4G,EAAa5G,EAAE2G,UAAUpU,MACzB2U,EAAQlH,EAAE+C,MACVoE,EAAanO,aAAWqN,GAAUpN,MAAM,QAAS+G,EAAEgH,WAAY,UAC/DK,EAAWrO,aAAWqN,GAAUpN,MAAM,QAAS+G,EAAEoH,SAAU,UAC3DS,EAAU7H,EAAEY,QACZ2G,GAAQvH,EAAE2H,UAAY,OAEzBrP,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MAE9B4D,EAAW,GAAI,GAAI,GAAI,GAAI,QAASL,GAC/BtE,MAAK,SAAC+L,GACHV,EAAWU,MAEdC,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MAEpB0D,IACKzE,MAAK,SAACya,GACHL,EAASK,MAEZzO,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,MACzBkL,SAAQ,eAEbxI,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GACxD0O,GAAWD,EAAQzM,MACnB7C,EAAasP,EAAQzM,MAChBjG,MAAK,SAACyT,GACHxB,GAAawB,EAAGjJ,QAAO,SAACkJ,GAAD,MAAiB,SAAVA,EAAEC,cAG3C3H,OAAM,SAACjL,GACJmB,QAAQO,MAAM1B,QAEvB,CAACuD,IAEJyD,qBAAU,WAEN8D,OAED,CAACA,KAEJ9D,qBAAU,WACFyT,GACAjN,EAAQrP,KAAK,CACT+J,SAAU,MAAQ+R,GAAO,WAGlC,CAACQ,EAAoBjN,EAASyM,KAmBjCjT,qBAAU,WACFsG,GACAE,EAAQrP,KAAK,CACT+J,SAAU,0BAGnB,CAACoF,EAAoBE,IAExB,IA0BMkN,GAAY,SAAC3D,EAAgB9S,GAC/B,IACI,OAAO8S,EAAO1G,YAAY5G,QAAO,SAACxL,GAAD,OAAOA,EAAEwX,eAAevQ,OAASjB,KAAkB,GAAGgB,SACzF,MAAOjF,GACL,OAAO,IAIT2a,GAAW,SAAC5D,EAAgB9S,GAC9B,IACI,OAAO8S,EAAO1G,YAAY5G,QAAO,SAACxL,GAAD,OAAOA,EAAEwX,eAAevQ,OAASjB,KAAkB,GAAGuR,OACzF,MAAOxV,GACL,OAAO,IA4HT4a,GAAa,SAAC5P,EAAW/G,GAC3B,IAAIpC,EAAamJ,EAAEqF,YAAY5G,QAAO,SAACxL,GAAD,OAAOA,EAAEwX,eAAevQ,OAASjB,KAAkB,GAAG1B,SAAS2C,KACrGmB,GAAkB2E,EAAE9F,KAAMrD,GACrB5C,MAAK,SAACuU,GACH,IAAMW,EAAYX,EAAGH,IAAIe,UAAUZ,EAAGH,IAAIgB,QAAQ,QAAQC,MAAM,KAChErS,EAAe0P,GAASwC,EAAU,IAC7BlV,MAAK,SAACmU,GACH,IAAMD,EAAW7D,EAAgB,MAAQqC,GAAU,IAAMwC,EAAU,GACnEnX,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAM,gBAMtE,OAAQ,gCACJ,4BACI,uBAAKuC,UAAW,OACZ,uBAAKA,UAAW,mBACZ,8CAEJ,uBAAKA,UAAW,kBAAmB+D,OAAmB,cAAX+H,GACvC,0BAAQ9L,UAAW,6BACX6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAxL1B1G,GAAqBnB,GAChBtE,MAAK,SAAC0T,GACCA,EAAEzT,IACFqO,GAAsB,MAG7BtC,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,QAgLlB,UAOA,0BAAQwL,OAAQqF,EAAUpJ,UAAW,8BAC7B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACF0F,GAAY,KAHxB,QAOA,0BAAQtF,QAASqF,EAAUpJ,UAAW,8BAC9B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBA9N1B/F,GAAsB9B,EAAI,CACtB+V,UAAW,CACPpU,KAAMoU,GAEV5D,KAAMA,EACNqE,QAASA,EACTJ,UAAWA,EACXW,SAAUL,KAEThb,MAAK,SAAC0T,GACH7B,GAAY,MAEf7F,OAAM,SAACjL,GAAD,OAAOmB,QAAQC,IAAIpB,QAgNlB,QAOA,0BAAQyH,UAAW,yBACX6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAnM1BxG,GAAuBrB,GAClBtE,MAAK,SAAC0T,GACH7H,UA+LI,qBASJ,uBAAKrD,UAAW,mBAEZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,aACA,0BAAQ9H,GAAG,aAAakE,UAAU,eAAeoC,MAAOyP,EAAWtV,UAAW6M,EACtE/G,SAAU,SAAC9J,GAAD,OAAOuZ,EAAavZ,EAAE+J,OAAOF,SAC3C,0BAAQvJ,IAAK,OAAb,yBAFJ,OAIQ8Y,QAJR,IAIQA,OAJR,EAIQA,EAAO1R,KAAI,SAACM,GAAD,OACP,0BAAQ1H,IAAK0H,EAAE9C,KAAM2E,MAAO7B,EAAE9C,MAAO8C,EAAElE,SAAW,KAAOkE,EAAEnE,gBAK3E,uBAAK4D,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,EACzEhH,MAAO6L,EAAM5L,SAAU,SAAC9J,GAAD,OAAO6Z,EAAQ7Z,EAAE+J,OAAOF,WAE1D,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,cACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,EACzEhH,MAAO8P,EACP7P,SAAU,SAAC9J,GAAD,OAAO8Z,EAAa9Z,EAAE+J,OAAOF,WAElD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,YACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAW6M,EACzEhH,MAAOkQ,EACPjQ,SAAU,SAAC9J,GAAD,OAAOga,EAAWha,EAAE+J,OAAOF,WAEhD,uBAAKpC,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,UACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBAAsBS,UAAU,EACxE6F,MAAO0J,KAGlB,uBAAK9L,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,gBACA,0BAAQ5D,UAAU,gBAAgBlE,GAAG,qBAC7B2K,UAAU,EACVlK,UAAW6M,EACXjH,aAAW,mCAAmCC,MAAOoQ,GACrDnQ,SAAU,SAAC9J,GAAD,OAAOka,GAAQla,EAAE+J,OAAOF,SACtC,0BAAQA,MAAO,IAAf,aALJ,OAOQoH,SAPR,IAOQA,QAPR,EAOQA,GAAWvJ,KAAI,SAACiL,GAAD,OACX,0BAAQrS,IAAKqS,EAAEzN,KAAM2E,MAAO8I,EAAEzN,MAAOyN,EAAEzP,aAS/D,uBAAKuE,UAAW,mBACZ,sCAEJ,uBAAKA,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,kCAAoC7E,GAC1C,0BAAQiI,OAAmB,cAAX+H,EAAwB9L,UAAW,yBAA0B4B,KAAM,UAAnF,2BAMR,uBAAK5B,UAAW,mBACZ,gBAAC,GAAD,CACI/I,QAAS,CAAC,KAAM,aAAc,WAAY,QAAS,uBAAwB,oBAAqB,WAAY,QAC5GgK,sBAAuB,IAF3B,OAIQ2B,QAJR,IAIQA,OAJR,EAIQA,EAAS3C,KAAI,SAACsD,GAAD,OACT,sBAAI1K,IAAK0K,EAAE9F,MACP,0BACI,gBAAC,IAAD,CAAMkD,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEzH,KAGX,0BAAKyH,EAAEnH,WACP,0BAAKmH,EAAElH,UACP,0BAAKkH,EAAEjH,OACP,0BACI,gBAAC,IAAD,CAAMqE,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEyF,qBAGX,0BAAKzF,EAAEuF,kBACP,0BACI,gBAAC,IAAD,CAAMnI,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAE2F,WAGX,0BACI,uBAAKnF,OAAmB,cAAX+H,GAA0BoH,GAAS3P,EAAGzH,GAAKkE,UAAU,eAC9D,0BAAQA,UAAU,gBAAgBlE,GAAG,qBAC7BqG,aAAW,mCAAmCC,MAAOoQ,GACrDnQ,SAAU,SAAC9J,GAAD,OAAOka,GAAQla,EAAE+J,OAAOF,QAClC7F,UAAU,GAEd,0BAAQ6F,MAAO,IAAf,aALJ,OAOQoH,SAPR,IAOQA,QAPR,EAOQA,GAAWvJ,KAAI,SAACiL,GAAD,OACX,0BAAQrS,IAAKqS,EAAEzN,KAAM2E,MAAO8I,EAAEzN,MAAOyN,EAAEzP,UAKnD,uBAAKuE,UAAU,sBAEX,0BAAQzD,SAAmB,KAATiW,GAAaxS,UAAU,yBACjC4B,KAAK,SACLC,QAAS,SAACtJ,GACNA,EAAEoL,iBApRxC,SAACJ,QACFlL,IAATma,IAA+B,KAATA,SAA2Bna,IAAZ6R,IAAqC,KAAZA,IAE9DrP,EAAeqP,GAAS,CACpBsB,SAAU,CACN/N,KAAM+U,IAEV/G,OAAQ,CAAC,CACLhQ,KAAM,WACN2G,MAAOmB,EAAEnH,UAAY,IAAMmH,EAAElH,UAC9B,CACCZ,KAAM,YACN2G,MAAOmB,EAAEnH,WACV,CACCX,KAAM,WACN2G,MAAOmB,EAAElH,UACV,CACCZ,KAAM,KACN2G,MAAOmB,EAAEzH,IACV,CACCL,KAAM,QACN2G,MAAOmB,EAAEjH,OACV,CACCb,KAAM,MACN2G,MAAOmB,EAAES,sBACV,CACCvI,KAAM,sBACN2G,MAAOmB,EAAE6C,qBACV,CACC3K,KAAM,uBACN2G,MAAOmB,EAAE4C,sBACV,CACC1K,KAAM,cACN2G,MAAOmB,EAAE8C,aACV,CACC5K,KAAM,YACN2G,MAAOmB,EAAE+C,iBACV,CACC7K,KAAM,eACN2G,MAAOmB,EAAE0C,QAAQlB,cAClB,CACCtJ,KAAM,eACN2G,MAAOmB,EAAE0C,QAAQhB,cAClB,CACCxJ,KAAM,OACN2G,MAAOmB,EAAE0C,QAAQd,MAClB,CACC1J,KAAM,YACN2G,MAAOmB,EAAE0C,QAAQC,OAClB,CACCzK,KAAM,MACN2G,MAAOmB,EAAE0C,QAAQV,KAClB,CACC9J,KAAM,UACN2G,MAAOmB,EAAEiF,QAAU,IACpB,CACC/M,KAAM,iBACN2G,MAAO8B,aAAWqN,GAAUpN,MAAM,sBAAuBZ,EAAEU,sBAAuB,eACnF,CACCxI,KAAM,iBACN2G,MAAO8B,aAAWqN,GAAUpN,MAAM,sBAAuBZ,EAAEU,sBAAuB,UACnF,CACCxI,KAAM,mBACN2G,MAAOmB,EAAEuF,kBACV,CACCrN,KAAM,qBACN2G,MAAOmB,EAAEyF,oBACV,CACCvN,KAAM,WACN2G,MAAOmB,EAAE2F,aAEd1R,MAAK,SAAC+T,GACL,IAAMG,EAAW7D,EAAgB,MAAQqC,GAAU,IAAMqB,EAAE9N,KAC3DjD,EAAe0P,GAASqB,EAAE9N,MACrBjG,MAAK,SAACmU,GACHhN,GAAoB4E,EAAE9F,KAAM,CACxBmE,KAAM,OACNnG,KAAM8P,EAAEC,SAAS/P,KACjBmQ,IAAKF,EACLG,YAAa,cACbC,OAAQ,YACTtU,MAAK,SAACuU,GACLzO,GAAwCxB,EAAIyH,EAAE9F,MAAM,EAAMsO,EAAGtO,MACxDjG,MAAK,SAACyK,GACH,GAAIA,EAAExK,GAAI,CACN4L,KACA,IAAM2I,EAAkBzW,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAQ,cAAgB4N,EAAE9F,KAAO,uBAAyBsO,EAAGtO,KACvIlI,OAAO0W,KAAKP,EAAW,iBAAmBC,EAAElO,KAAO,iBAAmBuO,EAAgB,uBA8LlEoH,CAAU7P,KAJtB,YAQA,0BAAQhH,UAAU,EAAOyD,UAAU,yBAC3B4B,KAAK,SACLC,QAAS,SAACtJ,GApS1C,IAACK,EAqSmCL,EAAEoL,iBArSrC/K,EAsS+C2K,EAAE9F,KArSlEH,GAAwCxB,EAAIlD,GAAU,GACjDpB,MAAK,SAACyK,GACCA,EAAExK,IACF4L,UA8R4B,kBAQA,0BAAQ9G,UAAU,EAAOyD,UAAU,wBAAwB4B,KAAK,SACxDC,QAAS,SAACtJ,GApUvC,IAACK,EAqUgCL,EAAEoL,iBArUlC/K,EAsU+C2K,EAAE9F,KArUrEJ,GAA6BvB,EAAIlD,GAC5BpB,MAAK,SAACyK,GACCA,EAAExK,IACF4L,UA+T4B,yBASR,uBAAKU,OAAmB,cAAX+H,IAA2BoH,GAAS3P,EAAGzH,GAC/CkE,UAAU,eAETiT,GAAU1P,EAAGzH,GACX,0BAAQ8F,KAAM,SAAU5B,UAAW,yBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACFwP,GAAW5P,EAAGzH,KAH1B,aAMA,0BAAQ8F,KAAM,SAAUrF,UAAU,EAC1ByD,UAAW,4BADnB,UAGJ,0BAAQ4B,KAAM,SAAUrF,UAAU,EAC1ByD,UAAW,8BACX6B,QAAS,SAACtJ,GApN3C,IAACK,EAqNoCL,EAAEoL,iBArNtC/K,EAsN2C2K,EAAE9F,KApNzDC,GAAyC5B,EAAIlD,GACxCpB,MAAK,SAACyK,GACCA,EAAExK,IACF4L,UA6MwB,SAQJ,uBAAKU,OAAmB,cAAX+H,GACPmH,GAAU1P,EAAGzH,GACX,0BAAQ8F,KAAM,SAAU5B,UAAW,yBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBACFwP,GAAW5P,EAAGzH,KAH1B,aAMA,0BAAQ8F,KAAM,SAAUrF,UAAU,EAC1ByD,UAAW,4BADnB,YAKZ,iCAQpB,uBAAKA,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,uBACN,0BAAQiB,KAAM,SAAU5B,UAAW,wBAAnC,cChgBpBuC,GAASC,EAAQ,IAwNN6Q,GArN0C,WAEjD,MAA8BjU,qBAA9B,mBAAOwD,EAAP,KAAgBC,EAAhB,KACA,EAAgDzD,mBAAmB,IAAnE,mBAAOkU,EAAP,KAAyBC,EAAzB,KACA,EAAkCnU,mBAAS,IAA3C,mBAAOhD,EAAP,KAAkB0G,EAAlB,KACA,EAAgC1D,mBAAS,IAAzC,mBAAO/C,EAAP,KAAiB0G,EAAjB,KACA,EAA0B3D,mBAAS,IAAnC,mBAAO9C,EAAP,KAAc0G,EAAd,KACA,EAAgC5D,mBAAS,IAAzC,mBAAOxG,EAAP,KAAiBqK,EAAjB,KACA,EAAgC7D,mBAAS,SAAzC,mBAAO7C,EAAP,KACA,GADA,KACoD6C,oBAAS,IAA7D,mBAAOyG,EAAP,KACA,GADA,KAC4CzG,sBAA5C,mBAAO4O,EAAP,KAAuBwF,EAAvB,KACJ,EAAgDpU,mBAAS,IAAzD,mBAAOqU,EAAP,KAAyBC,EAAzB,KAEU3N,EAAUC,cACTlK,EAAMkM,cAANlM,GAyBP,SAAS6X,IACLxX,EAAWvD,EAAUwD,EAAWC,EAAUC,EAAOC,EAAU,IACtD/E,MAAK,SAAC+L,GACHV,EAAWU,GACXpH,EAAW,GAAI,GAAI,GAAI,GAAI,QAASL,GAC/BtE,MAAK,SAAC+L,GACHgQ,EAAoBhQ,MAEvBC,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MAEfkL,SAAQ,kBAAMiQ,EAAoB,UAE1ClQ,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MArCxBgH,qBAAU,WAENvC,GAAkBlB,GACbtE,MAAK,SAAC0T,GACHsI,EAAkBtI,MAErB1H,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,QAErB,IAEHgH,qBAAU,WACFsG,GACAE,EAAQrP,KAAK,CACT+J,SAAU,4BAA8B3E,MAGjD,CAAC+J,EAAoBE,EAASjK,IAEjCyD,qBAAU,WACNoU,MACD,IAqDH,SAASC,EAAkBhb,GACvB,GAAGA,IAAa6a,EACZ,OAAO,wBAAMzT,UAAU,mCAAmCsM,KAAK,SAASnF,cAAY,SAI5F,SAAS0M,EAAUjb,GACf,OA1BJ,SAA2BA,GACvB,GAAI0a,EAAkB,CAClB,IAAIQ,EAASR,EAAiBtR,QAAO,SAAAuB,GAAC,OAAIA,EAAE9F,OAAS7E,KACrD,GAAIkb,GAAUA,EAAOxT,OAAS,EAC1B,OAAO,EAGf,OAAO,EAmBHyT,CAAkBnb,GACX,0BAAQgJ,KAAM,SAAU5B,UAAW,wBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAnB7B,SAAkB/K,GACd8a,EAAoB9a,GACpByE,GAA6BvB,EAAIlD,GAC5BpB,MAAK,SAACyK,GACH0R,OAEHnQ,OAAM,SAAAjL,GAAC,OAAImB,QAAQO,MAAM1B,EAAEa,YAcT4a,CAASpb,KAEvBgb,EAAkBhb,GALhB,UASJ,0BAAQgJ,KAAM,SAAU5B,UAAW,yBAC3B6B,QAAS,SAACtJ,GACNA,EAAEoL,iBAjDX,SAAC/K,GACX8a,EAAoB9a,GACpBwE,GAA0BtB,EAAIlD,GACzBpB,MAAK,SAACyK,GACH0R,OAEHnQ,OAAM,SAACjL,GACJmB,QAAQC,IAAIpB,MA2CD0b,CAAMrb,KAEpBgb,EAAkBhb,GALhB,OAUX,YAA4BP,IAAnB2V,EAAgC,gCACrC,wBAAMtK,SAAU,SAACnL,GACbA,EAAEoL,iBACFgQ,MAEA,uBAAK3T,UAAW,OACZ,uBAAKA,UAAW,mBACZ,8DACQkE,aAAW3B,GAAO4B,MAAM,aAAc6J,EAAeC,MAAO,gBAGxE,uBAAKjO,UAAW,mBACZ,uBAAKA,UAAU,+BACX,uBAAKA,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,MACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,KAAMC,aAAc,eACjC1B,MAAOxJ,EAAUyJ,SAAU,SAAC9J,GAAD,OAAO0K,EAAY1K,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,cACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,aAAcC,aAAc,eACzC1B,MAAOhG,EAAWiG,SAAU,SAAC9J,GAAD,OAAOuK,EAAavK,EAAE+J,OAAOF,WAEpE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,aACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,YAAaC,aAAc,eACxC1B,MAAO/F,EAAUgG,SAAU,SAAC9J,GAAD,OAAOwK,EAAYxK,EAAE+J,OAAOF,WAElE,uBAAKpC,UAAU,iBACX,yBAAOA,UAAU,UAAU4D,QAAQ,uBAAnC,SACA,yBAAOhC,KAAK,OAAO5B,UAAU,eAAelE,GAAG,sBACxC+H,YAAa,QACbC,aAAc,eACd1B,MAAO9F,EAAO+F,SAAU,SAAC9J,GAAD,OAAOyK,EAASzK,EAAE+J,OAAOF,WAE5D,uBAAKpC,UAAU,iBACX,0BAAQ4B,KAAK,SAAS5B,UAAU,mBAAhC,eAOpB,uBAAKA,UAAW,OACZ,uBAAKA,UAAW,mBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,KAAM,aAAc,YAAa,QAAS,MAAO,mBAC3DgK,sBAAuB,KAD9B,OAGQ2B,QAHR,IAGQA,OAHR,EAGQA,EAAS3C,KAAI,SAACsD,GAAD,OACT,sBAAI1K,IAAK0K,EAAE9F,MACP,0BACI,gBAAC,IAAD,CAAMkD,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEzH,KAGX,0BACI,gBAAC,IAAD,CAAM6E,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAEnH,YAGX,0BACI,gBAAC,IAAD,CAAMuE,GAAI,mBAAqB4C,EAAE9F,MAC5B8F,EAAElH,WAGX,0BAAKkH,EAAEjH,OACP,0BAAKiH,EAAES,sBACP,+BAAiC3L,IAA3BkL,EAAEU,qBAAsCC,aAAW3B,GAAO4B,MAAM,sBAAuBZ,EAAEU,sBAAuB,0BAA4B,IAClJ,0BACK4P,EAAUtQ,EAAE9F,aASrC,uBAAKuC,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,4BAA8B7E,GACpC,0BAAQ8F,KAAM,SAAU5B,UAAW,uBAAnC,YAQV,kCC7LCkU,GArBwC,WACnD,IAAKvY,EAAQuV,cAARvV,KACL,OAAQ,gCACJ,gBAAC,IAAD,KAEI,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,GACf,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,QACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,aACtB,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,mBACtB,gBAAC,GAAD,UCmCDwY,GArD8B,WAEzC,MAA0B/U,qBAA1B,mBAAOuS,EAAP,KAAcC,EAAd,KAcA,OAZArS,qBAAU,WACNqS,EAAS,CAAC,CACNtb,SAAU,oBACV8F,UAAW,OACXC,SAAU,KACViQ,KAAM,CACF7Q,KAAM,SAEVgC,KAAM,WAEX,IAEK,gCACJ,uBAAKuC,UAAW,OACZ,uBAAKA,UAAW,mBACZ,oCAEJ,uBAAKA,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,gBACN,0BAAQX,UAAW,mBAAnB,cAIR,uBAAKA,UAAW,kBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,QAAS,QACnBgK,sBAAuB,IAD9B,OAGQ0Q,QAHR,IAGQA,OAHR,EAGQA,EAAO1R,KAAI,SAACiL,GAAD,OACP,sBAAIrS,IAAKqS,EAAEzN,MACP,0BACKyN,EAAE5U,UAEP,0BACK4U,EAAEoB,KAAK7Q,MAEZ,0BACI,0BAAQmG,KAAM,SAAU5B,UAAW,yBAAnC,qBCErBoU,GA7C0B,WACrC,OAAQ,gCACJ,uBAAKpU,UAAW,OACZ,uBAAKA,UAAW,mBACZ,uCAEJ,4BACI,uBAAKA,UAAW,mBAEZ,uBAAKA,UAAU,+BAEX,uBAAKA,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,SACA,yBAAOhC,KAAK,QAAQ5B,UAAU,eAAelE,GAAG,yBAEpD,uBAAKkE,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,YACA,yBAAOhC,KAAK,WAAW5B,UAAU,eAAelE,GAAG,yBAEvD,uBAAKkE,UAAU,iBACX,yBAAO4D,QAAQ,eAAf,QACA,0BAAQ9H,GAAG,aAAakE,UAAU,gBAC9B,0BAAQqU,UAAQ,GAAhB,aACA,uCACA,+CAMhB,uBAAKrU,UAAW,mBACZ,gBAAC,IAAD,CAAMW,GAAI,YACN,0BAAQiB,KAAM,SAAU5B,UAAW,uBAAnC,WAIJ,0BAAQ4B,KAAM,SAAU5B,UAAW,mBAAnC,iBClBLsU,GAf8B,WACzC,IAAK3Y,EAAQuV,cAARvV,KACL,OAAQ,gCACJ,gBAAC,IAAD,KAEI,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,GACf,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAMA,EAAO,QACtB,gBAAC,GAAD,UCyDD4Y,GAlEkC,WAE7C,IAAI1M,EAAiBtS,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SACtC,mBAA7BF,OAAOC,SAASC,WAChBoS,EAAgB,8BAEa,cAA7BtS,OAAOC,SAASC,WAChBoS,EAAgB,yBAGa,4BAA7BtS,OAAOC,SAASC,UAAuE,uBAA7BF,OAAOC,SAASC,WAC1EoS,EAAgB,oCAGpB,MAAkCzI,mBAAqB,IAAvD,mBAAOoK,EAAP,KAAkBC,EAAlB,KACA,EAA8BrK,qBAA9B,mBAAO8K,EAAP,KAAgBC,EAAhB,KAsBA,OAnBA5K,qBAAU,WACNtE,IACKzD,MAAK,SAACwT,GACHb,EAAWa,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,SAG9D,IAEH8D,qBAAU,gBACUlH,IAAZ6R,GACAtP,EAAasP,EAAQzM,MAChBjG,MAAK,SAAC0T,GACHzB,EAAayB,QAI1B,CAAChB,IAGI,gCACJ,uBAAKlK,UAAW,OACZ,uBAAKA,UAAW,mBACZ,iDAEJ,uBAAKA,UAAW,kBACZ,gBAAC,GAAD,CAAO/I,QAAS,CAAC,QACVgK,sBAAuB,IAD9B,OAGQuI,QAHR,IAGQA,OAHR,EAGQA,EAAWvJ,KAAI,SAACiL,GAAD,OACX,sBAAIrS,IAAKqS,EAAEzN,MACP,0BACI,qBAAG+W,IAAI,sBACJnI,KAAMxE,EAAgB,cAAhB,OAA+BqC,QAA/B,IAA+BA,OAA/B,EAA+BA,EAASzM,MAAO,IAAMyN,EAAEzN,KAC7D6E,OAAQ,UACN4I,EAAEzP,OAGX,oCC0EjBgZ,GAzHuC,WAElD,IAAK9Y,EAAQuV,cAARvV,KAED+Y,EAAwB,GACxBC,EAFWxV,cAESsB,SACpBkU,EAASjU,WAAW,QACpBgU,EAAcC,EAASC,QAAQ,MAAO,IAAI/H,MAAM,MAGpD,IAAM9G,EAAUC,cAEhB,EAAoC5G,oBAAS,GAA7C,mBAAOyV,EAAP,KAAmBC,EAAnB,KACA,EAA8C1V,oBAAS,GAAvD,mBAAO2V,EAAP,KAAwBC,EAAxB,KACA,EAAwD5V,oBAAS,GAAjE,mBAAO6V,EAAP,KAA6BC,EAA7B,KAmCA,OAvBA3V,qBAAU,WACF0V,GACAlP,EAAQrP,KAAK,CACT+J,SzBtCgB,sByByCzB,CAACwU,EAAsBlP,IAE1BxG,qBAAU,WACNxG,IAAiBvB,MAAK,SAAAc,GAClBwc,GAAc,GAnBlB3Z,IACK3D,MAAK,SAAA2d,GAAS,IAAD,EACNA,EAAKC,UAAW,UAAAD,EAAKC,eAAL,eAAc9U,QAAS,GACvC4U,GAAwB,MAG/B1R,OAAM,SAAAjL,GAAC,OAAImB,QAAQC,IAAIpB,SAezBiL,OAAM,SAAAjL,GAAC,OAAIyc,GAAmB,QAClC,CAACL,EAAU5O,IAEdxG,qBAAU,WACFwV,GACAhP,EAAQrP,KAAK,CACT+J,SzBpDc,eyBuDvB,CAACsU,EAAiBhP,IAEd8O,EACH,gCACI,uBAAK7U,UAAU,mEAEX,gBAAC,IAAD,CAAMA,UAAU,2CACVW,GzBhEK,cyB+DX,cAKA,0BAAQX,UAAU,uDAAuD4B,KAAK,SACtEyT,cAAY,WAAWC,cAAY,eAAeC,gBAAc,cAChEC,gBAAc,QAAQrT,aAAW,qBACrC,wBAAMnC,UAAU,yBAEpB,yBAAOA,UAAU,uCAAuC4B,KAAK,OAAOiC,YAAY,SACzE1B,aAAW,WAClB,sBAAInC,UAAU,mBACV,sBAAIA,UAAU,wBACV,gBAAC,IAAD,CAAMA,UAAU,WAAWW,GzB1EpB,ayB0EP,eAKZ,uBAAKX,UAAU,mBACX,uBAAKA,UAAU,OACX,gBAAC,GAAD,MAEA,wBAAMsM,KAAK,OAAOtM,UAAU,yCAExB,uBAAKmC,aAAW,cACZ,sBAAInC,UAAU,cACV,sBAAInH,IAAK,UAAWmH,UAAU,mBAAkB,gBAAC,IAAD,CAAMW,GAAI,KAAV,SAE5C+T,EAAYzU,KAAI,SAAAtI,GAAC,OACb,sBAAIkB,IAAK,MAAQlB,EAAGqI,UAAU,mBAAkB,gBAAC,IAAD,CAAMW,GAAI,KAAMhJ,SAKhF,uBACIqI,UAAU,4GAId,gBAAC,IAAD,KAEI,gBAAC,IAAD,CAAOrE,KAAMA,EAAO,YAChB,gBAAC,GAAD,OAGJ,gBAAC,IAAD,CAAOA,KAAMA,EAAO,qBAChB,gBAAC,GAAD,OAGJ,gBAAC,IAAD,CAAOA,KAAMA,EAAO,UAChB,gBAAC,GAAD,OAGJ,gBAAC,IAAD,CAAOA,KAAMA,EAAO,cAChB,gBAAC,GAAD,YASvB,kCClCM8Z,GAzFwB,WAEnC,MAAgCrW,mBAAS,IAAzC,mBAAO9I,EAAP,KAAiBof,EAAjB,KACA,EAAgCtW,mBAAS,IAAzC,mBAAO3G,EAAP,KAAiBkd,EAAjB,KACA,EAA8BvW,oBAAS,GAAvC,mBAAOsD,EAAP,KAAgBC,EAAhB,KACA,EAA8BvD,mBAAS,IAAvC,mBAAOhG,EAAP,KAAgBwc,EAAhB,KACM7P,EAAUC,cAEV2O,EADWxV,cACSsB,SAE1B,EAAwDrB,oBAAS,GAAjE,mBAAO6V,EAAP,KAA6BC,EAA7B,KAGA3V,qBAAU,WACF0V,GACAlP,EAAQrP,KAAK,CACT+J,S1BnBgB,sB0BsBzB,CAACwU,EAAsBlP,IAE1BxG,qBAAU,WACNxG,IAAiBvB,MAAK,SAAAoY,GAClBsF,GAAwB,MACzB1R,OAAM,SAAAjL,GACLmB,QAAQC,IAAIpB,QAEjB,CAACoc,EAAU5O,IAiBd,OACI,gCACI,uBAAK/F,UAAW,kBACZ,uBAAKA,UAAW,sCACZ,uBAAK6V,IAAK,OAAQC,IAAK,0CAE3B,uBAAK9V,UAAW,iCACZ,6CAEJ,wBAAM0D,SAvBD,SAACqS,GACdA,EAAMpS,iBACNhB,GAAW,GACXiT,EAAW,IACX1f,IACAsC,EAAOlC,EAAUmC,GACZjB,MAAK,SAAA4K,GACFjM,aAAayB,Q1B9CM,Y0B8CuBtB,GAC1C4e,GAAwB,MACzB1R,OAAM,SAACwS,GACVJ,EAAW,mDACZnS,SAAQ,kBAAMd,GAAW,QAahB,uBAAK3C,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,yBAAO4B,KAAK,OAAO5B,UAAU,eAAelE,GAAG,WACxC+H,YAAa,WAAYzB,MAAO9L,EAAUmQ,UAAU,EACpDpE,SAAU,SAAA9J,GAAC,OAAImd,EAAYnd,EAAE+J,OAAOF,YAGnD,uBAAKpC,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,yBAAO4B,KAAK,WAAW5B,UAAU,eAAelE,GAAG,WAC5C+H,YAAa,WAAY4C,UAAU,EAAMrE,MAAO3J,EAChD4J,SAAU,SAAA9J,GAAC,OAAIod,EAAYpd,EAAE+J,OAAOF,YAInD,uBAAKpC,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,0BAAQzD,SAAUmG,EAASd,KAAK,SAAS5B,UAAU,6BAAnD,aAKR,uBAAKA,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,uBAAK+D,QAAU3K,EAAU4G,UAAU,qBAAqBsM,KAAK,SACxDlT,SC/DlB6c,GAjByB,WAGpC,IACMlQ,EAAUC,cAShB,OARAzG,qBAAU,WAEFrJ,IACA6P,EAAQrP,KAAK,CACT+J,S3BVc,e2BaxB,EATiB,EASJsF,IACP,kCCkFGmQ,GA3FkC,WAE7C,MAA4B9W,mBAAmB,IAA/C,mBAAKgW,EAAL,KAAce,EAAd,KACA,EAAoD/W,oBAAS,GAA7D,mBAAKgX,EAAL,KAA0BC,EAA1B,KACA,EAAgDjX,oBAAS,GAAzD,mBAAKkX,EAAL,KAAwBC,EAAxB,KACMxQ,EAAUC,cAEV2O,EADWxV,cACSsB,SAG1BlB,qBAAU,WACNxG,IAAiBvB,MAAK,SAAAc,OACnBkL,OAAM,SAAAjL,GACLge,GAAqB,QAE1B,CAAC5B,EAAU5O,IAEdxG,qBAAU,WACF6W,GACArQ,EAAQrP,KAAK,CACT+J,S5B3BW,iB4B8BpB,CAAC2V,EAAqBrQ,IAEzBxG,qBAAU,WACF+W,GACAvQ,EAAQrP,KAAK,CACT+J,S5BjCc,e4BoCvB,CAAC6V,EAAmBvQ,IAEvBxG,qBAAU,WAENpE,IACK3D,MAAK,SAAA2d,GAAS,IAAD,EACNA,EAAKC,UAAW,UAAAD,EAAKC,eAAL,eAAc9U,QAAS,EACvC6V,EAAWhB,EAAKC,SAEhBiB,GAAuB,MAG9B7S,OAAM,SAAAjL,GAAC,OAAImB,QAAQC,IAAIpB,QAC7B,IAGH,IAAMie,EAAgB,SAACjgB,GACnB,OAAQA,GACJ,IAAK,8BACD,MAAO,yBACX,IAAK,aACD,MAAO,gBACX,QACI,MAAO,KAKnB,OAAU6e,EAA6B,gCACnC,uBAAKpV,UAAW,8BACZ,uBAAKA,UAAW,sCACZ,uBAAK6V,IAAK,OAAQC,IAAK,0CAE3B,uBAAK9V,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,sBAAIA,UAAU,8BAAd,kCACA,iFAGR,uBAAKA,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,uBAAKA,UAAU,cAEPoV,EAAQnV,KAAI,SAAA0G,GAAC,OACT,gBAAC,IAAD,CAAMhG,GAAI6V,EAAc7P,EAAEpQ,OACtB,0BAAQsC,IAAK8N,EAAEpQ,KAAMqL,KAAK,SAClB5B,UAAU,0CACb2G,EAAEkF,sBAnBlB,+CCJV4K,GA3DqC,WAEhD,MAA4BrX,mBAAmB,IAA/C,mBAAKgW,EAAL,KAAce,EAAd,KACA,EAAoD/W,oBAAS,GAA7D,mBAAKgX,EAAL,KAA0BC,EAA1B,KACA,EAAgDjX,oBAAS,GAAzD,mBAAKkX,EAAL,KAAwBC,EAAxB,KACMxQ,EAAUC,cAEV2O,EADWxV,cACSsB,SAsC1B,OApCAlB,qBAAU,WACNxG,IAAiBvB,MAAK,SAAAc,OACnBkL,OAAM,SAAAjL,GACLge,GAAqB,QAE1B,CAAC5B,EAAU5O,IAEdxG,qBAAU,WACF6W,GACArQ,EAAQrP,KAAK,CACT+J,S7BtBW,iB6ByBpB,CAAC2V,EAAqBrQ,IAEzBxG,qBAAU,WACF+W,GACAvQ,EAAQrP,KAAK,CACT+J,S7B5Bc,e6B+BvB,CAAC6V,EAAmBvQ,IAEvBxG,qBAAU,WACNpE,IACK3D,MAAK,SAAA2d,GAAS,IAAD,EACNA,EAAKC,UAAW,UAAAD,EAAKC,eAAL,eAAc9U,QAAS,EACvC6V,EAAWhB,EAAKC,SAEhBiB,GAAuB,MAG9B7S,OAAM,SAAAjL,GAAC,OAAImB,QAAQC,IAAIpB,QAC7B,IAGO6c,EAA6B,gCACnC,uBAAKpV,UAAW,8BACZ,uBAAKA,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,sBAAIA,UAAU,8BAAd,qCACA,gHALK,+CC4DV0W,GAxG4B,WAEvC,MAAgCtX,mBAAS,IAAzC,mBAAO9I,EAAP,KAAiBof,EAAjB,KACA,EAAwBtW,mBAAS,IAAjC,mBAAO7I,EAAP,KAAaogB,EAAb,KACA,EAA8BvX,oBAAS,GAAvC,mBAAOsD,EAAP,KAAgBC,EAAhB,KACA,EAA8BvD,mBAAS,IAAvC,mBAAOhG,EAAP,KACA,GADA,KACkDgG,oBAAS,IAA3D,mBAAOkX,EAAP,KAA0BC,EAA1B,KACMxQ,EAAUC,cAEhB,EAAwD5G,oBAAS,GAAjE,mBAAO6V,EAAP,KAA6BC,EAA7B,KAGA3V,qBAAU,WACN,IAAMjJ,EAAWH,aAAagB,Q9BtBH,a8BuB3Bue,EAAYpf,GAAY,MACzB,IAEHiJ,qBAAU,WACF0V,GACAlP,EAAQrP,KAAK,CACT+J,S9BvBgB,sB8B0BzB,CAACwU,EAAsBlP,IA2B1B,OARAxG,qBAAU,WACF+W,GACAvQ,EAAQrP,KAAK,CACT+J,S9B/Cc,e8BkDvB,CAAC6V,EAAmBvQ,IAGnB,gCACI,uBAAK/F,UAAW,kBACZ,uBAAKA,UAAW,sCACZ,uBAAK6V,IAAK,OAAQC,IAAK,0CAE3B,uBAAK9V,UAAW,sCACZ,wEAAgD1J,IAEpD,wBAAMoN,SAjCD,SAACqS,GACdA,EAAMpS,iBACNhB,GAAW,GACXtM,EAAWC,EAAUC,GAChBiB,MAAK,SAACof,GACH1B,GAAwB,MACzB1R,OAAM,SAACjL,GACVmB,QAAQC,IAAIpB,MACbkL,SAAQ,kBAAMd,GAAW,QA0BhB,uBAAK3C,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,yBAAOzD,UAAU,EAAMqF,KAAK,OAAO5B,UAAU,eAAelE,GAAG,WACxD+H,YAAa,WAAYzB,MAAO9L,EAAUmQ,UAAU,EACpDpE,SAAU,SAAA9J,GAAC,OAAImd,EAAYnd,EAAE+J,OAAOF,YAGnD,uBAAKpC,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,yBAAO4B,KAAK,OAAO5B,UAAU,eAAelE,GAAG,OACxC+H,YAAa,OAAQ4C,UAAU,EAAMrE,MAAO7L,EAC5C8L,SAAU,SAAA9J,GAAC,OAAIoe,EAAQpe,EAAE+J,OAAOF,YAI/C,uBAAKpC,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,0BAAQzD,SAAUmG,EAASd,KAAK,SAAS5B,UAAU,6BAAnD,YAKR,uBAAKA,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,0BAAQzD,SAAUmG,EAASb,QAAS,WA9CxD3L,IACAqgB,GAAqB,IA+CE3U,KAAK,SAAS5B,UAAU,4BAF3B,YAOR,uBAAKA,UAAW,iCACZ,uBAAKA,UAAW,iBACZ,uBAAK+D,QAAU3K,EAAU4G,UAAU,qBAAqBsM,KAAK,SACxDlT,SC3ElByd,GAnBgC,WAC3C,IAAKlb,EAAQuV,cAARvV,KACL,OAAQ,gBAAC,WAAD,KACJ,gBAAC,IAAD,KACI,gBAAC,IAAD,CAAOwV,OAAO,EAAMxV,KAAMA,EAAO,SAAUmb,UAAWrB,KACtD,gBAAC,IAAD,CAAOtE,OAAO,EAAMxV,KAAMA,EAAO,UAAWmb,UAAWb,KACvD,gBAAC,IAAD,CAAO9E,OAAO,EAAMxV,KAAMA,EAAO,wBAC7B,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAO,EAAMxV,KAAMA,EAAO,iBAC7B,gBAAC,GAAD,OAEJ,gBAAC,IAAD,CAAOwV,OAAO,EAAMxV,KAAMA,EAAO,eAC7B,gBAAC,GAAD,UCeDob,GA9BsC,WACjD,MAA8C3X,oBAAS,GAAvD,mBAAO2V,EAAP,KAAwBC,EAAxB,KACA,EAAwD5V,oBAAS,GAAjE,mBAAO6V,EAAP,KAA6BC,EAA7B,KACMnP,EAAUC,cAsBhB,OArBAzG,qBAAU,WACNxG,IAAiBvB,MAAK,SAAAc,GAClB4c,GAAwB,MACzB1R,OAAM,SAAAjL,GAAC,OAAIyc,GAAmB,QAClC,CAACjP,IAEJxG,qBAAU,WACF0V,GACAlP,EAAQrP,KAAK,CACT+J,ShCdgB,sBgCiBzB,CAACwU,EAAsBlP,IAE1BxG,qBAAU,WACFwV,GACAhP,EAAQrP,KAAK,CACT+J,ShCrBc,egCwBvB,CAACsU,EAAiBhP,IACb,kCCkBGiR,GA3CyB,WAEpC,IAAO5c,EAAc4N,cAAd5N,WACP,EAAgCgF,qBAAhC,mBAAOtE,EAAP,KAAiBmc,EAAjB,KACA,EAA8B7X,oBAAS,GAAvC,mBAAOsD,EAAP,KAAgBC,EAAhB,KAaA,OAXApD,qBAAU,gBACalH,IAAf+B,IACAuI,GAAW,GACX9G,EAAkBzB,GACb5C,MAAK,SAAC0f,GACHD,EAAYC,MAEfzT,SAAQ,kBAAMd,GAAW,SAEnC,IAEMD,EAAW,0DAA8B,uCAE1C5H,QAF0C,IAE1CA,OAF0C,EAE1CA,EAAUqc,MAAMlX,KAAI,SAAC0G,GAAD,OAChB,uBAAK9N,IAAK,KAAO8N,EAAEyQ,OAAQvQ,MAAO,CAACwQ,OAAQ,iBAAkBC,aAAc,KAC3E,uBAAMtX,UAAW,mBACZ6G,MAAO,CAAC0Q,SAAU,WAAYC,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,SAErD9Q,EAAE8E,OAAOxL,KAAI,SAACN,GAAD,OACT,uBAAK9G,IAAK,KAAO8G,EAAE7D,GACd+K,MAAO,CAAC4F,SAAU,GAAI8K,SAAU,WAAYG,IAAK/X,EAAEgY,EAAGC,KAAMjY,EAAEkY,SACjDxf,IAAZsH,EAAEyC,OAAuBzC,EAAEyC,MAAM1B,WAAW,cAC1C,uBAAKoV,IAAKnW,EAAEyC,QACVzC,EAAEyC,UAKpB,uBAAK0T,IAAKnP,EAAEmR,UAAWN,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,gB,4BCsDtDM,GAnFoD,SAACpR,GAEhE,IAAMqR,EAAYC,iBAA0B,MACtCC,EAAaD,iBAA6B,MAgDhD,OA7CA1Y,qBAAU,WACDyY,EAAUG,SAGfxR,EAAE7L,SAASsd,QAAQzR,EAAE5F,MAAMvJ,MAAK,SAACuJ,GAC7B,IAEMsX,EAA0BtX,EAAKuX,OAC/BC,EAAUhjB,OAAOijB,iBACjBC,EAHQ,IAGgBF,EACxBG,EAAW3X,EAAK4X,YAAY,CAACC,MAAOH,EAAeJ,aACnDQ,EAAWb,EAAUG,QAC3B,GAAKU,EAAL,CAIA,IAAMC,EAAgBD,EAASE,WAAW,MACrCD,IAILD,EAAShS,MAAM2Q,MAAf,UAA0BkB,EAASlB,MAAQe,EAA3C,MACAM,EAAShS,MAAM4Q,OAAf,UAA2BiB,EAASjB,OAASc,EAA7C,MACAM,EAASpB,OAASiB,EAASjB,OAC3BoB,EAASrB,MAAQkB,EAASlB,MAEtBU,EAAWC,QACXD,EAAWC,QAAQa,UAIvBd,EAAWC,QAAUpX,EAAKkY,OAAO,CAC7BH,gBACAJ,aAGJR,EAAWC,QAAQe,QAAQ1hB,MAAK,eAC7BgM,OAAM,SAACjL,GACNmB,QAAQC,IAAIpB,cAKrB,CAACoO,EAAE7L,SAAU6L,EAAE5F,OAEV,gCACJ,uBAAKf,UAAW,mBACX6G,MAAO,CAAC0Q,SAAU,aAEf5Q,EAAE8E,OAAOxL,KAAI,SAACN,GAAD,OACT,uBAAK9G,IAAK,KAAO8G,EAAElC,KACdoJ,MAAO,CACH4F,SAAU,GACV8K,SAAU,WACVG,IAAK/X,EAAEgY,EACPC,KAAMjY,EAAEkY,EACRJ,OAAQ9X,EAAE8X,OACVD,MAAO7X,EAAE6X,QAGE,cAAX7X,EAAEiC,MAAmC,YAAXjC,EAAEiC,KACvB,uBAAKkU,IAAKnW,EAAEyC,MAAOyT,IAAK,MAAO4B,OAAQ9X,EAAE8X,OAAQD,MAAO7X,EAAE6X,QAC9C,aAAX7X,EAAEiC,KACY,YAAZjC,EAAEyC,MAAuB,IAAM,GAC9BzC,EAAEyC,UAK5B,0BAAQ+W,IAAKnB,EACLnR,MAAO,CAACuS,QAAS,EAAGC,OAAQ,EAAGC,YAAa,WAGxD,uBAAKtZ,UAAU,gBC/CRuZ,GAjC6D,SAAC5S,GAEzE,MAAwBvH,mBAAS,GAAjC,mBAAO2B,EAAP,KACA,GADA,KAC0C3B,sBAA1C,mBAAOoa,EAAP,KAAsBC,EAAtB,KACMzB,EAAYC,iBAA0B,MAG5C,EAA+ByB,aAAO,CAClCre,KAAMsL,EAAEgT,GAAGnO,SAASI,IACpB7K,OACAiX,YACAY,MAAO,IACPgB,sBAAuB,SAAC9e,GACpB2e,EAAiB3e,MAInB+e,GAVN,EAAOC,YAAP,EAAoBC,QAUH,IACjB,QAAiB1hB,IAAbyC,eAA4CzC,IAAlBmhB,EAC1B,IADwD,IAAD,WAC9C7X,GACL,IAAM8J,EAAS9E,EAAEgT,GAAGlO,OAAOzJ,QAAO,SAACrC,GAAD,OAAOA,EAAEoB,OAASY,KACpDkY,EAASnjB,KAAK,uBAAKmC,IAAKW,KAAKwgB,SAAS,KAClC,gBAAC,GAAD,CAAejZ,KAAMY,EAAG7G,SAAU0e,EAAe/N,OAAQA,OAHxD9J,EAAI,EAAGA,IAAC,OAAI6X,QAAJ,IAAIA,OAAJ,EAAIA,EAAeS,UAAUtY,IAAM,EAA3CA,GASb,OAAQ,gCACHkY,ICqPMK,GA7QmC,WAAO,IAAD,EAC7CthB,EAAYoP,cAAZpP,SACP,EAA4BwG,qBAA5B,mBAAOkQ,EAAP,KAAeC,EAAf,KACA,EAA4CnQ,mBAA0B,IAAtE,mBAAO+a,EAAP,KAAuBC,EAAvB,KACA,EAA8Chb,mBAA2B,IAAzE,mBAAOwK,EAAP,KAAwBC,EAAxB,KACA,EAAsCzK,mBAAuB,IAA7D,mBAAO0K,EAAP,KAAoBC,EAApB,KACA,EAAwC3K,mBAAmB,IAA3D,mBAAOib,EAAP,KAAqBC,EAArB,KAoGA,OAjGA/a,qBAAU,WACN9C,EAAU7D,GACLpB,MAAK,SAAC+L,GACHgM,EAAUhM,GACVwG,EAAexG,EAAEuG,aAAe,SAKzC,IAEHvK,qBAAU,gBACSlH,IAAXiX,IACArU,IACKzD,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GAClD,OAAN6T,QAAM,IAANA,KAAQ5F,UAAUhK,SAAQ,SAAC6L,GACvB,GAA6B,WAAzBA,EAAE3J,KAAKsK,cAGP,IACIxQ,EAAQ6P,EAAEK,KACLpU,MAAK,SAACyK,GACH,GAAIA,EAAExK,GACF,OAAOwK,EAAE8K,UAGhBvV,MAAK,SAACuV,GAAD,OAAU,IAAI9T,SAAQ,SAAAshB,GACxB,QAAaliB,IAAT0U,EAAoB,CACpB,IAAIyN,EAAS,IAAIC,WACjBD,EAAOE,OAAS,WACZ,IAAIC,EAAUC,KAAK9G,OAAS,QACdzb,IAAVkT,EAAEK,KAAqBL,EAAEK,IAAIM,cAAc2O,SAAS,SACpDV,EAAezjB,KAAK,CAChB+E,KAAM8P,EAAE9P,KACRgQ,OAAQ,GACRK,OAAQP,EAAEO,OACVN,SAAU,CACN/P,KAAM8P,EAAE9P,KACRmQ,IAAK+O,EACLlP,OAAQ,MAGhB2O,EAAkB,aAAID,MAEtBE,EAAa3jB,KAAKikB,GAClBL,EAAgB,aAAID,MAG5BG,EAAOM,cAAc/N,UAG5BvJ,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,MAElC,MAAOA,IAKb,GAA6B,SAAzBgT,EAAE3J,KAAKsK,eAAqD,SAAzBX,EAAE3J,KAAKsK,cAA0B,CACpE,IACM6O,EADYxP,EAAEK,IAAIe,UAAUpB,EAAEK,IAAIgB,QAAQ,QAAQC,MAAM,KAC7B,GACjCrS,EAAe0P,EAAQzM,KAAMsd,GACxBvjB,MAAK,SAACmU,GACHxR,EAAiB4gB,EAAgB7Q,EAAQzM,KAAMkO,EAAElO,MAC5CjG,MAAK,SAACmiB,GACHQ,EAAezjB,KAAKijB,GACpBS,EAAkB,aAAID,OAGzB3W,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,SAEnCiL,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,aAI3CiL,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,MAIhC+W,EAAO1F,gBAAgBlK,SAAQ,SAACwX,GAC5Brb,EAAkBqb,EAAGpb,IAChBtE,MAAK,SAAC0f,GACHtN,EAAgBlT,KAAKwgB,GACrBrN,EAAmB,aAAID,OAE1BpG,OAAM,SAACjL,GAAD,OAAOmB,QAAQO,MAAM1B,YAIzC,CAAC+W,IAEJ/P,qBAAU,cAEP,CAAC4a,SAGgB9hB,IAAXiX,EAAwB,iDAAqB,gCAClD,uBAAKtP,UAAW,mBAAoB6G,MAAO,CAAC2Q,MAAO,SAC/C,gDACA,wCACO,OAANlI,QAAM,IAANA,OAAA,EAAAA,EAAQlT,WAAY,KAApB,OAA0BkT,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAQjT,UACnC,uCAJJ,OAKKiT,QALL,IAKKA,OALL,EAKKA,EAAQxT,GACT,qCANJ,OAOKwT,QAPL,IAOKA,OAPL,EAOKA,EAAQ9G,QACT,sCARJ,OASK8G,QATL,IASKA,OATL,EASKA,EAAQpG,SACT,kDAVJ,OAWKoG,QAXL,IAWKA,OAXL,EAWKA,EAAQtG,mBACT,+CAZJ,OAaKsG,QAbL,IAaKA,OAbL,EAaKA,EAAQxG,iBACT,mCAdJ,OAeKwG,QAfL,IAeKA,OAfL,EAeKA,EAAQhT,MACT,2CAhBJ,OAiBKgT,QAjBL,IAiBKA,OAjBL,EAiBKA,EAAQjJ,YACT,yDAlBJ,OAmBKiJ,QAnBL,IAmBKA,OAnBL,EAmBKA,EAAQrL,qBACT,oDApBJ,OAqBKqL,QArBL,IAqBKA,OArBL,EAqBKA,EAAQnJ,qBACT,mDAtBJ,OAuBKmJ,QAvBL,IAuBKA,OAvBL,EAuBKA,EAAQlJ,oBACT,6CAxBJ,OAyBKkJ,QAzBL,IAyBKA,OAzBL,EAyBKA,EAAQtL,qBACT,uCA1BJ,OA2BKsL,QA3BL,IA2BKA,OA3BL,EA2BKA,EAAQhJ,gBACT,sCACO,OAANgJ,QAAM,IAANA,GAAA,UAAAA,EAAQrJ,eAAR,eAAiBlB,cAAe,KAAhC,OAAsCuK,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAQrJ,QAAQhB,cAAe,KAArE,OAA2EqK,QAA3E,IAA2EA,OAA3E,EAA2EA,EAAQrJ,QAAQd,MAAO,KAAlG,OAAwGmK,QAAxG,IAAwGA,OAAxG,EAAwGA,EAAQrJ,QAAQC,OAAQ,KAAhI,OAAsIoJ,QAAtI,IAAsIA,OAAtI,EAAsIA,EAAQrJ,QAAQV,KACvJ,mCA9BJ,OA+BK+J,QA/BL,IA+BKA,OA/BL,EA+BKA,EAAQhT,MACT,8CAhCJ,OAiCKgT,QAjCL,IAiCKA,OAjCL,EAiCKA,EAAQ/I,gBACT,gDAlCJ,OAmCK+I,QAnCL,IAmCKA,OAnCL,EAmCKA,EAAQ9I,gBACT,0CACA,6BACI,6BACA,0BACI,kCACA,kCACA,oCACA,2CAGJ,oCACC8I,QADD,IACCA,OADD,EACCA,EAAQ5G,aAAazI,KAAI,SAACiL,GAAD,OACtB,sBAAIrS,IAAK,KAAOqS,EAAEzN,MACd,0BAAKyN,EAAEkB,WACP,0BAAKlB,EAAEtJ,MACP,0BAAKsJ,EAAEiB,QACP,0BAAKjB,EAAEW,mBAKnB,wDACA,6BACI,6BACA,0BACI,kCACA,wCAGJ,oCACCyD,QADD,IACCA,OADD,EACCA,EAAQ1G,YAAY3I,KAAI,SAACzJ,EAAGuL,GAAJ,OACrB,sBAAIlJ,IAAK,MAAQkJ,GACb,0BAAKvL,EAAEwX,eAAeC,MACtB,0BAAKzX,EAAEgH,SAAW,MAAQ,aAM1C,uBAAKwC,UAAU,cAEX8J,EAAY7J,KAAI,SAACuS,GAAD,OACZ,gCACI,qBAAG3Z,IAAK,MAAQ2Z,EAAK1W,GAAIkE,UAAW,IAChC,kCACA,uCAFJ,OAGKwS,QAHL,IAGKA,OAHL,EAGKA,EAAM5Z,SAAS,2BAChB,2CAJJ,OAKK4Z,QALL,IAKKA,OALL,EAKKA,EAAM5E,aAAa,2BACpB,mCANJ,OAOK4E,QAPL,IAOKA,OAPL,EAOKA,EAAMwI,MAAM,2BACb,kCACA,uBAAKnU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMA,MACjC,2BACA,6CACA,uBAAK3L,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMyI,gBACjC,2BACA,0CAdJ,OAeKzI,QAfL,IAeKA,OAfL,EAeKA,EAAM1E,YAAY,2BACnB,0CAhBJ,OAiBK0E,QAjBL,IAiBKA,OAjBL,EAiBKA,EAAM0I,YAAY,2BACnB,2CACA,uBAAKrU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM2I,cACjC,2BACA,8CACA,uBAAKtU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM4I,iBACjC,2BACA,8CACA,uBAAKvU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM6I,iBACjC,2BACA,6CACA,uBAAKxU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM8I,gBACjC,4BAEJ,uBAAKtb,UAAU,kBAMvBma,EAAela,KAAI,SAACsL,GAAD,OACf,gCACI,gBAAC,GAAD,CAAmBoO,GAAIpO,QAK/B3B,EAAgB3J,KAAI,SAACiX,GAAD,OAChB,uBAAKre,IAAK,MAAQqe,EAAGpb,IAArB,OAEQob,QAFR,IAEQA,OAFR,EAEQA,EAAIC,MAAMlX,KAAI,SAAC0G,GAAD,OACV,uBAAK9N,IAAK,KAAO8N,EAAEyQ,QACf,uBAAKpX,UAAW,mBACX6G,MAAO,CAAC0Q,SAAU,WAAYC,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,SAErD9Q,EAAE8E,OAAOxL,KAAI,SAACN,GAAD,OACT,uBAAK9G,IAAK,KAAO8G,EAAE7D,GACd+K,MAAO,CACH4F,SAAU,GACV8K,SAAU,WACVG,IAAK/X,EAAEgY,EACPC,KAAMjY,EAAEkY,IACPlY,EAAEyC,OAASzC,EAAEyC,MAAM1B,WAAW,cAAiB,uBAAKoV,IAAKnW,EAAEyC,QAAUzC,EAAEyC,UAIzF,uBAAK0T,IAAKnP,EAAEmR,UAAWN,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,UAErD,uBAAKzX,UAAU,sBAQnCqa,EAAapa,KAAI,SAAC0B,GAAD,OACb,gCACI,uBAAKkU,IAAK,SAAUC,IAAKnU,IACzB,uBAAK3B,UAAU,oBCdpBub,I,OAtPyC,WAAO,IAAD,EACnD3iB,EAAYoP,cAAZpP,SACP,EAA4BwG,qBAA5B,mBAAOkQ,EAAP,KAAeC,EAAf,KACA,EAA4CnQ,mBAA0B,IAAtE,mBAAO+a,EAAP,KAAuBC,EAAvB,KACA,EAA8Chb,mBAA2B,IAAzE,mBAAOwK,EAAP,KAAwBC,EAAxB,KACA,EAAwCzK,mBAAmB,IAA3D,mBAAOib,EAAP,KAAqBC,EAArB,KACA,EAAsClb,qBAAtC,mBAAOpG,EAAP,KAAoBwiB,EAApB,KACA,EAAsCpc,oBAAS,GAA/C,mBAAOqc,EAAP,KAAoBC,EAApB,KACA,EAAgCtc,qBAAhC,mBAAOuc,EAAP,KAAiBC,EAAjB,KACA,EAAwCxc,qBAAxC,mBAAOyc,EAAP,KAAqBC,EAArB,KACMtmB,EAAW2J,cAEXtG,EADc,IAAI6X,gBAAgBlb,EAASmb,QACxBE,IAAI,QAAU,GAEvCtR,qBAAU,gBACUlH,IAAbsjB,GACChjB,EAAiBC,EAAUC,EAAK8iB,GAC3BnkB,MAAK,SAACof,GACH4E,EAAe5E,EAAE/e,iBAClB2L,OAAM,SAACjL,GACVmjB,GAAe,QAGxB,CAACC,IAEJpc,qBAAU,gBACclH,IAAhBW,GACA2D,EAAgB/D,EAAUI,GACrBxB,MAAK,SAAC+L,GACHgM,EAAUhM,QAGvB,CAACvK,IAEJuG,qBAAU,gBACSlH,IAAXiX,IACApU,EAAuBlC,GAClBxB,MAAK,SAACwT,GACH,IAAId,EAAUc,EAAGhJ,QAAO,SAAC2E,GAAD,MAAkB,eAAXA,EAAElL,QAAuB,GAClD,OAAN6T,QAAM,IAANA,KAAQ5F,UAAUhK,SAAQ,SAAC6L,GACvB,GAA6B,WAAzBA,EAAE3J,KAAKsK,cAGP,IACItQ,EAAc2P,EAAEK,IAAK5S,GAChBxB,MAAK,SAACyK,GACH,GAAIA,EAAExK,GACF,OAAOwK,EAAE8K,UAGhBvV,MAAK,SAACuV,GAAD,OAAU,IAAI9T,SAAQ,SAAAshB,GACxB,QAAaliB,IAAT0U,EAAoB,CACpB,IAAIyN,EAAS,IAAIC,WACjBD,EAAOE,OAAS,WACZ,IAAIC,EAAUC,KAAK9G,OAAS,QACdzb,IAAVkT,EAAEK,KAAqBL,EAAEK,IAAIM,cAAc2O,SAAS,SACpDV,EAAezjB,KAAK,CAChB+E,KAAM8P,EAAE9P,KACRgQ,OAAQ,GACRK,OAAQP,EAAEO,OACVN,SAAU,CACN/P,KAAM8P,EAAE9P,KACRmQ,IAAK+O,EACLlP,OAAQ,MAGhB2O,EAAkB,aAAID,MAEtBE,EAAa3jB,KAAKikB,GAClBL,EAAgB,aAAID,MAG5BG,EAAOM,cAAc/N,UAInC,MAAOxU,IAKb,GAA6B,SAAzBgT,EAAE3J,KAAKsK,eAAqD,SAAzBX,EAAE3J,KAAKsK,cAA0B,CACpE,IACM6O,EADYxP,EAAEK,IAAIe,UAAUpB,EAAEK,IAAIgB,QAAQ,QAAQC,MAAM,KAC7B,GACjClS,EAAqBuP,EAAQzM,KAAMsd,EAAgB/hB,GAC9CxB,MAAK,SAACmU,GACHxR,EAAiB4gB,EAAgB7Q,EAAQzM,KAAMkO,EAAElO,MAC5CjG,MAAK,SAACmiB,GACHQ,EAAezjB,KAAKijB,GACpBS,EAAkB,aAAID,iBAUtD7K,EAAO1F,gBAAgBlK,SAAQ,SAACwX,GAC5Blb,EAAwBkb,EAAGpb,GAAI9C,GAC1BxB,MAAK,SAAC0f,GACHtN,EAAgBlT,KAAKwgB,GACrBrN,EAAmB,aAAID,aAKxC,CAAC0F,IAOJ,YAAqBjX,IAAbsjB,EAA0B,gCAC1B,wBAAMjY,SANG,SAACnL,GACdA,EAAEoL,iBACFiY,EAAYC,KAKJ,uEACA,yBAAOE,UAAW,EAAGlY,YAAa,OAAQjC,KAAM,OAAQQ,MAAOyZ,EAAcxZ,SAAU,SAAC9J,GACpFujB,EAAgBvjB,EAAE+J,OAAOF,UAE7B,0BAAQR,KAAM,UAAd,iBAGKvJ,IAAXiX,EACGmM,EAAe,2DAA+B,iDAC7C,gCACE,uBAAKzb,UAAW,mBAAoB6G,MAAO,CAAC2Q,MAAO,OAAQC,OAAQ,OAC/D,gDACA,wCACO,OAANnI,QAAM,IAANA,OAAA,EAAAA,EAAQlT,WAAY,KAApB,OAA0BkT,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAQjT,UACnC,uCAJJ,OAKKiT,QALL,IAKKA,OALL,EAKKA,EAAQxT,GACT,qCANJ,OAOKwT,QAPL,IAOKA,OAPL,EAOKA,EAAQ9G,QACT,sCARJ,OASK8G,QATL,IASKA,OATL,EASKA,EAAQpG,SACT,kDAVJ,OAWKoG,QAXL,IAWKA,OAXL,EAWKA,EAAQtG,mBACT,+CAZJ,OAaKsG,QAbL,IAaKA,OAbL,EAaKA,EAAQxG,iBACT,mCAdJ,OAeKwG,QAfL,IAeKA,OAfL,EAeKA,EAAQhT,MACT,2CAhBJ,OAiBKgT,QAjBL,IAiBKA,OAjBL,EAiBKA,EAAQjJ,YACT,yDAlBJ,OAmBKiJ,QAnBL,IAmBKA,OAnBL,EAmBKA,EAAQrL,qBACT,oDApBJ,OAqBKqL,QArBL,IAqBKA,OArBL,EAqBKA,EAAQnJ,qBACT,mDAtBJ,OAuBKmJ,QAvBL,IAuBKA,OAvBL,EAuBKA,EAAQlJ,oBACT,6CAxBJ,OAyBKkJ,QAzBL,IAyBKA,OAzBL,EAyBKA,EAAQtL,qBACT,uCA1BJ,OA2BKsL,QA3BL,IA2BKA,OA3BL,EA2BKA,EAAQhJ,gBACT,sCACO,OAANgJ,QAAM,IAANA,GAAA,UAAAA,EAAQrJ,eAAR,eAAiBlB,cAAe,KAAhC,OAAsCuK,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAQrJ,QAAQhB,cAAe,KAArE,OAA2EqK,QAA3E,IAA2EA,OAA3E,EAA2EA,EAAQrJ,QAAQd,MAAO,KAAlG,OAAwGmK,QAAxG,IAAwGA,OAAxG,EAAwGA,EAAQrJ,QAAQC,OAAQ,KAAhI,OAAsIoJ,QAAtI,IAAsIA,OAAtI,EAAsIA,EAAQrJ,QAAQV,KACvJ,mCA9BJ,OA+BK+J,QA/BL,IA+BKA,OA/BL,EA+BKA,EAAQhT,MACT,0CACA,6BACI,6BACA,0BACI,kCACA,kCACA,oCACA,2CAGJ,oCACCgT,QADD,IACCA,OADD,EACCA,EAAQ5G,aAAazI,KAAI,SAACiL,GAAD,OACtB,sBAAIrS,IAAK,KAAOqS,EAAEzN,MACd,0BAAKyN,EAAEkB,WACP,0BAAKlB,EAAEtJ,MACP,0BAAKsJ,EAAEiB,QACP,0BAAKjB,EAAEW,mBAKnB,wDACA,6BACI,6BACA,0BACI,kCACA,wCAGJ,oCACCyD,QADD,IACCA,OADD,EACCA,EAAQ1G,YAAY3I,KAAI,SAACzJ,EAAGuL,GAAJ,OACrB,sBAAIlJ,IAAK,MAAQkJ,GACb,0BAAKvL,EAAEwX,eAAeC,MACtB,0BAAKzX,EAAEgH,SAAW,MAAQ,aAM1C,uBAAKwC,UAAU,cAEXma,EAAela,KAAI,SAACsL,GAAD,OACf,gCACI,gBAAC,GAAD,CAAmBoO,GAAIpO,QAK/B3B,EAAgB3J,KAAI,SAACiX,GAAD,OAChB,uBAAKre,IAAK,MAAQqe,EAAGpb,IAArB,OAEQob,QAFR,IAEQA,OAFR,EAEQA,EAAIC,MAAMlX,KAAI,SAAC0G,GAAD,OACV,uBAAK9N,IAAK,KAAO8N,EAAEyQ,QACf,uBAAKpX,UAAW,mBACX6G,MAAO,CAAC0Q,SAAU,WAAYC,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,SAErD9Q,EAAE8E,OAAOxL,KAAI,SAACN,GAAD,OACT,uBAAK9G,IAAK,KAAO8G,EAAE7D,GACd+K,MAAO,CACH4F,SAAU,GACV8K,SAAU,WACVG,IAAK/X,EAAEgY,EACPC,KAAMjY,EAAEkY,IACRlY,EAAEyC,UAInB,uBAAK0T,IAAKnP,EAAEmR,UAAWN,MAAO7Q,EAAE6Q,MAAOC,OAAQ9Q,EAAE8Q,UAErD,uBAAKzX,UAAU,sBAQnCqa,EAAapa,KAAI,SAAC0B,GAAD,OACb,gCACI,uBAAKkU,IAAK,SAAUC,IAAKnU,IACzB,uBAAK3B,UAAU,qBC1M5Bgc,I,OA/C6B,WAExC,IAAOC,EAAUjU,cAAViU,OACP,EAAwB7c,qBAAxB,mBAAOoT,EAAP,KAAaC,EAAb,KACA,EAA8BrT,oBAAS,GAAvC,mBAAOsD,EAAP,KAAgBC,EAAhB,KAaA,OAXApD,qBAAU,gBACSlH,IAAX4jB,IACAtZ,GAAW,GACX5G,EAAckgB,GACTzkB,MAAK,SAAC0f,GACHzE,EAAQyE,MAEXzT,SAAQ,kBAAMd,GAAW,SAEnC,IAEMD,EAAW,sDAA0B,gCAE1C,yCACA,qBAAG1C,UAAW,QACV,uCADJ,OAEKwS,QAFL,IAEKA,OAFL,EAEKA,EAAM5Z,SAAS,2BAChB,2CAHJ,OAIK4Z,QAJL,IAIKA,OAJL,EAIKA,EAAM5E,aAAa,2BACpB,mCALJ,OAMK4E,QANL,IAMKA,OANL,EAMKA,EAAMwI,MAAM,2BACb,kCACA,uBAAKnU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMA,MAAW,2BAC5C,6CACA,uBAAK3L,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAMyI,gBAAqB,2BACtD,0CAXJ,OAYKzI,QAZL,IAYKA,OAZL,EAYKA,EAAM1E,YAAY,2BACnB,0CAbJ,OAcK0E,QAdL,IAcKA,OAdL,EAcKA,EAAM0I,YAAY,2BACnB,2CACA,uBAAKrU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM2I,cAAmB,2BACpD,8CACA,uBAAKtU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM4I,iBAAsB,2BACvD,8CACA,uBAAKvU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM6I,iBAAsB,2BACvD,6CACA,uBAAKxU,MAAO,CAAC2Q,MAAO,MAApB,OAA2BhF,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAM8I,gBAAqB,+BCWnDY,GAtD8B,WAEzC,MAA6BlU,cAAtBpP,EAAP,EAAOA,SAAUwF,EAAjB,EAAiBA,SACjB,EAA4BgB,mBAAS,IAArC,mBAAO+M,EAAP,KAAegC,EAAf,KACA,EAAkC/O,mBAAS,IAA3C,mBAAOgN,EAAP,KAAkBgC,EAAlB,KACA,EAAsChP,mBAAS,IAA/C,mBAAOyM,EAAP,KAAoBwC,EAApB,KACA,EAA4BjP,qBAA5B,mBAAOkQ,EAAP,KAAeC,EAAf,KAEMlM,EAAOC,uBAAY,WACrBnF,GAAUvF,EAAUwF,GACf5G,MAAK,SAAC+L,GACH4K,EAAU,GAAK5K,EAAE4I,QACjBiC,EAAa7K,EAAEiL,YACfH,EAAe9K,EAAEsI,gBAGzBpP,EAAU7D,GACLpB,MAAK,SAAC+L,GACHgM,EAAUhM,QAEnB,CAAC3K,EAAUwF,IAOd,OALAmB,qBAAU,WACN8D,MACD,CAACA,IAGG,gCACH,4CAEA,qCACA,mCACiB,OAANiM,QAAM,IAANA,OAAA,EAAAA,EAAQlT,WAAY,KAApB,OAA0BkT,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAQjT,UAAS,2BADtD,iBAEYiT,QAFZ,IAEYA,OAFZ,EAEYA,EAAQhT,MAAM,2BAF1B,YAGa,2BAHb,OAIKgT,QAJL,IAIKA,OAJL,EAIKA,EAAQrJ,QAAQlB,aAAa,2BAC9B,wBAAMhB,SAAQ,OAACuL,QAAD,IAACA,OAAD,EAACA,EAAQrJ,QAAQhB,eAA/B,OAA8CqK,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAQrJ,QAAQhB,aAAa,4BAL/E,OAMKqK,QANL,IAMKA,OANL,EAMKA,EAAQrJ,QAAQd,KANrB,WAM4BmK,QAN5B,IAM4BA,OAN5B,EAM4BA,EAAQrJ,QAAQC,MAN5C,WAMoDoJ,QANpD,IAMoDA,OANpD,EAMoDA,EAAQrJ,QAAQV,IAAI,4BAExE,sCACA,sCACc,2BADd,sBAEuB,2BAFvB,qBAKA,iDACA,kCACW6G,EAAU,2BADrB,YAEcD,EAAO,2BAFrB,gBAGkBN,EAAY,8BCWvBsQ,GA5D+B,WAE1C,MAA8BnU,cAAvBpP,EAAP,EAAOA,SAAU4F,EAAjB,EAAiBA,UACjB,EAA8BY,qBAA9B,mBAAOgd,EAAP,KAAgBC,EAAhB,KACA,EAA4Bjd,qBAA5B,mBAAOkQ,EAAP,KAAeC,EAAf,KAEMlM,EAAOC,uBAAY,WACrB7E,GAAW7F,EAAU4F,GAChBhH,MAAK,SAACmP,GACH0V,EAAW1V,MAGnBlK,EAAU7D,GACLpB,MAAK,SAAC+L,GACHgM,EAAUhM,QAEnB,CAAC3K,EAAU4F,IAEde,qBAAU,WACN8D,MACD,CAACA,IAQJ,OAAO,gCACH,6CAEA,uCACA,mCACiB,OAANiM,QAAM,IAANA,OAAA,EAAAA,EAAQlT,WAAY,KAApB,OAA0BkT,QAA1B,IAA0BA,OAA1B,EAA0BA,EAAQjT,UAAS,2BADtD,iBAEYiT,QAFZ,IAEYA,OAFZ,EAEYA,EAAQhT,MAAM,2BAF1B,YAGa,2BAHb,OAIKgT,QAJL,IAIKA,OAJL,EAIKA,EAAQrJ,QAAQlB,aAAa,2BAC9B,wBAAMhB,SAAQ,OAACuL,QAAD,IAACA,OAAD,EAACA,EAAQrJ,QAAQhB,eAA/B,OAA8CqK,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAQrJ,QAAQhB,aAAa,4BAL/E,OAMKqK,QANL,IAMKA,OANL,EAMKA,EAAQrJ,QAAQd,KANrB,WAM4BmK,QAN5B,IAM4BA,OAN5B,EAM4BA,EAAQrJ,QAAQC,MAN5C,WAMoDoJ,QANpD,IAMoDA,OANpD,EAMoDA,EAAQrJ,QAAQV,IAAI,4BAExE,qCACA,sCACc,2BADd,sBAEuB,2BAFvB,qBAKA,iDACA,yCACW6W,QADX,IACWA,OADX,EACWA,EAASjM,YAAY,2BADhC,mBAEciM,QAFd,IAEcA,OAFd,EAEcA,EAASjQ,OAAO,2BAF9B,uBAGkBiQ,QAHlB,IAGkBA,OAHlB,EAGkBA,EAASvQ,YAAY,2BAHvC,kBAIauQ,QAJb,IAIaA,OAJb,EAIaA,EAAStQ,OAAO,2BAJ7B,kBAKasQ,QALb,IAKaA,OALb,EAKaA,EAAS9kB,OAAO,2BACzB,wBAAMyM,OAA4B,iBAAb,OAAPqY,QAAO,IAAPA,OAAA,EAAAA,EAAS9kB,SAAvB,mBA/BgB,WACuD,IAAD,MAA1E,IAAU,OAAP8kB,QAAO,IAAPA,OAAA,EAAAA,EAAS5M,aAAc4M,EAAQ5M,WAAWS,iBAAiB3P,OAAS,EACnE,cAAO8b,QAAP,IAAOA,GAAP,UAAOA,EAAS5M,kBAAhB,aAAO,EAAqBS,iBAAiBtD,WAAiB,OAAPyP,QAAO,IAAPA,GAAA,UAAAA,EAAS5M,kBAAT,eAAqBS,iBAAiB3P,QAAO,EAA7F,OAAgG8b,QAAhG,IAAgGA,GAAhG,UAAgGA,EAAS5M,kBAAzG,aAAgG,EAAqBS,iBAAiB3P,QA8BxHgc,GAAkB,+BCdpCC,GA3C4C,WACvD,MAAgDvU,cAAzC5N,EAAP,EAAOA,WAAYoiB,EAAnB,EAAmBA,MAAOniB,EAA1B,EAA0BA,UAAWoiB,EAArC,EAAqCA,QAEjC5U,EAAiBtS,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASC,SACtC,mBAA7BF,OAAOC,SAASC,WAChBoS,EAAgB,8BAEa,cAA7BtS,OAAOC,SAASC,WAChBoS,EAAgB,oBAGa,4BAA7BtS,OAAOC,SAASC,UAAuE,uBAA7BF,OAAOC,SAASC,WAC1EoS,EAAgB,oCASpB,OAAO,gCACH,uBAAK7H,UAAW,aACZ,uBAAKA,UAAW,OACZ,uBAAKA,UAAW,8BACZ,uBAAKA,UAAU,sCACX,uBAAK6V,IAAI,OAAOC,IAAI,0CAOxB,0BAAQ9V,UAAW,uBAAwB4B,KAAM,SAAUC,QAAS,WAjB5EzH,GAAcoiB,GAASniB,IACvB9E,OAAOC,SAAS6W,KAAOxE,EAAgB,MAAQxN,EAAY,IAAMD,EAAa,iBAAmBoiB,EAC7F,iBAAmBjnB,OAAOC,SAASE,SAAW,KAAOH,OAAOC,SAASG,KAAO,wBAA0B8mB,KAelG,+BCuBLC,GAvD+C,WAE1D,MAAuC1U,cAAhC5N,EAAP,EAAOA,WACP,GADA,EAAmBoiB,MAAnB,EAA0BniB,UACA+E,mBAAS,KAAnC,mBAAOnF,EAAP,KAAcuW,EAAd,KACA,EAAkCpR,oBAAS,GAA3C,mBAAOud,EAAP,KAAkBC,EAAlB,KACA,EAAkCxd,oBAAS,GAA3C,mBAAOyd,EAAP,KAAkBC,EAAlB,KAEAvd,qBAAU,WACN7F,QAAQC,IAAI,KACRS,IACAV,QAAQC,IAAI,KACZijB,GAAa,GACb9d,GAAyB1E,GACpB5C,MAAK,SAACyK,GACHvI,QAAQC,IAAI,KACRsI,EAAExK,GACFqlB,GAAa,GAEbtM,EAAS,8BAGhBhN,OAAM,SAACjL,GACJmB,QAAQO,MAAM1B,GACdiY,EAAS,8BAEZ/M,SAAQ,kBAAMmZ,GAAa,SAErC,CAACxiB,IAcJ,OAAO,gCACH,uBAAK4F,UAAW,aACZ,uBAAKA,UAAW,OACZ,uBAAKA,UAAW,8BACZ,uBAAKA,UAAU,sCACX,uBAAK6V,IAAI,OAAOC,IAAI,0CAExB,0BAlBR7b,EACO,0BAAKA,GAEZ0iB,EACO,yCAENA,GAAaE,EACP,gFADX,QCiBOE,OA1Cf,WACI,OACI,kBAAC,IAAD,KACI,kBAAC,IAAD,KACI,kBAAC,IAAD,CAAO5L,OAAK,EAACxV,KAAM,sBACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAM,mCACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAM,yBACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAM,0BACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAM,kDACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOwV,OAAK,EAACxV,KAAM,oDACf,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOA,KAAM,gFACT,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOA,KAAM,oCACT,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOA,KAAM,MACT,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOA,KAAM,MACT,kBAAC,GAAD,OAEJ,kBAAC,IAAD,CAAOA,KAAM,KACT,kBAAC,GAAD,UCvCAqhB,QACW,cAA7BznB,OAAOC,SAASC,UAEe,UAA7BF,OAAOC,SAASC,UAEhBF,OAAOC,SAASC,SAASoa,MACvB,2DCTNoN,IAAShE,OACP,kBAAC,IAAMiE,WAAP,KACE,kBAAC,GAAD,OAEFpiB,SAASqiB,eAAe,SD8HpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrB9lB,MAAK,SAAA+lB,GACJA,EAAaC,gBAEdha,OAAM,SAAAvJ,GACLP,QAAQO,MAAMA,EAAMb,c","file":"static/js/main.46153d4d.chunk.js","sourcesContent":["export const AUTH_USER_EMAIL_KEY = 'app.email';\nexport const AUTH_USER_ID_KEY = 'app.user.id';\nexport const AUTH_USER_EMAIL_CONFIRMED_KEY = 'app.email_confirmed';\nexport const AUTH_SESSION = 'app.session.id';\nexport const APP_PORTFOLIO_ID = 'app.portfolio.id';\nexport const APP_LANDING = '/m/clients';\nexport const APP_ACTION_ITEMS = '/a/action-items';\nexport const APP_LOGIN_PATH = '/a/login';\nexport const APP_LOGOUT_PATH = '/a/logout';\nexport const APP_CONFIRM_EMAIL_PATH = '/a/confirm-email';\nexport const APP_RESET_PASSWORD_PATH = '/a/reset-password';\n\nexport type EsignDocument = {\n template: EsignTemplate,\n fields: EsignField[],\n name: string,\n status: string\n}\n\n\nexport type EsignTemplate = {\n url: string,\n fields: EsignField[],\n name: string\n}\n\nexport type EsignField = {\n id: string,\n name: string,\n type: string,\n x: number,\n y: number,\n width: number,\n height?: number,\n page: number,\n value: string,\n disabled: boolean,\n backgroundColor:string,\n border:string,\n required: boolean,\n _uuid?:string,\n uuid:string,\n isDeleted?: boolean,\n tabIndex: number,\n fontSize: string\n}\n\nexport type Field = {\n id: string,\n name: string,\n type: string,\n x: number,\n y: number,\n width: number,\n page: number,\n value: string,\n disabled: boolean\n}\n\nexport type FileShare = {\n uuid: string\n}\n\nexport type Client = {\n id: string,\n uuid: string,\n documents: ClientDocument[],\n legacyDocuments: LegacyDocument[],\n legacyNotes: LegacyNote[],\n address: {\n addressLine1: string,\n addressLine2: string,\n city: string,\n state: string,\n zip: string,\n uuid?: string\n },\n firstName: string,\n lastName: string,\n socialsecurityNumber: string,\n driverslicenseNumber: string,\n driverslicenseState: string,\n dateofBirth: string,\n telephoneNumber: string,\n email: string,\n dateTimeofAssessment: string\n\n totalHoursAttended: string,\n recommendedHours: string,\n absences: string,\n balance: number,\n transactions: Transaction[],\n disabled: boolean,\n attendances: Attendance[],\n payments: Payment[],\n clientDiagnosis: string,\n drugTestDueDate: string\n}\n\nexport type Attendance = {\n attended: boolean,\n signed: boolean,\n signedTimestamp: boolean,\n therapySession: TherapySession,\n document: {\n uuid: string\n }\n}\n\nexport type Transaction = {\n amount: number,\n description: string,\n uuid: string,\n type: string\n createdAt: string\n}\n\nexport type Charge = {\n amount: number,\n description: string,\n uuid: string,\n chargeDate: string\n}\n\nexport type Payment = {\n amount: number,\n description: string,\n uuid: string,\n paymentDate: string\n method: string\n status: string,\n creditCard?: CreditCard\n}\n\nexport type CreditCard = {\n creditCardNumber: string;\n cvv: string;\n expirationMonth: string;\n expirationYear: string;\n zipCode: string;\n uuid: string;\n}\n\nexport type TherapySession = {\n therapist: AppUser,\n clients?: Client[],\n status: string,\n date: string,\n startTime: string,\n endTime: string,\n uuid?: string,\n noteUuid?: string\n}\n\nexport type FormRegex = {\n expression: RegExp,\n helpText: string\n}\n\n\nexport enum BootstrapValidateClass {\n isvalid = \"is-valid\", isinvalid = \"is-invalid\", unvalidated = \"\"\n}\n\n\nexport type FormElementValidation = {\n id: string,\n validate: ValidateElementFunction,\n regex: FormRegex,\n required: boolean\n}\n\n\n\nexport type ValidateElementFunction = (value: string, required: boolean, validation: RegExp) => boolean;\n\nexport const formInputValidate: ValidateElementFunction = (value: string, required: boolean, validation: RegExp): boolean => {\n if (required) {\n if (value && value.match(validation)) {\n return true;\n }\n return false;\n } else {\n if ((value && value.length === 0) || !value) {\n return true;\n }\n if (value && value.match(validation)) {\n return true;\n }\n return false;\n }\n}\n\nexport const formSelectValidate: ValidateElementFunction = (value: string, required: boolean, validation: RegExp): boolean => {\n if (value && value.match(validation)) {\n return true;\n }\n return false;\n}\n\nexport type Role = {\n name: string\n}\n\nexport type Template = {\n url: string,\n uuid: string,\n name: string,\n tag: string\n}\n\nexport type Document = {\n template: Template\n uuid: string,\n}\n\nexport type EsignProfile = {\n name: string,\n uuid: string,\n appLocation: string\n}\n\nexport type ClientDocument = {\n uuid: string,\n name: string,\n type: string,\n url: string,\n description: string,\n status: string,\n createdAt: string\n}\n\nexport type LegacyDocument = {\n name: string,\n id: number,\n createdAt: string,\n pages: LegacyDocumentPage[]\n}\n\nexport type LegacyDocumentPage = {\n number: number,\n width: number,\n height: number,\n imageData: string,\n fields: LegacyDocumentField[]\n}\n\nexport type LegacyDocumentField = {\n id: number,\n name: string,\n formNumber: number,\n page: number,\n x: number,\n y: number,\n fontSize: number,\n value: string,\n type: string\n}\n\nexport type AppUser = {\n username: string,\n firstName: string,\n lastName: string,\n role: Role,\n actions?: Action[],\n uuid: string\n}\n\nexport type Key = {\n uuid: string,\n expireAt: string\n}\n\nexport type Action = {\n code: string,\n description: string\n}\n\nexport type MenuItem = {\n label: string,\n path: string,\n menuItems: MenuItem[],\n icon: string,\n weight: number\n}\n\nexport type Feature = {\n name: string\n}\n\nexport type FileResponse = {\n name: string,\n uuid: string,\n size: number\n}\n\nexport type Deployment = {\n name: string,\n uuid?: string,\n profile: string,\n createdAt?: string\n artifacts: string [],\n container?: Container\n}\n\nexport type Container = {\n Id: string,\n Image: string,\n Command: string,\n Created: string\n Names: string[],\n State: string,\n Status: string,\n Labels: Object,\n Ports: {\n PrivatePort: string,\n Type: string\n }[],\n NetworkSettings: {\n Networks: {\n bridge: {\n NetworkID: string,\n Gateway: string,\n IPAddress: string\n }\n }\n }\n}\n\n\nexport type LegacyNote = {\n id: number,\n clientId: number,\n hours: number,\n note: string,\n additionalNote: string,\n sessionDate: string,\n sessionTime: string,\n sessionTopic: string,\n sessionStatus: string,\n sessionNotes: string,\n sessionProgress: string,\n sessionActivity: string,\n sessionContact: string\n}\n","import {AUTH_SESSION, AUTH_USER_EMAIL_KEY} from \"./types\";\n\nconst coreApiEndpoint = (window.location.hostname === \"localhost\")\n ? (window.location.protocol + '//' + window.location.hostname + \":8090/promises12/api\")\n : (window.location.protocol + '//' + window.location.host + \"/promises12/api\") ;\n\nconst AUTH_ACCESS_TOKEN = \"stackleader.auth.access_token\";\nconst AUTH_REFRESH_TOKEN = \"stackleader.auth.refresh_token\";\nconst AUTH_EXPIRES_IN = \"stackleader.auth.expires_in\";\nconst AUTH_SCOPE = \"stackleader.auth.scope\";\nconst AUTH_TOKEN_TYPE = \"stackleader.auth.token_type\";\nconst AUTH_CLOCK_START = \"stackleader.auth.clock_start\";\n\nconst AUTH_CODE_EXPIRED_TOKEN = \"stackleader.auth.code.expired_token\"\nconst AUTH_NO_SESSION = \"stackleader.auth.no_session\"\n\nenum HttpMethod {\n GET = \"GET\", HEAD = \"HEAD\", POST = \"POST\", PUT = \"PUT\", PATCH = \"PATCH\", DELETE = \"DELETE\", OPTIONS = \"OPTIONS\", TRACE = \"TRACE\"\n}\n\n// function handleResponse(response: Response) {\n// if (response.ok) {\n// return response.json();\n// } else {\n// return response.json().then(function (error) {\n// throw error;\n// });\n// }\n// }\n//\n//\n// function handleNetworkError(error: Error) {\n// throw error;\n// }\n\n// type logout = () => Function;\n\nexport const logout = () => {\n localStorage.removeItem(AUTH_USER_EMAIL_KEY);\n localStorage.removeItem(AUTH_ACCESS_TOKEN);\n localStorage.removeItem(AUTH_REFRESH_TOKEN);\n localStorage.removeItem(AUTH_EXPIRES_IN);\n localStorage.removeItem(AUTH_SCOPE);\n localStorage.removeItem(AUTH_TOKEN_TYPE);\n localStorage.removeItem(AUTH_CLOCK_START);\n}\n\nexport type OAuthSession = {\n access_token: string,\n token_type: string,\n expires_in: string,\n refresh_token: string,\n scope: string,\n session?: string\n}\n\ntype signInCode = (email: string, code: string) => Promise;\n\nexport const signInCode: signInCode = (async (username, code) => {\n\n const formBody = [];\n formBody.push(encodeURIComponent(\"client_id\") + \"=\" + encodeURIComponent(username));\n formBody.push(encodeURIComponent(\"code\") + \"=\" + encodeURIComponent(code));\n formBody.push(encodeURIComponent(\"grant_type\") + \"=\" + encodeURIComponent(\"authorization_code\"));\n formBody.push(encodeURIComponent(\"scope\") + \"=\" + encodeURIComponent(\"/api\"));\n let formBodyText = formBody.join(\"&\");\n\n return fetch(coreApiEndpoint + \"/oauth/token\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + localStorage.getItem(AUTH_ACCESS_TOKEN),\n 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n Pragma: 'no-cache'\n },\n body: formBodyText,\n method: HttpMethod.POST\n })\n .then(function (a) {\n if (a.ok) {\n return a.json().then(function (b: OAuthSession) {\n localStorage.setItem(AUTH_ACCESS_TOKEN, b.access_token);\n localStorage.setItem(AUTH_REFRESH_TOKEN, b.refresh_token);\n localStorage.setItem(AUTH_EXPIRES_IN, b.expires_in);\n localStorage.setItem(AUTH_SCOPE, b.scope);\n localStorage.setItem(AUTH_TOKEN_TYPE, b.token_type);\n localStorage.setItem(AUTH_CLOCK_START, Date.now().toString())\n if(b.session !== undefined) {\n localStorage.setItem(AUTH_SESSION, b.session);\n }\n return b;\n });\n }\n return a.json().then(function (e) {\n throw e;\n });\n });\n});\n\ntype signIn = (email: string, password: string) => Promise;\n\nexport const signIn: signIn = (async (username, password) => {\n\n let sessionId = localStorage.getItem(AUTH_SESSION);\n const formBody = [];\n formBody.push(encodeURIComponent(\"client_id\") + \"=\" + encodeURIComponent(username));\n formBody.push(encodeURIComponent(\"client_secret\") + \"=\" + encodeURIComponent(password));\n formBody.push(encodeURIComponent(\"grant_type\") + \"=\" + encodeURIComponent(\"client_credential\"));\n formBody.push(encodeURIComponent(\"scope\") + \"=\" + encodeURIComponent(\"/api\"));\n if(sessionId !== undefined && sessionId !== null) {\n formBody.push(encodeURIComponent(\"code\") + \"=\" + encodeURIComponent(sessionId));\n }\n let formBodyText = formBody.join(\"&\");\n\n return fetch(coreApiEndpoint + \"/oauth/token\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n Pragma: 'no-cache'\n },\n body: formBodyText,\n method: HttpMethod.POST\n })\n .then(function (a) {\n if (a.ok) {\n return a.json().then(function (b: OAuthSession) {\n localStorage.setItem(AUTH_ACCESS_TOKEN, b.access_token);\n localStorage.setItem(AUTH_REFRESH_TOKEN, b.refresh_token);\n localStorage.setItem(AUTH_EXPIRES_IN, b.expires_in);\n localStorage.setItem(AUTH_SCOPE, b.scope);\n localStorage.setItem(AUTH_TOKEN_TYPE, b.token_type);\n localStorage.setItem(AUTH_CLOCK_START, Date.now().toString())\n return b;\n });\n }\n return a.json().then(function (e) {\n throw e;\n });\n });\n});\n\ntype signInClientFile = (clientId: string, key: string, passcode: string) => Promise;\n\nexport const signInClientFile: signInClientFile = (async (clientId, key, passcode) => {\n\n const formBody = [];\n formBody.push(encodeURIComponent(\"client_id\") + \"=\" + encodeURIComponent(clientId));\n formBody.push(encodeURIComponent(\"client_secret\") + \"=\" + encodeURIComponent(key));\n formBody.push(encodeURIComponent(\"code\") + \"=\" + encodeURIComponent(passcode));\n formBody.push(encodeURIComponent(\"grant_type\") + \"=\" + encodeURIComponent(\"client_credential\"));\n formBody.push(encodeURIComponent(\"scope\") + \"=\" + encodeURIComponent(\"/clients/\"+clientId));\n\n let formBodyText = formBody.join(\"&\");\n\n return fetch(coreApiEndpoint + \"/oauth/token\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n Pragma: 'no-cache'\n },\n body: formBodyText,\n method: HttpMethod.POST\n })\n .then(function (a) {\n if (a.ok) {\n return a.json().then(function (b: OAuthSession) {\n // localStorage.setItem(AUTH_ACCESS_TOKEN, b.access_token);\n // localStorage.setItem(AUTH_REFRESH_TOKEN, b.refresh_token);\n // localStorage.setItem(AUTH_EXPIRES_IN, b.expires_in);\n // localStorage.setItem(AUTH_SCOPE, b.scope);\n // localStorage.setItem(AUTH_TOKEN_TYPE, b.token_type);\n // localStorage.setItem(AUTH_CLOCK_START, Date.now().toString())\n return b;\n });\n }\n return a.json().then(function (e) {\n throw e;\n });\n });\n});\n\n\n//\ntype currentSession = () => Promise;\n\nexport const currentSession: currentSession = (() => {\n const accessToken = localStorage.getItem(AUTH_ACCESS_TOKEN);\n if (!accessToken) {\n return new Promise(function (resolve, reject) {\n reject({\n message: \"session does not exist\",\n code: AUTH_NO_SESSION\n })\n })\n }\n const clockStart = parseInt(localStorage.getItem(AUTH_CLOCK_START) || \"0\");\n const elapsedTime = Math.floor((Date.now() - clockStart) / 1000);\n console.log(\"elapsed time: \" + elapsedTime);\n const expiresIn = parseInt(localStorage.getItem(AUTH_EXPIRES_IN) || \"0\");\n\n const timeRemaining = expiresIn - elapsedTime;\n console.log(\"time remaining: \" + timeRemaining);\n if (timeRemaining > 900) {\n return new Promise(function (resolve, reject) {\n resolve({\n access_token: accessToken,\n refresh_token: localStorage.getItem(AUTH_REFRESH_TOKEN) || \"\",\n expires_in: localStorage.getItem(AUTH_EXPIRES_IN) || \"\",\n scope: localStorage.getItem(AUTH_SCOPE) || \"\",\n token_type: localStorage.getItem(AUTH_TOKEN_TYPE) || \"\"\n })\n }\n );\n } else if (timeRemaining < 900 && timeRemaining > 0) {\n return refreshToken();\n }\n return new Promise(function (resolve, reject) {\n reject({\n message: \"expired token\",\n code: AUTH_CODE_EXPIRED_TOKEN\n })\n });\n\n});\n\nconst refreshToken = () => {\n console.log(\"refreshing token\")\n const formBody = [];\n formBody.push(encodeURIComponent(\"refresh_token\") + \"=\" + encodeURIComponent(localStorage.getItem(AUTH_REFRESH_TOKEN) || \"\"));\n formBody.push(encodeURIComponent(\"grant_type\") + \"=\" + encodeURIComponent(\"refresh_token\"));\n formBody.push(encodeURIComponent(\"scope\") + \"=\" + encodeURIComponent(\"/api\"));\n let formBodyText = formBody.join(\"&\");\n return fetch(coreApiEndpoint + \"/oauth/token\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + localStorage.getItem(AUTH_ACCESS_TOKEN),\n 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',\n Pragma: 'no-cache'\n },\n body: formBodyText,\n method: HttpMethod.POST\n })\n .then(function (a) {\n if (a.ok) {\n return a.json().then(function (b: OAuthSession) {\n localStorage.setItem(AUTH_ACCESS_TOKEN, b.access_token);\n localStorage.setItem(AUTH_REFRESH_TOKEN, b.refresh_token);\n localStorage.setItem(AUTH_EXPIRES_IN, b.expires_in);\n localStorage.setItem(AUTH_SCOPE, b.scope);\n localStorage.setItem(AUTH_TOKEN_TYPE, b.token_type);\n localStorage.setItem(AUTH_CLOCK_START, Date.now().toString())\n return b;\n });\n }\n return a.json().then(function (e) {\n throw e;\n });\n });\n}","import {currentSession} from \"./Auth\";\nimport {\n AppUser,\n Charge,\n Client, ClientDocument,\n Document, EsignDocument,\n EsignProfile,\n Feature, FileResponse, FileShare,\n Key, LegacyDocument, LegacyNote, Payment,\n Template,\n TherapySession\n} from \"./types\";\n\n\nconst coreApiEndpoint = (window.location.hostname === \"localhost\")\n ? (window.location.protocol + '//' + window.location.hostname + \":8090/promises12/api\")\n : (window.location.protocol + '//' + window.location.host + \"/promises12/api\");\n\nlet esignApiEndpoint = (window.location.protocol + '//' + window.location.hostname + \":8088/esign/api\")\nif (window.location.hostname === \"34.201.190.181\") {\n esignApiEndpoint = \"http://34.201.190.181:3005/esign/api\";\n}\n\n\n\nif (window.location.hostname === \"test.promises12data.com\" || window.location.hostname === \"promises12data.com\") {\n esignApiEndpoint = \"https://esign.promises12data.com/esign/api\";\n}\n\nenum HttpMethod {\n GET = \"GET\", HEAD = \"HEAD\", POST = \"POST\", PUT = \"PUT\", PATCH = \"PATCH\", DELETE = \"DELETE\", OPTIONS = \"OPTIONS\", TRACE = \"TRACE\"\n}\n\n// const serialize = (obj: any) => {\n// const str = [];\n// for (const p in obj)\n// if (obj.hasOwnProperty(p)) {\n// if (obj[p] && obj[p].length > 0) {\n// str.push(encodeURIComponent(p) + \"=\" + encodeURIComponent(obj[p]));\n// }\n// }\n// return str.join(\"&\");\n// }\n\nfunction handleResponse(response: Response) {\n if (response.ok) {\n return response.json();\n } else {\n return response.json().then(function (error) {\n throw error;\n });\n }\n}\n\n\nfunction handleNetworkError(error: Error) {\n throw error;\n}\n\n//\n\ntype getEsignDocument = (documentId: string, profileId: string, documentKey: string) => Promise;\n\nexport const getEsignDocument: getEsignDocument = (async (documentId, profileId, documentKey) => {\n\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/documents/\" + documentId + \"?key=\" + documentKey, {\n mode: 'cors',\n headers: {\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\n\n//\n\ntype getDocumentKey = (profileId: string, documentId: string) => Promise;\n\nexport const getDocumentKey: getDocumentKey = (async (profileId, documentId) => {\n const userSession = await currentSession();\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/documents/\" + documentId + \"/keys\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getCustomerDocumentKey = (profileId: string, documentId: string) => Promise;\n\nexport const getCustomerDocumentKey: getCustomerDocumentKey = (async (profileId, documentId) => {\n const userSession = await currentSession();\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/documents/\" + documentId + \"/customer-keys\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getDocumentKeyPublic = (profileId: string, documentId: string, key: string) => Promise;\n\nexport const getDocumentKeyPublic: getDocumentKeyPublic = (async (profileId, documentId, key) => {\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/documents/\" + documentId + \"/keys\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + key,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST\n }).then(handleResponse, handleNetworkError);\n});\n\n\n//\n\ntype getTemplates = (profileId: string) => Promise;\n\nexport const getTemplates: getTemplates = (async (profileId) => {\n const userSession = await currentSession();\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/templates\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\n//\n\ntype CreateDocumentBody = {\n template: {\n uuid: string\n },\n fields?: {\n name: string,\n value: string\n }[]\n}\n\ntype createDocument = (profileId: string, document: CreateDocumentBody) => Promise;\n\nexport const createDocument: createDocument = (async (profileId, document) => {\n const userSession = await currentSession();\n return fetch(esignApiEndpoint + \"/profiles/\" + profileId + \"/documents\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(document)\n }).then(handleResponse, handleNetworkError);\n});\n\n//\n\ntype getEsignProfiles = () => Promise;\n\nexport const getEsignProfiles: getEsignProfiles = (async () => {\n const userSession = await currentSession();\n return fetch(esignApiEndpoint + \"/profiles/me\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n\n});\n\ntype getEsignProfilesPublic = (key: string) => Promise;\n\nexport const getEsignProfilesPublic: getEsignProfilesPublic = (async (key) => {\n return fetch(esignApiEndpoint + \"/profiles/me\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + key,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\n//\n\ntype getUserProfile = () => Promise;\n\nexport const getUserProfile: getUserProfile = (async () => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/users/me\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype uploadFile = (clientId: string, file: File) => Promise;\n\nexport const uploadFile: uploadFile = (async (clientId, file) => {\n const userSession = await currentSession();\n const formData = new FormData();\n formData.append(\n \"file\",\n file,\n file.name\n );\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/files\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token\n },\n method: HttpMethod.POST,\n body: formData\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getFile = (path: string) => Promise;\n\nexport const getFile: getFile = (async (path) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + path, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token\n },\n method: HttpMethod.GET\n });\n});\n\ntype getFilePublic = (path: string, key: string) => Promise;\n\nexport const getFilePublic: getFilePublic = (async (path, key) => {\n return fetch(coreApiEndpoint + path, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + key\n },\n method: HttpMethod.GET\n });\n});\n\ntype getLegacyDocument = (id: number) => Promise;\n\nexport const getLegacyDocument: getLegacyDocument = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/legacy-documents/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getLegacyNote = (id: number) => Promise;\n\nexport const getLegacyNote: getLegacyNote = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/legacy-notes/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getLegacyDocumentPublic = (id: number, key: string) => Promise;\n\nexport const getLegacyDocumentPublic: getLegacyDocumentPublic = (async (id, key) => {\n return fetch(coreApiEndpoint + \"/legacy-documents/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + key,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getUsers = () => Promise;\n\nexport const getUsers: getUsers = (async () => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/users\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getFeatures = () => Promise;\n\nexport const getFeatures: getFeatures = (async () => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/features\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\n\ntype getClients = (clientId: string, firstName: string, lastName: string, email: string, disabled: string, therapySessionId: string) => Promise;\n\nexport const getClients: getClients = (async (clientId, firstName, lastName, email, disabled, therapySessionId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients?id=\" + clientId + \"&firstName=\" + firstName + \"&lastName=\" + lastName\n + \"&email=\" + email + \"&disabled=\" + disabled + \"&therapySessionId=\" + therapySessionId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getClient = (id: string) => Promise;\n\nexport const getClient: getClient = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype createClientShare = (id: string) => Promise;\n\nexport const createClientShare: createClientShare = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + id + \"/share\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getClientPublic = (id: string, key: string) => Promise;\n\nexport const getClientPublic: getClientPublic = (async (id, key) => {\n return fetch(coreApiEndpoint + \"/clients/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + key,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getTherapySessions = (therapistId: string, fromDate: string, toDate: string) => Promise;\n\nexport const getTherapySessions: getTherapySessions = (async (therapistId, fromDate, toDate) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions?therapistId=\" + therapistId + \"&fromDate=\" + fromDate\n + \"&toDate=\" + toDate, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getTherapySession = (id: string) => Promise;\n\nexport const getTherapySession: getTherapySession = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET,\n }).then(handleResponse, handleNetworkError);\n});\n\ntype deleteTherapySession = (id: string) => Promise;\n\nexport const deleteTherapySession: deleteTherapySession = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.DELETE,\n });\n});\n\ntype completeTherapySession = (id: string) => Promise;\n\nexport const completeTherapySession: completeTherapySession = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + id + \"/complete\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST,\n });\n});\n\ntype addClientToTherapySession = (therapySessionId: string, clientId: string) => Promise;\n\nexport const addClientToTherapySession: addClientToTherapySession = (async (therapySessionId, clientId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + therapySessionId + \"/clients/\" + clientId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST,\n });\n});\n\ntype deleteClientToTherapySession = (therapySessionId: string, clientId: string) => Promise;\n\nexport const deleteClientToTherapySession: deleteClientToTherapySession = (async (therapySessionId, clientId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + therapySessionId + \"/clients/\" + clientId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.DELETE,\n });\n});\n\ntype markAttendanceForClientInTherapySession = (therapySessionId: string, clientId: string, attended: boolean, documentId?: string) => Promise;\n\nexport const markAttendanceForClientInTherapySession: markAttendanceForClientInTherapySession = (async (therapySessionId, clientId, attendance, documentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + therapySessionId + \"/clients/\" + clientId + \"/mark-attendance\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify({\n attended: attendance,\n document: {\n uuid: documentId\n }\n })\n });\n});\n\ntype resetAttendanceForClientInTherapySession = (therapySessionId: string, clientId: string) => Promise;\n\nexport const resetAttendanceForClientInTherapySession: resetAttendanceForClientInTherapySession = (async (therapySessionId, clientId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + therapySessionId + \"/clients/\" + clientId + \"/reset-attendance\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST\n });\n});\n\ntype AddTherapySessionBody = {\n therapist: {\n uuid: string\n },\n date: string,\n startTime: string,\n endTime: string,\n noteUuid: string\n}\n\ntype addTherapySessions = (body: AddTherapySessionBody) => Promise;\n\nexport const addTherapySessions: addTherapySessions = (async (body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype updateTherapySessions = (id: string, body: AddTherapySessionBody) => Promise;\n\nexport const updateTherapySessions: updateTherapySessions = (async (id, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/therapy-sessions/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.PUT,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype AddClientBody = {\n address: {\n addressLine1: string,\n addressLine2: string,\n city: string,\n state: string,\n zip: string,\n uuid?: string\n },\n firstName: string,\n lastName: string,\n socialsecurityNumber: string,\n driverslicenseNumber: string,\n driverslicenseState: string,\n dateofBirth: string,\n telephoneNumber: string,\n email: string,\n dateTimeofAssessment: string,\n recommendedHours?: string,\n clientDiagnosis: string,\n drugTestDueDate: string\n}\n\ntype addClient = (body: AddClientBody) => Promise;\n\nexport const addClient: addClient = (async (body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype updateClient = (id: string, body: AddClientBody) => Promise;\n\nexport const updateClient: updateClient = (async (id, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + id, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.PUT,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype disableClient = (id: string) => Promise;\n\nexport const disableClient: disableClient = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + id + \"/disable\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST\n });\n});\n\ntype enableClient = (id: string) => Promise;\n\nexport const enableClient: enableClient = (async (id) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + id + \"/enable\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST\n });\n});\n\ntype AddChargeBody = {\n amount: string,\n description: string,\n chargeDate: string\n}\n\ntype addCharge = (clientId: string, body: AddChargeBody) => Promise;\n\nexport const addCharge: addCharge = (async (clientId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/charges\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getCharge = (clientId: string, chargeId: string) => Promise;\n\nexport const getCharge: getCharge = (async (clientId, chargeId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/charges/\" + chargeId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype deleteCharge = (clientId: string, chargeId: string) => Promise;\n\nexport const deleteCharge: deleteCharge = (async (clientId, chargeId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/charges/\" + chargeId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.DELETE\n });\n});\n\n//\n\ntype AddPaymentBody = {\n amount: string,\n description: string,\n paymentDate: string,\n method: string,\n status: string,\n creditCard?: {\n uuid?: string,\n creditCardNumber?: string,\n cvv?: string,\n expirationMonth?: string,\n expirationYear?: string,\n zipCode?: string\n }\n}\n\ntype addPayment = (clientId: string, body: AddPaymentBody) => Promise;\n\nexport const addPayment: addPayment = (async (clientId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/payments\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype resendPaymentReceipt = (clientId: string, paymentId: string) => Promise;\n\nexport const sendPaymentReceipt: resendPaymentReceipt = (async (clientId, paymentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/payments/\" + paymentId + \"/send-receipt\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n },\n method: HttpMethod.POST,\n });\n});\n\ntype getPayment = (clientId: string, paymentId: string) => Promise;\n\nexport const getPayment: getPayment = (async (clientId, paymentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/payments/\" + paymentId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype deletePayment = (clientId: string, paymentId: string) => Promise;\n\nexport const deletePayment: deletePayment = (async (clientId, paymentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/payments/\" + paymentId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.DELETE\n });\n});\n\ntype AddClientDocumentBody = {\n name: string,\n type: string,\n url: string,\n description: string,\n status: string\n}\n\ntype addDocumentToClient = (clientId: string, body: AddClientDocumentBody) => Promise;\n\nexport const addDocumentToClient: addDocumentToClient = (async (clientId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n }).then(handleResponse, handleNetworkError);\n});\n\ntype getClientDocument = (clientId: string, documentId: string) => Promise;\n\nexport const getClientDocument: getClientDocument = (async (clientId, documentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents/\" + documentId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.GET\n }).then(handleResponse, handleNetworkError);\n});\n\ntype deleteClientDocument = (clientId: string, documentId: string) => Promise;\n\nexport const deleteClientDocument: deleteClientDocument = (async (clientId, documentId) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents/\" + documentId, {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache'\n },\n method: HttpMethod.DELETE\n });\n});\n\ntype completeDocumentOnClient = (documentId: string) => Promise;\n\nexport const completeDocumentOnClient: completeDocumentOnClient = (async (documentId) => {\n //Remove session\n return fetch(coreApiEndpoint + \"/documents/\" + documentId + \"/complete\", {\n mode: 'cors',\n headers: {\n Pragma: 'no-cache'\n },\n method: HttpMethod.POST\n });\n});\n\ntype PendingCustomerDocumentBody = {\n esignProfileId: string,\n esignDocumentKey: string,\n esignDocumentId: string\n}\n\ntype pendingCustomerDocumentOnClient = (clientId: string, documentId: string, body: PendingCustomerDocumentBody) => Promise;\n\nexport const pendingCustomerDocumentOnClient: pendingCustomerDocumentOnClient = (async (clientId, documentId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents/\" + documentId + \"/pending-client-signature\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n });\n});\n\ntype PendingCustomerReminderBody = {\n esignProfileId: string,\n esignDocumentKey: string,\n esignDocumentId: string\n}\n\ntype pendingCustomerDocumentOnClientReminder = (clientId: string, documentId: string, body: PendingCustomerReminderBody) => Promise;\n\nexport const pendingCustomerDocumentOnClientReminder: pendingCustomerDocumentOnClientReminder = (async (clientId, documentId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents/\" + documentId + \"/pending-client-signature-reminder\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n });\n});\n\ntype shareDocumentWithClient = (clientId: string, documentId: string, body: PendingCustomerReminderBody) => Promise;\n\nexport const shareDocumentWithClient: shareDocumentWithClient = (async (clientId, documentId, body) => {\n const userSession = await currentSession();\n return fetch(coreApiEndpoint + \"/clients/\" + clientId + \"/documents/\" + documentId + \"/share-document\", {\n mode: 'cors',\n credentials: 'include',\n headers: {\n Authorization: 'Bearer ' + userSession.access_token,\n Pragma: 'no-cache',\n 'Content-Type': 'application/json'\n },\n method: HttpMethod.POST,\n body: JSON.stringify(body)\n });\n});","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {useLocation} from \"react-router\";\nimport {Link} from \"react-router-dom\";\nimport {MenuItem} from \"../../types\";\nimport {getFeatures} from \"../../api\";\n\nconst Navigation: React.FunctionComponent = () => {\n\n\n let location = useLocation();\n const [menuItems, setMenuItems] = useState([]);\n\n const getMenuItemById = (id: string) => {\n if (id === \"clients\") {\n return {\n label: \"Clients\",\n path: \"/m/clients\",\n weight: 1,\n menuItems: [],\n icon: \"\"\n }\n }\n if (id === \"therapy-sessions\") {\n return {\n label: \"Therapy Sessions\",\n path: \"/m/therapy-sessions\",\n weight: 10,\n menuItems: [],\n icon: \"\"\n }\n }\n if (id === \"users\") {\n return {\n label: \"Users\",\n path: \"/m/users\",\n weight: 20,\n menuItems: [],\n icon: \"\"\n }\n }\n if (id === \"document-templates\") {\n return {\n label: \"Document Templates\",\n path: \"/m/templates\",\n weight: 20,\n menuItems: [],\n icon: \"\"\n }\n }\n return {\n label: id,\n path: \"/m/clients\",\n weight: 20,\n menuItems: [],\n icon: \"\"\n }\n }\n\n useEffect(() => {\n\n getFeatures()\n .then((fs) => {\n let items: MenuItem[] = [];\n fs.forEach((f) => {\n items.push(getMenuItemById(f.name));\n });\n setMenuItems(items.sort(function (a, b) {\n return a.weight - b.weight;\n }));\n })\n\n // let mi = new Array();\n // mi.push({\n // label: \"Clients\",\n // path: \"/m/clients\",\n // weight: 1,\n // menuItems: [],\n // icon: \"\"\n // },\n // {\n // label: \"Therapy Sessions\",\n // path: \"/m/therapy-sessions\",\n // weight: 10,\n // menuItems: [],\n // icon: \"\"\n // },\n // {\n // label: \"Users\",\n // path: \"/m/users\",\n // weight: 20,\n // menuItems: [],\n // icon: \"\"\n // }, {\n // label: \"Document Templates\",\n // path: \"/m/templates\",\n // weight: 20,\n // menuItems: [],\n // icon: \"\"\n // });\n\n\n // setMenuItems(mi.sort(function (a, b) {\n // return a.weight - b.weight;\n // }));\n }, []);\n\n\n return (\n \n );\n};\n\nexport default Navigation;","import * as React from 'react';\nimport {useState} from \"react\";\n\ntype TableProps = {\n headers: string[],\n defaultPaginationSize: number,\n}\n\nconst Table: React.FunctionComponent = (props) => {\n\n const [page, setPage] = useState(1);\n const [paginationSize, setPaginationSize] = useState(props.defaultPaginationSize);\n\n const rows = React.Children.toArray(props.children);\n const numberOfPages = Math.ceil(rows.length / paginationSize);\n\n\n const paginationComponent = [];\n for (let i = 0; i < numberOfPages; i++) {\n paginationComponent.push(
  • \n \n
  • )\n }\n\n\n return (<>\n
    \n \n \n \n {\n props.headers.map((h, index) => (\n \n ))\n }\n \n \n \n \n {\n rows.filter((r, rindex) => rindex >= (page - 1) * paginationSize && rindex < page * paginationSize)\n }\n\n \n
    {h}
    \n \n
    \n );\n};\n\nexport default Table;","import * as React from 'react';\nimport Table from \"../../Table\";\nimport {useCallback, useEffect, useState} from \"react\";\nimport {Link} from \"react-router-dom\";\nimport {getClients} from \"../../../api\";\nimport {Client} from \"../../../types\";\nimport dateFormat from \"dateformat\";\n\nvar format = require('date-format');\n\n\nconst SearchClients: React.FunctionComponent = () => {\n\n const [loading, setLoading] = useState(false);\n const [clients, setClients] = useState();\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [clientId, setClientId] = useState(\"\");\n const [disabled, setDisabled] = useState(\"false\");\n const [doLoad, setDoLoad] = useState(true);\n\n const load = useCallback(() => {\n\n if (doLoad) {\n setDoLoad(false);\n setLoading(true)\n getClients(clientId, firstName, lastName, email, disabled, \"\")\n .then((c) => {\n setClients(c);\n })\n .catch((e) => {\n console.log(e);\n }).finally(() => {\n setLoading(false);\n });\n }\n }, [clientId, firstName, lastName, email, disabled, doLoad]);\n\n useEffect(() => {\n load();\n }, [load]);\n\n return (<>\n\n
    \n
    \n

    Clients

    \n
    \n
    \n \n \n \n
    \n
    \n
    {\n e.preventDefault();\n setDoLoad(true);\n }}>\n
    \n
    \n\n
    \n
    \n \n setClientId(e.target.value)}/>\n
    \n
    \n \n setFirstName(e.target.value)}/>\n
    \n
    \n \n setLastName(e.target.value)}/>\n
    \n
    \n \n setEmail(e.target.value)}/>\n
    \n
    \n \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    \n \n \n
    \n\n );\n};\n\nexport default SearchClients;","import * as React from 'react';\nimport {Link} from 'react-router-dom';\nimport {useEffect, useState} from \"react\";\nimport {addClient} from \"../../../api\";\nimport {useHistory} from \"react-router\";\n\n\nconst AddClient: React.FunctionComponent = () => {\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [ssn, setSsn] = useState(\"\");\n const [dlState, setDlState] = useState(\"\");\n const [dlNumber, setDlNumber] = useState(\"\");\n const [dateOfBirth, setDateOfBirth] = useState(\"\");\n const [telephone, setTelephone] = useState(\"\");\n const [addressLine1, setAddressLine1] = useState(\"\");\n const [addressLine2, setAddressLine2] = useState(\"\");\n const [city, setCity] = useState(\"\");\n const [stateCode, setStateCode] = useState(\"\");\n const [zip, setZip] = useState(\"\");\n const [assessmentDate, setAssessmentDate] = useState(\"\");\n const [assessmentTime, setAssessmentTime] = useState(\"\");\n const [doRedirectToSearch, setDoRedirectToSearch] = useState(false);\n const history = useHistory();\n\n\n useEffect(() => {\n if (doRedirectToSearch) {\n history.push({\n pathname: \"/m/clients\"\n });\n }\n }, [doRedirectToSearch, history]);\n\n const doAdd = () => {\n addClient({\n address: {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n city: city,\n state: stateCode,\n zip: zip\n },\n firstName: firstName,\n lastName: lastName,\n socialsecurityNumber: ssn,\n driverslicenseNumber: dlNumber,\n driverslicenseState: dlState,\n dateofBirth: dateOfBirth,\n telephoneNumber: telephone,\n email: email,\n dateTimeofAssessment: assessmentDate + \"T\" + assessmentTime,\n clientDiagnosis: \"\",\n drugTestDueDate: \"\"\n }).then((c) => {\n setDoRedirectToSearch(true);\n }).then((e) => console.log(e));\n }\n\n return (<>\n
    \n
    \n

    Add Client

    \n
    \n
    {\n e.preventDefault();\n doAdd();\n }}>\n
    \n\n
    \n
    \n \n setFirstName(e.target.value)}\n />\n
    \n
    \n \n setLastName(e.target.value)}\n />\n
    \n
    \n \n setEmail(e.target.value)}\n />\n
    \n
    \n \n setSsn(e.target.value)}\n />\n
    \n
    \n \n \n
    \n
    \n \n setDlNumber(e.target.value)}\n />\n
    \n
    \n \n setDateOfBirth(e.target.value)}\n />\n
    \n
    \n \n setTelephone(e.target.value)}\n />\n
    \n
    \n
    \n
    \n
    Client Address
    \n
    \n
    \n
    \n
    \n \n setAddressLine1(e.target.value)}\n />\n
    \n
    \n \n setAddressLine2(e.target.value)}\n />\n
    \n
    \n \n setCity(e.target.value)}\n />\n
    \n
    \n \n \n
    \n
    \n \n setZip(e.target.value)}\n />\n
    \n
    \n\n
    \n
    \n
    Assessment
    \n
    \n
    \n
    \n
    \n \n setAssessmentDate(e.target.value)}\n />\n
    \n
    \n \n setAssessmentTime(e.target.value)}\n />\n
    \n
    \n
    \n
    \n \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default AddClient;","import * as React from 'react';\n\ntype ModalProps = {\n show: boolean,\n title: string,\n cancelButtonText: string,\n okButtonText: string,\n doCancel: Function,\n doOk: Function,\n disableOk?: boolean,\n xClasses?: string\n}\n\nconst Modal: React.FunctionComponent = (p) => {\n return (<>\n \n \n );\n};\n\nexport default Modal;","import * as React from 'react';\nimport './index.css';\nimport {Link, useParams} from 'react-router-dom';\nimport Table from \"../../Table\";\nimport Modal from \"../../Modal\";\nimport {useCallback, useEffect, useState} from \"react\";\nimport {\n addDocumentToClient,\n createDocument,\n deleteClientDocument,\n disableClient,\n enableClient,\n getClient,\n getCustomerDocumentKey,\n getDocumentKey,\n getEsignProfiles,\n getFile,\n getTemplates,\n pendingCustomerDocumentOnClient,\n pendingCustomerDocumentOnClientReminder,\n sendPaymentReceipt,\n shareDocumentWithClient,\n updateClient,\n uploadFile\n} from \"../../../api\";\nimport dateFormat from \"dateformat\";\nimport {\n Attendance,\n ClientDocument,\n FileResponse,\n LegacyDocument,\n LegacyNote,\n Template,\n Transaction\n} from \"../../../types\";\n\nvar format = require('date-format');\n\n\nconst ViewClient: React.FunctionComponent = () => {\n\n const coreApiHost = (window.location.hostname === \"localhost\")\n ? (window.location.protocol + '//' + window.location.hostname + \":8090\")\n : (window.location.protocol + '//' + window.location.host);\n\n let esignEndpoint = (window.location.protocol + '//' + window.location.hostname);\n if (window.location.hostname === \"34.201.190.181\") {\n esignEndpoint = \"http://34.201.190.181:3005\";\n }\n if (window.location.hostname === \"localhost\") {\n esignEndpoint = \"http://localhost\";\n }\n\n if (window.location.hostname === \"test.promises12data.com\" || window.location.hostname === \"promises12data.com\") {\n esignEndpoint = \"https://esign.promises12data.com\";\n }\n\n const [showUploadFileModal, setShowUploadFileModal] = useState(false);\n const {clientId} = useParams();\n const currencyFormat = new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'});\n const [id, setId] = useState(\"\");\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [ssn, setSsn] = useState(\"\");\n const [dlState, setDlState] = useState(\"\");\n const [dlNumber, setDlNumber] = useState(\"\");\n const [dateOfBirth, setDateOfBirth] = useState(\"\");\n const [telephone, setTelephone] = useState(\"\");\n const [addressLine1, setAddressLine1] = useState(\"\");\n const [addressLine2, setAddressLine2] = useState(\"\");\n const [city, setCity] = useState(\"\");\n const [stateCode, setStateCode] = useState(\"\");\n const [zip, setZip] = useState(\"\");\n const [addressId, setAddressId] = useState(\"\");\n const [balance, setBalance] = useState(0);\n const [transactions, setTransactions] = useState([]);\n const [disabled, setDisabled] = useState(false);\n const [attendances, setAttendances] = useState([])\n\n const [assessmentDate, setAssessmentDate] = useState(\"\");\n const [assessmentTime, setAssessmentTime] = useState(\"\");\n const [recommendedHours, setRecommendedHours] = useState(\"\");\n const [totalHoursAttended, setTotalHoursAttended] = useState(\"\");\n const [absences, setAbsences] = useState(\"\");\n\n const [editMode, setEditMode] = useState(false);\n const [doReload, setDoReload] = useState(false);\n\n const [templates, setTemplates] = useState();\n const [documents, setDocuments] = useState();\n const [legacyDocuments, setLegacyDocuments] = useState();\n const [legacyNotes, setLegacyNotes] = useState();\n const [form, setForm] = useState(\"\");\n const [profile, setProfile] = useState(\"\");\n\n const [artifact, setArtifact] = useState();\n const [artifactUploading, setArtifactUploading] = useState(false);\n const [doUpload, setDoUpload] = useState(false);\n\n const [receiptLoading, setReceiptLoading] = useState(\"\");\n const [signReminderLoading, setSignReminderLoading] = useState(\"\")\n\n const [clientDiagnosis, setClientDiagnosis] = useState(\"\")\n const [drugTestDueDate, setDrugTestDueDate] = useState(\"\");\n\n const load = useCallback(() => {\n getClient(clientId)\n .then((c) => {\n setId(c.id);\n setFirstName(c.firstName);\n setLastName(c.lastName);\n setEmail(c.email);\n setSsn(c.socialsecurityNumber);\n setDlState(c.driverslicenseState);\n setDlNumber(c.driverslicenseNumber);\n setDateOfBirth(c.dateofBirth);\n setTelephone(c.telephoneNumber);\n setAddressLine1(c.address.addressLine1);\n setAddressLine2(c.address.addressLine2);\n setCity(c.address.city);\n setStateCode(c.address.state);\n setZip(c.address.zip);\n setAddressId(c.address.uuid || \"\")\n if (c.dateTimeofAssessment !== undefined) {\n setAssessmentDate(dateFormat(format.parse(\"yyyy-MM-ddThh:mm:ss\", c.dateTimeofAssessment), \"yyyy-mm-dd\"));\n setAssessmentTime(dateFormat(format.parse(\"yyyy-MM-ddThh:mm:ss\", c.dateTimeofAssessment), \"HH:MM\"));\n }\n setRecommendedHours(c.recommendedHours);\n setBalance(c.balance);\n setTransactions(c.transactions)\n setDisabled(c.disabled);\n setAttendances(c.attendances);\n setTotalHoursAttended(c.totalHoursAttended);\n setAbsences(c.absences);\n setDocuments(c.documents);\n setLegacyDocuments(c.legacyDocuments);\n setLegacyNotes(c.legacyNotes);\n setClientDiagnosis(c.clientDiagnosis);\n setDrugTestDueDate(c.drugTestDueDate);\n }).catch((e) => {\n console.log(e);\n })\n\n\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n setProfile(profile.uuid);\n getTemplates(profile.uuid)\n .then((tz) => {\n setTemplates(tz.filter((t) => t.tag === \"form\"));\n })\n })\n .catch((e) => {\n console.log(e);\n })\n\n }, [clientId]);\n\n useEffect(() => {\n load()\n }, [load]);\n\n useEffect(() => {\n if (doReload) {\n setDoReload(false);\n load()\n }\n }, [doReload, load]);\n\n const doEdit = () => {\n updateClient(clientId, {\n address: {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n city: city,\n state: stateCode,\n zip: zip,\n uuid: addressId\n },\n firstName: firstName,\n lastName: lastName,\n socialsecurityNumber: ssn,\n driverslicenseNumber: dlNumber,\n driverslicenseState: dlState,\n dateofBirth: dateOfBirth,\n telephoneNumber: telephone,\n email: email,\n dateTimeofAssessment: assessmentDate + \"T\" + assessmentTime,\n recommendedHours: recommendedHours,\n clientDiagnosis: clientDiagnosis,\n drugTestDueDate: drugTestDueDate\n }).then((c) => {\n setEditMode(false);\n load();\n }).catch((e) => console.log(e));\n }\n\n const doQuickAddForm = (formName: string) => {\n if (isFormComplete(formName)) {\n return;\n }\n const filter = templates?.filter((d) => d.name === formName);\n if (filter !== undefined && filter.length > 0 && profile !== undefined && profile !== \"\") {\n createDocument(profile, {\n template: {\n uuid: filter[0].uuid\n },\n fields: [{\n name: \"fullName\",\n value: firstName + \" \" + lastName\n }, {\n name: \"firstName\",\n value: firstName\n }, {\n name: \"lastName\",\n value: lastName\n }, {\n name: \"id\",\n value: id\n }, {\n name: \"email\",\n value: email\n }, {\n name: \"ssn\",\n value: ssn\n }, {\n name: \"driversLicenseState\",\n value: dlState\n }, {\n name: \"driversLicenseNumber\",\n value: dlNumber\n }, {\n name: \"dateOfBirth\",\n value: dateOfBirth\n }, {\n name: \"telephone\",\n value: telephone\n }, {\n name: \"addressLine1\",\n value: addressLine1\n }, {\n name: \"addressLine2\",\n value: addressLine2\n }, {\n name: \"city\",\n value: city\n }, {\n name: \"stateCode\",\n value: stateCode\n }, {\n name: \"zip\",\n value: zip\n }, {\n name: \"balance\",\n value: balance + \"\"\n }, {\n name: \"assessmentDate\",\n value: assessmentDate\n }, {\n name: \"assessmentTime\",\n value: assessmentTime\n }, {\n name: \"recommendedHours\",\n value: recommendedHours\n }, {\n name: \"totalHoursAttended\",\n value: totalHoursAttended\n }, {\n name: \"absences\",\n value: absences\n }]\n }).then((d) => {\n const esignUrl = esignEndpoint + '/s/' + profile + \"/\" + d.uuid;\n\n getDocumentKey(profile, d.uuid)\n .then((k) => {\n addDocumentToClient(clientId, {\n type: \"FORM\",\n name: d.template.name,\n url: esignUrl,\n description: \"Client form\",\n status: \"PENDING\"\n }).then((cd) => {\n const completeDocUrl = (window.location.protocol + '//' + window.location.host) + \"/m/clients/\" + clientId + \"/documents/complete/\" + cd.uuid;\n window.open(esignUrl + \"?document_key=\" + k.uuid + \"&redirect_uri=\" + completeDocUrl, '_self');\n })\n })\n .catch((e) => console.log(e))\n\n\n })\n }\n }\n\n const doAddForm = () => {\n if (form !== undefined && form !== \"\" && profile !== undefined && profile !== \"\") {\n createDocument(profile, {\n template: {\n uuid: form\n },\n fields: [{\n name: \"fullName\",\n value: firstName + \" \" + lastName\n }, {\n name: \"firstName\",\n value: firstName\n }, {\n name: \"lastName\",\n value: lastName\n }, {\n name: \"id\",\n value: id\n }, {\n name: \"email\",\n value: email\n }, {\n name: \"ssn\",\n value: ssn\n }, {\n name: \"driversLicenseState\",\n value: dlState\n }, {\n name: \"driversLicenseNumber\",\n value: dlNumber\n }, {\n name: \"dateOfBirth\",\n value: dateOfBirth\n }, {\n name: \"telephone\",\n value: telephone\n }, {\n name: \"addressLine1\",\n value: addressLine1\n }, {\n name: \"addressLine2\",\n value: addressLine2\n }, {\n name: \"city\",\n value: city\n }, {\n name: \"stateCode\",\n value: stateCode\n }, {\n name: \"zip\",\n value: zip\n }, {\n name: \"balance\",\n value: balance + \"\"\n }, {\n name: \"assessmentDate\",\n value: assessmentDate\n }, {\n name: \"assessmentTime\",\n value: assessmentTime\n }, {\n name: \"recommendedHours\",\n value: recommendedHours\n }, {\n name: \"totalHoursAttended\",\n value: totalHoursAttended\n }, {\n name: \"absences\",\n value: absences\n }]\n }).then((d) => {\n const esignUrl = esignEndpoint + '/s/' + profile + \"/\" + d.uuid;\n\n getDocumentKey(profile, d.uuid)\n .then((k) => {\n addDocumentToClient(clientId, {\n type: \"FORM\",\n name: d.template.name,\n url: esignUrl,\n description: \"Client form\",\n status: \"PENDING\"\n }).then((cd) => {\n const completeDocUrl = (window.location.protocol + '//' + window.location.host) + \"/m/clients/\" + clientId + \"/documents/complete/\" + cd.uuid;\n window.open(esignUrl + \"?document_key=\" + k.uuid + \"&redirect_uri=\" + completeDocUrl, '_self');\n })\n })\n .catch((e) => console.log(e))\n\n\n })\n }\n }\n\n const doOpenDocument = (id: string, status: string, url: string) => {\n const docValues = url.substring(url.indexOf(\"/s/\")).split(\"/\");\n getDocumentKey(profile, docValues[3])\n .then((k) => {\n const esignUrl = esignEndpoint + '/s/' + profile + \"/\" + docValues[3];\n if (status.toLowerCase() !== \"pending\") {\n const completeDocUrl = (window.location.protocol + '//' + window.location.host) + \"/m/clients/view/\" + clientId;\n window.open(esignUrl + \"?document_key=\" + k.uuid + \"&redirect_uri=\" + completeDocUrl, '_self');\n } else {\n //m/clients/1bfe3b63-7497-4341-81c2-6040c7abecad/documents/complete/88b25494-cff2-4354-8beb-23378b9605b7\n const completeDocUrl = (window.location.protocol + '//' + window.location.host)\n + \"/m/clients/\" + clientId + \"/documents/complete/\" + id;\n window.open(esignUrl + \"?document_key=\" + k.uuid + \"&redirect_uri=\" + completeDocUrl, '_self');\n }\n })\n .catch((e) => {\n console.log(e)\n })\n }\n\n const doDownloadFile = (url: string, name: string) => {\n getFile(url)\n .then((r) => {\n if (r.ok) {\n return r.blob();\n }\n })\n .then((data) => {\n var url = window.URL.createObjectURL(data),\n anchor = document.createElement(\"a\");\n anchor.href = url;\n anchor.download = name;\n anchor.click();\n window.URL.revokeObjectURL(url);\n anchor.remove();\n })\n }\n\n useEffect(() => {\n if (artifact !== undefined && doUpload) {\n setArtifactUploading(true);\n uploadFile(clientId, artifact)\n .then((value) => {\n load();\n })\n .finally(() => {\n setDoUpload(false);\n setArtifact(undefined);\n setArtifactUploading(false);\n });\n }\n }, [artifact, doUpload]);\n\n const isFormComplete = (formName: string) => {\n const filter = documents?.filter((d) => d.name === formName);\n return filter !== undefined && filter.length > 0\n }\n\n const doDeleteDocument = (documentId: string) => {\n deleteClientDocument(clientId, documentId)\n .then((r) => {\n if (r.ok) {\n load();\n } else {\n console.log(\"failed to delete document\");\n }\n })\n .catch((e) => {\n console.log(e);\n })\n }\n\n const doReminder = (documentId: string, esignDocumentId: string) => {\n\n\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n getCustomerDocumentKey(profile.uuid, documentId)\n .then((k) => {\n setSignReminderLoading(documentId);\n pendingCustomerDocumentOnClientReminder(clientId, documentId, {\n esignDocumentId: esignDocumentId,\n esignDocumentKey: k.uuid,\n esignProfileId: profile.uuid\n })\n .then((r) => {\n if (r.ok) {\n load();\n } else {\n console.log(\"failed to send reminder\");\n }\n })\n .catch((e) => {\n console.log(e);\n })\n .finally(() => setSignReminderLoading(\"\"))\n })\n .catch(e => {\n console.log(e);\n })\n })\n .catch(e => {\n console.log(e);\n });\n\n\n }\n\n\n const doDocumentShare = (documentId: string, esignDocumentId: string) => {\n\n\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n getCustomerDocumentKey(profile.uuid, documentId)\n .then((k) => {\n setSignReminderLoading(documentId);\n shareDocumentWithClient(clientId, documentId, {\n esignDocumentId: esignDocumentId,\n esignDocumentKey: k.uuid,\n esignProfileId: profile.uuid\n })\n .then((r) => {\n if (r.ok) {\n load();\n } else {\n console.log(\"failed to send reminder\");\n }\n })\n .catch((e) => {\n console.log(e);\n })\n .finally(() => setSignReminderLoading(\"\"))\n })\n .catch(e => {\n console.log(e);\n })\n })\n .catch(e => {\n console.log(e);\n });\n\n\n }\n\n return (<>\n
    \n
    \n

    Client

    \n
    \n\n
    \n\n
    \n
    Account Information
    \n
    \n
    \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n setFirstName(e.target.value)}/>\n
    \n
    \n \n setLastName(e.target.value)}/>\n
    \n
    \n \n setEmail(e.target.value)}/>\n
    \n
    \n \n setSsn(e.target.value)}/>\n
    \n
    \n \n \n
    \n
    \n \n setDlNumber(e.target.value)}/>\n
    \n
    \n \n setDateOfBirth(e.target.value)}/>\n
    \n
    \n \n setTelephone(e.target.value)}/>\n
    \n
    \n
    \n
    \n
    Client Address
    \n
    \n
    \n
    \n
    \n \n setAddressLine1(e.target.value)}/>\n
    \n
    \n \n setAddressLine2(e.target.value)}/>\n
    \n
    \n \n setCity(e.target.value)}/>\n
    \n
    \n \n \n
    \n
    \n \n setZip(e.target.value)}/>\n
    \n
    \n\n
    \n
    \n
    Assessment
    \n
    \n
    \n
    \n
    \n \n setAssessmentDate(e.target.value)}/>\n
    \n
    \n \n setAssessmentTime(e.target.value)}/>\n
    \n
    \n \n setRecommendedHours(e.target.value)}/>\n
    \n
    \n
    \n
    \n
    \n \n setClientDiagnosis(e.target.value)}/>\n
    \n
    \n
    \n
    \n
    \n \n setDrugTestDueDate(e.target.value)}/>\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    Transactions
    \n
    Balance: {currencyFormat.format(balance)}
    \n \n \n \n \n \n \n
    \n
    \n \n {transactions.map((t) => (\n \n \n \n \n \n \n \n ))}\n
    \n \n {t.description}\n \n {t.type}{\n (t.type === \"CHARGE\") ?\n currencyFormat.format(t.amount) :\n \"(\" + currencyFormat.format(t.amount) + \")\"\n }{dateFormat(format.parse(\"yyyy-MM-dd\", t.createdAt), \"yyyy/mm/dd\")}\n \n \n \n \n
    \n
    \n\n\n
    \n
    \n \n
    \n
    Files, Forms, and Notes
    \n
    \n
    \n \n
    \n
    \n\n
    \n \n
    \n \n
    \n
    \n\n\n
    \n\n
    \n\n
    \n
    \n {\n setArtifact(e.target?.files?.[0]);\n }}/>\n \n
    \n
    \n \n
    \n \n
    \n\n
    \n\n
    \n \n {\n documents?.map((d) => (\n \n \n \n \n \n \n \n \n ))\n }\n\n {\n legacyDocuments?.map((d) => (\n \n \n \n \n \n \n \n \n ))\n }\n {\n legacyNotes?.map((d) => (\n \n \n \n \n \n \n \n \n ))\n }\n
    \n {\n e.preventDefault();\n if (d.type.toLowerCase() !== \"upload\") {\n doOpenDocument(d.uuid, d.status, d.url);\n } else {\n doDownloadFile(d.url, d.name);\n }\n }}\n href={\"#\"}\n >\n {d.name}\n \n {d.type}{d.description}{d.status}{dateFormat(format.parse(\"yyyy-MM-ddThh:mm:ss\", d.createdAt), \"yyyy-mm-dd\")}\n \n \n \n\n
    \n \n {d.name}\n \n ImportedEasySA imported documentCompleted{dateFormat(format.parse(\"yyyy-MM-dd\", d.createdAt), \"yyyy-mm-dd\")}
    \n \n {d.sessionTopic}\n \n ImportedEasySA imported note{d.sessionStatus}{dateFormat(format.parse(\"yyyy-MM-dd\", d.sessionDate), \"yyyy-mm-dd\")}
    \n
    \n\n
    \n
    Attendance
    \n

    Summary: Total hours attended: {totalHoursAttended}, absences: {absences}

    \n
    \n
    \n \n {\n attendances.filter(a => a.signed).map((a) => (\n \n \n \n \n \n ))\n }\n\n
    \n \n {a.therapySession.date}\n \n \n {(a.attended) ? \"Yes\" : \"No\"}\n \n\n
    \n
    \n\n
    \n \n \n \n\n
    \n \n\n {\n setShowUploadFileModal(false);\n }}\n doOk={() => {\n setShowUploadFileModal(false);\n }}>\n

    aaaa

    \n
    \n );\n};\n\nexport default ViewClient;","import * as React from 'react';\nimport {useParams} from 'react-router-dom';\nimport {addCharge} from \"../../../api\";\nimport {useEffect, useState} from \"react\";\nimport {useHistory} from \"react-router\";\n\n\nconst AddCharge: React.FunctionComponent = () => {\n\n const {clientId} = useParams();\n const [amount, setAmount] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [doSearchRedirect, setDoSearchRedirect] = useState(false);\n\n const history = useHistory();\n\n useEffect(() => {\n if (doSearchRedirect) {\n history.push({\n pathname: \"/m/clients/view/\" + clientId\n });\n }\n }, [doSearchRedirect, history, clientId]);\n\n const doAdd = () => {\n addCharge(clientId, {\n amount: amount,\n chargeDate: createdAt,\n description: description\n }).then((c) => {\n setDoSearchRedirect(true);\n })\n }\n\n return (<>\n
    \n
    \n
    \n

    Add Charge

    \n
    \n\n
    \n
    Item Details
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n setAmount(e.target.value)}/>\n
    \n
    \n \n setCreatedAt(e.target.value)}/>\n
    \n
    \n
    \n\n
    \n \n \n
    \n\n
    \n
    \n );\n};\n\nexport default AddCharge;","import * as React from 'react';\nimport {Link, useParams} from 'react-router-dom';\nimport {useCallback, useEffect, useState} from \"react\";\nimport {deleteCharge, getCharge} from \"../../../api\";\nimport {useHistory} from \"react-router\";\n\n\nconst ViewCharge: React.FunctionComponent = () => {\n\n const {clientId, chargeId} = useParams();\n const [amount, setAmount] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [doSearchRedirect, setDoSearchRedirect] = useState(false);\n\n const history = useHistory();\n\n useEffect(() => {\n if (doSearchRedirect) {\n history.push({\n pathname: \"/m/clients/view/\" + clientId\n });\n }\n }, [doSearchRedirect, history,clientId]);\n\n const load = useCallback(() => {\n getCharge(clientId, chargeId)\n .then((c) => {\n setAmount(\"\" + c.amount);\n setCreatedAt(c.chargeDate);\n setDescription(c.description);\n });\n }, [clientId, chargeId])\n\n useEffect(() => {\n load();\n }, [load]);\n\n const doDelete = () => {\n deleteCharge(clientId, chargeId)\n .then((r) => {\n if (r.ok) {\n setDoSearchRedirect(true);\n }\n })\n }\n\n return (<>\n
    \n
    \n
    \n

    Charge

    \n
    \n\n
    \n
    Item Details
    \n
    \n
    \n\n
    \n
    \n \n \n
    \n
    \n \n setAmount(e.target.value)}/>\n
    \n
    \n \n setCreatedAt(e.target.value)}/>\n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n\n
    \n
    \n );\n};\n\nexport default ViewCharge;","import * as React from 'react';\nimport {Link, useParams} from 'react-router-dom';\nimport {useCallback, useEffect, useState} from \"react\";\nimport {addPayment, getClient} from \"../../../api\";\nimport {useHistory} from \"react-router\";\nimport {Client, CreditCard} from \"../../../types\";\n\n\nconst AddPayment: React.FunctionComponent = () => {\n const {clientId} = useParams();\n const [amount, setAmount] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [method, setMethod] = useState(\"\");\n\n const [cardNumber, setCardNumber] = useState(\"\");\n const [cvv, setCvv] = useState(\"\");\n const [zip, setZip] = useState(\"\");\n const [expireMonth, setExpireMonth] = useState(\"\");\n const [expireYear, setExpireYear] = useState(\"\");\n const [doSearchRedirect, setDoSearchRedirect] = useState(false);\n const [creditCards, setCreditCards] = useState([]);\n const [client, setClient] = useState();\n const [creditCard, setCreditCard] = useState(\"\");\n\n const history = useHistory();\n\n useEffect(() => {\n getClient(clientId)\n .then((c) => {\n let cc: CreditCard[] = [];\n c.payments.forEach((p) => {\n if (p.creditCard !== undefined) {\n if(cc.filter((s) => s.uuid === p.creditCard?.uuid).length === 0) {\n cc.push(p.creditCard);\n }\n }\n })\n setCreditCards(cc);\n setClient(c);\n })\n .catch((e) => {\n console.log(e);\n })\n }, []);\n\n useEffect(() => {\n let match = creditCards.filter((c) => c.uuid == creditCard);\n if(match !== undefined && match.length > 0) {\n const cc = match[0];\n setZip(cc.zipCode);\n setCvv(cc.cvv);\n setExpireYear(cc.expirationYear);\n setExpireMonth(cc.expirationMonth);\n setCardNumber(cc.creditCardNumber);\n } else {\n setZip(\"\");\n setCvv(\"\");\n setExpireYear(\"\");\n setExpireMonth(\"\");\n setCardNumber(\"\");\n }\n }, [creditCard])\n\n useEffect(() => {\n if (doSearchRedirect) {\n history.push({\n pathname: \"/m/clients/view/\" + clientId\n });\n }\n }, [doSearchRedirect, history, clientId]);\n\n const getMethodDescription = (method: string) => {\n switch (method) {\n case \"CREDIT_CARD\":\n return \"Credit card\";\n case \"CASH\":\n return \"Cash\";\n case \"CHECK\":\n return \"Check\"\n default:\n return \"\"\n }\n }\n\n const doAdd = () => {\n if (method === \"CREDIT_CARD\" && creditCard !== \"\") {\n addPayment(clientId, {\n amount: amount,\n paymentDate: createdAt,\n description: getMethodDescription(method) + \" payment\",\n status: \"PROCESSED\",\n method: method,\n creditCard: {\n uuid: creditCard\n }\n }).then((p) => {\n setDoSearchRedirect(true);\n }).catch((e) => console.log(e));\n } else if(method === \"CREDIT_CARD\" && creditCard === \"\") {\n addPayment(clientId, {\n amount: amount,\n paymentDate: createdAt,\n description: getMethodDescription(method) + \" payment\",\n status: \"PROCESSED\",\n method: method,\n creditCard: {\n creditCardNumber: cardNumber,\n cvv: cvv,\n expirationMonth: expireMonth,\n expirationYear: expireYear,\n zipCode: zip\n }\n }).then((p) => {\n setDoSearchRedirect(true);\n }).catch((e) => console.log(e));\n } else {\n addPayment(clientId, {\n amount: amount,\n paymentDate: createdAt,\n description: getMethodDescription(method) + \" payment\",\n status: \"PROCESSED\",\n method: method\n }).then((p) => {\n setDoSearchRedirect(true);\n }).catch((e) => console.log(e));\n }\n }\n return ((client === undefined) ? <>...Loading... : <>\n
    \n
    \n
    \n

    Add Payment

    \n
    \n\n
    \n
    Item Details
    \n
    \n
    \n\n
    \n\n
    \n \n setAmount(e.target.value)}/>\n
    \n
    \n \n setCreatedAt(e.target.value)}/>\n
    \n
    \n \n \n
    \n
    \n
    \n \n
    \n \n \n \n \n
    \n\n
    \n
    \n );\n};\n\nexport default AddPayment;","import * as React from 'react';\nimport {Link, useParams} from 'react-router-dom';\nimport {useCallback, useEffect, useState} from \"react\";\nimport {deletePayment, getPayment} from \"../../../api\";\nimport {useHistory} from \"react-router\";\n\n\nconst ViewPayment: React.FunctionComponent = () => {\n\n const {clientId, paymentId} = useParams();\n const [amount, setAmount] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [method, setMethod] = useState(\"\");\n\n const [cardNumber, setCardNumber] = useState(\"\");\n const [cvv, setCvv] = useState(\"\");\n const [zip, setZip] = useState(\"\");\n const [expireMonth, setExpireMonth] = useState(\"\");\n const [expireYear, setExpireYear] = useState(\"\");\n const [doSearchRedirect, setDoSearchRedirect] = useState(false);\n\n const history = useHistory();\n\n const load = useCallback(() => {\n getPayment(clientId, paymentId)\n .then((p) => {\n setAmount(\"\" + p.amount);\n setCreatedAt(p.paymentDate);\n setMethod(p.method);\n if (p.creditCard !== undefined) {\n setCardNumber(p.creditCard?.creditCardNumber)\n setCvv(p.creditCard.cvv);\n setZip(p.creditCard.zipCode);\n setExpireYear(p.creditCard.expirationYear);\n setExpireMonth(p.creditCard.expirationMonth);\n }\n });\n }, [clientId, paymentId]);\n\n useEffect(() => {\n if (doSearchRedirect) {\n history.push({\n pathname: \"/m/clients/view/\" + clientId\n });\n }\n }, [doSearchRedirect, history, clientId]);\n\n useEffect(() => {\n load();\n }, [load]);\n\n const doDelete = () => {\n deletePayment(clientId, paymentId)\n .then((r) => {\n if (r.ok) {\n setDoSearchRedirect(true);\n }\n })\n }\n\n\n return (<>\n
    \n
    \n
    \n

    View Payment

    \n
    \n\n
    \n
    Item Details
    \n
    \n
    \n\n
    \n\n
    \n \n setAmount(e.target.value)}/>\n
    \n
    \n \n setCreatedAt(e.target.value)}/>\n
    \n
    \n
    \n \n
    \n \n \n \n \n
    \n\n
    \n
    \n );\n};\n\nexport default ViewPayment;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {useLocation, useParams} from \"react-router-dom\";\nimport {\n completeDocumentOnClient, getCustomerDocumentKey,\n getDocumentKey,\n getEsignProfiles,\n pendingCustomerDocumentOnClient\n} from \"../../../api\";\nimport {useHistory} from \"react-router\";\n\n\nconst CompleteDocument: React.FunctionComponent = () => {\n const {clientId, documentId} = useParams();\n const history = useHistory();\n const [doRedirect, setDoRedirect] = useState(false);\n const [error, setError] = useState(\"\");\n let location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const pendingCustomer = (queryParams.get(\"pending_customer\") || \"\");\n const esignDocumentId = (queryParams.get(\"document_id\") || \"\");\n\n\n useEffect(() => {\n\n if (pendingCustomer && pendingCustomer === \"true\") {\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n getCustomerDocumentKey(profile.uuid, documentId)\n .then((k) => {\n pendingCustomerDocumentOnClient(clientId, documentId, {\n esignDocumentId: esignDocumentId,\n esignDocumentKey: k.uuid,\n esignProfileId: profile.uuid\n })\n .then((r) => {\n if (r.ok) {\n setDoRedirect(true)\n } else {\n setError(\"Unable to save document\");\n }\n }).catch((e) => {\n setError(\"Unable to save document\")\n });\n })\n .catch(e => {\n setError(\"Unable to save document\")\n })\n })\n .catch(e => {\n setError(\"Unable to save document\")\n });\n\n\n } else {\n completeDocumentOnClient(documentId)\n .then((r) => {\n if (r.ok) {\n setDoRedirect(true)\n } else {\n setError(\"Unable to save document\");\n }\n }).catch((e) => {\n setError(\"Unable to save document\")\n })\n }\n }, [clientId, documentId, pendingCustomer]);\n\n useEffect(() => {\n if (doRedirect) {\n history.push({\n pathname: \"/m/clients/view/\" + clientId\n });\n }\n }, [doRedirect, clientId, history]);\n\n return (

    \n

    \n {error}\n

    );\n};\n\nexport default CompleteDocument;","import * as React from 'react';\nimport {Link, useParams} from \"react-router-dom\";\nimport {useEffect, useState} from \"react\";\nimport {createClientShare} from \"../../../api\";\n\n\nconst ShareFile: React.FunctionComponent = () => {\n const {clientId} = useParams();\n const [shareId, setShareId] = useState();\n\n useEffect(() => {\n createClientShare(clientId)\n .then((s) => {\n setShareId(s.uuid);\n })\n }, []);\n\n return ((shareId === undefined) ? <>...Loading...\n : <>\n
    \n

    Share Client File

    \n

    The following share link was generated for this client file. It is valid for 24 hours.

    \n

    \n {\"https://promises12data.com/m/share/\" + clientId + \"?key=\" + shareId}\n

    \n
    \n
    \n \n\n \n \n
    \n );\n};\n\nexport default ShareFile;","import * as React from 'react';\nimport {Route, Switch, useRouteMatch} from \"react-router\";\nimport SearchClients from \"./Search\";\nimport AddClient from \"./Add\";\nimport ViewClient from \"./View\";\nimport AddCharge from \"./AddCharge\";\nimport ViewCharge from \"./ViewCharge\";\nimport AddPayment from \"./AddPayment\";\nimport ViewPayment from \"./ViewPayment\";\nimport CompleteDocument from \"./CompleteDocument\";\nimport ShareFile from \"./Share\";\n\n\nconst ManageClients: React.FunctionComponent = () => {\n let {path} = useRouteMatch();\n return (<>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ManageClients;","import * as React from 'react';\nimport Table from \"../../Table\";\nimport {useCallback, useEffect, useState} from \"react\";\nimport {Link} from \"react-router-dom\";\nimport {AppUser, TherapySession} from \"../../../types\";\nimport {getTherapySessions, getUsers} from \"../../../api\";\nimport dateFormat from \"dateformat\";\nconst dateParse = require('date-format');\n\n\nconst SearchTherapySessions: React.FunctionComponent = () => {\n\n const [therapySessions, setTherapySessions] = useState();\n const [users, setUsers] = useState();\n const [therapist, setTherapist] = useState(\"\");\n const [fromDate, setFromDate] = useState(\"\");\n const [toDate, setToDate] = useState(\"\");\n const [doLoad, setDoLoad] = useState(true);\n\n const search = useCallback(() => {\n if(doLoad) {\n setDoLoad(false);\n getTherapySessions(therapist, fromDate, toDate)\n .then((tz) => {\n setTherapySessions(tz);\n })\n .catch((e) => console.log(e))\n .finally(() => {\n })\n }\n }, [therapist, fromDate, toDate, doLoad])\n\n useEffect(() => {\n search();\n getUsers()\n .then((uz) => {\n setUsers(uz);\n })\n .catch((e) => console.log(e))\n .finally(() => {\n })\n\n\n }, [search]);\n\n return (<>\n
    \n
    \n

    Therapy Sessions

    \n
    \n
    \n \n \n \n
    \n
    \n
    {\n e.preventDefault();\n setDoLoad(true);\n }}>\n
    \n\n
    \n \n \n
    \n
    \n \n setFromDate(e.target.value)}\n placeholder={\"Start Date\"} autoComplete={\"new-password\"}/>\n
    \n
    \n \n setToDate(e.target.value)}\n autoComplete={\"new-password\"}/>\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n {\n therapySessions?.map((t) => (\n \n \n \n \n \n\n \n \n ))\n }\n\n
    \n \n {dateFormat(dateParse.parse(\"yyyy-mm-dd\", t.date),\"yyyy-MM-dd\")}\n \n \n {dateFormat( dateParse.parse(\"hh:mm\", t.startTime), \"hh:MM TT\")}\n \n {t.therapist.firstName + \" \" + t.therapist.lastName}\n \n {t.status}\n \n\n\n
    \n
    \n
    \n );\n};\n\nexport default SearchTherapySessions;","import * as React from 'react';\nimport {Link} from 'react-router-dom';\nimport {addTherapySessions, getEsignProfiles, getTemplates, getUsers} from \"../../../api\";\nimport {useEffect, useState} from \"react\";\nimport {AppUser, Template} from \"../../../types\";\nimport {useHistory} from \"react-router\";\nimport dateFormat from \"dateformat\";\n\nconst dateParse = require('date-format');\n\n\nconst AddTherapySession: React.FunctionComponent = () => {\n\n const [therapist, setTherapist] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [startTime, setStartTime] = useState(\"\");\n const [endTime, setEndTime] = useState(\"\");\n const [users, setUsers] = useState();\n const [doRedirectToSearch, setDoRedirectToSearch] = useState(false);\n const history = useHistory();\n const [templates, setTemplates] = useState();\n const [profile, setProfile] = useState(\"\");\n const [note, setNote] = useState(\"\");\n\n useEffect(() => {\n if (startTime !== undefined && startTime !== \"\") {\n try {\n const parse = dateParse.parse(\"hh:mm\", startTime);\n const calcEndTime = parse.setHours(parse.getHours() + 3);\n setEndTime(dateFormat(calcEndTime, \"HH:MM\"));\n } catch (e) {\n\n }\n }\n }, [startTime]);\n\n useEffect(() => {\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n setProfile(profile.uuid);\n getTemplates(profile.uuid)\n .then((tz) => {\n setTemplates(tz.filter((t) => t.tag === \"note\"));\n })\n })\n .catch((e) => {\n console.error(e);\n })\n }, []);\n\n const doAdd = () => {\n addTherapySessions({\n therapist: {\n uuid: therapist\n },\n date: date,\n endTime: endTime,\n startTime: startTime,\n noteUuid: note\n })\n .then((t) => {\n setDoRedirectToSearch(true);\n })\n .catch((e) => console.log(e));\n\n\n }\n\n useEffect(() => {\n if (doRedirectToSearch) {\n history.push({\n pathname: \"/m/therapy-sessions\"\n });\n }\n }, [doRedirectToSearch, history]);\n\n useEffect(() => {\n getUsers()\n .then((uz) => {\n setUsers(uz);\n })\n .catch((e) => console.log(e))\n .finally(() => {\n })\n\n\n }, []);\n\n return (<>\n
    \n
    \n

    Add Therapy Session

    \n
    \n
    {\n e.preventDefault();\n doAdd();\n }}>\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n {\n setDate(e.target.value)\n }}\n />\n
    \n
    \n \n {\n setStartTime(e.target.value)\n }}\n />\n
    \n
    \n \n {\n setEndTime(e.target.value)\n }}\n />\n
    \n
    \n \n \n
    \n\n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default AddTherapySession;","import * as React from 'react';\nimport {Link, useParams} from 'react-router-dom';\nimport {useCallback, useEffect, useState} from \"react\";\nimport Table from \"../../Table\";\nimport {AppUser, Client, ClientDocument, Template} from \"../../../types\";\nimport {useHistory} from \"react-router\";\nimport {\n addDocumentToClient,\n completeTherapySession, createDocument, deleteClientToTherapySession,\n deleteTherapySession, getClientDocument, getClients, getDocumentKey, getEsignProfiles, getTemplates,\n getTherapySession,\n getUsers, markAttendanceForClientInTherapySession, resetAttendanceForClientInTherapySession,\n updateTherapySessions\n} from \"../../../api\";\nimport dateFormat from \"dateformat\";\n\nconst dateParse = require('date-format');\n\n\nconst ViewTherapySession: React.FunctionComponent = () => {\n let esignEndpoint = (window.location.protocol + '//' + window.location.hostname);\n if (window.location.hostname === \"34.201.190.181\") {\n esignEndpoint = \"http://34.201.190.181:3005\";\n }\n if (window.location.hostname === \"localhost\") {\n esignEndpoint = \"http://localhost:2999\";\n }\n\n if (window.location.hostname === \"test.promises12data.com\" || window.location.hostname === \"promises12data.com\") {\n esignEndpoint = \"https://esign.promises12data.com\";\n }\n\n const [therapist, setTherapist] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [startTime, setStartTime] = useState(\"\");\n const [endTime, setEndTime] = useState(\"\");\n const [status, setStatus] = useState(\"\");\n const [users, setUsers] = useState();\n const [clients, setClients] = useState();\n const [doNoteSignRedirect, setDoNoteSignRedirect] = useState(false);\n const history = useHistory();\n const {id} = useParams();\n const [editMode, setEditMode] = useState(false);\n const [doRedirectToSearch, setDoRedirectToSearch] = useState(false);\n\n const [templates, setTemplates] = useState();\n const [profile, setProfile] = useState(\"\");\n const [note, setNote] = useState(\"\");\n\n const load = useCallback(() => {\n getTherapySession(id)\n .then((t) => {\n setTherapist(t.therapist.uuid);\n setDate(t.date);\n setStartTime(dateFormat(dateParse.parse(\"hh:mm\", t.startTime), \"HH:MM\"));\n setEndTime(dateFormat(dateParse.parse(\"hh:mm\", t.endTime), \"HH:MM\"));\n setStatus(t.status);\n setNote(t.noteUuid || \"\");\n })\n .catch((e) => console.log(e));\n\n getClients(\"\", \"\", \"\", \"\", \"false\", id)\n .then((c) => {\n setClients(c);\n })\n .catch((e) => {\n console.log(e);\n })\n getUsers()\n .then((uz) => {\n setUsers(uz);\n })\n .catch((e) => console.log(e))\n .finally(() => {\n })\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n setProfile(profile.uuid);\n getTemplates(profile.uuid)\n .then((tz) => {\n setTemplates(tz.filter((t) => t.tag === \"note\"));\n })\n })\n .catch((e) => {\n console.error(e);\n })\n }, [id])\n\n useEffect(() => {\n\n load();\n\n }, [load]);\n\n useEffect(() => {\n if (doNoteSignRedirect) {\n history.push({\n pathname: \"/s/\" + note + \"/123\"\n });\n }\n }, [doNoteSignRedirect, history, note]);\n\n\n const doUpdate = () => {\n updateTherapySessions(id, {\n therapist: {\n uuid: therapist\n },\n date: date,\n endTime: endTime,\n startTime: startTime,\n noteUuid: note\n })\n .then((t) => {\n setEditMode(false);\n })\n .catch((e) => console.log(e))\n }\n\n useEffect(() => {\n if (doRedirectToSearch) {\n history.push({\n pathname: \"/m/therapy-sessions\"\n });\n }\n }, [doRedirectToSearch, history]);\n\n const doDelete = () => {\n deleteTherapySession(id)\n .then((t) => {\n if (t.ok) {\n setDoRedirectToSearch(true);\n }\n })\n .catch((e) => console.log(e))\n }\n\n const doComplete = () => {\n completeTherapySession(id)\n .then((t) => {\n load();\n })\n }\n\n const doDeleteClient = (clientId: string) => {\n deleteClientToTherapySession(id, clientId)\n .then((r) => {\n if (r.ok) {\n load();\n }\n })\n }\n\n const didAttend = (client: Client, therapySessionId: string) => {\n try {\n return client.attendances.filter((a) => a.therapySession.uuid === therapySessionId)[0].attended\n } catch (e) {\n return false;\n }\n }\n\n const isSigned = (client: Client, therapySessionId: string) => {\n try {\n return client.attendances.filter((a) => a.therapySession.uuid === therapySessionId)[0].signed\n } catch (e) {\n return false;\n }\n }\n\n const doNotAttend = (clientId: string) => {\n markAttendanceForClientInTherapySession(id, clientId, false)\n .then((r) => {\n if (r.ok) {\n load();\n }\n })\n }\n\n const doAddNote = (c: Client) => {\n if (note !== undefined && note !== \"\" && profile !== undefined && profile !== \"\") {\n\n createDocument(profile, {\n template: {\n uuid: note\n },\n fields: [{\n name: \"fullName\",\n value: c.firstName + \" \" + c.lastName\n }, {\n name: \"firstName\",\n value: c.firstName\n }, {\n name: \"lastName\",\n value: c.lastName\n }, {\n name: \"id\",\n value: c.id\n }, {\n name: \"email\",\n value: c.email\n }, {\n name: \"ssn\",\n value: c.socialsecurityNumber\n }, {\n name: \"driversLicenseState\",\n value: c.driverslicenseState\n }, {\n name: \"driversLicenseNumber\",\n value: c.driverslicenseNumber\n }, {\n name: \"dateOfBirth\",\n value: c.dateofBirth\n }, {\n name: \"telephone\",\n value: c.telephoneNumber\n }, {\n name: \"addressLine1\",\n value: c.address.addressLine1\n }, {\n name: \"addressLine2\",\n value: c.address.addressLine2\n }, {\n name: \"city\",\n value: c.address.city\n }, {\n name: \"stateCode\",\n value: c.address.state\n }, {\n name: \"zip\",\n value: c.address.zip\n }, {\n name: \"balance\",\n value: c.balance + \"\"\n }, {\n name: \"assessmentDate\",\n value: dateFormat(dateParse.parse(\"yyyy-MM-ddThh:mm:ss\", c.dateTimeofAssessment), \"yyyy-mm-dd\")\n }, {\n name: \"assessmentTime\",\n value: dateFormat(dateParse.parse(\"yyyy-MM-ddThh:mm:ss\", c.dateTimeofAssessment), \"HH:MM\")\n }, {\n name: \"recommendedHours\",\n value: c.recommendedHours\n }, {\n name: \"totalHoursAttended\",\n value: c.totalHoursAttended\n }, {\n name: \"absences\",\n value: c.absences\n }]\n }).then((d) => {\n const esignUrl = esignEndpoint + '/s/' + profile + \"/\" + d.uuid;\n getDocumentKey(profile, d.uuid)\n .then((k) => {\n addDocumentToClient(c.uuid, {\n type: \"NOTE\",\n name: d.template.name,\n url: esignUrl,\n description: \"Client form\",\n status: \"PENDING\"\n }).then((cd) => {\n markAttendanceForClientInTherapySession(id, c.uuid, true, cd.uuid)\n .then((r) => {\n if (r.ok) {\n load();\n const completeDocUrl = (window.location.protocol + '//' + window.location.host) + \"/m/clients/\" + c.uuid + \"/documents/complete/\" + cd.uuid;\n window.open(esignUrl + \"?document_key=\" + k.uuid + \"&redirect_uri=\" + completeDocUrl, '_blank');\n }\n });\n\n })\n })\n\n })\n\n\n }\n\n }\n\n const doUndo = (clientId: string) => {\n\n resetAttendanceForClientInTherapySession(id, clientId)\n .then((r) => {\n if (r.ok) {\n load();\n }\n })\n }\n\n const doOpenNote = (c: Client, therapySessionId: string) => {\n let documentId = c.attendances.filter((a) => a.therapySession.uuid === therapySessionId)[0].document.uuid;\n getClientDocument(c.uuid, documentId)\n .then((cd) => {\n const docValues = cd.url.substring(cd.url.indexOf(\"/s/\")).split(\"/\");\n getDocumentKey(profile, docValues[3])\n .then((k) => {\n const esignUrl = esignEndpoint + '/s/' + profile + \"/\" + docValues[3];\n window.open(esignUrl + \"?document_key=\" + k.uuid, '_self');\n })\n })\n }\n\n\n return (<>\n
    \n
    \n
    \n

    Therapy Session

    \n
    \n \n\n
    \n\n
    \n
    \n \n \n
    \n
    \n \n setDate(e.target.value)}/>\n
    \n
    \n \n setStartTime(e.target.value)}/>\n
    \n
    \n \n setEndTime(e.target.value)}/>\n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n
    Clients
    \n
    \n
    \n \n \n \n
    \n\n
    \n \n {\n clients?.map((c) => (\n \n \n \n {c.id}\n \n \n {c.firstName}\n {c.lastName}\n {c.email}\n \n \n {c.totalHoursAttended}\n \n \n {c.recommendedHours}\n \n \n {c.absences}\n \n \n \n \n \n \n \n \n \n\n ))\n }\n \n
    \n\n
    \n \n \n \n\n
    \n\n
    \n
    \n );\n};\n\nexport default ViewTherapySession;","import * as React from 'react';\nimport {useEffect, useState} from 'react';\nimport {Link, useParams} from 'react-router-dom';\nimport Table from \"../../Table\";\nimport {addClientToTherapySession, deleteClientToTherapySession, getClients, getTherapySession} from \"../../../api\";\nimport {Client, TherapySession} from \"../../../types\";\nimport dateFormat from \"dateformat\";\nimport {useHistory} from \"react-router\";\n\nvar format = require('date-format');\n\n\nconst AddClientTherapySession: React.FunctionComponent = () => {\n\n const [clients, setClients] = useState();\n const [clientsInSession, setClientsInSession] = useState([])\n const [firstName, setFirstName] = useState(\"\");\n const [lastName, setLastName] = useState(\"\");\n const [email, setEmail] = useState(\"\");\n const [clientId, setClientId] = useState(\"\");\n const [disabled, setDisabled] = useState(\"false\");\n const [doRedirectToSearch, setDoRedirectToSearch] = useState(false);\n const [therapySession, setTherapySession] = useState();\n const [selectedClientId, setSelectedClientId] = useState(\"\");\n\n const history = useHistory();\n const {id} = useParams();\n\n useEffect(() => {\n\n getTherapySession(id)\n .then((t) => {\n setTherapySession(t);\n })\n .catch((e) => {\n console.log(e)\n })\n }, [])\n\n useEffect(() => {\n if (doRedirectToSearch) {\n history.push({\n pathname: \"/m/therapy-sessions/view/\" + id\n });\n }\n }, [doRedirectToSearch, history, id]);\n\n useEffect(() => {\n loadData();\n }, []);\n\n function loadData() {\n getClients(clientId, firstName, lastName, email, disabled, \"\")\n .then((c) => {\n setClients(c);\n getClients(\"\", \"\", \"\", \"\", \"false\", id)\n .then((c) => {\n setClientsInSession(c);\n })\n .catch((e) => {\n console.log(e);\n })\n .finally(() => setSelectedClientId(\"\"));\n })\n .catch((e) => {\n console.log(e);\n })\n\n\n\n }\n\n const doAdd = (clientId: string) => {\n setSelectedClientId(clientId);\n addClientToTherapySession(id, clientId)\n .then((r) => {\n loadData();\n })\n .catch((e) => {\n console.log(e);\n })\n }\n\n function isClientInSession(clientId: string) {\n if (clientsInSession) {\n let result = clientsInSession.filter(c => c.uuid === clientId);\n if (result && result.length > 0) {\n return true;\n }\n }\n return false;\n }\n\n function doRemove(clientId: string) {\n setSelectedClientId(clientId)\n deleteClientToTherapySession(id, clientId)\n .then((r) => {\n loadData();\n })\n .catch(e => console.error(e.message))\n }\n\n function getLoadingSpinner(clientId: string) {\n if(clientId === selectedClientId) {\n return \n }\n }\n\n function getButton(clientId: string) {\n if (isClientInSession(clientId)) {\n return \n }\n return \n }\n\n return ((therapySession !== undefined) ? <>\n
    {\n e.preventDefault();\n loadData();\n }}>\n
    \n
    \n

    Add Client to Therapy Session\n on {dateFormat(format.parse(\"yyyy-MM-dd\", therapySession.date), \"mm/dd/yyyy\")}

    \n
    \n\n
    \n
    \n
    \n \n setClientId(e.target.value)}/>\n
    \n
    \n \n setFirstName(e.target.value)}/>\n
    \n
    \n \n setLastName(e.target.value)}/>\n
    \n
    \n \n setEmail(e.target.value)}/>\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n \n {\n clients?.map((c) => (\n \n \n \n \n \n \n \n \n \n ))\n }\n\n
    \n \n {c.id}\n \n \n \n {c.firstName}\n \n \n \n {c.lastName}\n \n {c.email}{c.socialsecurityNumber}{(c.dateTimeofAssessment !== undefined) ? dateFormat(format.parse(\"yyyy-MM-ddThh:mm:ss\", c.dateTimeofAssessment), \"yyyy/mm/dd, h:MM:ss TT\") : \"\"}\n {getButton(c.uuid)}\n
    \n
    \n\n
    \n \n \n \n\n
    \n\n
    \n : <>)\n ;\n }\n;\n\nexport default AddClientTherapySession;","import * as React from 'react';\nimport {Route, Switch, useRouteMatch} from \"react-router\";\nimport SearchTherapySessions from \"./Search\";\nimport AddTherapySession from \"./Add\";\nimport ViewTherapySession from \"./View\";\nimport AddClientTherapySession from \"./AddClient\";\n\n\n\n\nconst ManageTherapySessions: React.FunctionComponent = () => {\n let {path} = useRouteMatch();\n return (<>\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default ManageTherapySessions;","import * as React from 'react';\nimport Table from \"../../Table\";\nimport {useEffect, useState} from \"react\";\nimport {Link} from \"react-router-dom\";\nimport {AppUser} from \"../../../types\";\n\n\nconst SearchUsers: React.FunctionComponent = () => {\n\n const [users, setUsers] = useState();\n\n useEffect(() => {\n setUsers([{\n username: \"jeckste@gmail.com\",\n firstName: \"John\",\n lastName: \"Ec\",\n role: {\n name: \"Admin\"\n },\n uuid: \"123\"\n }])\n }, []);\n\n return (<>\n
    \n
    \n

    Users

    \n
    \n
    \n \n \n \n
    \n\n
    \n \n {\n users?.map((t) => (\n \n \n \n \n \n ))\n }\n\n
    \n {t.username}\n \n {t.role.name}\n \n \n\n
    \n
    \n
    \n );\n};\n\nexport default SearchUsers;","import * as React from 'react';\nimport {Link} from 'react-router-dom';\n\n\nconst AddUser: React.FunctionComponent = () => {\n return (<>\n
    \n
    \n

    Add User

    \n
    \n
    \n
    \n\n
    \n\n
    \n \n \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n
    \n \n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default AddUser;","import * as React from 'react';\nimport {Route, Switch, useRouteMatch} from \"react-router\";\nimport SearchUsers from \"./Search\";\nimport AddUser from \"./Add\";\n\n\n\nconst ManageUsers: React.FunctionComponent = () => {\n let {path} = useRouteMatch();\n return (<>\n \n\n \n \n \n \n \n \n \n );\n};\n\nexport default ManageUsers;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {getEsignProfiles, getTemplates} from \"../../api\";\nimport Table from \"../Table\";\nimport {EsignProfile, Template} from \"../../types\";\n\n\nconst ManageTemplates: React.FunctionComponent = () => {\n\n let esignEndpoint = (window.location.protocol + '//' + window.location.hostname);\n if (window.location.hostname === \"34.201.190.181\") {\n esignEndpoint = \"http://34.201.190.181:3005\";\n }\n if (window.location.hostname === \"localhost\") {\n esignEndpoint = \"http://localhost:2999\";\n }\n\n if (window.location.hostname === \"test.promises12data.com\" || window.location.hostname === \"promises12data.com\") {\n esignEndpoint = \"https://esign.promises12data.com\";\n }\n\n const [templates, setTemplates] = useState([]);\n const [profile, setProfile] = useState();\n\n\n useEffect(() => {\n getEsignProfiles()\n .then((ps) => {\n setProfile(ps.filter((p) => p.name === \"Promises12\")[0]);\n })\n\n }, []);\n\n useEffect(() => {\n if (profile !== undefined) {\n getTemplates(profile.uuid)\n .then((t) => {\n setTemplates(t);\n })\n }\n\n }, [profile]);\n\n\n return (<>\n
    \n
    \n

    Document Templates

    \n
    \n
    \n \n {\n templates?.map((t) => (\n \n \n \n \n ))\n }\n\n
    \n \n {t.name}\n \n
    \n
    \n
    \n );\n};\n\nexport default ManageTemplates;","import * as React from 'react';\nimport {Route, Switch, useHistory, useLocation, useRouteMatch} from 'react-router';\nimport './container.css';\nimport Navigation from \"../../Components/Navigation\";\nimport {Link} from \"react-router-dom\";\nimport {APP_ACTION_ITEMS, APP_LANDING, APP_LOGIN_PATH, APP_LOGOUT_PATH} from \"../../types\";\nimport {useEffect, useState} from \"react\";\nimport {currentSession} from \"../../Auth\";\nimport {getUserProfile} from \"../../api\";\nimport ManageClients from \"../../Components/ManageClients\";\nimport ManageTherapySessions from \"../../Components/ManageTherapySessions\";\nimport ManageUsers from \"../../Components/ManageUsers\";\nimport ManageTemplates from \"../../Components/ManageTemplates\";\n\n\nconst PrivateMainContainer: React.FunctionComponent = () => {\n\n let {path} = useRouteMatch();\n let location = useLocation();\n let breadcrumbs: String[] = [];\n let fullPath = location.pathname;\n if (fullPath.startsWith(\"/m\")) {\n breadcrumbs = fullPath.replace(\"/m/\", \"\").split(\"/\");\n }\n\n const history = useHistory();\n\n const [validToken, setValidToken] = useState(false);\n const [doLoginRedirect, setDoLoginRedirect] = useState(false);\n const [doActionItemRedirect, setDoActionItemRedirect] = useState(false);\n\n const getUser = () => {\n getUserProfile()\n .then(user => {\n if (user.actions && user.actions?.length > 0) {\n setDoActionItemRedirect(true);\n }\n })\n .catch(e => console.log(e));\n }\n\n useEffect(() => {\n if (doActionItemRedirect) {\n history.push({\n pathname: APP_ACTION_ITEMS\n });\n }\n }, [doActionItemRedirect, history]);\n\n useEffect(() => {\n currentSession().then(session => {\n setValidToken(true);\n getUser();\n }).catch(e => setDoLoginRedirect(true))\n }, [fullPath, history]);\n\n useEffect(() => {\n if (doLoginRedirect) {\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n }, [doLoginRedirect, history]);\n\n return validToken ? (\n <>\n \n\n
    \n
    \n \n\n
    \n\n \n \n\n\n
    \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n \n\n \n
    \n \n \n ) : (<>);\n\n}\n\nexport default PrivateMainContainer;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {\n APP_ACTION_ITEMS,\n AUTH_USER_EMAIL_KEY\n} from \"../../types\";\nimport {useHistory, useLocation} from \"react-router-dom\";\nimport {currentSession, logout, signIn} from \"../../Auth\";\n\nconst Login: React.FunctionComponent = () => {\n\n const [username, setUsername] = useState(\"\");\n const [password, setPassword] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [message, setMessage] = useState(\"\");\n const history = useHistory();\n const location = useLocation();\n const fullPath = location.pathname;\n\n const [doActionItemRedirect, setDoActionItemRedirect] = useState(false);\n\n\n useEffect(() => {\n if (doActionItemRedirect) {\n history.push({\n pathname: APP_ACTION_ITEMS\n });\n }\n }, [doActionItemRedirect, history]);\n\n useEffect(() => {\n currentSession().then(s => {\n setDoActionItemRedirect(true);\n }).catch(e => {\n console.log(e)\n });\n }, [fullPath, history]);\n\n\n const onSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n setLoading(true);\n setMessage(\"\");\n logout();\n signIn(username, password)\n .then(value => {\n localStorage.setItem(AUTH_USER_EMAIL_KEY, username);\n setDoActionItemRedirect(true);\n }).catch((ex) => {\n setMessage(\"Login failed. Invalid username or password.\");\n }).finally(() => setLoading(false));\n };\n\n return (\n <>\n
    \n
    \n {\"logo\"}\n
    \n
    \n

    Please sign in

    \n
    \n
    \n
    \n
    \n setUsername(e.target.value)}/>\n
    \n
    \n
    \n
    \n setPassword(e.target.value)}/>\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n );\n}\n\nexport default Login;","import * as React from 'react';\nimport {useEffect} from \"react\";\nimport {APP_LOGIN_PATH} from \"../../types\";\nimport {useHistory} from \"react-router\";\nimport {logout} from \"../../Auth\";\n\n\n\nconst Logout: React.FunctionComponent = () => {\n\n\n const doRedirect = true;\n const history = useHistory();\n useEffect(() => {\n if (doRedirect) {\n logout();\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n },[doRedirect, history]);\n return (<>\n );\n};\n\nexport default Logout;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {\n Action,\n APP_LANDING,\n APP_LOGIN_PATH,\n} from \"../../types\";\nimport {useHistory} from \"react-router\";\nimport {useLocation, Link} from \"react-router-dom\";\nimport {currentSession} from \"../../Auth\";\nimport {getUserProfile} from \"../../api\";\n\nconst ActionSelection: React.FunctionComponent = () => {\n\n let [actions, setActions] = useState([]);\n let [doRedirectToLanding, setDoRedirectToLanding] = useState(false);\n let [doRedirectToLogin, setDoRedirectToLogin] = useState(false);\n const history = useHistory();\n const location = useLocation();\n const fullPath = location.pathname;\n\n\n useEffect(() => {\n currentSession().then(session => {\n }).catch(e => {\n setDoRedirectToLogin(true);\n })\n }, [fullPath, history]);\n\n useEffect(() => {\n if (doRedirectToLanding) {\n history.push({\n pathname: APP_LANDING\n });\n }\n }, [doRedirectToLanding, history]);\n\n useEffect(() => {\n if (doRedirectToLogin) {\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n }, [doRedirectToLogin, history]);\n\n useEffect(() => {\n // setDoRedirectToLanding(true);\n getUserProfile()\n .then(user => {\n if (user.actions && user.actions?.length > 0) {\n setActions(user.actions);\n } else {\n setDoRedirectToLanding(true);\n }\n })\n .catch(e => console.log(e));\n }, []);\n\n\n const getPathByCode = (code: string) => {\n switch (code) {\n case \"account-activation-required\":\n return \"/a/activation-required\";\n case \"login-code\":\n return \"/a/login-code\";\n default:\n return \"\";\n }\n }\n\n\n return ((!actions) ? <>Loading... : <>\n
    \n
    \n {\"logo\"}\n
    \n
    \n
    \n

    This account has action items.

    \n

    Select from the following action items to resolve.

    \n
    \n
    \n
    \n
    \n
    \n {\n actions.map(p => (\n \n \n \n ))\n }\n
    \n
    \n
    \n\n
    \n );\n};\n\nexport default ActionSelection;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {Action, APP_LANDING, APP_LOGIN_PATH} from \"../../types\";\nimport {useHistory} from \"react-router\";\nimport {useLocation} from \"react-router-dom\";\nimport {currentSession} from \"../../Auth\";\nimport {getUserProfile} from \"../../api\";\n\nconst ActivationRequired: React.FunctionComponent = () => {\n\n let [actions, setActions] = useState([]);\n let [doRedirectToLanding, setDoRedirectToLanding] = useState(false);\n let [doRedirectToLogin, setDoRedirectToLogin] = useState(false);\n const history = useHistory();\n const location = useLocation();\n const fullPath = location.pathname;\n\n useEffect(() => {\n currentSession().then(session => {\n }).catch(e => {\n setDoRedirectToLogin(true);\n })\n }, [fullPath, history]);\n\n useEffect(() => {\n if (doRedirectToLanding) {\n history.push({\n pathname: APP_LANDING\n });\n }\n }, [doRedirectToLanding, history]);\n\n useEffect(() => {\n if (doRedirectToLogin) {\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n }, [doRedirectToLogin, history]);\n\n useEffect(() => {\n getUserProfile()\n .then(user => {\n if (user.actions && user.actions?.length > 0) {\n setActions(user.actions);\n } else {\n setDoRedirectToLanding(true);\n }\n })\n .catch(e => console.log(e));\n }, [])\n\n\n return ((!actions) ? <>Loading... : <>\n
    \n
    \n
    \n

    This account requires activation.

    \n

    Contact your account administrator StackLeader Inc. at contact@stackleader.com.

    \n
    \n
    \n\n\n
    \n );\n};\n\nexport default ActivationRequired;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {\n APP_ACTION_ITEMS, APP_LOGIN_PATH,\n AUTH_USER_EMAIL_KEY\n} from \"../../types\";\nimport {useHistory} from \"react-router-dom\";\nimport {logout, signInCode} from \"../../Auth\";\n\nconst LoginCode: React.FunctionComponent = () => {\n\n const [username, setUsername] = useState(\"\");\n const [code, setCode] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [message, setMessage] = useState(\"\");\n const [doRedirectToLogin, setDoRedirectToLogin] = useState(false);\n const history = useHistory();\n\n const [doActionItemRedirect, setDoActionItemRedirect] = useState(false);\n\n\n useEffect(() => {\n const username = localStorage.getItem(AUTH_USER_EMAIL_KEY);\n setUsername(username || \"\");\n }, []);\n\n useEffect(() => {\n if (doActionItemRedirect) {\n history.push({\n pathname: APP_ACTION_ITEMS\n });\n }\n }, [doActionItemRedirect, history]);\n\n\n const onSubmit = (event: React.FormEvent) => {\n event.preventDefault();\n setLoading(true);\n signInCode(username, code)\n .then((o) => {\n setDoActionItemRedirect(true);\n }).catch((e) => {\n console.log(e);\n }).finally(() => setLoading(false));\n };\n\n const doCancel = () => {\n logout();\n setDoRedirectToLogin(true);\n }\n\n useEffect(() => {\n if (doRedirectToLogin) {\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n }, [doRedirectToLogin, history]);\n\n return (\n <>\n
    \n
    \n {\"logo\"}\n
    \n
    \n
    Enter the login code sent to your email at {username}
    \n
    \n
    \n
    \n
    \n setUsername(e.target.value)}/>\n
    \n
    \n
    \n
    \n setCode(e.target.value)}/>\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n \n );\n}\n\nexport default LoginCode;","import * as React from 'react';\nimport {Route, Switch, useRouteMatch} from \"react-router\";\nimport Login from \"../../Components/Login\";\nimport Logout from \"../../Components/Logout\";\nimport ActionSelection from \"../../Components/ActionSelection\";\nimport ActivationRequired from \"../../Components/ActivationRequired\";\nimport LoginCode from \"../../Components/LoginCode\";\n\n\nconst AuthContainer: React.FunctionComponent = () => {\n let {path} = useRouteMatch();\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default AuthContainer;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {currentSession} from \"../../Auth\";\nimport {APP_ACTION_ITEMS, APP_LOGIN_PATH} from \"../../types\";\nimport {useHistory} from \"react-router-dom\";\n\n\nconst PublicMainContainer: React.FunctionComponent = () => {\n const [doLoginRedirect, setDoLoginRedirect] = useState(false);\n const [doActionItemRedirect, setDoActionItemRedirect] = useState(false);\n const history = useHistory();\n useEffect(() => {\n currentSession().then(session => {\n setDoActionItemRedirect(true);\n }).catch(e => setDoLoginRedirect(true))\n }, [history]);\n\n useEffect(() => {\n if (doActionItemRedirect) {\n history.push({\n pathname: APP_ACTION_ITEMS\n });\n }\n }, [doActionItemRedirect, history]);\n\n useEffect(() => {\n if (doLoginRedirect) {\n history.push({\n pathname: APP_LOGIN_PATH\n });\n }\n }, [doLoginRedirect, history]);\n return (<>\n\n );\n};\n\nexport default PublicMainContainer;","import * as React from 'react';\nimport {useEffect, useState} from \"react\";\nimport {getLegacyDocument} from \"../../api\";\nimport {useParams} from \"react-router-dom\";\nimport {LegacyDocument} from \"../../types\";\n\n\nconst Export: React.FunctionComponent = () => {\n\n const {documentId} = useParams();\n const [document, setDocument] = useState();\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (documentId !== undefined) {\n setLoading(true);\n getLegacyDocument(documentId)\n .then((ld) => {\n setDocument(ld);\n })\n .finally(() => setLoading(false))\n }\n }, []);\n\n return ((loading) ? <>...Loading document... : <>\n {\n document?.pages.map((p) => (\n
    \n
    \n {\n p.fields.map((f) => (\n
    \n {(f.value !== undefined && f.value.startsWith(\"data:image\")) ?\n \n : f.value}\n
    \n ))\n }\n\n \n
    \n
    \n ))\n }\n\n );\n};\n\nexport default Export;\n\n","import * as React from 'react';\nimport {PDFDocumentProxy, PDFRenderTask} from \"pdfjs-dist\";\nimport {EsignField} from \"../../types\";\nimport {useEffect, useRef} from \"react\";\n\n\ntype ExportPdfPageProps = {\n document: PDFDocumentProxy,\n page: number,\n fields: EsignField[],\n}\n\nconst ExportPdfPage: React.FunctionComponent = (p) => {\n\n const canvasRef = useRef(null);\n const renderTask = useRef(null);\n\n\n useEffect(() => {\n if (!canvasRef.current) {\n return;\n }\n p.document.getPage(p.page).then((page) => {\n const rotate = 0;\n const scale = 1.5;\n const rotation = rotate === 0 ? page.rotate : page.rotate + rotate;\n const dpRatio = window.devicePixelRatio;\n const adjustedScale = scale * dpRatio;\n const viewport = page.getViewport({scale: adjustedScale, rotation});\n const canvasEl = canvasRef.current;\n if (!canvasEl) {\n return;\n }\n\n const canvasContext = canvasEl.getContext('2d');\n if (!canvasContext) {\n return;\n }\n\n canvasEl.style.width = `${viewport.width / dpRatio}px`;\n canvasEl.style.height = `${viewport.height / dpRatio}px`;\n canvasEl.height = viewport.height;\n canvasEl.width = viewport.width;\n\n if (renderTask.current) {\n renderTask.current.cancel();\n return;\n }\n\n renderTask.current = page.render({\n canvasContext,\n viewport,\n });\n\n renderTask.current.promise.then(() => {\n }).catch((e) => {\n console.log(e)\n })\n\n });\n\n }, [p.document, p.page]);\n\n return (<>\n
    \n {\n p.fields.map((f) => (\n
    \n {\n (f.type === \"signature\" || f.type === \"initial\")\n ? {\"sig\"}\n : (f.type === \"checkbox\") ?\n (f.value === \"checked\") ? \"X\" : \"\"\n : f.value\n }\n
    \n ))\n }\n \n
    \n
    \n );\n};\n\nexport default ExportPdfPage;","import * as React from 'react';\nimport {useEffect, useRef, useState} from \"react\";\nimport {usePdf} from \"@mikecousins/react-pdf\";\nimport {PDFDocumentProxy} from \"pdfjs-dist\";\nimport {EsignDocument} from \"../../types\";\nimport ExportPdfPage from \"../ExportPdfPage\";\n\ntype ExportPdfDocumentParams = {\n ed: EsignDocument\n}\n\nconst ExportPdfDocument: React.FunctionComponent = (p) => {\n\n const [page, setPage] = useState(0);\n const [documentProxy, setDocumentProxy] = useState();\n const canvasRef = useRef(null);\n\n\n const {pdfDocument, pdfPage} = usePdf({\n file: p.ed.template.url,\n page,\n canvasRef,\n scale: 1.5,\n onDocumentLoadSuccess: (document:PDFDocumentProxy) => {\n setDocumentProxy(document);\n }\n })\n\n const elements = [];\n if (document !== undefined && documentProxy !== undefined) {\n for (let i = 1; i <= documentProxy?.numPages; i++) {\n const fields = p.ed.fields.filter((f) => f.page === i);\n elements.push(
    \n \n
    \n );\n\n }\n }\n return (<>\n {elements}\n );\n};\n\nexport default ExportPdfDocument;","import * as React from 'react';\nimport './index.css';\nimport {Link, useParams} from \"react-router-dom\";\nimport {APP_LANDING, APP_LOGOUT_PATH, Client, EsignDocument, LegacyDocument, LegacyNote} from \"../../types\";\nimport {useEffect, useRef, useState} from \"react\";\nimport {\n getClient,\n getDocumentKey,\n getEsignDocument,\n getEsignProfiles, getFile,\n getLegacyDocument,\n getTemplates\n} from \"../../api\";\nimport ExportPdfDocument from \"../ExportPdfDocument\";\n\n\nconst ExportClientFile: React.FunctionComponent = () => {\n const {clientId} = useParams();\n const [client, setClient] = useState();\n const [esignDocuments, setEsignDocuments] = useState([]);\n const [legacyDocuments, setLegacyDocuments] = useState([]);\n const [legacyNotes, setLegacyNotes] = useState([]);\n const [imageUploads, setImageUploads] = useState([])\n\n\n useEffect(() => {\n getClient(clientId)\n .then((c) => {\n setClient(c);\n setLegacyNotes(c.legacyNotes || []);\n\n });\n\n\n }, []);\n\n useEffect(() => {\n if (client !== undefined) {\n getEsignProfiles()\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n client?.documents.forEach((d) => {\n if (d.type.toLowerCase() === \"upload\") {\n\n\n try {\n getFile(d.url)\n .then((r) => {\n if (r.ok) {\n return r.blob();\n }\n })\n .then((blob) => new Promise(callback => {\n if (blob !== undefined) {\n let reader = new FileReader();\n reader.onload = function () {\n let dataUrl = this.result + \"\";\n if (d.url !== undefined && d.url.toLowerCase().endsWith(\".pdf\")) {\n esignDocuments.push({\n name: d.name,\n fields: [],\n status: d.status,\n template: {\n name: d.name,\n url: dataUrl,\n fields: []\n }\n });\n setEsignDocuments([...esignDocuments]);\n } else {\n imageUploads.push(dataUrl);\n setImageUploads([...imageUploads]);\n }\n };\n reader.readAsDataURL(blob);\n }\n }))\n .catch((e) => console.error(e));\n\n } catch (e) {\n\n }\n\n }\n if (d.type.toLowerCase() === \"form\" || d.type.toLowerCase() === \"note\") {\n const docValues = d.url.substring(d.url.indexOf(\"/s/\")).split(\"/\");\n const esignDocumntId = docValues[3];\n getDocumentKey(profile.uuid, esignDocumntId)\n .then((k) => {\n getEsignDocument(esignDocumntId, profile.uuid, k.uuid)\n .then((ed) => {\n esignDocuments.push(ed);\n setEsignDocuments([...esignDocuments]);\n\n })\n .catch((e) => console.error(e))\n })\n .catch((e) => console.error(e));\n }\n })\n })\n .catch((e) => console.error(e))\n\n ///\n\n client.legacyDocuments.forEach((ld) => {\n getLegacyDocument(ld.id)\n .then((ld) => {\n legacyDocuments.push(ld);\n setLegacyDocuments([...legacyDocuments])\n })\n .catch((e) => console.error(e));\n\n })\n }\n }, [client]);\n\n useEffect(() => {\n // console.log(esignDocuments)\n }, [esignDocuments])\n\n\n return ((client === undefined) ? <>...Loading... : <>\n
    \n

    Client Information

    \n
    Full Name
    \n {client?.firstName + \" \" + client?.lastName}\n
    Client Id
    \n {client?.id}\n
    Balance
    \n {client?.balance}\n
    Absences
    \n {client?.absences}\n
    Total Hours Attended
    \n {client?.totalHoursAttended}\n
    Recommended Hours
    \n {client?.recommendedHours}\n
    Email
    \n {client?.email}\n
    Date of Birth
    \n {client?.dateofBirth}\n
    Date and Time of Assessment
    \n {client?.dateTimeofAssessment}\n
    Drivers License Number
    \n {client?.driverslicenseNumber}\n
    Drivers License State
    \n {client?.driverslicenseState}\n
    Social Security
    \n {client?.socialsecurityNumber}\n
    Telephone
    \n {client?.telephoneNumber}\n
    Address
    \n {client?.address?.addressLine1 + \" \" + client?.address.addressLine2 + \" \" + client?.address.city + \" \" + client?.address.state + \" \" + client?.address.zip}\n
    Email
    \n {client?.email}\n
    Client Diagnosis
    \n {client?.clientDiagnosis}\n
    Drug Test Due Date
    \n {client?.drugTestDueDate}\n
    Transactions
    \n \n \n \n \n \n \n \n \n \n \n {client?.transactions.map((t) => (\n \n \n \n \n \n \n ))}\n \n
    DateTypeAmountDescription
    {t.createdAt}{t.type}{t.amount}{t.description}
    \n
    Therapy Session Attendance
    \n \n \n \n \n \n \n \n \n {client?.attendances.map((a, index) => (\n \n \n \n \n ))}\n \n
    DateAttended
    {a.therapySession.date}{a.attended ? \"Yes\" : \"No\"}
    \n
    \n
    \n {\n legacyNotes.map((note) => (\n <>\n

    \n

    Note

    \n
    Client Id
    \n {note?.clientId}
    \n
    Session Topic
    \n {note?.sessionTopic}
    \n
    Hours
    \n {note?.hours}
    \n
    Note
    \n
    {note?.note}
    \n
    \n
    Additional Note
    \n
    {note?.additionalNote}
    \n
    \n
    Session Date
    \n {note?.sessionDate}
    \n
    Session Time
    \n {note?.sessionTime}
    \n
    Session Notes
    \n
    {note?.sessionNotes}
    \n
    \n
    Session Progress
    \n
    {note?.sessionProgress}
    \n
    \n
    Session Activity
    \n
    {note?.sessionActivity}
    \n
    \n
    Session Contact
    \n
    {note?.sessionContact}
    \n
    \n

    \n
    \n \n ))\n }\n\n {\n esignDocuments.map((d) => (\n <>\n \n \n ))\n }\n {\n legacyDocuments.map((ld) => (\n
    \n {\n ld?.pages.map((p) => (\n
    \n
    \n {\n p.fields.map((f) => (\n
    {(f.value && f.value.startsWith(\"data:image\")) ? : f.value}
    \n ))\n }\n\n \n
    \n
    \n
    \n ))\n }\n
    \n ))\n }\n {\n imageUploads.map((i) => (\n <>\n {\"upload\"}\n
    \n \n ))\n }\n );\n};\n\nexport default ExportClientFile;","import * as React from 'react';\nimport './index.css';\nimport {Link, useParams} from \"react-router-dom\";\nimport {APP_LANDING, APP_LOGOUT_PATH, Client, EsignDocument, LegacyDocument} from \"../../types\";\nimport {FormEvent, useEffect, useRef, useState} from \"react\";\nimport {\n getClient, getClientPublic,\n getDocumentKey, getDocumentKeyPublic,\n getEsignDocument,\n getEsignProfiles, getEsignProfilesPublic, getFile, getFilePublic,\n getLegacyDocument, getLegacyDocumentPublic,\n getTemplates\n} from \"../../api\";\nimport ExportPdfDocument from \"../ExportPdfDocument\";\nimport {useLocation} from \"react-router\";\nimport {signInClientFile} from \"../../Auth\";\n\n\nconst ExportClientFilePublic: React.FunctionComponent = () => {\n const {clientId} = useParams();\n const [client, setClient] = useState();\n const [esignDocuments, setEsignDocuments] = useState([]);\n const [legacyDocuments, setLegacyDocuments] = useState([]);\n const [imageUploads, setImageUploads] = useState([]);\n const [accessToken, setAccessToken] = useState();\n const [authFailure, setAuthFailure] = useState(false);\n const [authCode, setAuthCode] = useState();\n const [filePassword, setFilePassword] = useState();\n const location = useLocation();\n const queryParams = new URLSearchParams(location.search);\n const key = (queryParams.get(\"key\") || \"\");\n\n useEffect(() => {\n if(authCode !== undefined) {\n signInClientFile(clientId, key, authCode)\n .then((o) => {\n setAccessToken(o.access_token);\n }).catch((e) => {\n setAuthFailure(true);\n })\n }\n }, [authCode]);\n\n useEffect(() => {\n if (accessToken !== undefined) {\n getClientPublic(clientId, accessToken)\n .then((c) => {\n setClient(c);\n });\n }\n }, [accessToken]);\n\n useEffect(() => {\n if (client !== undefined) {\n getEsignProfilesPublic(accessToken)\n .then((ps) => {\n let profile = ps.filter((p) => p.name === \"Promises12\")[0];\n client?.documents.forEach((d) => {\n if (d.type.toLowerCase() === \"upload\") {\n\n\n try {\n getFilePublic(d.url, accessToken)\n .then((r) => {\n if (r.ok) {\n return r.blob();\n }\n })\n .then((blob) => new Promise(callback => {\n if (blob !== undefined) {\n let reader = new FileReader();\n reader.onload = function () {\n let dataUrl = this.result + \"\";\n if (d.url !== undefined && d.url.toLowerCase().endsWith(\".pdf\")) {\n esignDocuments.push({\n name: d.name,\n fields: [],\n status: d.status,\n template: {\n name: d.name,\n url: dataUrl,\n fields: []\n }\n });\n setEsignDocuments([...esignDocuments]);\n } else {\n imageUploads.push(dataUrl);\n setImageUploads([...imageUploads]);\n }\n };\n reader.readAsDataURL(blob);\n }\n }));\n\n } catch (e) {\n\n }\n\n }\n if (d.type.toLowerCase() === \"form\" || d.type.toLowerCase() === \"note\") {\n const docValues = d.url.substring(d.url.indexOf(\"/s/\")).split(\"/\");\n const esignDocumntId = docValues[3];\n getDocumentKeyPublic(profile.uuid, esignDocumntId, accessToken)\n .then((k) => {\n getEsignDocument(esignDocumntId, profile.uuid, k.uuid)\n .then((ed) => {\n esignDocuments.push(ed);\n setEsignDocuments([...esignDocuments]);\n\n })\n });\n }\n })\n })\n\n ///\n\n client.legacyDocuments.forEach((ld) => {\n getLegacyDocumentPublic(ld.id, accessToken)\n .then((ld) => {\n legacyDocuments.push(ld);\n setLegacyDocuments([...legacyDocuments])\n })\n\n })\n }\n }, [client]);\n\n const onSubmit = (e: FormEvent) => {\n e.preventDefault();\n setAuthCode(filePassword);\n }\n\n return (authCode === undefined) ? <>\n
    \n

    Enter last four of driver's license number

    \n {\n setFilePassword(e.target.value);\n }}/>\n \n
    \n :\n ((client === undefined) ?\n (authFailure) ? <>Invalid or expired link : <>...Loading...\n : <>\n
    \n

    Client Information

    \n
    Full Name
    \n {client?.firstName + \" \" + client?.lastName}\n
    Client Id
    \n {client?.id}\n
    Balance
    \n {client?.balance}\n
    Absences
    \n {client?.absences}\n
    Total Hours Attended
    \n {client?.totalHoursAttended}\n
    Recommended Hours
    \n {client?.recommendedHours}\n
    Email
    \n {client?.email}\n
    Date of Birth
    \n {client?.dateofBirth}\n
    Date and Time of Assessment
    \n {client?.dateTimeofAssessment}\n
    Drivers License Number
    \n {client?.driverslicenseNumber}\n
    Drivers License State
    \n {client?.driverslicenseState}\n
    Social Security
    \n {client?.socialsecurityNumber}\n
    Telephone
    \n {client?.telephoneNumber}\n
    Address
    \n {client?.address?.addressLine1 + \" \" + client?.address.addressLine2 + \" \" + client?.address.city + \" \" + client?.address.state + \" \" + client?.address.zip}\n
    Email
    \n {client?.email}\n
    Transactions
    \n \n \n \n \n \n \n \n \n \n \n {client?.transactions.map((t) => (\n \n \n \n \n \n \n ))}\n \n
    DateTypeAmountDescription
    {t.createdAt}{t.type}{t.amount}{t.description}
    \n
    Therapy Session Attendance
    \n \n \n \n \n \n \n \n \n {client?.attendances.map((a, index) => (\n \n \n \n \n ))}\n \n
    DateAttended
    {a.therapySession.date}{a.attended ? \"Yes\" : \"No\"}
    \n
    \n
    \n {\n esignDocuments.map((d) => (\n <>\n \n \n ))\n }\n {\n legacyDocuments.map((ld) => (\n
    \n {\n ld?.pages.map((p) => (\n
    \n
    \n {\n p.fields.map((f) => (\n
    {f.value}
    \n ))\n }\n\n \n
    \n
    \n
    \n ))\n }\n
    \n ))\n }\n {\n imageUploads.map((i) => (\n <>\n {\"upload\"}\n
    \n \n ))\n }\n );\n};\n\nexport default ExportClientFilePublic;","import * as React from 'react';\nimport './index.css';\nimport {useEffect, useState} from 'react';\nimport {useParams} from \"react-router-dom\";\nimport {LegacyNote} from \"../../types\";\nimport {getLegacyNote} from \"../../api\";\n\n\nconst ExportNote: React.FunctionComponent = () => {\n\n const {noteId} = useParams();\n const [note, setNote] = useState();\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (noteId !== undefined) {\n setLoading(true);\n getLegacyNote(noteId)\n .then((ld) => {\n setNote(ld);\n })\n .finally(() => setLoading(false))\n }\n }, []);\n\n return ((loading) ? <>...Loading note... : <>\n\n

    Legacy Note

    \n

    \n

    Client Id
    \n {note?.clientId}
    \n
    Session Topic
    \n {note?.sessionTopic}
    \n
    Hours
    \n {note?.hours}
    \n
    Note
    \n
    {note?.note}

    \n
    Additional Note
    \n
    {note?.additionalNote}

    \n
    Session Date
    \n {note?.sessionDate}
    \n
    Session Time
    \n {note?.sessionTime}
    \n
    Session Notes
    \n
    {note?.sessionNotes}

    \n
    Session Progress
    \n
    {note?.sessionProgress}

    \n
    Session Activity
    \n
    {note?.sessionActivity}

    \n
    Session Contact
    \n
    {note?.sessionContact}

    \n

    \n );\n};\n\nexport default ExportNote;\n\n","import * as React from \"react\";\nimport {useCallback, useEffect, useState} from \"react\";\nimport {getCharge, getClient} from \"../../api\";\nimport {useParams} from \"react-router-dom\";\nimport {Client} from \"../../types\";\n\n\nconst PrintCharge: React.FunctionComponent = () => {\n\n const {clientId, chargeId} = useParams();\n const [amount, setAmount] = useState(\"\");\n const [createdAt, setCreatedAt] = useState(\"\");\n const [description, setDescription] = useState(\"\");\n const [client, setClient] = useState()\n\n const load = useCallback(() => {\n getCharge(clientId, chargeId)\n .then((c) => {\n setAmount(\"\" + c.amount);\n setCreatedAt(c.chargeDate);\n setDescription(c.description);\n });\n\n getClient(clientId)\n .then((c) => {\n setClient(c);\n })\n }, [clientId, chargeId])\n\n useEffect(() => {\n load();\n }, [load]);\n\n\n return <>\n

    Charge Receipt

    \n\n
    Bill To
    \n

    \n Name: {client?.firstName + \" \" + client?.lastName}
    \n Email: {client?.email}
    \n Address:
    \n {client?.address.addressLine1}
    \n \n {client?.address.city} {client?.address.state} {client?.address.zip}
    \n

    \n
    Remit To
    \n

    \n Promises12
    \n 65 Corban Ave STE 7
    \n Concord, NC 28025\n

    \n
    Transaction Details
    \n

    \n Date: {createdAt}
    \n Amount: ${amount}
    \n Description: {description}
    \n

    \n \n}\n\nexport default PrintCharge;","import * as React from \"react\";\nimport {useCallback, useEffect, useState} from \"react\";\nimport {getCharge, getClient, getPayment} from \"../../api\";\nimport {useParams} from \"react-router-dom\";\nimport {Client, Payment} from \"../../types\";\n\n\nconst PrintPayment: React.FunctionComponent = () => {\n\n const {clientId, paymentId} = useParams();\n const [payment, setPayment] = useState();\n const [client, setClient] = useState()\n\n const load = useCallback(() => {\n getPayment(clientId, paymentId)\n .then((p) => {\n setPayment(p);\n });\n\n getClient(clientId)\n .then((c) => {\n setClient(c);\n })\n }, [clientId, paymentId])\n\n useEffect(() => {\n load();\n }, [load]);\n\n const getCardLastFour = () => {\n if(payment?.creditCard && payment.creditCard.creditCardNumber.length > 4) {\n return payment?.creditCard?.creditCardNumber.substring(payment?.creditCard?.creditCardNumber.length-4, payment?.creditCard?.creditCardNumber.length);\n }\n }\n\n return <>\n

    Payment Receipt

    \n\n
    Billed To
    \n

    \n Name: {client?.firstName + \" \" + client?.lastName}
    \n Email: {client?.email}
    \n Address:
    \n {client?.address.addressLine1}
    \n \n {client?.address.city} {client?.address.state} {client?.address.zip}
    \n

    \n
    Paid To
    \n

    \n Promises12
    \n 65 Corban Ave STE 7
    \n Concord, NC 28025\n

    \n
    Transaction Details
    \n

    \n Date: {payment?.paymentDate}
    \n Amount: ${payment?.amount}
    \n Description: {payment?.description}
    \n Status: {payment?.status}
    \n Method: {payment?.method}
    \n \n

    \n \n}\n\nexport default PrintPayment;","import * as React from \"react\";\nimport {useParams} from \"react-router-dom\";\n\n\nconst CustomerStartSignDocument: React.FunctionComponent = () => {\n const {documentId, keyId, profileId, referTo} = useParams();\n\n let esignEndpoint = (window.location.protocol + '//' + window.location.hostname);\n if (window.location.hostname === \"34.201.190.181\") {\n esignEndpoint = \"http://34.201.190.181:3005\";\n }\n if (window.location.hostname === \"localhost\") {\n esignEndpoint = \"http://localhost\";\n }\n\n if (window.location.hostname === \"test.promises12data.com\" || window.location.hostname === \"promises12data.com\") {\n esignEndpoint = \"https://esign.promises12data.com\";\n }\n\n const doRedirect = () => {\n if (documentId && keyId && profileId) {\n window.location.href = esignEndpoint + \"/c/\" + profileId + \"/\" + documentId + \"?document_key=\" + keyId +\n \"&redirect_uri=\" + window.location.protocol + '//' + window.location.host + \"/c/complete-document/\" + referTo\n }\n }\n return <>\n
    \n
    \n
    \n
    \n \"logo\"\n
    \n {/*

    Loading document...

    */}\n\n {/*
    */}\n {/* Loading...*/}\n {/*
    */}\n \n
    \n
    \n
    \n \n}\n\nexport default CustomerStartSignDocument;","import * as React from \"react\";\nimport {useEffect, useState} from \"react\";\nimport {completeDocumentOnClient} from \"../../api\";\nimport {useParams} from \"react-router-dom\";\n\nconst CustomerCompleteSignDocument: React.FunctionComponent = () => {\n\n const {documentId, keyId, profileId} = useParams();\n const [error, setError] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [isSuccess, setIsSuccess] = useState(false)\n\n useEffect(() => {\n console.log(\"1\");\n if (documentId) {\n console.log(\"2\");\n setIsLoading(true);\n completeDocumentOnClient(documentId)\n .then((r) => {\n console.log(\"3\");\n if (r.ok) {\n setIsSuccess(true);\n } else {\n setError(\"Unable to save document\")\n }\n })\n .catch((e) => {\n console.error(e);\n setError(\"Unable to save document\")\n })\n .finally(() => setIsLoading(false))\n }\n }, [documentId]);\n\n const getContent = () => {\n if (error) {\n return

    {error}

    \n }\n if (isLoading) {\n return

    Loading...

    \n }\n if (!isLoading && isSuccess) {\n return

    Thank you for signing the requested document!

    \n }\n }\n\n return <>\n
    \n
    \n
    \n
    \n \"logo\"\n
    \n

    {getContent()}

    \n
    \n
    \n
    \n \n}\n\nexport default CustomerCompleteSignDocument;","import React from 'react';\nimport './App.css';\nimport {BrowserRouter as Router, Route} from 'react-router-dom';\nimport PrivateMainContainer from \"./Containers/PrivateMainContainer\";\nimport AuthContainer from \"./Containers/AuthContainer\";\nimport {Switch} from \"react-router\";\nimport PublicMainContainer from \"./Containers/PublicMainContainer\";\nimport Export from \"./Components/Export\";\nimport ExportClientFile from \"./Components/ExportClientFile\";\nimport ExportClientFilePublic from \"./Components/ExportClientFilePublic\";\nimport ExportNote from \"./Components/ExportNote\";\nimport PrintCharge from \"./Components/PrintCharge\";\nimport PrintPayment from \"./Components/PrintPayment\";\nimport CustomerStartSignDocument from \"./Components/CustomerStartSignDocument\";\nimport CustomerCompleteSignDocument from \"./Components/CustomerCompleteSignDocument\";\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/stable';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n"],"sourceRoot":""}