@cobaltcore-dev/aurora 0.3.0 → 0.3.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/dist/client/{ContentHeader-B_PWrxbw.mjs → ContentHeader-BXZoN3B9.mjs} +16 -16
- package/dist/client/{ContentHeader-B_PWrxbw.mjs.map → ContentHeader-BXZoN3B9.mjs.map} +1 -1
- package/dist/client/{DeleteFlavorModal-BkPrQKyE.mjs → DeleteFlavorModal-BusYn32r.mjs} +152 -152
- package/dist/client/{DeleteFlavorModal-BkPrQKyE.mjs.map → DeleteFlavorModal-BusYn32r.mjs.map} +1 -1
- package/dist/client/{EditSecurityGroupModal-ad4uzlt0.mjs → EditSecurityGroupModal-Dl6m7wUe.mjs} +15 -15
- package/dist/client/{EditSecurityGroupModal-ad4uzlt0.mjs.map → EditSecurityGroupModal-Dl6m7wUe.mjs.map} +1 -1
- package/dist/client/FiltersInput-BgNaHFBt.mjs +81 -0
- package/dist/client/FiltersInput-BgNaHFBt.mjs.map +1 -0
- package/dist/client/{FloatingIpActionModals-lKMwLuL8.mjs → FloatingIpActionModals-By2hXR9m.mjs} +50 -50
- package/dist/client/{FloatingIpActionModals-lKMwLuL8.mjs.map → FloatingIpActionModals-By2hXR9m.mjs.map} +1 -1
- package/dist/client/{ImageToastNotifications--U13YiQ_.mjs → ImageToastNotifications-fHI8jB2j.mjs} +321 -321
- package/dist/client/{ImageToastNotifications--U13YiQ_.mjs.map → ImageToastNotifications-fHI8jB2j.mjs.map} +1 -1
- package/dist/client/ListToolbar-BvtCo8dk.mjs +129 -0
- package/dist/client/ListToolbar-BvtCo8dk.mjs.map +1 -0
- package/dist/client/{RouteError-iP1Vd6bY.mjs → RouteError-pDEWC_k7.mjs} +2 -2
- package/dist/client/{RouteError-iP1Vd6bY.mjs.map → RouteError-pDEWC_k7.mjs.map} +1 -1
- package/dist/client/SortInput-DXWSqSny.mjs +34 -0
- package/dist/client/SortInput-DXWSqSny.mjs.map +1 -0
- package/dist/client/{_flavorId-BaNXUJhA.mjs → _flavorId-BRonXvCo.mjs} +40 -40
- package/dist/client/{_flavorId-BaNXUJhA.mjs.map → _flavorId-BRonXvCo.mjs.map} +1 -1
- package/dist/client/{_flavorId-CnO76tuy.mjs → _flavorId-BoNcxYmF.mjs} +9 -9
- package/dist/client/{_flavorId-CnO76tuy.mjs.map → _flavorId-BoNcxYmF.mjs.map} +1 -1
- package/dist/client/_floatingIpId-BpUfL8Im2.mjs +228 -0
- package/dist/client/_floatingIpId-BpUfL8Im2.mjs.map +1 -0
- package/dist/client/{_floatingIpId-C8G20nNt.mjs → _floatingIpId-CwHiXazi.mjs} +2 -2
- package/dist/client/{_floatingIpId-C8G20nNt.mjs.map → _floatingIpId-CwHiXazi.mjs.map} +1 -1
- package/dist/client/{_imageId-DdSbxFqG.mjs → _imageId-CdOOJjw0.mjs} +127 -127
- package/dist/client/{_imageId-DdSbxFqG.mjs.map → _imageId-CdOOJjw0.mjs.map} +1 -1
- package/dist/client/{_pcaId-DFkYJEb5.mjs → _pcaId-CwlH1Kvl.mjs} +82 -82
- package/dist/client/{_pcaId-DFkYJEb5.mjs.map → _pcaId-CwlH1Kvl.mjs.map} +1 -1
- package/dist/client/{_pcaId-DX_S-3hE.mjs → _pcaId-D1ZEaCdp.mjs} +2 -2
- package/dist/client/{_pcaId-DX_S-3hE.mjs.map → _pcaId-D1ZEaCdp.mjs.map} +1 -1
- package/dist/client/{_projectId-DsSVV2EA.mjs → _projectId-D1gGribM.mjs} +69 -69
- package/dist/client/{_projectId-DsSVV2EA.mjs.map → _projectId-D1gGribM.mjs.map} +1 -1
- package/dist/client/{_projectId-DYrcZ3E3.mjs → _projectId-DhLpIalx.mjs} +3 -3
- package/dist/client/{_projectId-DYrcZ3E3.mjs.map → _projectId-DhLpIalx.mjs.map} +1 -1
- package/dist/client/{_projectId-Dha4XqX4.mjs → _projectId-Dj_InfSc.mjs} +3 -3
- package/dist/client/{_projectId-Dha4XqX4.mjs.map → _projectId-Dj_InfSc.mjs.map} +1 -1
- package/dist/client/{_projectId-KH5si25Q.mjs → _projectId-OW2xkK43.mjs} +2 -2
- package/dist/client/{_projectId-KH5si25Q.mjs.map → _projectId-OW2xkK43.mjs.map} +1 -1
- package/dist/client/{_securityGroupId-DgaSqYex.mjs → _securityGroupId-B0llWH9A.mjs} +2 -2
- package/dist/client/{_securityGroupId-DgaSqYex.mjs.map → _securityGroupId-B0llWH9A.mjs.map} +1 -1
- package/dist/client/{_securityGroupId-O7FXfx0M.mjs → _securityGroupId-gbUnd5Wv.mjs} +306 -306
- package/dist/client/{_securityGroupId-O7FXfx0M.mjs.map → _securityGroupId-gbUnd5Wv.mjs.map} +1 -1
- package/dist/client/{about-DN8n8sN8.mjs → about-DCe6LsKz.mjs} +2 -2
- package/dist/client/{about-DN8n8sN8.mjs.map → about-DCe6LsKz.mjs.map} +1 -1
- package/dist/client/{build-CZRvXrAL.mjs → build-BJDfnAyi.mjs} +541 -537
- package/dist/client/{build-CZRvXrAL.mjs.map → build-BJDfnAyi.mjs.map} +1 -1
- package/dist/client/{buildFilterParams-ngVK3ybs.mjs → buildFilterParams-By33pG59.mjs} +1 -1
- package/dist/client/{buildFilterParams-ngVK3ybs.mjs.map → buildFilterParams-By33pG59.mjs.map} +1 -1
- package/dist/client/{constants-akdIBeTX.mjs → constants-CAjjRTo_.mjs} +9 -9
- package/dist/client/{constants-akdIBeTX.mjs.map → constants-CAjjRTo_.mjs.map} +1 -1
- package/dist/client/{containers-BE2QiLBs.mjs → containers-BuXUVb1N.mjs} +702 -702
- package/dist/client/{containers-BE2QiLBs.mjs.map → containers-BuXUVb1N.mjs.map} +1 -1
- package/dist/client/{containers-Cs5vOeR2.mjs → containers-Ca5V1EBS.mjs} +1 -1
- package/dist/client/{containers-Cs5vOeR2.mjs.map → containers-Ca5V1EBS.mjs.map} +1 -1
- package/dist/client/{containers-DmwhE9Uz.mjs → containers-NW7RnHTI.mjs} +2 -2
- package/dist/client/{containers-DmwhE9Uz.mjs.map → containers-NW7RnHTI.mjs.map} +1 -1
- package/dist/client/{flavors-CY7A6--v.mjs → flavors-D8oElC2K.mjs} +2 -2
- package/dist/client/{flavors-CY7A6--v.mjs.map → flavors-D8oElC2K.mjs.map} +1 -1
- package/dist/client/flavors-qvgPSI7J.mjs +613 -0
- package/dist/client/flavors-qvgPSI7J.mjs.map +1 -0
- package/dist/client/{floatingips-BtL4d4m-.mjs → floatingips-Be3zLoaD.mjs} +85 -85
- package/dist/client/{floatingips-BtL4d4m-.mjs.map → floatingips-Be3zLoaD.mjs.map} +1 -1
- package/dist/client/{images-I9gQfRa7.mjs → images-BiEBENaj.mjs} +2 -2
- package/dist/client/{images-I9gQfRa7.mjs.map → images-BiEBENaj.mjs.map} +1 -1
- package/dist/client/images-CCYBAphP2.mjs +1900 -0
- package/dist/client/images-CCYBAphP2.mjs.map +1 -0
- package/dist/client/index.js +109 -109
- package/dist/client/index.js.map +1 -1
- package/dist/client/{network-SCVadZsv.mjs → network-nbSbl0X0.mjs} +1 -1
- package/dist/client/{network-SCVadZsv.mjs.map → network-nbSbl0X0.mjs.map} +1 -1
- package/dist/client/{objects-BrYe_RaJ.mjs → objects-CU5ws07o.mjs} +2 -2
- package/dist/client/{objects-BrYe_RaJ.mjs.map → objects-CU5ws07o.mjs.map} +1 -1
- package/dist/client/{objects-DOYFFn3Y.mjs → objects-FXN0VWLI.mjs} +1791 -1791
- package/dist/client/{objects-DOYFFn3Y.mjs.map → objects-FXN0VWLI.mjs.map} +1 -1
- package/dist/client/{objects-B4yrYf_a.mjs → objects-GmuIOaHd.mjs} +1 -1
- package/dist/client/{objects-B4yrYf_a.mjs.map → objects-GmuIOaHd.mjs.map} +1 -1
- package/dist/client/{overview-DTLIAKkJ.mjs → overview-B3gdnWTG.mjs} +2 -2
- package/dist/client/{overview-DTLIAKkJ.mjs.map → overview-B3gdnWTG.mjs.map} +1 -1
- package/dist/client/{overview-BjRSFSBh.mjs → overview-DzYBiNfD.mjs} +2 -2
- package/dist/client/{overview-BjRSFSBh.mjs.map → overview-DzYBiNfD.mjs.map} +1 -1
- package/dist/client/{overview-CmQkJ4Hh.mjs → overview-EhfPY8Je.mjs} +2 -2
- package/dist/client/{overview-CmQkJ4Hh.mjs.map → overview-EhfPY8Je.mjs.map} +1 -1
- package/dist/client/{overview-C4gjtc2q.mjs → overview-XueZI4LQ.mjs} +3 -3
- package/dist/client/{overview-C4gjtc2q.mjs.map → overview-XueZI4LQ.mjs.map} +1 -1
- package/dist/client/{pca-DzixU9Dl.mjs → pca-DSM71LhW.mjs} +2 -2
- package/dist/client/{pca-DzixU9Dl.mjs.map → pca-DSM71LhW.mjs.map} +1 -1
- package/dist/client/{pca-CYFJxSZ2.mjs → pca-x9if8xU-.mjs} +51 -51
- package/dist/client/{pca-CYFJxSZ2.mjs.map → pca-x9if8xU-.mjs.map} +1 -1
- package/dist/client/{projects-DwVawmll.mjs → projects-B6BPo2Ar.mjs} +2 -2
- package/dist/client/{projects-DwVawmll.mjs.map → projects-B6BPo2Ar.mjs.map} +1 -1
- package/dist/client/{projects-BsN4bvU2.mjs → projects-BilrmHLu.mjs} +1 -1
- package/dist/client/{projects-BsN4bvU2.mjs.map → projects-BilrmHLu.mjs.map} +1 -1
- package/dist/client/{projects-BtyjXGq2.mjs → projects-Bt0XptpG.mjs} +2 -2
- package/dist/client/{projects-BtyjXGq2.mjs.map → projects-Bt0XptpG.mjs.map} +1 -1
- package/dist/client/{projects-D3hOC1cy.mjs → projects-CnmZIB2Q.mjs} +25 -25
- package/dist/client/{projects-D3hOC1cy.mjs.map → projects-CnmZIB2Q.mjs.map} +1 -1
- package/dist/client/{securitygroups-DMCIDHQS.mjs → securitygroups-BdzieS7Z.mjs} +101 -101
- package/dist/client/{securitygroups-DMCIDHQS.mjs.map → securitygroups-BdzieS7Z.mjs.map} +1 -1
- package/dist/client/{useListWithFiltering-CEDh1LO-.mjs → useListWithFiltering-CqQbAjEe.mjs} +1 -1
- package/dist/client/{useListWithFiltering-CEDh1LO-.mjs.map → useListWithFiltering-CqQbAjEe.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/client/ListToolbar-C5lzTrit.mjs +0 -223
- package/dist/client/ListToolbar-C5lzTrit.mjs.map +0 -1
- package/dist/client/_floatingIpId-DdKnjdIV.mjs +0 -228
- package/dist/client/_floatingIpId-DdKnjdIV.mjs.map +0 -1
- package/dist/client/flavors-pEcGkCut.mjs +0 -565
- package/dist/client/flavors-pEcGkCut.mjs.map +0 -1
- package/dist/client/images-C19gCFSy.mjs +0 -1797
- package/dist/client/images-C19gCFSy.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-
|
|
1
|
+
{"version":3,"file":"network-nbSbl0X0.mjs","names":["Outlet","SplitComponent","component"],"sources":["../../src/client/routes/_auth/projects/$projectId/network.tsx?tsr-split=component"],"sourcesContent":["import { createFileRoute, Outlet, redirect } from \"@tanstack/react-router\"\nimport { getServiceIndex } from \"@/server/Authentication/helpers\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/network\")({\n loader: async ({ context }) => {\n const { trpcClient } = context\n const availableServices = await trpcClient?.auth.getAvailableServices.query()\n return { availableServices }\n },\n beforeLoad: async ({ context, params }) => {\n const { trpcClient } = context\n const { projectId } = params\n const availableServices = await trpcClient?.auth.getAvailableServices.query()\n const serviceIndex = getServiceIndex(availableServices!)\n\n if (!serviceIndex[\"network\"]) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n },\n component: () => <Outlet />,\n})\n"],"mappings":";;;AAA0E,IAAAC,UAsBvD,kBAAC,GAAA,EAAA,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { t as e } from "./helpers--JWXi40U.mjs";
|
|
|
2
2
|
import { createFileRoute as t, lazyRouteComponent as n, redirect as r } from "@tanstack/react-router";
|
|
3
3
|
import { z as i } from "zod";
|
|
4
4
|
//#region src/client/routes/_auth/projects/$projectId/storage/$provider/containers/$containerName/objects/index.tsx
|
|
5
|
-
var a = () => import("./objects-
|
|
5
|
+
var a = () => import("./objects-GmuIOaHd.mjs"), o = () => import("./objects-FXN0VWLI.mjs"), s = (t, n) => {
|
|
6
6
|
let { provider: i, projectId: a, containerName: o } = n, s = e(t);
|
|
7
7
|
if (!s["object-store"]) throw r({
|
|
8
8
|
to: "/projects/$projectId",
|
|
@@ -83,4 +83,4 @@ var a = () => import("./objects-B4yrYf_a.mjs"), o = () => import("./objects-DOYF
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { l as t };
|
|
85
85
|
|
|
86
|
-
//# sourceMappingURL=objects-
|
|
86
|
+
//# sourceMappingURL=objects-CU5ws07o.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects-
|
|
1
|
+
{"version":3,"file":"objects-CU5ws07o.mjs","names":["createFileRoute","redirect","getServiceIndex","z","checkServiceAvailability","availableServices","type","name","params","projectId","provider","containerName","serviceIndex","to","hasSwift","Boolean","hasCeph","cephFallbackEnabled","hasEffectiveCeph","fallbackProvider","objectsSearchSchema","object","prefix","string","optional","sortBy","enum","sortDirection","search","Route","staticData","section","service","isDetail","sectionCrumb","labelKey","crumb","useParamAsLabel","RouteInfo","validateSearch","head","match","meta","title","component","lazyRouteComponent","$$splitComponentImporter","notFoundComponent","$$splitNotFoundComponentImporter","loader","context","trpcClient","auth","getAvailableServices","query","client","beforeLoad"],"sources":["../../src/client/routes/_auth/projects/$projectId/storage/$provider/containers/$containerName/objects/index.tsx"],"sourcesContent":["import { createFileRoute, redirect, useParams } from \"@tanstack/react-router\"\nimport { getServiceIndex } from \"@/server/Authentication/helpers\"\nimport { ErrorBoundary } from \"react-error-boundary\"\nimport { Trans } from \"@lingui/react/macro\"\nimport { SwiftObjects } from \"../../../../-components/Swift/Objects\"\nimport { ObjectBrowserView } from \"../../../../-components/Ceph/Objects\"\nimport { z } from \"zod\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\n\nexport const checkServiceAvailability = (\n availableServices: {\n type: string\n name: string\n }[],\n params: {\n projectId: string\n provider: string\n containerName: string\n }\n) => {\n const { provider, projectId, containerName } = params\n\n const serviceIndex = getServiceIndex(availableServices)\n\n // Redirect to the \"Projects Overview\" page if no storage services available\n if (!serviceIndex[\"object-store\"]) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n\n // Check provider availability\n const hasSwift = Boolean(serviceIndex[\"object-store\"][\"swift\"])\n const hasCeph = Boolean(serviceIndex[\"object-store\"][\"ceph\"])\n\n // TEMPORARY: Allow Ceph access even if not in catalog (relies on env config)\n // TODO: Properly register Ceph in OpenStack service catalog\n const cephFallbackEnabled = true // Set to false once Ceph is in catalog\n\n // Effective availability includes fallback flag for Ceph\n const hasEffectiveCeph = hasCeph || cephFallbackEnabled\n const fallbackProvider = hasSwift ? \"swift\" : hasEffectiveCeph ? \"ceph\" : null\n\n if (provider !== \"swift\" && provider !== \"ceph\") {\n if (!fallbackProvider) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n throw redirect({\n to: \"/projects/$projectId/storage/$provider/containers/$containerName/objects\",\n params: { projectId, provider: fallbackProvider, containerName },\n })\n }\n\n if (provider === \"swift\" && !hasSwift) {\n if (!hasEffectiveCeph) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n\n throw redirect({\n to: \"/projects/$projectId/storage/$provider/containers/$containerName/objects\",\n params: { projectId, provider: \"ceph\", containerName },\n })\n }\n\n if (provider === \"ceph\" && !hasEffectiveCeph) {\n if (!hasSwift) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n\n throw redirect({\n to: \"/projects/$projectId/storage/$provider/containers/$containerName/objects\",\n params: { projectId, provider: \"swift\", containerName },\n })\n }\n}\n\n// Search params schema\n// - prefix: base64-encoded current folder path, safe to carry \"/\" chars in the URL\n// - sortBy: active sort column key — persisted so deep links and back navigation restore sort state\n// Accepts both Swift keys (last_modified, bytes) and Ceph keys (lastModified, size) for compatibility\n// - sortDirection: \"asc\" | \"desc\" — persisted alongside sortBy\nconst objectsSearchSchema = z.object({\n prefix: z.string().optional(),\n sortBy: z.enum([\"name\", \"last_modified\", \"bytes\", \"lastModified\", \"size\"]).optional(),\n sortDirection: z.enum([\"asc\", \"desc\"]).optional(),\n search: z.string().optional(),\n})\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/storage/$provider/containers/$containerName/objects/\")(\n {\n staticData: {\n section: \"storage\",\n service: \"containers\",\n isDetail: true,\n sectionCrumb: { labelKey: \"Storage\" },\n crumb: { useParamAsLabel: \"provider\", to: \"/projects/$projectId/storage/$provider/containers\" },\n } satisfies RouteInfo,\n validateSearch: objectsSearchSchema,\n head: ({ match }) => ({\n meta: [{ title: match.params.containerName }],\n }),\n component: () => {\n return <ObjectsDashboard />\n },\n notFoundComponent: () => {\n return (\n <p>\n <Trans>Storage container not found</Trans>\n </p>\n )\n },\n loader: async ({ context }) => {\n const { trpcClient } = context\n const availableServices = await trpcClient?.auth.getAvailableServices.query()\n\n return {\n client: trpcClient,\n availableServices,\n }\n },\n beforeLoad: async ({ context, params }) => {\n const { trpcClient } = context\n const availableServices = await trpcClient?.auth.getAvailableServices.query()\n checkServiceAvailability(availableServices!, params)\n },\n }\n)\n\nfunction ObjectsDashboard() {\n const { project, provider, containerName } = useParams({\n from: \"/_auth/projects/$projectId/storage/$provider/containers/$containerName/objects/\",\n select: (params) => ({\n project: params.projectId,\n provider: params.provider,\n containerName: params.containerName,\n }),\n })\n\n const { prefix, sortBy, sortDirection, search } = Route.useSearch()\n\n return (\n <div>\n {project ? (\n <ErrorBoundary\n resetKeys={[project, provider, containerName, prefix, sortBy, sortDirection, search]}\n fallback={\n <div className=\"p-4 text-center\">\n <Trans>Error loading component</Trans>\n </div>\n }\n >\n {(() => {\n switch (provider) {\n case \"swift\":\n return <SwiftObjects />\n case \"ceph\":\n return <ObjectBrowserView bucketName={containerName} />\n default:\n return (\n <div className=\"p-4\">\n <Trans>Objects — {containerName}</Trans>\n </div>\n )\n }\n })()}\n </ErrorBoundary>\n ) : (\n <div className=\"p-4 text-center\">\n <Trans>No project selected</Trans>\n </div>\n )}\n </div>\n )\n}\n"],"mappings":";;;;4FASaI,KACXC,GAIAG,MAAAA;CAMA,IAAM,EAAEE,aAAUD,cAAWE,qBAAkBH,GAEzCI,IAAeV,EAAgBG,EAAAA;AAGrC,KAAI,CAACO,EAAa,gBAChB,OAAMX,EAAS;EACbY,IAAI;EACJL,QAAQ,EAAEC,cAAU;EACtB,CAAA;CAIF,IAAMK,IAAWC,EAAQH,EAAa,gBAAgB,OAQhDM,IAPUH,EAAQH,EAAa,gBAAgB,QAIzB,IAItBO,IAAmBL,IAAW,UAAUI,IAAmB,SAAS;AAE1E,KAAIR,MAAa,WAAWA,MAAa,OAOvC,OAAMT,EANDkB,IAMU;EACbN,IAAI;EACJL,QAAQ;GAAEC;GAAWC,UAAUS;GAAkBR;GAAc;EACjE,GARiB;EACbE,IAAI;EACJL,QAAQ,EAAEC,cAAU;EACtB,CAAA;AAQJ,KAAIC,MAAa,WAAW,CAACI,EAQ3B,OAAMb,EAPDiB,IAOU;EACbL,IAAI;EACJL,QAAQ;GAAEC;GAAWC,UAAU;GAAQC;GAAc;EACvD,GATiB;EACbE,IAAI;EACJL,QAAQ,EAAEC,cAAU;EACtB,CAAA;AASJ,KAAIC,MAAa,UAAU,CAACQ,EAQ1B,OAAMjB,EAPDa,IAOU;EACbD,IAAI;EACJL,QAAQ;GAAEC;GAAWC,UAAU;GAASC;GAAc;EACxD,GATiB;EACbE,IAAI;EACJL,QAAQ,EAAEC,cAAU;EACtB,CAAA;GAeAW,IAAsBjB,EAAEkB,OAAO;CACnCC,QAAQnB,EAAEoB,QAAM,CAAGC,UAAQ;CAC3BC,QAAQtB,EAAEuB,KAAK;EAAC;EAAQ;EAAiB;EAAS;EAAgB;EAAO,CAAA,CAAEF,UAAQ;CACnFG,eAAexB,EAAEuB,KAAK,CAAC,OAAO,OAAO,CAAA,CAAEF,UAAQ;CAC/CI,QAAQzB,EAAEoB,QAAM,CAAGC,UAAQ;CAC7B,CAAA,EAEaK,IAAQ7B,EAAgB,kFAAA,CACnC;CACE8B,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,UAAU;EACVC,cAAc,EAAEC,UAAU,WAAU;EACpCC,OAAO;GAAEC,iBAAiB;GAAYxB,IAAI;GAAoD;EAChG;CACA0B,gBAAgBnB;CAChBoB,OAAO,EAAEC,gBAAa,EACpBC,MAAM,CAAC,EAAEC,OAAOF,EAAMjC,OAAOG,eAAc,CAAC,EAC9C;CACAiC,WAASC,EAAAC,GAAA,YAAA;CAGTC,mBAAiBF,EAAAG,GAAA,oBAAA;CAOjBC,QAAQ,OAAO,EAAEC,iBAAS;EACxB,IAAM,EAAEC,kBAAeD;AAGvB,SAAO;GACLK,QAAQJ;GACR9C,mBAJwB,MAAM8C,GAAYC,KAAKC,qBAAqBC,OAAAA;GAKtE;;CAEFE,YAAY,OAAO,EAAEN,YAAS1C,gBAAQ;EACpC,IAAM,EAAE2C,kBAAeD;AAEvB9C,IAD0B,MAAM+C,GAAYC,KAAKC,qBAAqBC,OAAAA,EACzB9C,EAAAA;;CAEjD,CAAA"}
|