@powerhousedao/connect 5.1.0 → 5.2.0-staging.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +1 -0
- package/dist/assets/AddDriveModal-CMhY7EXt.js +1 -0
- package/dist/assets/ClearStorageModal-DFtnMF37.js +1 -0
- package/dist/assets/CookiesPolicyModal-wKn_crAz.js +1 -0
- package/dist/assets/CreateDocumentModal-axk-Gv87.js +1 -0
- package/dist/assets/{DebugSettingsModal-CooFY-Go.js → DebugSettingsModal-B8EImEik.js} +1 -1
- package/dist/assets/{DeleteDriveModal-BOdu1bg5.js → DeleteDriveModal-CDBGjFVT.js} +1 -1
- package/dist/assets/DeleteItemModal--lW49X7Z.js +1 -0
- package/dist/assets/DisclaimerModal-Cwlnu4SD.js +1 -0
- package/dist/assets/DriveSettingsModal-DLSYwH01.js +1 -0
- package/dist/assets/{ExportDocumentWithErrorsModal-BzgGSmxg.js → ExportDocumentWithErrorsModal-sNmpWNiL.js} +1 -1
- package/dist/assets/SettingsModal-BI_PIj3P.js +1 -0
- package/dist/assets/UpgradeDriveModal-fS2KcP5T.js +1 -0
- package/dist/assets/{design_system-DGYPpUGa.js → design_system-DRiFz7P7.js} +1 -1
- package/dist/assets/design_system_connect-D7mJC7XF.js +45 -0
- package/dist/assets/design_system_ui-7P3ayrQ9.js +1 -0
- package/dist/assets/{document_drive-BEIKnuGM.js → document_drive-BuVpBb4l.js} +25 -14
- package/dist/assets/{document_engineering-B49PhCDR.js → document_engineering-CXK5S1hf.js} +1 -1
- package/dist/assets/{document_model-DXcLJEjZ.js → document_model-DB4SzBSe.js} +3 -3
- package/dist/assets/document_model_editor-C7-Rcfye.js +23 -0
- package/dist/assets/{drive_explorer-d0kn77Nx.js → drive_explorer-xuI0xiNd.js} +2 -2
- package/dist/assets/{graphql-editor-CSkqTexL.js → graphql-editor-BpQTpuKO.js} +2 -2
- package/dist/assets/{hooks-D4Uas2SG.js → hooks-CAyBWwxg.js} +1 -1
- package/dist/assets/index-BchTCSNf.js +20 -0
- package/dist/assets/index-BilHslhO.css +1 -0
- package/dist/assets/index-CJrSFr5V.js +25 -0
- package/dist/assets/json-editor-CtpJfU25.js +1 -0
- package/dist/assets/nodefs-CNM_9qdV.js +1 -0
- package/dist/assets/opfs-ahp-D-CiKXE2.js +3 -0
- package/dist/assets/pg_dump-CW0pN9tG.wasm +0 -0
- package/dist/assets/postgres-CkP7QCDB.data +0 -0
- package/dist/assets/postgres-CyuUVpXN.wasm +0 -0
- package/dist/assets/reactor_browser-CV2asu7c.js +127 -0
- package/dist/assets/state-schemas-DXZotcNp.js +2 -0
- package/dist/assets/zod-BpTyxkjy.js +20 -0
- package/dist/index.html +11 -11
- package/heroku/Dockerfile +4 -1
- package/lib/package.copy.json +14 -8
- package/lib/src/components/app-skeleton.js +1 -1
- package/lib/src/components/app-skeleton.js.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.d.ts.map +1 -1
- package/lib/src/components/modal/modals/AddDriveModal.js +35 -27
- package/lib/src/components/modal/modals/AddDriveModal.js.map +1 -1
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts +2 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js +26 -0
- package/lib/src/components/modal/modals/InspectorModal/InspectorModal.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/index.d.ts +2 -0
- package/lib/src/components/modal/modals/InspectorModal/index.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/index.js +2 -0
- package/lib/src/components/modal/modals/InspectorModal/index.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts +32 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js +108 -0
- package/lib/src/components/modal/modals/InspectorModal/useDbExplorer.js.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts +4 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.d.ts.map +1 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js +12 -0
- package/lib/src/components/modal/modals/InspectorModal/useRemotesInspector.js.map +1 -0
- package/lib/src/components/modal/modals-container.d.ts.map +1 -1
- package/lib/src/components/modal/modals-container.js +4 -0
- package/lib/src/components/modal/modals-container.js.map +1 -1
- package/lib/src/components/root.js +1 -1
- package/lib/src/components/root.js.map +1 -1
- package/lib/src/components/sidebar.d.ts.map +1 -1
- package/lib/src/components/sidebar.js +6 -2
- package/lib/src/components/sidebar.js.map +1 -1
- package/lib/src/connect.config.d.ts +2 -0
- package/lib/src/connect.config.d.ts.map +1 -1
- package/lib/src/connect.config.js +1 -0
- package/lib/src/connect.config.js.map +1 -1
- package/lib/src/feature-flags.d.ts +22 -3
- package/lib/src/feature-flags.d.ts.map +1 -1
- package/lib/src/feature-flags.js +48 -3
- package/lib/src/feature-flags.js.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.d.ts.map +1 -1
- package/lib/src/hooks/useClientErrorHandler.js +13 -2
- package/lib/src/hooks/useClientErrorHandler.js.map +1 -1
- package/lib/src/pages/demo/atlas-import.js +2 -2
- package/lib/src/pages/demo/atlas-import.js.map +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +102 -51
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/src/utils/reactor.d.ts +7 -0
- package/lib/src/utils/reactor.d.ts.map +1 -1
- package/lib/src/utils/reactor.js +35 -2
- package/lib/src/utils/reactor.js.map +1 -1
- package/lib/src/utils/signer.d.ts +18 -0
- package/lib/src/utils/signer.d.ts.map +1 -0
- package/lib/src/utils/signer.js +215 -0
- package/lib/src/utils/signer.js.map +1 -0
- package/lib/test/utils/signer.test.d.ts +2 -0
- package/lib/test/utils/signer.test.d.ts.map +1 -0
- package/lib/test/utils/signer.test.js +319 -0
- package/lib/test/utils/signer.test.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/vite.config.d.ts.map +1 -1
- package/lib/vite.config.js +4 -0
- package/lib/vite.config.js.map +1 -1
- package/lib/vitest.config.d.ts +3 -0
- package/lib/vitest.config.d.ts.map +1 -0
- package/lib/vitest.config.js +8 -0
- package/lib/vitest.config.js.map +1 -0
- package/nginx.conf +7 -0
- package/package.copy.json +14 -8
- package/package.json +21 -15
- package/dist/assets/AddDriveModal-_XSf2ZlN.js +0 -1
- package/dist/assets/ClearStorageModal-CbfJTlAo.js +0 -1
- package/dist/assets/CookiesPolicyModal-DTRuUeM_.js +0 -1
- package/dist/assets/CreateDocumentModal-DUTbfZYr.js +0 -1
- package/dist/assets/DeleteItemModal-D8MlQS3W.js +0 -1
- package/dist/assets/DisclaimerModal-RBBaiKyO.js +0 -1
- package/dist/assets/DriveSettingsModal-BHBZfzaY.js +0 -1
- package/dist/assets/SettingsModal-BXDXscnR.js +0 -1
- package/dist/assets/UpgradeDriveModal-15TBzq11.js +0 -1
- package/dist/assets/design_system_connect-Vb8XBnLs.js +0 -45
- package/dist/assets/design_system_ui-Dnwc_Xm9.js +0 -1
- package/dist/assets/document_model_editor-lmHQ6HZy.js +0 -23
- package/dist/assets/index-Br7E7qjt.css +0 -1
- package/dist/assets/index-CK2Jk_ho.js +0 -18
- package/dist/assets/json-editor-CQKAVxat.js +0 -1
- package/dist/assets/reactor_browser-BGn_P-dn.js +0 -25
- package/dist/assets/state-schemas-36mF-wEI.js +0 -2
- package/dist/assets/zod-C6yxFxyo.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Inter",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:#f7b6b0;--color-red-500:#f4a29a;--color-red-600:#f28e87;--color-red-700:#f07870;--color-red-800:#ec584b;--color-red-900:#ea4334;--color-orange-100:#ffe8cc;--color-orange-700:#ffa033;--color-orange-800:#ff981a;--color-orange-900:#f80;--color-yellow-400:#ffdd61;--color-yellow-900:#fac400;--color-green-100:#d5f1db;--color-green-600:#63cf80;--color-green-700:#51c870;--color-green-800:#3bbf5e;--color-green-900:#34a853;--color-blue-50:oklch(97% .014 254.604);--color-blue-100:#cce6ff;--color-blue-200:#b4dafe;--color-blue-300:#99ceff;--color-blue-400:#80c1ff;--color-blue-500:#66b5ff;--color-blue-600:#4ca9ff;--color-blue-700:#339cff;--color-blue-800:#1a90ff;--color-blue-900:#0084ff;--color-purple-900:#8f57ea;--color-slate-50:#f3f5f7;--color-slate-100:#b7bdc3;--color-slate-200:#6f7a85;--color-slate-300:#5a636c;--color-slate-500:#31363a;--color-slate-600:#1e2124;--color-slate-700:#1a1d1f;--color-slate-800:#151819;--color-slate-900:#0e1010;--color-gray-50:#fcfcfc;--color-gray-100:#f5f5f5;--color-gray-200:#f0f0f0;--color-gray-300:#d8d9da;--color-gray-400:#c6c8c8;--color-gray-500:#9fa1a3;--color-gray-600:#6c7275;--color-gray-700:#464d4e;--color-gray-800:#404345;--color-gray-900:#333738;--color-zinc-50:oklch(98.5% 0 0);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-stone-300:oklch(86.9% .005 56.366);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-extralight:200;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-red-100:#fdedec;--color-charcoal-300:#9da6b9;--color-charcoal-700:#485265;--color-charcoal-800:#373e4e;--color-charcoal-900:#242933;--animate-fade-in:fadeIn .3s ease-in-out;--animate-fade-out:fadeOut .1s ease-in-out;--animate-zoom-in:zoomIn .3s ease-in-out;--animate-zoom-out:zoomOut .1s ease-in-out;--animate-slide-in-from-top:slideInFromTop .2s ease-in-out;--animate-slide-in-from-bottom:slideInFromBottom .2s ease-in-out;--animate-slide-in-from-left:slideInFromLeft .2s ease-in-out;--animate-slide-in-from-right:slideInFromRight .2s ease-in-out}}@layer base{@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}h1,h2,h3,h4,h5,h6,p{color:var(--color-gray-900)}button{cursor:pointer}*{scrollbar-color:initial;scrollbar-width:initial}}@layer components;@layer utilities{.right-8{right:calc(var(--spacing)*8)}.bottom-8{bottom:calc(var(--spacing)*8)}.z-\[10000\]{z-index:10000}.m-4{margin:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.ml-6{margin-left:calc(var(--spacing)*6)}.\!h-\[30px\]{height:30px!important}.min-h-80{min-height:calc(var(--spacing)*80)}.\!w-\[100px\]{width:100px!important}.w-5{width:calc(var(--spacing)*5)}.w-\[700px\]{width:700px}.max-w-\[80\%\]{max-width:80%}.max-w-\[850px\]{max-width:850px}.max-w-\[1024px\]{max-width:1024px}.shrink-0{flex-shrink:0}.rotate-45{rotate:45deg}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab,red,red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.fill-current{fill:currentColor}.px-7{padding-inline:calc(var(--spacing)*7)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-10{padding-inline:calc(var(--spacing)*10)}.py-5{padding-block:calc(var(--spacing)*5)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-10{padding-top:calc(var(--spacing)*10)}.pb-5{padding-bottom:calc(var(--spacing)*5)}.pb-16{padding-bottom:calc(var(--spacing)*16)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.decoration-solid{text-decoration-style:solid}.underline-offset-2{text-underline-offset:2px}.opacity-15{opacity:.15}.opacity-45{opacity:.45}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.duration-100{--tw-duration:.1s;transition-duration:.1s}@media(hover:hover){.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-none:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.\!pointer-events-auto{pointer-events:auto!important}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-8{inset:calc(var(--spacing)*8)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-3\.5{top:calc(var(--spacing)*3.5)}.top-8{top:calc(var(--spacing)*8)}.top-10{top:calc(var(--spacing)*10)}.top-\[-2px\]{top:-2px}.top-\[-11px\]{top:-11px}.top-\[11px\]{top:11px}.right-0{right:calc(var(--spacing)*0)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-5{right:calc(var(--spacing)*5)}.right-\[0px\]{right:0}.-bottom-16{bottom:calc(var(--spacing)*-16)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-5{bottom:calc(var(--spacing)*5)}.bottom-\[-2px\]{bottom:-2px}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-8{left:calc(var(--spacing)*8)}.left-\[-2px\]{left:-2px}.left-\[0px\]{left:0}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[20\]{z-index:20}.z-\[1000\]{z-index:1000}.z-\[1001\]{z-index:1001}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-6{margin:calc(var(--spacing)*6)}.m-8{margin:calc(var(--spacing)*8)}.mx-0\.5{margin-inline:calc(var(--spacing)*.5)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-0{margin-block:calc(var(--spacing)*0)}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.my-4{margin-block:calc(var(--spacing)*4)}.my-6{margin-block:calc(var(--spacing)*6)}.my-8{margin-block:calc(var(--spacing)*8)}.my-40{margin-block:calc(var(--spacing)*40)}.-mt-12{margin-top:calc(var(--spacing)*-12)}.-mt-20{margin-top:calc(var(--spacing)*-20)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-\[-6px\]{margin-top:-6px}.mt-\[11px\]{margin-top:11px}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-6{margin-right:calc(var(--spacing)*6)}.-mb-1{margin-bottom:calc(var(--spacing)*-1)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-\[3px\]{margin-bottom:3px}.-ml-6{margin-left:calc(var(--spacing)*-6)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-\[234px\]{margin-left:234px}.ml-auto{margin-left:auto}.scrollbar-thin::-webkit-scrollbar-track{background-color:var(--scrollbar-track);border-radius:var(--scrollbar-track-radius)}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:var(--scrollbar-thumb-radius)}.scrollbar-thin::-webkit-scrollbar-corner{background-color:var(--scrollbar-corner);border-radius:var(--scrollbar-corner-radius)}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb,initial)var(--scrollbar-track,initial)}.scrollbar-thin::-webkit-scrollbar{width:8px;height:8px;display:block}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-\[3px\]{width:3px;height:3px}.size-\[calc\(100\%-32px\)\]{width:calc(100% - 32px);height:calc(100% - 32px)}.size-full{width:100%;height:100%}.h-0\.5{height:calc(var(--spacing)*.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-48{height:calc(var(--spacing)*48)}.h-\[1px\]{height:1px}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[9px\]{height:9px}.h-\[12px\]{height:12px}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[25px\]{height:25px}.h-\[34px\]{height:34px}.h-\[36px\]{height:36px}.h-\[52px\]{height:52px}.h-\[130px\]{height:130px}.h-\[244px\]{height:244px}.h-\[300px\]{height:300px}.h-\[420px\]{height:420px}.h-\[480px\]{height:480px}.h-\[600px\]{height:600px}.h-\[700px\]{height:700px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-max{height:max-content}.h-px{height:1px}.h-screen{height:100vh}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-6{max-height:calc(var(--spacing)*6)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-\[245px\]{max-height:245px}.max-h-\[300px\]{max-height:300px}.max-h-\[370px\]{max-height:370px}.max-h-\[404px\]{max-height:404px}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.min-h-4{min-height:calc(var(--spacing)*4)}.min-h-9{min-height:calc(var(--spacing)*9)}.min-h-11{min-height:calc(var(--spacing)*11)}.min-h-12{min-height:calc(var(--spacing)*12)}.min-h-\[48px\]{min-height:48px}.min-h-\[50px\]{min-height:50px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-\(--radix-popover-trigger-width\){width:var(--radix-popover-trigger-width)}.w-0\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-11{width:calc(var(--spacing)*11)}.w-32{width:calc(var(--spacing)*32)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-64{width:calc(var(--spacing)*64)}.w-96{width:calc(var(--spacing)*96)}.w-\[6px\]{width:6px}.w-\[18px\]{width:18px}.w-\[50px\]{width:50px}.w-\[83px\]{width:83px}.w-\[200px\]{width:200px}.w-\[320px\]{width:320px}.w-\[338px\]{width:338px}.w-\[358px\]{width:358px}.w-\[400px\]{width:400px}.w-\[408px\]{width:408px}.w-\[432px\]{width:432px}.w-\[450px\]{width:450px}.w-\[500px\]{width:500px}.w-\[900px\]{width:900px}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-screen{width:100vw}.max-w-4xl{max-width:var(--container-4xl)}.max-w-36{max-width:calc(var(--spacing)*36)}.max-w-96{max-width:calc(var(--spacing)*96)}.max-w-\[408px\]{max-width:408px}.max-w-fit{max-width:fit-content}.max-w-full{max-width:100%}.max-w-none{max-width:none}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-8{min-width:calc(var(--spacing)*8)}.min-w-36{min-width:calc(var(--spacing)*36)}.min-w-64{min-width:calc(var(--spacing)*64)}.min-w-72{min-width:calc(var(--spacing)*72)}.min-w-\[142px\]{min-width:142px}.min-w-\[360px\]{min-width:360px}.min-w-\[408px\]{min-width:408px}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-scale-x-100{--tw-scale-x: -100% ;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-0{rotate:none}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.rotate-\[270deg\]{rotate:270deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-\[1fr\,auto\,1fr\]{grid-template-columns:1fr,auto,1fr}.grid-cols-\[208px\,380px\]{grid-template-columns:208px,380px}.grid-cols-\[auto\,auto\]{grid-template-columns:auto,auto}.grid-cols-\[minmax\(min-content\,1018px\)\]{grid-template-columns:minmax(min-content,1018px)}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-32{gap:calc(var(--spacing)*32)}.gap-\[-2px\]{gap:-2px}.gap-x-1{column-gap:calc(var(--spacing)*1)}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-4{column-gap:calc(var(--spacing)*4)}.gap-x-6{column-gap:calc(var(--spacing)*6)}.gap-x-8{column-gap:calc(var(--spacing)*8)}.gap-x-12{column-gap:calc(var(--spacing)*12)}.gap-x-16{column-gap:calc(var(--spacing)*16)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}.gap-y-4{row-gap:calc(var(--spacing)*4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[2px\]{border-radius:2px}.rounded-\[24px\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-t-full{border-top-left-radius:3.40282e38px;border-top-right-radius:3.40282e38px}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-tl-md{border-top-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-tr-md{border-top-right-radius:var(--radius-md)}.rounded-b-full{border-bottom-right-radius:3.40282e38px;border-bottom-left-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-y-0{border-block-style:var(--tw-border-style);border-block-width:0}.border-y-2{border-block-style:var(--tw-border-style);border-block-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-black{border-color:var(--color-black)}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-gray-400{border-color:var(--color-gray-400)}.border-gray-600{border-color:var(--color-gray-600)}.border-gray-700{border-color:var(--color-gray-700)}.border-gray-800{border-color:var(--color-gray-800)}.border-gray-900{border-color:var(--color-gray-900)}.border-red-700{border-color:var(--color-red-700)}.border-red-900{border-color:var(--color-red-900)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-zinc-200{border-color:var(--color-zinc-200)}.border-b-gray-300{border-bottom-color:var(--color-gray-300)}.bg-\[\#ffffff\]{background-color:#fff}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-900{background-color:var(--color-blue-900)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-800{background-color:var(--color-gray-800)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-600{background-color:var(--color-green-600)}.bg-green-600\/30{background-color:#63cf804d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:#00a5444d}@supports (color:color-mix(in lab,red,red)){.bg-green-600\/30{background-color:color-mix(in oklab,var(--color-green-600)30%,transparent)}}}.bg-inherit{background-color:inherit}.bg-orange-100{background-color:var(--color-orange-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-red-600\/30{background-color:#f28e874d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:#e400144d}@supports (color:color-mix(in lab,red,red)){.bg-red-600\/30{background-color:color-mix(in oklab,var(--color-red-600)30%,transparent)}}}.bg-red-900{background-color:var(--color-red-900)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900\/50{background-color:#0e101080}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/50{background-color:color-mix(in oklab,var(--color-slate-900)50%,transparent)}}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-zinc-50{background-color:var(--color-zinc-50)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-10{padding:calc(var(--spacing)*10)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-28{padding-block:calc(var(--spacing)*28)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-12{padding-top:calc(var(--spacing)*12)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-2\.5{padding-right:calc(var(--spacing)*2.5)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-9{padding-right:calc(var(--spacing)*9)}.pb-0{padding-bottom:calc(var(--spacing)*0)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pl-1{padding-left:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-10{--tw-leading:calc(var(--spacing)*10);line-height:calc(var(--spacing)*10)}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extralight{--tw-font-weight:var(--font-weight-extralight);font-weight:var(--font-weight-extralight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.\!text-red-800{color:var(--color-red-800)!important}.\!text-red-900{color:var(--color-red-900)!important}.text-\[\#9DA6B9\]{color:#9da6b9}.text-black{color:var(--color-black)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-current{color:currentColor}.text-gray-50{color:var(--color-gray-50)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-inherit{color:inherit}.text-orange-700{color:var(--color-orange-700)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-900{color:var(--color-purple-900)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-slate-50{color:var(--color-slate-50)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-500{color:var(--color-slate-500)}.text-slate-800{color:var(--color-slate-800)}.text-stone-300{color:var(--color-stone-300)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-900{color:var(--color-yellow-900)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.accent-gray-900{accent-color:var(--color-gray-900)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_2px_12px_rgba\(37\,42\,52\,0\.1\)\]{--tw-shadow:0 2px 12px var(--tw-shadow-color,#252a341a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[1px_4px_15px_0px_rgba\(74\,88\,115\,0\.25\)\]{--tw-shadow:1px 4px 15px 0px var(--tw-shadow-color,#4a587340);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[1px_4px_15px_rgba\(74\,88\,115\,0\.25\)\]{--tw-shadow:1px 4px 15px var(--tw-shadow-color,#4a587340);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-button{--tw-shadow:0px -1px 1px 0px var(--tw-shadow-color,#0000000a)inset,0px 2px 0px 0px var(--tw-shadow-color,#ffffff40)inset,0px 4px 8px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-tooltip{--tw-shadow:0px 2px 8px 0px var(--tw-shadow-color,#0000000d),0px 44px 48px -12px var(--tw-shadow-color,#00000026),0px 0px 24px 4px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.shadow-black\/\[\.04\]{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)4%,transparent)var(--tw-shadow-alpha),transparent)}}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-red-900{outline-color:var(--color-red-900)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-radius\]{transition-property:border-radius;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[max-height\]{transition-property:max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-all{-webkit-user-select:all;user-select:all}.select-none{-webkit-user-select:none;user-select:none}.scrollbar-thumb-gray-300{--scrollbar-thumb:#d8d9da}.scrollbar-track-transparent{--scrollbar-track:transparent}.group-focus-within\:\!text-gray-900:is(:where(.group):focus-within *){color:var(--color-gray-900)!important}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:mr-0:is(:where(.group):hover *){margin-right:calc(var(--spacing)*0)}.group-hover\:block:is(:where(.group):hover *){display:block}.group-hover\:cursor-pointer:is(:where(.group):hover *){cursor:pointer}.group-hover\:border-gray-900:is(:where(.group):hover *){border-color:var(--color-gray-900)}.group-hover\:\!text-red-900:is(:where(.group):hover *){color:var(--color-red-900)!important}.group-hover\:text-gray-700:is(:where(.group):hover *){color:var(--color-gray-700)}.group-hover\:text-gray-800:is(:where(.group):hover *){color:var(--color-gray-800)}.group-hover\:text-gray-900:is(:where(.group):hover *){color:var(--color-gray-900)}.group-hover\:text-inherit:is(:where(.group):hover *){color:inherit}.group-hover\:opacity-50:is(:where(.group):hover *){opacity:.5}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/sidebar-footer\:block:is(:where(.group\/sidebar-footer):hover *){display:block}.group-hover\/sidebar-footer\:hidden:is(:where(.group\/sidebar-footer):hover *){display:none}}.peer-checked\:bg-blue-900:is(:where(.peer):checked~*){background-color:var(--color-blue-900)}@media(hover:hover){.peer-hover\:text-gray-900:is(:where(.peer):hover~*){color:var(--color-gray-900)}}.peer-focus\:outline-none:is(:where(.peer):focus~*){--tw-outline-style:none;outline-style:none}.placeholder\:text-gray-50::placeholder{color:var(--color-gray-50)}.placeholder\:text-gray-500::placeholder{color:var(--color-gray-500)}.placeholder\:text-red-800::placeholder{color:var(--color-red-800)}.group-focus-within\:placeholder\:\!text-gray-700:is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-700)!important}@media(hover:hover){.group-hover\:placeholder\:text-gray-700:is(:where(.group):hover *)::placeholder{color:var(--color-gray-700)}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:top-\[0\.4em\]:before{content:var(--tw-content);top:.4em}.before\:left-0:before{content:var(--tw-content);left:calc(var(--spacing)*0)}.before\:size-2:before{content:var(--tw-content);width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.before\:rounded-full:before{content:var(--tw-content);border-radius:3.40282e38px}.before\:bg-blue-900:before{content:var(--tw-content);background-color:var(--color-blue-900)}.before\:bg-orange-900:before{content:var(--tw-content);background-color:var(--color-orange-900)}.before\:bg-red-900:before{content:var(--tw-content);background-color:var(--color-red-900)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-0\.5:after{content:var(--tw-content);inset-inline-start:calc(var(--spacing)*.5)}.after\:top-0\.5:after{content:var(--tw-content);top:calc(var(--spacing)*.5)}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:size-2\.5:after{content:var(--tw-content);width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.after\:size-5:after{content:var(--tw-content);width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:-translate-y-1\/2:after{content:var(--tw-content);--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.after\:rounded-full:after{content:var(--tw-content);border-radius:3.40282e38px}.after\:border:after{content:var(--tw-content);border-style:var(--tw-border-style);border-width:1px}.after\:border-none:after{content:var(--tw-content);--tw-border-style:none;border-style:none}.after\:bg-gray-50:after{content:var(--tw-content);background-color:var(--color-gray-50)}.after\:bg-gray-600:after{content:var(--tw-content);background-color:var(--color-gray-600)}.after\:bg-gray-800:after{content:var(--tw-content);background-color:var(--color-gray-800)}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}@media(hover:hover){.group-hover\:after\:bg-gray-900:is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-900)}}.peer-checked\:after\:translate-x-full:is(:where(.peer):checked~*):after{content:var(--tw-content);--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.first\:border-l-0:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\:rounded-b-md:last-child{border-bottom-right-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.odd\:bg-white:nth-child(odd){background-color:var(--color-white)}.even\:bg-gray-50:nth-child(2n){background-color:var(--color-gray-50)}.first-of-type\:rounded-t-2xl:first-of-type{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.first-of-type\:pt-3:first-of-type{padding-top:calc(var(--spacing)*3)}.last-of-type\:mb-0:last-of-type{margin-bottom:calc(var(--spacing)*0)}.last-of-type\:rounded-b-2xl:last-of-type{border-bottom-right-radius:var(--radius-2xl);border-bottom-left-radius:var(--radius-2xl)}.last-of-type\:pb-3:last-of-type{padding-bottom:calc(var(--spacing)*3)}.last-of-type\:text-gray-800:last-of-type{color:var(--color-gray-800)}.focus-within\:border-b-gray-300:focus-within{border-bottom-color:var(--color-gray-300)}.focus-within\:bg-gray-100:focus-within{background-color:var(--color-gray-100)}@media(hover:hover){.hover\:scale-100:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-500:hover{border-color:var(--color-gray-500)}.hover\:border-gray-600:hover{border-color:var(--color-gray-600)}.hover\:border-gray-900:hover{border-color:var(--color-gray-900)}.hover\:border-red-900:hover{border-color:var(--color-red-900)}.hover\:border-b-gray-300:hover{border-bottom-color:var(--color-gray-300)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-100:hover{background-color:var(--color-blue-100)}.hover\:bg-blue-300:hover{background-color:var(--color-blue-300)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[\#9896FF\]:hover{color:#9896ff}.hover\:text-gray-500:hover{color:var(--color-gray-500)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:text-gray-800:hover{color:var(--color-gray-800)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-red-900:hover{color:var(--color-red-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.hover\:scrollbar-thumb-gray-300:hover{--scrollbar-thumb:#d8d9da}}.focus\:bg-gray-50:focus{background-color:var(--color-gray-50)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-gray-900:focus{--tw-ring-color:var(--color-gray-900)}.focus\:ring-offset-0:focus{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-gray-900:focus-visible{--tw-ring-color:var(--color-gray-900)}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width:0px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-white:focus-visible{--tw-ring-offset-color:var(--color-white)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:border-blue-800:active{border-color:var(--color-blue-800)}.active\:border-red-800:active{border-color:var(--color-red-800)}.active\:border-slate-100:active{border-color:var(--color-slate-100)}.active\:border-slate-700:active{border-color:var(--color-slate-700)}.active\:text-gray-600:active{color:var(--color-gray-600)}.active\:opacity-50:active{opacity:.5}.active\:opacity-70:active{opacity:.7}.active\:opacity-75:active{opacity:.75}.active\:opacity-80:active{opacity:.8}.active\:opacity-100:active{opacity:1}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-gray-300:disabled{border-color:var(--color-gray-300)}.disabled\:border-gray-700:disabled{border-color:var(--color-gray-700)}.disabled\:bg-gray-50:disabled{background-color:var(--color-gray-50)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-transparent:disabled{background-color:#0000}.disabled\:p-0:disabled{padding:calc(var(--spacing)*0)}.disabled\:text-left:disabled{text-align:left}.disabled\:text-blue-400:disabled{color:var(--color-blue-400)}.disabled\:text-gray-400:disabled{color:var(--color-gray-400)}.disabled\:text-gray-500:disabled{color:var(--color-gray-500)}.disabled\:text-gray-700:disabled{color:var(--color-gray-700)}.disabled\:text-red-400:disabled{color:var(--color-red-400)}.disabled\:text-slate-100:disabled{color:var(--color-slate-100)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-100:disabled{opacity:1}.data-disabled\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-disabled\:text-gray-400[data-disabled]{color:var(--color-gray-400)}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}@media(hover:hover){.data-\[invalid\=true\]\:group-hover\:\!border-red-900[data-invalid=true]:is(:where(.group):hover *){border-color:var(--color-red-900)!important}}.data-\[selected\=true\]\:bg-gray-100[data-selected=true]{background-color:var(--color-gray-100)}.data-\[side\=bottom\]\:animate-slide-in-from-top[data-side=bottom]{animation:var(--animate-slide-in-from-top)}.data-\[side\=left\]\:animate-slide-in-from-right[data-side=left]{animation:var(--animate-slide-in-from-right)}.data-\[side\=right\]\:animate-slide-in-from-left[data-side=right]{animation:var(--animate-slide-in-from-left)}.data-\[side\=top\]\:animate-slide-in-from-bottom[data-side=top]{animation:var(--animate-slide-in-from-bottom)}.data-\[state\]\:border-gray-700[data-state]{border-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.data-\[state\=\'active\'\]\:bg-gray-50[data-state=active]{background-color:var(--color-gray-50)}.data-\[state\=\'active\'\]\:text-gray-900[data-state=active]{color:var(--color-gray-900)}.data-\[state\=checked\]\:bg-gray-900[data-state=checked]{background-color:var(--color-gray-900)}.data-\[state\=checked\]\:text-slate-50[data-state=checked]{color:var(--color-slate-50)}@media(hover:hover){.data-\[state\=checked\]\:group-hover\:bg-gray-900[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-700:disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}@media(hover:hover){.data-\[invalid\=true\]\:data-\[state\=checked\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=checked]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:var(--animate-fade-out)}.data-\[state\=closed\]\:animate-zoom-out[data-state=closed]{animation:var(--animate-zoom-out)}.data-\[state\=indeterminate\]\:bg-gray-900[data-state=indeterminate]{background-color:var(--color-gray-900)}.data-\[state\=indeterminate\]\:text-slate-50[data-state=indeterminate]{color:var(--color-slate-50)}@media(hover:hover){.data-\[state\=indeterminate\]\:group-hover\:bg-gray-900[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-gray-900)}}.disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-700:disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-700)}.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}@media(hover:hover){.data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:group-hover\:\!bg-red-900[data-invalid=true][data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-red-900)!important}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:var(--animate-fade-in)}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:var(--animate-zoom-in)}.dark\:border-charcoal-700:where(.dark,.dark *){border-color:var(--color-charcoal-700)}.dark\:border-gray-400:where(.dark,.dark *){border-color:var(--color-gray-400)}.dark\:border-gray-600:where(.dark,.dark *){border-color:var(--color-gray-600)}.dark\:border-gray-900:where(.dark,.dark *){border-color:var(--color-gray-900)}.dark\:border-red-700:where(.dark,.dark *){border-color:var(--color-red-700)}.dark\:border-slate-500:where(.dark,.dark *){border-color:var(--color-slate-500)}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:border-b-gray-900:where(.dark,.dark *){border-bottom-color:var(--color-gray-900)}.dark\:bg-\[\#1c1e23\]:where(.dark,.dark *){background-color:#1c1e23}.dark\:bg-blue-600:where(.dark,.dark *){background-color:var(--color-blue-600)}.dark\:bg-charcoal-900:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.dark\:bg-gray-400:where(.dark,.dark *){background-color:var(--color-gray-400)}.dark\:bg-slate-600:where(.dark,.dark *){background-color:var(--color-slate-600)}.dark\:bg-slate-900:where(.dark,.dark *){background-color:var(--color-slate-900)}.dark\:bg-transparent:where(.dark,.dark *){background-color:#0000}.dark\:text-\[\#7D3D37\]:where(.dark,.dark *){color:#7d3d37}.dark\:text-\[\#644E00\]:where(.dark,.dark *){color:#644e00}.dark\:text-black:where(.dark,.dark *){color:var(--color-black)}.dark\:text-blue-900:where(.dark,.dark *){color:var(--color-blue-900)}.dark\:text-gray-50:where(.dark,.dark *){color:var(--color-gray-50)}.dark\:text-gray-200:where(.dark,.dark *){color:var(--color-gray-200)}.dark\:text-gray-300:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:text-gray-400:where(.dark,.dark *){color:var(--color-gray-400)}.dark\:text-gray-500:where(.dark,.dark *){color:var(--color-gray-500)}.dark\:text-gray-600:where(.dark,.dark *){color:var(--color-gray-600)}.dark\:text-gray-700:where(.dark,.dark *){color:var(--color-gray-700)}.dark\:text-red-800:where(.dark,.dark *){color:var(--color-red-800)}.dark\:text-red-900:where(.dark,.dark *){color:var(--color-red-900)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-yellow-900:where(.dark,.dark *){color:var(--color-yellow-900)}.dark\:shadow-\[1px_4px_15\.3px_0px_\#141921\]:where(.dark,.dark *){--tw-shadow:1px 4px 15.3px 0px var(--tw-shadow-color,#141921);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:scrollbar-thumb-charcoal-700:where(.dark,.dark *){--scrollbar-thumb:#485265}.dark\:group-focus-within\:\!text-gray-50:where(.dark,.dark *):is(:where(.group):focus-within *){color:var(--color-gray-50)!important}@media(hover:hover){.dark\:group-hover\:border-slate-50:where(.dark,.dark *):is(:where(.group):hover *){border-color:var(--color-slate-50)}.dark\:group-hover\:\!text-red-900:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-red-900)!important}.dark\:group-hover\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-gray-500)}.dark\:group-hover\:text-slate-50:where(.dark,.dark *):is(:where(.group):hover *){color:var(--color-slate-50)}.dark\:peer-hover\:text-gray-50:where(.dark,.dark *):is(:where(.peer):hover~*){color:var(--color-gray-50)}}.dark\:placeholder\:text-gray-600:where(.dark,.dark *)::placeholder{color:var(--color-gray-600)}.dark\:placeholder\:text-gray-700:where(.dark,.dark *)::placeholder{color:var(--color-gray-700)}.dark\:group-focus-within\:placeholder\:\!text-gray-300:where(.dark,.dark *):is(:where(.group):focus-within *)::placeholder{color:var(--color-gray-300)!important}@media(hover:hover){.dark\:group-hover\:placeholder\:text-gray-500:where(.dark,.dark *):is(:where(.group):hover *)::placeholder{color:var(--color-gray-500)}}.dark\:before\:bg-blue-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-blue-900)}.dark\:before\:bg-orange-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-orange-900)}.dark\:before\:bg-red-900:where(.dark,.dark *):before{content:var(--tw-content);background-color:var(--color-red-900)}.dark\:after\:bg-gray-400:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-400)}.dark\:after\:bg-gray-600:where(.dark,.dark *):after{content:var(--tw-content);background-color:var(--color-gray-600)}@media(hover:hover){.dark\:group-hover\:after\:bg-gray-50:where(.dark,.dark *):is(:where(.group):hover *):after{content:var(--tw-content);background-color:var(--color-gray-50)}}.dark\:focus-within\:border-b-gray-800:where(.dark,.dark *):focus-within{border-bottom-color:var(--color-gray-800)}.dark\:focus-within\:bg-gray-900:where(.dark,.dark *):focus-within{background-color:var(--color-gray-900)}@media(hover:hover){.dark\:hover\:border-charcoal-700:where(.dark,.dark *):hover{border-color:var(--color-charcoal-700)}.dark\:hover\:border-gray-50:where(.dark,.dark *):hover{border-color:var(--color-gray-50)}.dark\:hover\:border-gray-600:where(.dark,.dark *):hover{border-color:var(--color-gray-600)}.dark\:hover\:border-red-900:where(.dark,.dark *):hover{border-color:var(--color-red-900)}.dark\:hover\:border-b-gray-800:where(.dark,.dark *):hover{border-bottom-color:var(--color-gray-800)}.dark\:hover\:bg-charcoal-800:where(.dark,.dark *):hover{background-color:var(--color-charcoal-800)}.dark\:hover\:bg-charcoal-900:where(.dark,.dark *):hover{background-color:var(--color-charcoal-900)}.dark\:hover\:bg-gray-900:where(.dark,.dark *):hover{background-color:var(--color-gray-900)}.dark\:hover\:bg-transparent:where(.dark,.dark *):hover{background-color:#0000}.dark\:hover\:text-gray-500:where(.dark,.dark *):hover{color:var(--color-gray-500)}.dark\:hover\:scrollbar-thumb-charcoal-700:where(.dark,.dark *):hover{--scrollbar-thumb:#485265}}.dark\:focus\:bg-charcoal-900:where(.dark,.dark *):focus{background-color:var(--color-charcoal-900)}.dark\:focus\:ring-charcoal-300:where(.dark,.dark *):focus,.dark\:focus-visible\:ring-charcoal-300:where(.dark,.dark *):focus-visible{--tw-ring-color:var(--color-charcoal-300)}.dark\:focus-visible\:ring-offset-charcoal-900:where(.dark,.dark *):focus-visible{--tw-ring-offset-color:var(--color-charcoal-900)}.disabled\:dark\:border-charcoal-800:disabled:where(.dark,.dark *){border-color:var(--color-charcoal-800)}.disabled\:dark\:bg-charcoal-900:disabled:where(.dark,.dark *){background-color:var(--color-charcoal-900)}.disabled\:dark\:text-gray-300:disabled:where(.dark,.dark *){color:var(--color-gray-300)}.dark\:data-\[selected\=true\]\:bg-gray-900:where(.dark,.dark *)[data-selected=true]{background-color:var(--color-gray-900)}.dark\:data-\[state\]\:border-gray-500:where(.dark,.dark *)[data-state]{border-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\]\:\!border-red-800:where(.dark,.dark *)[data-invalid=true][data-state]{border-color:var(--color-red-800)!important}.dark\:data-\[state\=checked\]\:bg-gray-400:where(.dark,.dark *)[data-state=checked]{background-color:var(--color-gray-400)}.dark\:data-\[state\=checked\]\:text-gray-900:where(.dark,.dark *)[data-state=checked]{color:var(--color-gray-900)}@media(hover:hover){.dark\:data-\[state\=checked\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=checked]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=checked\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=checked]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=checked\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=checked]{background-color:var(--color-red-800)!important}.dark\:data-\[state\=indeterminate\]\:bg-gray-400:where(.dark,.dark *)[data-state=indeterminate]{background-color:var(--color-gray-400)}.dark\:data-\[state\=indeterminate\]\:text-gray-900:where(.dark,.dark *)[data-state=indeterminate]{color:var(--color-gray-900)}@media(hover:hover){.dark\:data-\[state\=indeterminate\]\:group-hover\:bg-slate-50:where(.dark,.dark *)[data-state=indeterminate]:is(:where(.group):hover *){background-color:var(--color-slate-50)}}.dark\:disabled\:data-\[invalid\=false\]\:data-\[state\=indeterminate\]\:bg-gray-500:where(.dark,.dark *):disabled[data-invalid=false][data-state=indeterminate]{background-color:var(--color-gray-500)}.dark\:data-\[invalid\=true\]\:data-\[state\=indeterminate\]\:\!bg-red-800:where(.dark,.dark *)[data-invalid=true][data-state=indeterminate]{background-color:var(--color-red-800)!important}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-label\]\]\:hidden [cmdk-label]{display:none}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&\>span\]\:truncate>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(to right,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:.2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));width:var(--toastify-toast-width);box-sizing:border-box;color:#fff;padding:4px;position:fixed}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%)}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right)}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%)}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0;padding:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}}.Toastify__toast{--y:0;-ms-touch-action:none;touch-action:none;min-height:var(--toastify-toast-min-height);box-sizing:border-box;border-radius:var(--toastify-toast-bd-radius);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);cursor:default;z-index:0;direction:ltr;justify-content:space-between;margin-bottom:1rem;padding:8px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001a}.Toastify__toast--stacked{width:100%;transform:translate3d(0,var(--y),0)scale(var(--s));transition:transform .3s;position:absolute}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";height:calc(var(--g)*1px);position:absolute;bottom:100%;left:0;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";z-index:-1;height:100%;position:absolute;bottom:0;left:0;right:0;transform:scaleY(3)}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{flex:auto;align-items:center;margin:auto 0;padding:6px;display:flex}.Toastify__toast-body>div:last-child{word-break:break-word;flex:1}.Toastify__toast-icon{-webkit-margin-end:10px;flex-shrink:0;width:20px;margin-inline-end:10px;display:flex}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;outline:none;align-self:flex-start;padding:0;transition:all .3s}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;width:14px;height:16px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{width:100%;height:100%;z-index:var(--toastify-z-index);opacity:.7;transform-origin:0;border-bottom-left-radius:var(--toastify-toast-bd-radius);position:absolute;bottom:0;left:0}.Toastify__progress-bar--animated{animation:linear forwards Toastify__trackProgress}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:100%;border-bottom-left-radius:initial;border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp{border-bottom-left-radius:var(--toastify-toast-bd-radius);width:100%;height:5px;position:absolute;bottom:0;left:0}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{box-sizing:border-box;border:2px solid;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);border-radius:100%;width:20px;height:20px;animation:.65s linear infinite Toastify__spin}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(3000px)}60%{opacity:1;transform:translate(-25px)}75%{transform:translate(10px)}90%{transform:translate(-5px)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate(-3000px)}60%{opacity:1;transform:translate(25px)}75%{transform:translate(-10px)}90%{transform:translate(5px)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(3000px)}60%{opacity:1;transform:translateY(-20px)}75%{transform:translateY(10px)}90%{transform:translateY(-5px)}to{transform:translate(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(-2000px)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translateY(-3000px)}60%{opacity:1;transform:translateY(25px)}75%{transform:translateY(-10px)}90%{transform:translateY(5px)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translateY(2000px)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0)scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{opacity:0;animation-timing-function:ease-in;transform:perspective(400px)rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px)rotateX(-20deg)}60%{opacity:1;transform:perspective(400px)rotateX(10deg)}80%{transform:perspective(400px)rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0)perspective(400px)}30%{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0)perspective(400px)rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{visibility:visible;transform:translate(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{visibility:visible;transform:translate(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{visibility:visible;transform:translateY(110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{visibility:visible;transform:translateY(-110%)}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(500px)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translateY(-500px)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-duration:.3s;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-duration:.3s;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--toastify-toast-min-height:48px;--toastify-toast-bd-radius:8px;--toastify-text-color-light:var(--color-gray-800);--toastify-color-progress-info:var(--color-gray-300);--toastify-color-progress-success:var(--color-gray-300);--toastify-color-progress-warning:var(--color-gray-300);--toastify-color-progress-error:var(--color-gray-300);--toastify-color-progress-light:var(--color-gray-300)}html:has(dialog[open]){overflow:hidden}.checkbox-container input[type=checkbox]{accent-color:var(--color-gray-900)}.rmsc{--rmsc-main:var(--color-gray-300)!important;--rmsc-hover:var(--color-gray-100)!important;--rmsc-selected:var(--color-gray-300)!important}.Toastify__toast-body{margin:0;padding:0;font-size:14px;font-weight:600}.Toastify__toast{padding:12px 16px;box-shadow:0 8px 32px #00000052}.Toastify__progress-bar--wrp{height:2px}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.ph-default-styles h1{color:#343839;font-family:Inter,sans-serif;font-size:32px;font-style:normal;font-weight:600;line-height:120%}.ph-default-styles h2{color:#343839;font-family:Inter,sans-serif;font-size:24px;font-style:normal;font-weight:600;line-height:120%}.ph-default-styles h3{color:#343839;font-family:Inter,sans-serif;font-size:20px;font-style:normal;font-weight:600;line-height:120%}.ph-default-styles p{color:#343839;font-family:Inter,sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:120%}.ph-default-styles small{color:#474d4e;font-family:Inter,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:100%}.ph-default-styles input[type=text],.ph-default-styles input[type=email],.ph-default-styles input[type=password],.ph-default-styles input[type=search],.ph-default-styles input[type=tel],.ph-default-styles input[type=url],.ph-default-styles input[type=number],.ph-default-styles textarea{color:#343839;box-sizing:border-box;background-color:#fff;border:1px solid #ced4da;border-radius:.375rem;width:100%;margin-bottom:10px;padding:7px .75rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:400;line-height:1.25rem}.ph-default-styles textarea{resize:vertical;min-height:2.25rem}.ph-default-styles a{color:#007bff;text-decoration:none}.ph-default-styles a:hover{color:#0056b3;text-decoration:underline}.ph-default-styles a:focus{outline-offset:2px;outline:2px solid #0000;box-shadow:0 0 0 2px #fff,0 0 0 4px #007bff80}.ph-default-styles ul,.ph-default-styles ol{margin-top:0;margin-bottom:0;padding-left:0}.ph-default-styles label{color:#343839;font-family:Inter,sans-serif;font-weight:500;display:block}.ph-default-styles hr{background-color:#ced4da;border:0;height:1px;margin-top:1rem;margin-bottom:1rem}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{transform:scale(.95)}to{transform:scale(1)}}@keyframes zoomOut{0%{transform:scale(1)}to{transform:scale(.95)}}@keyframes slideInFromTop{0%{transform:translateY(-.5rem)}to{transform:translateY(0)}}@keyframes slideInFromBottom{0%{transform:translateY(.5rem)}to{transform:translateY(0)}}@keyframes slideInFromLeft{0%{transform:translate(.5rem)}to{transform:translate(0)}}@keyframes slideInFromRight{0%{transform:translate(-.5rem)}to{transform:translate(0)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@layer properties;@layer theme,base,components,utilities;@layer theme{:root,:host{--font-sans: "Inter", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-800: hsl(5 81% 61%);--color-red-900: hsl(5 81% 56%);--color-slate-50: hsl(210 20% 96%);--color-gray-50: hsl(0 0% 99%);--color-gray-100: hsl(0 0% 96%);--color-gray-200: hsl(0 0% 94%);--color-gray-400: hsl(180 2% 78%);--color-gray-500: hsl(200 2% 63%);--color-gray-600: hsl(200 4% 44%);--color-gray-700: hsl(189 5% 29%);--color-gray-800: hsl(200 4% 26%);--color-gray-900: hsl(192 5% 21%);--spacing: .25rem;--container-sm: 24rem;--container-6xl: 72rem;--text-sm: .875rem;--text-sm--line-height: calc(1.25 / .875);--text-lg: 1.125rem;--text-lg--line-height: calc(1.75 / 1.125);--text-xl: 1.25rem;--text-xl--line-height: calc(1.75 / 1.25);--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-3xl: 1.5rem;--default-transition-duration: .15s;--default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--default-font-family: var(--font-sans);--default-mono-font-family: var(--font-mono)}}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings, normal);font-variation-settings:var(--default-font-variation-settings, normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings, normal);font-variation-settings:var(--default-mono-font-variation-settings, normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:currentcolor}@supports (color: color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1{top:calc(var(--spacing) * 1)}.top-8{top:calc(var(--spacing) * 8)}.right-1{right:calc(var(--spacing) * 1)}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-8{margin-block:calc(var(--spacing) * 8)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-4{margin-left:calc(var(--spacing) * 4)}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.size-0{width:calc(var(--spacing) * 0);height:calc(var(--spacing) * 0)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-dvh{min-height:100dvh}.w-1\/2{width:50%}.w-fit{width:fit-content}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-sm{max-width:var(--container-sm)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-0{rotate:0deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto\,1fr\]{grid-template-rows:auto,1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-12{column-gap:calc(var(--spacing) * 12)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style: none;border-style:none}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-400{border-color:var(--color-gray-400)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-transparent{background-color:transparent}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-0{padding-left:calc(var(--spacing) * 0)}.text-right{text-align:right}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading, var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading, var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading, var(--text-xl--line-height))}.text-\[0\.8rem\]{font-size:.8rem}.leading-none{--tw-leading: 1;line-height:1}.font-bold{--tw-font-weight: var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight: var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight: var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / .1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / .1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[inset_0px_0px_2px_rgba\(255\,255\,255\,0\.50\)\]{--tw-shadow: inset 0px 0px 2px var(--tw-shadow-color, rgba(255,255,255,.5));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease, var(--default-transition-timing-function));transition-duration:var(--tw-duration, var(--default-transition-duration))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:70%}.placeholder\:text-gray-600::placeholder{color:var(--color-gray-600)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}@media(hover:hover){.hover\:text-gray-500:hover{color:var(--color-gray-500)}}@media(hover:hover){.hover\:text-gray-900:hover{color:var(--color-gray-900)}}.focus-visible\:bg-gray-200:focus-visible{background-color:var(--color-gray-200)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px;--tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style: none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:50%}.data-\[state\=active\]\:bg-gray-50[data-state=active]{background-color:var(--color-gray-50)}.data-\[state\=active\]\:text-gray-800[data-state=active]{color:var(--color-gray-800)}.data-\[state\=active\]\:shadow-\[0px_16px_16px_-4px_rgba\(0\,0\,0\,0\.10\)\][data-state=active]{--tw-shadow: 0px 16px 16px -4px var(--tw-shadow-color, rgba(0,0,0,.1));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-rotate-x{syntax: "*"; inherits: false;}@property --tw-rotate-y{syntax: "*"; inherits: false;}@property --tw-rotate-z{syntax: "*"; inherits: false;}@property --tw-skew-x{syntax: "*"; inherits: false;}@property --tw-skew-y{syntax: "*"; inherits: false;}@property --tw-border-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-leading{syntax: "*"; inherits: false;}@property --tw-font-weight{syntax: "*"; inherits: false;}@property --tw-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-shadow-color{syntax: "*"; inherits: false;}@property --tw-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-inset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-shadow-color{syntax: "*"; inherits: false;}@property --tw-inset-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-ring-color{syntax: "*"; inherits: false;}@property --tw-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-inset-ring-color{syntax: "*"; inherits: false;}@property --tw-inset-ring-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-ring-inset{syntax: "*"; inherits: false;}@property --tw-ring-offset-width{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --tw-ring-offset-color{syntax: "*"; inherits: false; initial-value: #fff;}@property --tw-ring-offset-shadow{syntax: "*"; inherits: false; initial-value: 0 0 #0000;}@property --tw-outline-style{syntax: "*"; inherits: false; initial-value: solid;}@property --tw-blur{syntax: "*"; inherits: false;}@property --tw-brightness{syntax: "*"; inherits: false;}@property --tw-contrast{syntax: "*"; inherits: false;}@property --tw-grayscale{syntax: "*"; inherits: false;}@property --tw-hue-rotate{syntax: "*"; inherits: false;}@property --tw-invert{syntax: "*"; inherits: false;}@property --tw-opacity{syntax: "*"; inherits: false;}@property --tw-saturate{syntax: "*"; inherits: false;}@property --tw-sepia{syntax: "*"; inherits: false;}@property --tw-drop-shadow{syntax: "*"; inherits: false;}@property --tw-drop-shadow-color{syntax: "*"; inherits: false;}@property --tw-drop-shadow-alpha{syntax: "<percentage>"; inherits: false; initial-value: 100%;}@property --tw-drop-shadow-size{syntax: "*"; inherits: false;}@layer properties{@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x: initial;--tw-rotate-y: initial;--tw-rotate-z: initial;--tw-skew-x: initial;--tw-skew-y: initial;--tw-border-style: solid;--tw-leading: initial;--tw-font-weight: initial;--tw-shadow: 0 0 #0000;--tw-shadow-color: initial;--tw-shadow-alpha: 100%;--tw-inset-shadow: 0 0 #0000;--tw-inset-shadow-color: initial;--tw-inset-shadow-alpha: 100%;--tw-ring-color: initial;--tw-ring-shadow: 0 0 #0000;--tw-inset-ring-color: initial;--tw-inset-ring-shadow: 0 0 #0000;--tw-ring-inset: initial;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-offset-shadow: 0 0 #0000;--tw-outline-style: solid;--tw-blur: initial;--tw-brightness: initial;--tw-contrast: initial;--tw-grayscale: initial;--tw-hue-rotate: initial;--tw-invert: initial;--tw-opacity: initial;--tw-saturate: initial;--tw-sepia: initial;--tw-drop-shadow: initial;--tw-drop-shadow-color: initial;--tw-drop-shadow-alpha: 100%;--tw-drop-shadow-size: initial}}}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/reactor_browser-CV2asu7c.js","assets/document_model-DB4SzBSe.js","assets/zod-BpTyxkjy.js","assets/react-DQSxOgtG.js","assets/document_drive-BuVpBb4l.js","assets/graphql-BS4Brs_E.js","assets/config-CU-aFfVJ.js","assets/drive_explorer-xuI0xiNd.js","assets/sentry_react-cODD7zWc.js","assets/sentry_browser-B4YoBIIG.js","assets/document_model_editor-C7-Rcfye.js","assets/react/jsx-runtime-DldvXD6N.js","assets/design_system-DRiFz7P7.js","assets/tailwind_merge-Dr4f9Rms.js","assets/react-dom-D6zQJsh6.js","assets/design_system_connect-D7mJC7XF.js","assets/design_system_ui-7P3ayrQ9.js","assets/react-dom/client-BVPiT_FE.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{j as v}from"./document_model_editor-C7-Rcfye.js";import{_ as I}from"./drive_explorer-xuI0xiNd.js";import{p as E}from"./react-DQSxOgtG.js";import{aZ as R,a_ as O,a$ as w,b0 as T,Z as C,aH as M}from"./reactor_browser-CV2asu7c.js";import{r as g}from"./sentry_react-cODD7zWc.js";import{L as N}from"./design_system_connect-D7mJC7XF.js";import"./graphql-BS4Brs_E.js";import"./react/jsx-runtime-DldvXD6N.js";import"./document_model-DB4SzBSe.js";import"./zod-BpTyxkjy.js";import"./design_system-DRiFz7P7.js";import"./tailwind_merge-Dr4f9Rms.js";import"./react-dom-D6zQJsh6.js";import"./document_drive-BuVpBb4l.js";import"./config-CU-aFfVJ.js";import"./sentry_browser-B4YoBIIG.js";import"./design_system_ui-7P3ayrQ9.js";import"./react-dom/client-BVPiT_FE.js";var k=class extends Error{constructor(t){super(`Exit with code ${t}`),this.code=t}},$=class{appendFileSync(t,e,i={}){throw new Error("appendFileSync not implemented")}fsyncSync(t){throw new Error("fsyncSync not implemented")}linkSync(t,e){throw new Error("linkSync not implemented")}mkdirSync(t,e={}){throw new Error("mkdirSync not implemented")}readdirSync(t,e={}){throw new Error("readdirSync not implemented")}readFileSync(t,e={}){throw new Error("readFileSync not implemented")}readlinkSync(t,e={}){throw new Error("readlinkSync not implemented")}renameSync(t,e){throw new Error("renameSync not implemented")}rmdirSync(t,e={}){throw new Error("rmdirSync not implemented")}setFlagsSync(t,e){throw new Error("setFlagsSync not implemented")}statSync(t,e={}){throw new Error("statSync not implemented")}symlinkSync(t,e,i="file"){throw new Error("symlinkSync not implemented")}truncateSync(t,e=0){throw new Error("truncateSync not implemented")}unlinkSync(t){throw new Error("unlinkSync not implemented")}utimesSync(t,e,i){throw new Error("utimesSync not implemented")}writeFileSync(t,e,i={}){throw new Error("writeFileSync not implemented")}},L=class{constructor(t={}){if(this.args=t.args||[],this.env=t.env||{},this.fs=t.fs||new $,!this.fs)throw new Error("File system implementation required");this.fds=new Map([[0,{type:"stdio"}],[1,{type:"stdio"}],[2,{type:"stdio"}],[3,{type:"directory",preopenPath:"/"}]]),this.nextFd=this.fds.size,this.textDecoder=new TextDecoder,this.textEncoder=new TextEncoder,this.args_get=this.args_get.bind(this),this.args_sizes_get=this.args_sizes_get.bind(this),this.environ_get=this.environ_get.bind(this),this.environ_sizes_get=this.environ_sizes_get.bind(this),this.clock_res_get=this.clock_res_get.bind(this),this.clock_time_get=this.clock_time_get.bind(this),this.fd_close=this.fd_close.bind(this),this.fd_seek=this.fd_seek.bind(this),this.fd_write=this.fd_write.bind(this),this.fd_read=this.fd_read.bind(this),this.fd_fdstat_get=this.fd_fdstat_get.bind(this),this.fd_fdstat_set_flags=this.fd_fdstat_set_flags.bind(this),this.fd_prestat_get=this.fd_prestat_get.bind(this),this.fd_prestat_dir_name=this.fd_prestat_dir_name.bind(this),this.path_open=this.path_open.bind(this),this.path_filestat_get=this.path_filestat_get.bind(this),this.proc_exit=this.proc_exit.bind(this),this.fd_advise=this.fd_advise.bind(this),this.fd_allocate=this.fd_allocate.bind(this),this.fd_datasync=this.fd_datasync.bind(this),this.fd_filestat_get=this.fd_filestat_get.bind(this),this.fd_filestat_set_size=this.fd_filestat_set_size.bind(this),this.fd_filestat_set_times=this.fd_filestat_set_times.bind(this),this.fd_pread=this.fd_pread.bind(this),this.fd_pwrite=this.fd_pwrite.bind(this),this.fd_readdir=this.fd_readdir.bind(this),this.fd_renumber=this.fd_renumber.bind(this),this.fd_sync=this.fd_sync.bind(this),this.fd_tell=this.fd_tell.bind(this),this.path_create_directory=this.path_create_directory.bind(this),this.path_filestat_set_times=this.path_filestat_set_times.bind(this),this.path_link=this.path_link.bind(this),this.path_readlink=this.path_readlink.bind(this),this.path_remove_directory=this.path_remove_directory.bind(this),this.path_rename=this.path_rename.bind(this),this.path_symlink=this.path_symlink.bind(this),this.path_unlink_file=this.path_unlink_file.bind(this),this.poll_oneoff=this.poll_oneoff.bind(this),this.sock_accept=this.sock_accept.bind(this),this.sock_recv=this.sock_recv.bind(this),this.sock_send=this.sock_send.bind(this),this.sock_shutdown=this.sock_shutdown.bind(this),this.random_get=this.random_get.bind(this),this.sched_yield=this.sched_yield.bind(this)}setup(t){this.wasm=t}start(t){this.setup(t);try{return t._start&&t._start(),0}catch(e){if(e instanceof k)return e.code;throw e}}stdin(){return new Uint8Array}stdout(t){let e=this.textDecoder.decode(t).replace(/\n$/g,"");e&&console.log(e)}stderr(t){let e=this.textDecoder.decode(t).replace(/\n$/g,"");e&&console.error(e)}args_get(t,e){let i=new DataView(this.wasm.memory.buffer),s=new Uint8Array(this.wasm.memory.buffer);for(let r of this.args){i.setUint32(t,e,!0),t+=4;let n=this.textEncoder.encode(r);s.set(n,e),s[e+n.length]=0,e+=n.length+1}return 0}args_sizes_get(t,e){let i=new DataView(this.wasm.memory.buffer);i.setUint32(t,this.args.length,!0);let s=this.args.reduce((r,n)=>r+n.length+1,0);return i.setUint32(e,s,!0),0}environ_get(t,e){let i=new DataView(this.wasm.memory.buffer),s=new Uint8Array(this.wasm.memory.buffer);for(let[r,n]of Object.entries(this.env)){i.setUint32(t,e,!0),t+=4;let c=`${r}=${n}\0`,a=this.textEncoder.encode(c);s.set(a,e),e+=a.length}return 0}environ_sizes_get(t,e){let i=new DataView(this.wasm.memory.buffer),s=Object.keys(this.env).length;i.setUint32(t,s,!0);let r=Object.entries(this.env).reduce((n,[c,a])=>n+c.length+a.length+2,0);return i.setUint32(e,r,!0),0}clock_res_get(t,e){let i=new DataView(this.wasm.memory.buffer),s;switch(t){case 0:s=1000000n;break;case 1:s=1000n;break;default:return 28}return i.setBigUint64(e,s,!0),0}clock_time_get(t,e,i){let s=new DataView(this.wasm.memory.buffer),r;switch(t){case 0:{let n=Date.now();r=BigInt(n)*1000000n;break}case 1:{r=BigInt(Math.round(performance.now()*1e6));break}default:return 28}return s.setBigUint64(i,r,!0),0}fd_close(t){return this.fds.get(t)?(this.fds.delete(t),0):8}fd_seek(t,e,i,s){let r=this.fds.get(t);if(!r)return 8;if(r.type==="stdio")return 70;var n=null;let c=0,a=Number(e);try{n=this.fs.statSync(r.handle.path)}catch{return 29}switch(i){case 0:c=a;break;case 1:c=Number(r.handle.position)+a;break;case 2:c=Number(n.size)+a;break;default:return console.error("fd_seek invalid mode",i),28}return r.handle.position=c,new DataView(this.wasm.memory.buffer).setBigUint64(s,BigInt(c),!0),0}fd_write(t,e,i,s){let r=0,n=[],c=new DataView(this.wasm.memory.buffer),a=new Uint8Array(this.wasm.memory.buffer);for(let o=0;o<i;o++){let l=e+o*8,f=c.getUint32(l,!0),d=c.getUint32(l+4,!0);n.push(new Uint8Array(a.buffer,f,d)),r+=d}let h;if(n.length===1)h=n[0];else{h=new Uint8Array(r);let o=0;for(let l of n)h.set(l,o),o+=l.length}if(t===1)this.stdout(h);else if(t===2)this.stderr(h);else{let o=this.fds.get(t);if(!o)return 8;o.handle.position+=r;try{this.fs.writeFileSync(o.handle.path,h)}catch{return 29}}return c.setUint32(s,r,!0),0}fd_read(t,e,i,s){let r=this.fds.get(t);if(!r)return 8;let n=0,c=new DataView(this.wasm.memory.buffer),a=new Uint8Array(this.wasm.memory.buffer);try{let h;t===0?h=this.stdin():h=this.fs.readFileSync(r.handle.path);for(let o=0;o<i;o++){let l=e+o*8,f=c.getUint32(l,!0),d=c.getUint32(l+4,!0),m=r.handle.position,u=Math.min(m+d,h.length),p=u-m;if(p<=0||(a.set(new Uint8Array(h.slice(m,u)),f),n+=p,r.handle.position+=p,p<d))break}return c.setUint32(s,n,!0),0}catch{return 29}}path_open(t,e,i,s,r,n,c,a,h){var o=this.fds.get(t);if(!o)return 8;let l=new Uint8Array(this.wasm.memory.buffer).slice(i,i+s),f=this.textDecoder.decode(l),d=f;var m=0;let u=new DataView(this.wasm.memory.buffer);o.preopenPath&&(f.startsWith("/")&&(d=f.slice(1)),d=o.preopenPath+(o.preopenPath.endsWith("/")?"":"/")+d);var p=!1,_=null;let y=(r&4)==4,b=(r&8)==8;try{_=this.fs.statSync(d),p=!0}catch{}if((y||b)&&y&&p)return u.setUint32(h,m,!0),20;let B={path:d,position:0},P="file";m=this.nextFd++;let F={type:P,handle:B,fd:m};return this.fds.set(m,F),o=this.fds.get(m),o.handle.position=0,b&&(o.handle.size=0),u.setUint32(h,m,!0),0}proc_exit(t){throw new k(t)}fd_fdstat_get(t,e){let i=this.fds.get(t);if(!i)return 8;let s=new DataView(this.wasm.memory.buffer),r;switch(i.type){case"stdio":r=2;break;case"directory":r=3;break;case"file":r=4;break;default:r=0}s.setUint8(e,r);let n=0;i.append&&(n|=1),s.setUint16(e+2,n,!0);let c=0n;i.type==="file"?c=2097254:i.type==="directory"&&(c=100688384);let a=BigInt(c);return s.setBigUint64(e+8,a,!0),s.setBigUint64(e+16,a,!0),0}fd_fdstat_set_flags(t,e){let i=this.fds.get(t);if(!i)return 8;if(e&-32)return 28;if(i.type==="stdio")return 58;try{return i.append=!!(e&1),i.handle&&typeof this.fs.setFlagsSync=="function"&&this.fs.setFlagsSync(i.handle,e),0}catch{return 29}}fd_prestat_get(t,e){let i=this.fds.get(t);if(!i||i.type!=="directory"||!i.preopenPath)return 8;let s=new DataView(this.wasm.memory.buffer);s.setUint8(e,0);let r=i.preopenPath.length;return s.setUint32(e+4,r,!0),0}fd_prestat_dir_name(t,e,i){let s=this.fds.get(t);if(!s||s.type!=="directory"||!s.preopenPath)return 8;if(i<s.preopenPath.length)return 37;let r=new Uint8Array(this.wasm.memory.buffer),n=this.textEncoder.encode(s.preopenPath);return r.set(n,e),0}path_filestat_get(t,e,i,s,r){let n=this.fds.get(t);if(!n)return 8;let c=new Uint8Array(this.wasm.memory.buffer),a=new Uint8Array(c.buffer,i,s),h=this.textDecoder.decode(a);try{let o=h;n.preopenPath&&(h.startsWith("/")&&(o=h.slice(1)),o=n.preopenPath+(n.preopenPath.endsWith("/")?"":"/")+o);let l=this.fs.statSync(o,{followSymlinks:(e&void 0)!==0}),f=new DataView(this.wasm.memory.buffer);f.setBigUint64(r,BigInt(l.dev||0),!0),f.setBigUint64(r+8,BigInt(l.ino||0),!0);let d=0;return l.isFile()?d=4:l.isDirectory()?d=3:l.isSymbolicLink()?d=7:l.isCharacterDevice()?d=2:l.isBlockDevice()?d=1:l.isFIFO()&&(d=6),f.setUint8(r+16,d),f.setBigUint64(r+24,BigInt(l.nlink||1),!0),f.setBigUint64(r+32,BigInt(l.size||0),!0),f.setBigUint64(r+40,BigInt(l.atimeMs*1e6),!0),f.setBigUint64(r+48,BigInt(l.mtimeMs*1e6),!0),f.setBigUint64(r+56,BigInt(l.ctimeMs*1e6),!0),0}catch(o){return o.code==="ENOENT"?44:o.code==="EACCES"?2:29}}fd_advise(t,e,i,s){let r=this.fds.get(t);return r?r.type!=="file"?8:0:8}fd_allocate(t,e,i){let s=this.fds.get(t);if(!s||s.type!=="file")return 8;try{let r=this.fs.statSync(s.handle.path),n=Number(e)+Number(i);if(n>r.size){let c=new Uint8Array(n-r.size);this.fs.appendFileSync(s.handle.path,c)}return 0}catch{return 29}}fd_datasync(t){let e=this.fds.get(t);if(!e||e.type!=="file")return 8;try{return typeof this.fs.fsyncSync=="function"&&this.fs.fsyncSync(e.handle.path),0}catch{return 29}}fd_filestat_get(t,e){let i=this.fds.get(t);if(!i||!i.handle)return 8;let s=new DataView(this.wasm.memory.buffer),r=this.fs.statSync(i.handle.path);return s.setBigUint64(e,BigInt(r.dev),!0),s.setBigUint64(e+8,BigInt(r.ino),!0),s.setUint8(e+16,r.filetype),s.setBigUint64(e+24,BigInt(r.nlink),!0),s.setBigUint64(e+32,BigInt(r.size),!0),s.setBigUint64(e+38,BigInt(r.atime),!0),s.setBigUint64(e+46,BigInt(r.mtime),!0),s.setBigUint64(e+52,BigInt(r.ctime),!0),0}fd_filestat_set_size(t,e){let i=this.fds.get(t);if(!i||i.type!=="file")return 8;try{return this.fs.truncateSync(i.handle.path,Number(e)),0}catch{return 29}}fd_filestat_set_times(t,e,i,s){let r=this.fds.get(t);if(!r||r.type!=="file")return 8;try{let n={atime:Number(e)/1e9,mtime:Number(i)/1e9};return this.fs.utimesSync(r.handle.path,n.atime,n.mtime),0}catch{return 29}}fd_pread(t,e,i,s,r){let n=this.fds.get(t);if(!n||n.type!=="file")return 8;try{let c=this.fs.readFileSync(n.handle.path),a=0,h=new DataView(this.wasm.memory.buffer),o=new Uint8Array(this.wasm.memory.buffer),l=Number(s);for(let f=0;f<i;f++){let d=e+f*8,m=h.getUint32(d,!0),u=h.getUint32(d+4,!0),p=l+a,_=Math.min(p+u,c.length),y=_-p;if(y<=0||(o.set(new Uint8Array(c.slice(p,_)),m),a+=y,y<u))break}return h.setUint32(r,a,!0),0}catch{return 29}}fd_pwrite(t,e,i,s,r){let n=this.fds.get(t);if(!n||n.type!=="file")return 8;try{let c=0,a=[],h=new DataView(this.wasm.memory.buffer),o=new Uint8Array(this.wasm.memory.buffer);for(let m=0;m<i;m++){let u=e+m*8,p=h.getUint32(u,!0),_=h.getUint32(u+4,!0);a.push(new Uint8Array(o.buffer,p,_)),c+=_}let l;if(a.length===1)l=a[0];else{l=new Uint8Array(c);let m=0;for(let u of a)l.set(u,m),m+=u.length}let f=this.fs.readFileSync(n.handle.path),d=new Uint8Array(Math.max(Number(s)+l.length,f.length));return d.set(f),d.set(l,Number(s)),this.fs.writeFileSync(n.handle.path,d),h.setUint32(r,c,!0),0}catch{return 29}}fd_readdir(t,e,i,s,r){let n=this.fds.get(t);if(!n)return 8;if(n.type!=="directory")return 54;try{let c=this.fs.readdirSync(n.handle.path,{withFileTypes:!0}),a=new DataView(this.wasm.memory.buffer),h=new Uint8Array(this.wasm.memory.buffer),o=0,l=0,f=Number(s);for(let d=f;d<c.length;d++){let m=c[d],u=m.name,p=this.textEncoder.encode(u),_=24+p.length;if(o+_>i)break;a.setBigUint64(e+o,BigInt(d+1),!0),a.setBigUint64(e+o+8,0n,!0),a.setUint32(e+o+16,p.length,!0);let y=0;m.isFile()?y=4:m.isDirectory()&&(y=3),a.setUint8(e+o+20,y),h.set(p,e+o+24),o+=_,l++}return a.setUint32(r,o,!0),0}catch{return 29}}fd_renumber(t,e){let i=this.fds.get(t);return i?(this.fds.delete(e),this.fds.set(e,i),this.fds.delete(t),0):8}fd_sync(t){let e=this.fds.get(t);if(!e||e.type!=="file")return 8;try{return typeof this.fs.fsyncSync=="function"&&this.fs.fsyncSync(e.handle.path),0}catch{return 29}}fd_tell(t,e){let i=this.fds.get(t);return i?i.type!=="file"?8:(new DataView(this.wasm.memory.buffer).setBigUint64(e,BigInt(i.handle.position),!0),0):8}path_create_directory(t,e,i){let s=this.fds.get(t);if(!s)return 8;let r=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,e,i));try{let n=r;return s.preopenPath&&(r.startsWith("/")&&(n=r.slice(1)),n=s.preopenPath+"/"+n),this.fs.mkdirSync(n),0}catch{return 29}}path_filestat_set_times(t,e,i,s,r,n,c){let a=this.fds.get(t);if(!a)return 8;let h=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,i,s));try{let o=h;a.preopenPath&&(h.startsWith("/")&&(o=h.slice(1)),o=a.preopenPath+"/"+o);let l={atime:Number(r)/1e9,mtime:Number(n)/1e9};return this.fs.utimesSync(o,l.atime,l.mtime),0}catch{return 29}}path_link(t,e,i,s,r,n,c){let a=this.fds.get(t),h=this.fds.get(r);if(!a||!h)return 8;let o=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,i,s)),l=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,n,c));try{let f=o,d=l;return a.preopenPath&&(o.startsWith("/")&&(f=o.slice(1)),f=a.preopenPath+"/"+f),h.preopenPath&&(l.startsWith("/")&&(d=l.slice(1)),d=h.preopenPath+"/"+d),this.fs.linkSync(f,d),0}catch{return 29}}path_readlink(t,e,i,s,r,n){let c=this.fds.get(t);if(!c)return 8;let a=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,e,i));try{let h=a;c.preopenPath&&(a.startsWith("/")&&(h=a.slice(1)),h=c.preopenPath+"/"+h);let o=this.fs.readlinkSync(h),l=this.textEncoder.encode(o);return l.length>r?61:(new Uint8Array(this.wasm.memory.buffer).set(l,s),new DataView(this.wasm.memory.buffer).setUint32(n,l.length,!0),0)}catch{return 29}}path_remove_directory(t,e,i){let s=this.fds.get(t);if(!s)return 8;let r=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,e,i));try{let n=r;return s.preopenPath&&(r.startsWith("/")&&(n=r.slice(1)),n=s.preopenPath+"/"+n),this.fs.rmdirSync(n),0}catch{return 29}}path_rename(t,e,i,s,r,n){let c=this.fds.get(t),a=this.fds.get(s);if(!c||!a)return 8;let h=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,e,i)),o=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,r,n));try{let l=h,f=o;return c.preopenPath&&(h.startsWith("/")&&(l=h.slice(1)),l=c.preopenPath+"/"+l),a.preopenPath&&(o.startsWith("/")&&(f=o.slice(1)),f=a.preopenPath+"/"+f),this.fs.renameSync(l,f),0}catch{return 29}}path_symlink(t,e,i,s,r){let n=this.fds.get(i);if(!n)return 8;let c=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,t,e)),a=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,s,r));try{let h=a;return n.preopenPath&&(a.startsWith("/")&&(h=a.slice(1)),h=n.preopenPath+"/"+h),this.fs.symlinkSync(c,h),0}catch{return 29}}path_unlink_file(t,e,i){let s=this.fds.get(t);if(!s)return 8;let r=this.textDecoder.decode(new Uint8Array(this.wasm.memory.buffer,e,i));try{let n=r;return s.preopenPath&&(r.startsWith("/")&&(n=r.slice(1)),n=s.preopenPath+"/"+n),this.fs.unlinkSync(n),0}catch{return 29}}poll_oneoff(t,e,i,s){let r=new DataView(this.wasm.memory.buffer),n=0;for(let c=0;c<i;c++){let a=t+c*48,h=r.getBigUint64(a,!0),o=r.getUint8(a+8),l=e+n*32;r.setBigUint64(l,h,!0),r.setUint8(l+8,o),r.setUint8(l+9,1),r.setUint16(l+10,0,!0),n++}return r.setUint32(s,n,!0),0}random_get(t,e){let i=new Uint8Array(this.wasm.memory.buffer,t,e);return crypto.getRandomValues(i),0}sched_yield(){return os.sched_yield(),0}sock_accept(t,e){return 52}sock_recv(t,e,i){return 52}sock_send(t,e,i){return 52}sock_shutdown(t,e){return 52}};console.log("easywasi");var V=typeof E=="object"&&typeof E.versions=="object"&&typeof E.versions.node=="string";function W(t,e){return{...t,...Object.fromEntries(["appendFileSync","fsyncSync","linkSync","setFlagsSync","mkdirSync","readdirSync","readFileSync","readlinkSync","renameSync","rmdirSync","statSync","symlinkSync","truncateSync","unlinkSync","utimesSync","writeFileSync"].map(i=>{let s=i.slice(0,i.length-4);return s in t?[i,(...r)=>(i==="writeFileSync"&&r[0]==="/tmp/out.sql"&&e.push(r[1]),t[s](...r))]:[i,()=>{throw new Error(`${s} not implemented.`)}]}).filter(i=>i!==void 0))}}async function z({pg:t,args:e}){let i=new URL("/assets/pg_dump-CW0pN9tG.wasm",import.meta.url),s=[],r=W(t.Module.FS,s),n=new L({fs:r,args:["pg_dump",...e],env:{PWD:"/"}});n.stdout=l=>{};let c=new TextDecoder,a="";n.stderr=l=>{let f=c.decode(l);f&&(a+=f)},n.sched_yield=()=>{let l="/tmp/pglite/base/.s.PGSQL.5432.in",f="/tmp/pglite/base/.s.PGSQL.5432.out";if(r.analyzePath(l).exists){let d=r.readFileSync(l);if(r.unlinkSync(l),d[0]===0){let u=new Uint8Array([...H,...Z,...q]);return r.writeFileSync(f,u),0}let m=t.execProtocolRawSync(d);r.writeFileSync(f,m)}return 0},await r.writeFile("/pg_dump","\0",{mode:18});let h;if(V){let l=await(await I(async()=>{const{readFile:f}=await import("./reactor_browser-CV2asu7c.js").then(d=>d.bb);return{readFile:f}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]))).readFile(i.toString().slice(7));h=await WebAssembly.instantiate(l,{wasi_snapshot_preview1:n})}else h=await WebAssembly.instantiateStreaming(fetch(i),{wasi_snapshot_preview1:n});let o;return await t.runExclusive(async()=>{o=n.start(h.instance.exports)}),[o,s,a]}async function j({pg:t,args:e,fileName:i="dump.sql"}){let s=(await t.query("SHOW SEARCH_PATH;")).rows[0].search_path,r="/tmp/out.sql",n=["-U","postgres","--inserts","-j","1","-f",r,"postgres"],[c,a,h]=await z({pg:t,args:[...e??[],...n]});if(t.exec(`DEALLOCATE ALL; SET SEARCH_PATH = ${s}`),c!==0)throw new Error(`pg_dump failed with exit code ${c}.
|
|
3
|
+
Error message: ${h}`);let o=new File(a,i,{type:"text/plain"});return t.Module.FS.unlink(r),o}function U(t){return t.charCodeAt(0)}function S(t){let e=new ArrayBuffer(4);return new DataView(e).setInt32(0,t,!1),new Uint8Array(e)}function A(t){let e=new TextEncoder().encode(t);return new Uint8Array([...e,0])}var H=new Uint8Array([U("R"),...S(8),...S(0)]),q=new Uint8Array([U("Z"),...S(5),U("I")]),D=A("server_version"),x=A("16.3 (PGlite 0.2.0)"),G=4+D.length+x.length,Z=new Uint8Array([U("S"),...S(G),...D,...x]);function Q(){const t=R(),e=O(),i=g.useCallback(async()=>{if(!t)return[];const c=await w`
|
|
4
|
+
SELECT
|
|
5
|
+
c.table_name,
|
|
6
|
+
c.column_name,
|
|
7
|
+
c.data_type,
|
|
8
|
+
c.is_nullable
|
|
9
|
+
FROM information_schema.columns c
|
|
10
|
+
INNER JOIN information_schema.tables t
|
|
11
|
+
ON c.table_name = t.table_name
|
|
12
|
+
AND c.table_schema = t.table_schema
|
|
13
|
+
WHERE c.table_schema = 'public'
|
|
14
|
+
AND t.table_type = 'BASE TABLE'
|
|
15
|
+
ORDER BY c.table_name, c.ordinal_position
|
|
16
|
+
`.execute(t),a=new Map;for(const h of c.rows)a.has(h.table_name)||a.set(h.table_name,[]),a.get(h.table_name).push({name:h.column_name,dataType:h.data_type,isNullable:h.is_nullable==="YES"});return Array.from(a).map(([h,o])=>({name:h,columns:o}))},[t]),s=g.useCallback(async(c,a)=>{if(!t)return{columns:[],rows:[],total:null};const{limit:h,offset:o,sort:l}=a,f=w.raw(`public."${c}"`);let d;if(l){const y=w.raw(`"${l.column}"`),b=l.direction==="desc"?w`DESC`:w`ASC`;d=w`
|
|
17
|
+
SELECT * FROM ${f}
|
|
18
|
+
ORDER BY ${y} ${b}
|
|
19
|
+
LIMIT ${h} OFFSET ${o}
|
|
20
|
+
`}else d=w`
|
|
21
|
+
SELECT * FROM ${f}
|
|
22
|
+
LIMIT ${h} OFFSET ${o}
|
|
23
|
+
`;const m=await d.execute(t),u=await w`
|
|
24
|
+
SELECT COUNT(*) as count FROM ${f}
|
|
25
|
+
`.execute(t),p=u.rows[0]?parseInt(u.rows[0].count,10):null;return{columns:m.rows.length>0?Object.keys(m.rows[0]):[],rows:m.rows,total:p}},[t]),r=g.useCallback(async()=>{if(!e)return;const a=await(await j({pg:e})).text(),h=new Blob([a],{type:"text/sql"}),o=URL.createObjectURL(h),l=document.createElement("a");l.href=o,l.download=`database-export-${Date.now()}.sql`,l.click(),URL.revokeObjectURL(o)},[e]),n=g.useCallback(async c=>{e&&await e.transaction(async a=>{await a.exec("DROP SCHEMA public CASCADE"),await a.exec("CREATE SCHEMA public"),await a.exec(c),await a.exec("SET search_path TO public")})},[e]);return{getTables:i,getTableRows:s,onExportDb:r,onImportDb:n}}function Y(){const t=T();return{getRemotes:g.useCallback(()=>Promise.resolve(t?.list()??[]),[t])}}const J=25,yt=()=>{const e=C()?.type==="inspector",{getTables:i,getTableRows:s,onExportDb:r,onImportDb:n}=Q(),{getRemotes:c}=Y();return v.jsx(N,{open:e,onOpenChange:a=>{a||M()},dbExplorerProps:{schema:"public",getTables:i,getTableRows:s,pageSize:J,onExportDb:r,onImportDb:n},remotesInspectorProps:{getRemotes:c}})};export{yt as InspectorModal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as l}from"./document_model_editor-C7-Rcfye.js";import{b as g,s as f,t,L as R,i as y,f as T,x as m,c as h,a as S,u as b,E as k,g as u,h as j,k as C,j as E,l as x,m as $,n as N,o as V,p as Z,q as w,r as W,v as X,w as Y}from"./hooks-CAyBWwxg.js";import{r as Q}from"./sentry_react-cODD7zWc.js";import"./graphql-BS4Brs_E.js";import"./drive_explorer-xuI0xiNd.js";import"./react/jsx-runtime-DldvXD6N.js";import"./document_model-DB4SzBSe.js";import"./zod-BpTyxkjy.js";import"./react-DQSxOgtG.js";import"./design_system-DRiFz7P7.js";import"./tailwind_merge-Dr4f9Rms.js";import"./reactor_browser-CV2asu7c.js";import"./document_drive-BuVpBb4l.js";import"./config-CU-aFfVJ.js";import"./react-dom-D6zQJsh6.js";import"./design_system_connect-D7mJC7XF.js";import"./design_system_ui-7P3ayrQ9.js";import"./react-dom/client-BVPiT_FE.js";import"./sentry_browser-B4YoBIIG.js";const L=f({String:t.string,Number:t.number,"True False":t.bool,PropertyName:t.propertyName,Null:t.null,", :":t.separator,"[ ]":t.squareBracket,"{ }":t.brace}),H=g.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[L],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),q=()=>a=>{try{JSON.parse(a.state.doc.toString())}catch(r){if(!(r instanceof SyntaxError))throw r;const e=v(r,a.state.doc);return[{from:e,message:r.message,severity:"error",to:e}]}return[]};function v(a,r){let e;return(e=a.message.match(/at position (\d+)/))?Math.min(+e[1],r.length):(e=a.message.match(/at line (\d+) column (\d+)/))?Math.min(r.line(+e[1]).from+ +e[2]-1,r.length):0}const d=R.define({name:"json",parser:H.configure({props:[y.add({Object:m({except:/^\s*\}/}),Array:m({except:/^\s*\]/})}),T.add({"Object Array":h})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function G(){return new S(d)}const ie=Q.memo(function(r){const{doc:e,readonly:o=!1,updateDocumentInModel:n}=r,{editorRef:i,viewRef:O,updateListenerCompartment:c,focusHandlerCompartment:p,pasteHandlerCompartment:P,timeoutRef:s}=b();return Q.useEffect(()=>{O.current||(O.current=new k({state:u.create({doc:e,extensions:[...j,C.of($),E,d,G(),x(q()),c.current.of(N(o,s,n)),p.current.of(V(o,s,n)),P.current.of(Z(o,s,n)),u.readOnly.of(o)]}),parent:i.current}),w(O.current))},[]),W(O),X(O.current,o,s,n,{updateListener:c.current,focusHandler:p.current,pasteHandler:P.current}),Y(O.current,e),l.jsx("div",{ref:i})});export{ie as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b1 as m,b2 as o,b3 as s}from"./reactor_browser-CV2asu7c.js";import"./document_model-DB4SzBSe.js";import"./zod-BpTyxkjy.js";import"./react-DQSxOgtG.js";import"./document_drive-BuVpBb4l.js";import"./graphql-BS4Brs_E.js";import"./config-CU-aFfVJ.js";import"./drive_explorer-xuI0xiNd.js";import"./sentry_react-cODD7zWc.js";import"./sentry_browser-B4YoBIIG.js";import"./document_model_editor-C7-Rcfye.js";import"./react/jsx-runtime-DldvXD6N.js";import"./design_system-DRiFz7P7.js";import"./tailwind_merge-Dr4f9Rms.js";import"./react-dom-D6zQJsh6.js";import"./design_system_connect-D7mJC7XF.js";import"./design_system_ui-7P3ayrQ9.js";import"./react-dom/client-BVPiT_FE.js";s();var R=class extends m{constructor(t){super(t),this.rootDir=(void 0)(t),(void 0)((void 0)(this.rootDir))||(void 0)(this.rootDir)}async init(t,r){return this.pg=t,{emscriptenOpts:{...r,preRun:[...r.preRun||[],i=>{let p=i.FS.filesystems.NODEFS;i.FS.mkdir(o),i.FS.mount(p,{root:this.rootDir},o)}]}}}async closeFs(){this.pg.Module.FS.quit()}};export{R as NodeFS};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{b4 as H,b5 as m,b6 as o,b7 as s,b8 as A,b3 as C,b9 as P,ba as x}from"./reactor_browser-CV2asu7c.js";import"./document_model-DB4SzBSe.js";import"./zod-BpTyxkjy.js";import"./react-DQSxOgtG.js";import"./document_drive-BuVpBb4l.js";import"./graphql-BS4Brs_E.js";import"./config-CU-aFfVJ.js";import"./drive_explorer-xuI0xiNd.js";import"./sentry_react-cODD7zWc.js";import"./sentry_browser-B4YoBIIG.js";import"./document_model_editor-C7-Rcfye.js";import"./react/jsx-runtime-DldvXD6N.js";import"./design_system-DRiFz7P7.js";import"./tailwind_merge-Dr4f9Rms.js";import"./react-dom-D6zQJsh6.js";import"./design_system_connect-D7mJC7XF.js";import"./design_system_ui-7P3ayrQ9.js";import"./react-dom/client-BVPiT_FE.js";C();var B="state.txt",L="data",$={DIR:16384,FILE:32768},T,I,E,_,w,k,y,j,N,b,S,l,v,O,M,g,f,D,R,W,ht=class extends H{constructor(t,{initialPoolSize:e=1e3,maintainedPoolSize:a=100,debug:i=!1}={}){super(t,{debug:i}),m(this,l),m(this,T),m(this,I),m(this,E),m(this,_),m(this,w),m(this,k,new Map),m(this,y,new Map),m(this,j,0),m(this,N,new Map),m(this,b,new Map),this.lastCheckpoint=0,this.checkpointInterval=1e3*60,this.poolCounter=0,m(this,S,new Set),this.initialPoolSize=e,this.maintainedPoolSize=a}async init(t,e){return await o(this,l,v).call(this),super.init(t,e)}async syncToFs(t=!1){await this.maybeCheckpointState(),await this.maintainPool(),t||this.flush()}async closeFs(){for(let t of s(this,y).values())t.close();s(this,w).flush(),s(this,w).close(),this.pg.Module.FS.quit()}async maintainPool(t){t=t||this.maintainedPoolSize;let e=t-this.state.pool.length,a=[];for(let i=0;i<e;i++)a.push(new Promise(async h=>{++this.poolCounter;let r=`${(Date.now()-1704063600).toString(16).padStart(8,"0")}-${this.poolCounter.toString(16).padStart(8,"0")}`,c=await s(this,E).getFileHandle(r,{create:!0}),d=await c.createSyncAccessHandle();s(this,k).set(r,c),s(this,y).set(r,d),o(this,l,M).call(this,{opp:"createPoolFile",args:[r]}),this.state.pool.push(r),h()}));for(let i=0;i>e;i--)a.push(new Promise(async h=>{let r=this.state.pool.pop();o(this,l,M).call(this,{opp:"deletePoolFile",args:[r]});let c=s(this,k).get(r);s(this,y).get(r)?.close(),await s(this,E).removeEntry(c.name),s(this,k).delete(r),s(this,y).delete(r),h()}));await Promise.all(a)}_createPoolFileState(t){this.state.pool.push(t)}_deletePoolFileState(t){let e=this.state.pool.indexOf(t);e>-1&&this.state.pool.splice(e,1)}async maybeCheckpointState(){Date.now()-this.lastCheckpoint>this.checkpointInterval&&await this.checkpointState()}async checkpointState(){let t=new TextEncoder().encode(JSON.stringify(this.state));s(this,w).truncate(0),s(this,w).write(t,{at:0}),s(this,w).flush(),this.lastCheckpoint=Date.now()}flush(){for(let t of s(this,S))try{t.flush()}catch{}s(this,S).clear()}chmod(t,e){o(this,l,O).call(this,{opp:"chmod",args:[t,e]},()=>{this._chmodState(t,e)})}_chmodState(t,e){let a=o(this,l,f).call(this,t);a.mode=e}close(t){let e=o(this,l,D).call(this,t);s(this,N).delete(t),s(this,b).delete(e)}fstat(t){let e=o(this,l,D).call(this,t);return this.lstat(e)}lstat(t){let e=o(this,l,f).call(this,t),a=e.type==="file"?s(this,y).get(e.backingFilename).getSize():0,i=4096;return{dev:0,ino:0,mode:e.mode,nlink:1,uid:0,gid:0,rdev:0,size:a,blksize:i,blocks:Math.ceil(a/i),atime:e.lastModified,mtime:e.lastModified,ctime:e.lastModified}}mkdir(t,e){o(this,l,O).call(this,{opp:"mkdir",args:[t,e]},()=>{this._mkdirState(t,e)})}_mkdirState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=[],r=this.state.root;for(let d of a){if(h.push(t),!Object.prototype.hasOwnProperty.call(r.children,d))if(e?.recursive)this.mkdir(h.join("/"));else throw new p("ENOENT","No such file or directory");if(r.children[d].type!=="directory")throw new p("ENOTDIR","Not a directory");r=r.children[d]}if(Object.prototype.hasOwnProperty.call(r.children,i))throw new p("EEXIST","File exists");let c={type:"directory",lastModified:Date.now(),mode:e?.mode||$.DIR,children:{}};r.children[i]=c}open(t,e,a){if(o(this,l,f).call(this,t).type!=="file")throw new p("EISDIR","Is a directory");let i=o(this,l,R).call(this);return s(this,N).set(i,t),s(this,b).set(t,i),i}readdir(t){let e=o(this,l,f).call(this,t);if(e.type!=="directory")throw new p("ENOTDIR","Not a directory");return Object.keys(e.children)}read(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");return s(this,y).get(c.backingFilename).read(new Uint8Array(e.buffer,a,i),{at:h})}rename(t,e){o(this,l,O).call(this,{opp:"rename",args:[t,e]},()=>{this._renameState(t,e,!0)})}_renameState(t,e,a=!1){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(!Object.prototype.hasOwnProperty.call(r.children,h))throw new p("ENOENT","No such file or directory");let c=o(this,l,g).call(this,e),d=c.pop(),n=o(this,l,f).call(this,c.join("/"));if(a&&Object.prototype.hasOwnProperty.call(n.children,d)){let u=n.children[d];s(this,y).get(u.backingFilename).truncate(0),this.state.pool.push(u.backingFilename)}n.children[d]=r.children[h],delete r.children[h]}rmdir(t){o(this,l,O).call(this,{opp:"rmdir",args:[t]},()=>{this._rmdirState(t)})}_rmdirState(t){let e=o(this,l,g).call(this,t),a=e.pop(),i=o(this,l,f).call(this,e.join("/"));if(!Object.prototype.hasOwnProperty.call(i.children,a))throw new p("ENOENT","No such file or directory");let h=i.children[a];if(h.type!=="directory")throw new p("ENOTDIR","Not a directory");if(Object.keys(h.children).length>0)throw new p("ENOTEMPTY","Directory not empty");delete i.children[a]}truncate(t,e=0){let a=o(this,l,f).call(this,t);if(a.type!=="file")throw new p("EISDIR","Is a directory");let i=s(this,y).get(a.backingFilename);if(!i)throw new p("ENOENT","No such file or directory");i.truncate(e),s(this,S).add(i)}unlink(t){o(this,l,O).call(this,{opp:"unlink",args:[t]},()=>{this._unlinkState(t,!0)})}_unlinkState(t,e=!1){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));if(!Object.prototype.hasOwnProperty.call(h.children,i))throw new p("ENOENT","No such file or directory");let r=h.children[i];if(r.type!=="file")throw new p("EISDIR","Is a directory");if(delete h.children[i],e){let c=s(this,y).get(r.backingFilename);c?.truncate(0),s(this,S).add(c),s(this,b).has(t)&&(s(this,N).delete(s(this,b).get(t)),s(this,b).delete(t))}this.state.pool.push(r.backingFilename)}utimes(t,e,a){o(this,l,O).call(this,{opp:"utimes",args:[t,e,a]},()=>{this._utimesState(t,e,a)})}_utimesState(t,e,a){let i=o(this,l,f).call(this,t);i.lastModified=a}writeFile(t,e,a){let i=o(this,l,g).call(this,t),h=i.pop(),r=o(this,l,f).call(this,i.join("/"));if(Object.prototype.hasOwnProperty.call(r.children,h)){let n=r.children[h];n.lastModified=Date.now(),o(this,l,M).call(this,{opp:"setLastModified",args:[t,n.lastModified]})}else{if(this.state.pool.length===0)throw new Error("No more file handles available in the pool");let n={type:"file",lastModified:Date.now(),mode:a?.mode||$.FILE,backingFilename:this.state.pool.pop()};r.children[h]=n,o(this,l,M).call(this,{opp:"createFileNode",args:[t,n]})}let c=r.children[h],d=s(this,y).get(c.backingFilename);e.length>0&&(d.write(typeof e=="string"?new TextEncoder().encode(e):new Uint8Array(e),{at:0}),t.startsWith("/pg_wal")&&s(this,S).add(d))}_createFileNodeState(t,e){let a=o(this,l,g).call(this,t),i=a.pop(),h=o(this,l,f).call(this,a.join("/"));h.children[i]=e;let r=this.state.pool.indexOf(e.backingFilename);return r>-1&&this.state.pool.splice(r,1),e}_setLastModifiedState(t,e){let a=o(this,l,f).call(this,t);a.lastModified=e}write(t,e,a,i,h){let r=o(this,l,D).call(this,t),c=o(this,l,f).call(this,r);if(c.type!=="file")throw new p("EISDIR","Is a directory");let d=s(this,y).get(c.backingFilename);if(!d)throw new p("EBADF","Bad file descriptor");let n=d.write(new Uint8Array(e,a,i),{at:h});return r.startsWith("/pg_wal")&&s(this,S).add(d),n}};T=new WeakMap,I=new WeakMap,E=new WeakMap,_=new WeakMap,w=new WeakMap,k=new WeakMap,y=new WeakMap,j=new WeakMap,N=new WeakMap,b=new WeakMap,S=new WeakMap,l=new WeakSet,v=async function(){P(this,T,await navigator.storage.getDirectory()),P(this,I,await o(this,l,W).call(this,this.dataDir,{create:!0})),P(this,E,await o(this,l,W).call(this,L,{from:s(this,I),create:!0})),P(this,_,await s(this,I).getFileHandle(B,{create:!0})),P(this,w,await s(this,_).createSyncAccessHandle());let t=new ArrayBuffer(s(this,w).getSize());s(this,w).read(t,{at:0});let e,a=new TextDecoder().decode(t).split(`
|
|
2
|
+
`),i=!1;try{e=JSON.parse(a[0])}catch{e={root:{type:"directory",lastModified:Date.now(),mode:$.DIR,children:{}},pool:[]},s(this,w).truncate(0),s(this,w).write(new TextEncoder().encode(JSON.stringify(e)),{at:0}),i=!0}this.state=e;let h=a.slice(1).filter(Boolean).map(n=>JSON.parse(n));for(let n of h){let u=`_${n.opp}State`;if(typeof this[u]=="function")try{this[u].bind(this)(...n.args)}catch(F){console.warn("Error applying OPFS AHP WAL entry",n,F)}}let r=[],c=async n=>{if(n.type==="file")try{let u=await s(this,E).getFileHandle(n.backingFilename),F=await u.createSyncAccessHandle();s(this,k).set(n.backingFilename,u),s(this,y).set(n.backingFilename,F)}catch(u){console.error("Error opening file handle for node",n,u)}else for(let u of Object.values(n.children))r.push(c(u))};await c(this.state.root);let d=[];for(let n of this.state.pool)d.push(new Promise(async u=>{s(this,k).has(n)&&console.warn("File handle already exists for pool file",n);let F=await s(this,E).getFileHandle(n),z=await F.createSyncAccessHandle();s(this,k).set(n,F),s(this,y).set(n,z),u()}));await Promise.all([...r,...d]),await this.maintainPool(i?this.initialPoolSize:this.maintainedPoolSize)},O=function(t,e){let a=o(this,l,M).call(this,t);try{e()}catch(i){throw s(this,w).truncate(a),i}},M=function(t){let e=JSON.stringify(t),a=new TextEncoder().encode(`
|
|
3
|
+
${e}`),i=s(this,w).getSize();return s(this,w).write(a,{at:i}),s(this,S).add(s(this,w)),i},g=function(t){return t.split("/").filter(Boolean)},f=function(t,e){let a=o(this,l,g).call(this,t),i=e||this.state.root;for(let h of a){if(i.type!=="directory")throw new p("ENOTDIR","Not a directory");if(!Object.prototype.hasOwnProperty.call(i.children,h))throw new p("ENOENT","No such file or directory");i=i.children[h]}return i},D=function(t){let e=s(this,N).get(t);if(!e)throw new p("EBADF","Bad file descriptor");return e},R=function(){let t=++x(this,j)._;for(;s(this,N).has(t);)x(this,j)._++;return t},W=async function(t,e){let a=o(this,l,g).call(this,t),i=e?.from||s(this,T);for(let h of a)i=await i.getDirectoryHandle(h,{create:e?.create});return i};var p=class extends Error{constructor(t,e){super(e),typeof t=="number"?this.code=t:typeof t=="string"&&(this.code=A[t])}};export{ht as OpfsAhpFS};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|