bitsnap-react 1.15.0 → 1.16.0
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/AGENTS.md +3 -0
- package/README.md +76 -2
- package/dist/CartProvider-VGZMDVFJ.js +2 -0
- package/dist/CartProvider-VGZMDVFJ.js.map +1 -0
- package/dist/CartProvider-ZY5OLTAF.mjs +2 -0
- package/dist/PanelModelFiles-NYCOFPLY.js +2 -0
- package/dist/PanelModelFiles-NYCOFPLY.js.map +1 -0
- package/dist/PanelModelFiles-RV7OHUUZ.mjs +2 -0
- package/dist/PanelModelFiles-RV7OHUUZ.mjs.map +1 -0
- package/dist/Viewer3D-2IDEH6W3.mjs +2 -0
- package/dist/Viewer3D-2IDEH6W3.mjs.map +1 -0
- package/dist/analytics.js +1 -1
- package/dist/analytics.js.map +1 -1
- package/dist/analytics.mjs +1 -1
- package/dist/catalog.d.mts +5 -1
- package/dist/catalog.d.ts +5 -1
- package/dist/catalog.js +1 -1
- package/dist/catalog.js.map +1 -1
- package/dist/catalog.mjs +1 -1
- package/dist/chunk-5AYH23UJ.mjs +4 -0
- package/dist/chunk-5AYH23UJ.mjs.map +1 -0
- package/dist/chunk-5ED7FWNY.mjs +2 -0
- package/dist/chunk-5ED7FWNY.mjs.map +1 -0
- package/dist/chunk-5R6AGO3Z.mjs +2 -0
- package/dist/chunk-5R6AGO3Z.mjs.map +1 -0
- package/dist/chunk-6Q3VGPSF.js +2 -0
- package/dist/chunk-6Q3VGPSF.js.map +1 -0
- package/dist/chunk-6YIRRDCL.mjs +2 -0
- package/dist/chunk-6YIRRDCL.mjs.map +1 -0
- package/dist/chunk-7RXW6XFY.js +2 -0
- package/dist/chunk-7RXW6XFY.js.map +1 -0
- package/dist/chunk-AGYS7Z6G.mjs +2 -0
- package/dist/{chunk-2TLWMYXW.mjs.map → chunk-AGYS7Z6G.mjs.map} +1 -1
- package/dist/chunk-CUPG4B5W.mjs +2 -0
- package/dist/chunk-CUPG4B5W.mjs.map +1 -0
- package/dist/chunk-DPKWYLN7.mjs +2 -0
- package/dist/chunk-DPKWYLN7.mjs.map +1 -0
- package/dist/{chunk-MG6VV5J2.js → chunk-GQJDFLSL.js} +2 -2
- package/dist/chunk-GQJDFLSL.js.map +1 -0
- package/dist/chunk-GXUNRJ5S.js +2 -0
- package/dist/chunk-GXUNRJ5S.js.map +1 -0
- package/dist/chunk-I3QXJJ7U.mjs +2 -0
- package/dist/{chunk-7TLJKYZD.mjs.map → chunk-I3QXJJ7U.mjs.map} +1 -1
- package/dist/chunk-JSDGZ4NY.js.map +1 -1
- package/dist/chunk-KOYBZORL.js.map +1 -1
- package/dist/{chunk-XZYCQ655.js → chunk-LL7ASBGY.js} +2 -2
- package/dist/chunk-LL7ASBGY.js.map +1 -0
- package/dist/chunk-OZHXRKMX.js +2 -0
- package/dist/chunk-OZHXRKMX.js.map +1 -0
- package/dist/chunk-QERYM7RC.js +2 -0
- package/dist/chunk-QERYM7RC.js.map +1 -0
- package/dist/{chunk-PEVB3VL4.mjs → chunk-QQQ2JSPQ.mjs} +2 -2
- package/dist/{chunk-PEVB3VL4.mjs.map → chunk-QQQ2JSPQ.mjs.map} +1 -1
- package/dist/chunk-QXGK337V.mjs +2 -0
- package/dist/{chunk-Q3DSK66F.mjs.map → chunk-QXGK337V.mjs.map} +1 -1
- package/dist/{chunk-7DG4UPWE.js → chunk-SRQOFCMO.js} +2 -2
- package/dist/chunk-SRQOFCMO.js.map +1 -0
- package/dist/chunk-SULHGFYN.mjs +2 -0
- package/dist/chunk-SULHGFYN.mjs.map +1 -0
- package/dist/chunk-SXKJ26OA.mjs +2 -0
- package/dist/chunk-SXKJ26OA.mjs.map +1 -0
- package/dist/chunk-VNYHJT6V.mjs +2 -0
- package/dist/chunk-VNYHJT6V.mjs.map +1 -0
- package/dist/chunk-W3RGQYPD.js.map +1 -1
- package/dist/chunk-WKE6ECID.mjs +2 -0
- package/dist/chunk-WKE6ECID.mjs.map +1 -0
- package/dist/{chunk-FGB5FJCI.js → chunk-WPOXLITY.js} +2 -2
- package/dist/chunk-WPOXLITY.js.map +1 -0
- package/dist/chunk-Y5KWVTXT.js +4 -0
- package/dist/chunk-Y5KWVTXT.js.map +1 -0
- package/dist/consent.js.map +1 -1
- package/dist/course.js +1 -1
- package/dist/course.js.map +1 -1
- package/dist/course.mjs +1 -1
- package/dist/course.mjs.map +1 -1
- package/dist/embed/analytics.js +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/methods-NJEP64AG.mjs +2 -0
- package/dist/methods-WRONKK3D.js +2 -0
- package/dist/methods-WRONKK3D.js.map +1 -0
- package/dist/model-files-client-HHDXJDTS.mjs +2 -0
- package/dist/model-files-client-HHDXJDTS.mjs.map +1 -0
- package/dist/model-files-client-P4PORZJ6.js +2 -0
- package/dist/model-files-client-P4PORZJ6.js.map +1 -0
- package/dist/models.d.mts +2 -0
- package/dist/models.d.ts +2 -0
- package/dist/models.js +1 -1
- package/dist/models.js.map +1 -1
- package/dist/models.mjs +1 -1
- package/dist/models.mjs.map +1 -1
- package/dist/returns.js +1 -1
- package/dist/returns.js.map +1 -1
- package/dist/returns.mjs +1 -1
- package/dist/viewer3d.css +2 -0
- package/dist/viewer3d.css.map +1 -0
- package/dist/viewer3d.d.mts +318 -0
- package/dist/viewer3d.d.ts +318 -0
- package/dist/viewer3d.js +2 -0
- package/dist/viewer3d.js.map +1 -0
- package/dist/viewer3d.mjs +63 -0
- package/dist/viewer3d.mjs.map +1 -0
- package/package.json +43 -16
- package/dist/CartProvider-64QEJ7A7.js +0 -2
- package/dist/CartProvider-64QEJ7A7.js.map +0 -1
- package/dist/CartProvider-XKK7A3C2.mjs +0 -2
- package/dist/chunk-2TLWMYXW.mjs +0 -2
- package/dist/chunk-7DG4UPWE.js.map +0 -1
- package/dist/chunk-7TLJKYZD.mjs +0 -2
- package/dist/chunk-AZQOW73L.mjs +0 -4
- package/dist/chunk-AZQOW73L.mjs.map +0 -1
- package/dist/chunk-DY2S42Q6.js +0 -2
- package/dist/chunk-DY2S42Q6.js.map +0 -1
- package/dist/chunk-FGB5FJCI.js.map +0 -1
- package/dist/chunk-GLAJPUMA.js +0 -2
- package/dist/chunk-GLAJPUMA.js.map +0 -1
- package/dist/chunk-H4WAQQVO.js +0 -2
- package/dist/chunk-H4WAQQVO.js.map +0 -1
- package/dist/chunk-MG6VV5J2.js.map +0 -1
- package/dist/chunk-Q3DSK66F.mjs +0 -2
- package/dist/chunk-RWEP6IUC.mjs +0 -2
- package/dist/chunk-RWEP6IUC.mjs.map +0 -1
- package/dist/chunk-S4Z4O46O.mjs +0 -2
- package/dist/chunk-S4Z4O46O.mjs.map +0 -1
- package/dist/chunk-VY6CZVVA.js +0 -4
- package/dist/chunk-VY6CZVVA.js.map +0 -1
- package/dist/chunk-XZYCQ655.js.map +0 -1
- package/dist/chunk-ZIWQ57GY.mjs +0 -2
- package/dist/chunk-ZIWQ57GY.mjs.map +0 -1
- package/dist/methods-NUMVR53L.js +0 -2
- package/dist/methods-NUMVR53L.js.map +0 -1
- package/dist/methods-YKZZ6OVT.mjs +0 -2
- /package/dist/{CartProvider-XKK7A3C2.mjs.map → CartProvider-ZY5OLTAF.mjs.map} +0 -0
- /package/dist/{methods-YKZZ6OVT.mjs.map → methods-NJEP64AG.mjs.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var i=10485760;function a(t){return t>10485760}var m=1.75,u=3e3,c=4e3,p=35;function b(t){return`https://cdn.jsdelivr.net/npm/three@0.${String(t).replace(/\D.*$/,"")||"187"}.0/examples/jsm/libs/draco/gltf/`}function T(t,n="pl-PL"){let r=Math.max(0,t),e=r/(1024*1024);if(e>=1)return`${new Intl.NumberFormat(n,{maximumFractionDigits:e<10?1:0}).format(e)} MB`;let o=Math.max(1,Math.round(r/1024));return`${new Intl.NumberFormat(n).format(o)} kB`}var _={environmentIntensity:.9,ambient:.25,directional:[{position:[3,6,4],intensity:1.1},{position:[-4,3,-3],intensity:.35}]};export{i as a,a as b,m as c,u as d,c as e,p as f,b as g,T as h,_ as i};
|
|
2
|
+
//# sourceMappingURL=chunk-5ED7FWNY.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/viewer3d/constants.ts"],"sourcesContent":["/**\n * Shared numbers of the 3D viewer. No three import: the shell, the hook and\n * the tests use them.\n */\n\n/**\n * Display copies up to this size load on their own when the viewer scrolls\n * into view; bigger ones wait for \"Pokaż model 3D (24 MB)\".\n */\nexport const AUTO_LOAD_MAX_BYTES = 10 * 1024 * 1024;\n\n/** True when the model must wait for the buyer's click. */\nexport function needsClickToLoad(previewSize: number): boolean {\n return previewSize > AUTO_LOAD_MAX_BYTES;\n}\n\n/**\n * `OrbitControls.autoRotateSpeed` with a time-based update: one turn takes\n * 60 / speed seconds, so 1.75 is about 34 s per turn.\n */\nexport const AUTO_ROTATE_SPEED = 1.75;\n\n/** Rotation resumes this long after the buyer's last drag or zoom. */\nexport const AUTO_ROTATE_RESUME_MS = 3000;\n\n/** The gesture hint disappears after this long without an interaction. */\nexport const GESTURE_HINT_MS = 4000;\n\n/** Field of view of the viewer camera (degrees). */\nexport const CAMERA_FOV = 35;\n\n/**\n * Default Draco decoder: three's own decoder files on jsDelivr, for the\n * `three` revision the page has installed (`REVISION` \"187\" → three@0.187.0),\n * so the decoder always matches the loader. jsDelivr answers with\n * `Access-Control-Allow-Origin: *`, which the decoder worker needs on any\n * domain. Pass `decoderPath` to self-host (copy\n * `three/examples/jsm/libs/draco/gltf/` to your site, e.g. `/draco/`).\n */\nexport function defaultDecoderPath(revision: string): string {\n const major = String(revision).replace(/\\D.*$/, \"\") || \"187\";\n return `https://cdn.jsdelivr.net/npm/three@0.${major}.0/examples/jsm/libs/draco/gltf/`;\n}\n\n/**\n * \"24 MB\", \"4,2 MB\", \"820 kB\": the size the click-to-load button shows.\n * Decimal for small values only, in the locale's style.\n */\nexport function formatModelSize(bytes: number, locale = \"pl-PL\"): string {\n const safe = Math.max(0, bytes);\n const mb = safe / (1024 * 1024);\n if (mb >= 1) {\n const value = new Intl.NumberFormat(locale, {\n maximumFractionDigits: mb < 10 ? 1 : 0,\n }).format(mb);\n return `${value} MB`;\n }\n const kb = Math.max(1, Math.round(safe / 1024));\n return `${new Intl.NumberFormat(locale).format(kb)} kB`;\n}\n\n/** The studio light of the viewer (on top of the generated room environment). */\nexport const STUDIO_LIGHTS = {\n environmentIntensity: 0.9,\n ambient: 0.25,\n directional: [\n { position: [3, 6, 4] as [number, number, number], intensity: 1.1 },\n { position: [-4, 3, -3] as [number, number, number], intensity: 0.35 },\n ],\n} as const;\n"],"mappings":"AASO,IAAMA,EAAsB,SAG5B,SAASC,EAAiBC,EAA8B,CAC7D,OAAOA,EAAc,QACvB,CAMO,IAAMC,EAAoB,KAGpBC,EAAwB,IAGxBC,EAAkB,IAGlBC,EAAa,GAUnB,SAASC,EAAmBC,EAA0B,CAE3D,MAAO,wCADO,OAAOA,CAAQ,EAAE,QAAQ,QAAS,EAAE,GAAK,KACH,kCACtD,CAMO,SAASC,EAAgBC,EAAeC,EAAS,QAAiB,CACvE,IAAMC,EAAO,KAAK,IAAI,EAAGF,CAAK,EACxBG,EAAKD,GAAQ,KAAO,MAC1B,GAAIC,GAAM,EAIR,MAAO,GAHO,IAAI,KAAK,aAAaF,EAAQ,CAC1C,sBAAuBE,EAAK,GAAK,EAAI,CACvC,CAAC,EAAE,OAAOA,CAAE,CACG,MAEjB,IAAMC,EAAK,KAAK,IAAI,EAAG,KAAK,MAAMF,EAAO,IAAI,CAAC,EAC9C,MAAO,GAAG,IAAI,KAAK,aAAaD,CAAM,EAAE,OAAOG,CAAE,CAAC,KACpD,CAGO,IAAMC,EAAgB,CAC3B,qBAAsB,GACtB,QAAS,IACT,YAAa,CACX,CAAE,SAAU,CAAC,EAAG,EAAG,CAAC,EAA+B,UAAW,GAAI,EAClE,CAAE,SAAU,CAAC,GAAI,EAAG,EAAE,EAA+B,UAAW,GAAK,CACvE,CACF","names":["AUTO_LOAD_MAX_BYTES","needsClickToLoad","previewSize","AUTO_ROTATE_SPEED","AUTO_ROTATE_RESUME_MS","GESTURE_HINT_MS","CAMERA_FOV","defaultDecoderPath","revision","formatModelSize","bytes","locale","safe","mb","kb","STUDIO_LIGHTS"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport type Modify<T, R> = Omit<T, keyof R> & R;\n\nexport type Partial<T> = {\n [P in keyof T]?: T[P];\n};\n"],"mappings":"AAAA,OAA0B,QAAAA,MAAY,OACtC,OAAS,WAAAC,MAAe,iBAEjB,SAASC,KAAMC,EAAsB,CAC1C,OAAOF,EAAQD,EAAKG,CAAM,CAAC,CAC7B","names":["clsx","twMerge","cn","inputs"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _codegenv2 = require('@bufbuild/protobuf/codegenv2');var o=_codegenv2.fileDesc.call(void 0, "Ch5wdWJsaWMvdjEvbW9kZWxfZGVsaXZlcnkucHJvdG8SCXB1YmxpYy52MSJBChVMaXN0TW9kZWxGaWxlc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiQQoQTW9kZWxGaWxlTGljZW5jZRIMCgRuYW1lGAEgASgJEgsKA3VybBgCIAEoCRISCgppc19kZWZhdWx0GAMgASgIIjEKEk1vZGVsU2VsbGVyQ29udGFjdBIMCgRuYW1lGAEgASgJEg0KBWVtYWlsGAIgASgJIlkKElB1cmNoYXNlZE1vZGVsRmlsZRINCgVpbmRleBgBIAEoBRIRCglmaWxlX25hbWUYAiABKAkSEQoJZmlsZV9zaXplGAMgASgDEg4KBmZvcm1hdBgEIAEoCSKeAwoOUHVyY2hhc2VkTW9kZWwSEAoIb3JkZXJfaWQYASABKAkSDwoHbGluZV9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCXNob3BfbmFtZRgEIAEoCRIUCgxwcm9kdWN0X25hbWUYBSABKAkSFAoMdmFyaWFudF9uYW1lGAYgASgJEhQKDHB1cmNoYXNlZF9hdBgHIAEoAxIoCgVzdGF0ZRgIIAEoDjIZLnB1YmxpYy52MS5Nb2RlbEZpbGVTdGF0ZRIsCgVmaWxlcxgJIAMoCzIdLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEZpbGUSLAoHbGljZW5jZRgKIAEoCzIbLnB1YmxpYy52MS5Nb2RlbEZpbGVMaWNlbmNlEi0KBnNlbGxlchgLIAEoCzIdLnB1YmxpYy52MS5Nb2RlbFNlbGxlckNvbnRhY3QSHgoRYWNjZXNzX2V4cGlyZXNfYXQYDCABKANIAIgBARIVCg10aHVtYm5haWxfdXJsGA0gASgJQhQKEl9hY2Nlc3NfZXhwaXJlc19hdCLKAQoWTGlzdE1vZGVsRmlsZXNSZXNwb25zZRI8CgdzdWNjZXNzGAEgASgLMikucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UuU3VjY2Vzc0gAEjIKB2ZhaWx1cmUYAiABKA4yHy5wdWJsaWMudjEuTW9kZWxEZWxpdmVyeUZhaWx1cmVIABo0CgdTdWNjZXNzEikKBm1vZGVscxgBIAMoCzIZLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEIICgZyZXN1bHQibQoeR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIPCgdsaW5lX2lkGAMgASgJEhIKCmZpbGVfaW5kZXgYBCABKAUi5QEKH0dldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2USRQoHc3VjY2VzcxgBIAEoCzIyLnB1YmxpYy52MS5HZXRNb2RlbEZpbGVEb3dubG9hZFVybFJlc3BvbnNlLlN1Y2Nlc3NIABIyCgdmYWlsdXJlGAIgASgOMh8ucHVibGljLnYxLk1vZGVsRGVsaXZlcnlGYWlsdXJlSAAaPQoHU3VjY2VzcxILCgN1cmwYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCmV4cGlyZXNfYXQYAyABKANCCAoGcmVzdWx0Kp0CChRNb2RlbERlbGl2ZXJ5RmFpbHVyZRImCiJNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOU1BFQ0lGSUVEEAASJwojTU9ERUxfREVMSVZFUllfRkFJTFVSRV9VTkFVVEhPUklaRUQQARIkCiBNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX05PVF9GT1VORBACEiMKH01PREVMX0RFTElWRVJZX0ZBSUxVUkVfUkVGVU5ERUQQAxIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX0VYUElSRUQQBBIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1JFTU9WRUQQBRIhCh1NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOUEFJRBAGKo4BCg5Nb2RlbEZpbGVTdGF0ZRIgChxNT0RFTF9GSUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASHgoaTU9ERUxfRklMRV9TVEFURV9BVkFJTEFCTEUQARIcChhNT0RFTF9GSUxFX1NUQVRFX1JFTU9WRUQQAhIcChhNT0RFTF9GSUxFX1NUQVRFX0VYUElSRUQQAzLfAQoUTW9kZWxEZWxpdmVyeVNlcnZpY2USVQoOTGlzdE1vZGVsRmlsZXMSIC5wdWJsaWMudjEuTGlzdE1vZGVsRmlsZXNSZXF1ZXN0GiEucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UScAoXR2V0TW9kZWxGaWxlRG93bmxvYWRVcmwSKS5wdWJsaWMudjEuR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0GioucHVibGljLnYxLkdldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2ViBnByb3RvMw");var c=(e=>(e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.REMOVED=2]="REMOVED",e[e.EXPIRED=3]="EXPIRED",e))(c||{});var i=_codegenv2.serviceDesc.call(void 0, o,0);exports.a = c; exports.b = i;
|
|
2
|
+
//# sourceMappingURL=chunk-6Q3VGPSF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gen/proto/public/v1/model_delivery_pb.ts"],"names":["file_public_v1_model_delivery","fileDesc","ModelFileState","ModelDeliveryService","serviceDesc"],"mappings":"AAMA,kIAA6D,IAMhDA,CAAAA,CACXC,iCAAAA,4iFAAqjF,CAAA,CAwYhjF,IAAKC,CAAAA,CAAAA,CAAAA,CAAAA,EAAAA,CAIVA,CAAAA,CAAAA,CAAAA,CAAA,WAAA,CAAc,CAAA,CAAA,CAAd,aAAA,CAKAA,CAAAA,CAAAA,CAAAA,CAAA,SAAA,CAAY,CAAA,CAAA,CAAZ,WAAA,CAOAA,CAAAA,CAAAA,CAAAA,CAAA,OAAA,CAAU,CAAA,CAAA,CAAV,SAAA,CAOAA,CAAAA,CAAAA,CAAAA,CAAA,OAAA,CAAU,CAAA,CAAA,CAAV,SAAA,CAvBUA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,EAAA,CAAA,CAAA,CAAA,CA4CL,IAAMC,CAAAA,CAsBXC,oCAAAA,CAAYJ,CAA+B,CAAC,CAAA,CAAA,6BAAA","file":"/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/chunk-6Q3VGPSF.js","sourcesContent":["// @generated by protoc-gen-es v2.10.0 with parameter \"target=ts,ts_nocheck=true\"\n// @generated from file public/v1/model_delivery.proto (package public.v1, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file public/v1/model_delivery.proto.\n */\nexport const file_public_v1_model_delivery: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wdWJsaWMvdjEvbW9kZWxfZGVsaXZlcnkucHJvdG8SCXB1YmxpYy52MSJBChVMaXN0TW9kZWxGaWxlc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiQQoQTW9kZWxGaWxlTGljZW5jZRIMCgRuYW1lGAEgASgJEgsKA3VybBgCIAEoCRISCgppc19kZWZhdWx0GAMgASgIIjEKEk1vZGVsU2VsbGVyQ29udGFjdBIMCgRuYW1lGAEgASgJEg0KBWVtYWlsGAIgASgJIlkKElB1cmNoYXNlZE1vZGVsRmlsZRINCgVpbmRleBgBIAEoBRIRCglmaWxlX25hbWUYAiABKAkSEQoJZmlsZV9zaXplGAMgASgDEg4KBmZvcm1hdBgEIAEoCSKeAwoOUHVyY2hhc2VkTW9kZWwSEAoIb3JkZXJfaWQYASABKAkSDwoHbGluZV9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCXNob3BfbmFtZRgEIAEoCRIUCgxwcm9kdWN0X25hbWUYBSABKAkSFAoMdmFyaWFudF9uYW1lGAYgASgJEhQKDHB1cmNoYXNlZF9hdBgHIAEoAxIoCgVzdGF0ZRgIIAEoDjIZLnB1YmxpYy52MS5Nb2RlbEZpbGVTdGF0ZRIsCgVmaWxlcxgJIAMoCzIdLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEZpbGUSLAoHbGljZW5jZRgKIAEoCzIbLnB1YmxpYy52MS5Nb2RlbEZpbGVMaWNlbmNlEi0KBnNlbGxlchgLIAEoCzIdLnB1YmxpYy52MS5Nb2RlbFNlbGxlckNvbnRhY3QSHgoRYWNjZXNzX2V4cGlyZXNfYXQYDCABKANIAIgBARIVCg10aHVtYm5haWxfdXJsGA0gASgJQhQKEl9hY2Nlc3NfZXhwaXJlc19hdCLKAQoWTGlzdE1vZGVsRmlsZXNSZXNwb25zZRI8CgdzdWNjZXNzGAEgASgLMikucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UuU3VjY2Vzc0gAEjIKB2ZhaWx1cmUYAiABKA4yHy5wdWJsaWMudjEuTW9kZWxEZWxpdmVyeUZhaWx1cmVIABo0CgdTdWNjZXNzEikKBm1vZGVscxgBIAMoCzIZLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEIICgZyZXN1bHQibQoeR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIPCgdsaW5lX2lkGAMgASgJEhIKCmZpbGVfaW5kZXgYBCABKAUi5QEKH0dldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2USRQoHc3VjY2VzcxgBIAEoCzIyLnB1YmxpYy52MS5HZXRNb2RlbEZpbGVEb3dubG9hZFVybFJlc3BvbnNlLlN1Y2Nlc3NIABIyCgdmYWlsdXJlGAIgASgOMh8ucHVibGljLnYxLk1vZGVsRGVsaXZlcnlGYWlsdXJlSAAaPQoHU3VjY2VzcxILCgN1cmwYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCmV4cGlyZXNfYXQYAyABKANCCAoGcmVzdWx0Kp0CChRNb2RlbERlbGl2ZXJ5RmFpbHVyZRImCiJNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOU1BFQ0lGSUVEEAASJwojTU9ERUxfREVMSVZFUllfRkFJTFVSRV9VTkFVVEhPUklaRUQQARIkCiBNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX05PVF9GT1VORBACEiMKH01PREVMX0RFTElWRVJZX0ZBSUxVUkVfUkVGVU5ERUQQAxIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX0VYUElSRUQQBBIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1JFTU9WRUQQBRIhCh1NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOUEFJRBAGKo4BCg5Nb2RlbEZpbGVTdGF0ZRIgChxNT0RFTF9GSUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASHgoaTU9ERUxfRklMRV9TVEFURV9BVkFJTEFCTEUQARIcChhNT0RFTF9GSUxFX1NUQVRFX1JFTU9WRUQQAhIcChhNT0RFTF9GSUxFX1NUQVRFX0VYUElSRUQQAzLfAQoUTW9kZWxEZWxpdmVyeVNlcnZpY2USVQoOTGlzdE1vZGVsRmlsZXMSIC5wdWJsaWMudjEuTGlzdE1vZGVsRmlsZXNSZXF1ZXN0GiEucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UScAoXR2V0TW9kZWxGaWxlRG93bmxvYWRVcmwSKS5wdWJsaWMudjEuR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0GioucHVibGljLnYxLkdldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2ViBnByb3RvMw\");\n\n/**\n * @generated from message public.v1.ListModelFilesRequest\n */\nexport type ListModelFilesRequest = Message<\"public.v1.ListModelFilesRequest\"> & {\n /**\n * @generated from field: string access_token = 1;\n */\n accessToken: string;\n\n /**\n * Hashed project id of the panel; empty = every shop.\n *\n * @generated from field: string project_id = 2;\n */\n projectId: string;\n};\n\n/**\n * Describes the message public.v1.ListModelFilesRequest.\n * Use `create(ListModelFilesRequestSchema)` to create a new message.\n */\nexport const ListModelFilesRequestSchema: GenMessage<ListModelFilesRequest> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 0);\n\n/**\n * @generated from message public.v1.ModelFileLicence\n */\nexport type ModelFileLicence = Message<\"public.v1.ModelFileLicence\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Where the licence text is: the seller's URL, the licence page of the\n * order line, or the buyer regulations for the default licence.\n *\n * @generated from field: string url = 2;\n */\n url: string;\n\n /**\n * The default personal-use licence of the buyer regulations (D15).\n *\n * @generated from field: bool is_default = 3;\n */\n isDefault: boolean;\n};\n\n/**\n * Describes the message public.v1.ModelFileLicence.\n * Use `create(ModelFileLicenceSchema)` to create a new message.\n */\nexport const ModelFileLicenceSchema: GenMessage<ModelFileLicence> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 1);\n\n/**\n * @generated from message public.v1.ModelSellerContact\n */\nexport type ModelSellerContact = Message<\"public.v1.ModelSellerContact\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string email = 2;\n */\n email: string;\n};\n\n/**\n * Describes the message public.v1.ModelSellerContact.\n * Use `create(ModelSellerContactSchema)` to create a new message.\n */\nexport const ModelSellerContactSchema: GenMessage<ModelSellerContact> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 2);\n\n/**\n * @generated from message public.v1.PurchasedModelFile\n */\nexport type PurchasedModelFile = Message<\"public.v1.PurchasedModelFile\"> & {\n /**\n * Position in the files of the line (v1: always 0, the GLB).\n *\n * @generated from field: int32 index = 1;\n */\n index: number;\n\n /**\n * @generated from field: string file_name = 2;\n */\n fileName: string;\n\n /**\n * @generated from field: int64 file_size = 3;\n */\n fileSize: bigint;\n\n /**\n * \"glb\" in v1.\n *\n * @generated from field: string format = 4;\n */\n format: string;\n};\n\n/**\n * Describes the message public.v1.PurchasedModelFile.\n * Use `create(PurchasedModelFileSchema)` to create a new message.\n */\nexport const PurchasedModelFileSchema: GenMessage<PurchasedModelFile> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 3);\n\n/**\n * @generated from message public.v1.PurchasedModel\n */\nexport type PurchasedModel = Message<\"public.v1.PurchasedModel\"> & {\n /**\n * Hashed id of the order.\n *\n * @generated from field: string order_id = 1;\n */\n orderId: string;\n\n /**\n * The product id of the order line, as the order stores it.\n *\n * @generated from field: string line_id = 2;\n */\n lineId: string;\n\n /**\n * @generated from field: string project_id = 3;\n */\n projectId: string;\n\n /**\n * @generated from field: string shop_name = 4;\n */\n shopName: string;\n\n /**\n * @generated from field: string product_name = 5;\n */\n productName: string;\n\n /**\n * @generated from field: string variant_name = 6;\n */\n variantName: string;\n\n /**\n * @generated from field: int64 purchased_at = 7;\n */\n purchasedAt: bigint;\n\n /**\n * @generated from field: public.v1.ModelFileState state = 8;\n */\n state: ModelFileState;\n\n /**\n * @generated from field: repeated public.v1.PurchasedModelFile files = 9;\n */\n files: PurchasedModelFile[];\n\n /**\n * @generated from field: public.v1.ModelFileLicence licence = 10;\n */\n licence?: ModelFileLicence;\n\n /**\n * @generated from field: public.v1.ModelSellerContact seller = 11;\n */\n seller?: ModelSellerContact;\n\n /**\n * @generated from field: optional int64 access_expires_at = 12;\n */\n accessExpiresAt?: bigint;\n\n /**\n * @generated from field: string thumbnail_url = 13;\n */\n thumbnailUrl: string;\n};\n\n/**\n * Describes the message public.v1.PurchasedModel.\n * Use `create(PurchasedModelSchema)` to create a new message.\n */\nexport const PurchasedModelSchema: GenMessage<PurchasedModel> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 4);\n\n/**\n * @generated from message public.v1.ListModelFilesResponse\n */\nexport type ListModelFilesResponse = Message<\"public.v1.ListModelFilesResponse\"> & {\n /**\n * @generated from oneof public.v1.ListModelFilesResponse.result\n */\n result: {\n /**\n * @generated from field: public.v1.ListModelFilesResponse.Success success = 1;\n */\n value: ListModelFilesResponse_Success;\n case: \"success\";\n } | {\n /**\n * @generated from field: public.v1.ModelDeliveryFailure failure = 2;\n */\n value: ModelDeliveryFailure;\n case: \"failure\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message public.v1.ListModelFilesResponse.\n * Use `create(ListModelFilesResponseSchema)` to create a new message.\n */\nexport const ListModelFilesResponseSchema: GenMessage<ListModelFilesResponse> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 5);\n\n/**\n * @generated from message public.v1.ListModelFilesResponse.Success\n */\nexport type ListModelFilesResponse_Success = Message<\"public.v1.ListModelFilesResponse.Success\"> & {\n /**\n * @generated from field: repeated public.v1.PurchasedModel models = 1;\n */\n models: PurchasedModel[];\n};\n\n/**\n * Describes the message public.v1.ListModelFilesResponse.Success.\n * Use `create(ListModelFilesResponse_SuccessSchema)` to create a new message.\n */\nexport const ListModelFilesResponse_SuccessSchema: GenMessage<ListModelFilesResponse_Success> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 5, 0);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlRequest\n */\nexport type GetModelFileDownloadUrlRequest = Message<\"public.v1.GetModelFileDownloadUrlRequest\"> & {\n /**\n * @generated from field: string access_token = 1;\n */\n accessToken: string;\n\n /**\n * @generated from field: string order_id = 2;\n */\n orderId: string;\n\n /**\n * @generated from field: string line_id = 3;\n */\n lineId: string;\n\n /**\n * @generated from field: int32 file_index = 4;\n */\n fileIndex: number;\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlRequest.\n * Use `create(GetModelFileDownloadUrlRequestSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlRequestSchema: GenMessage<GetModelFileDownloadUrlRequest> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 6);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlResponse\n */\nexport type GetModelFileDownloadUrlResponse = Message<\"public.v1.GetModelFileDownloadUrlResponse\"> & {\n /**\n * @generated from oneof public.v1.GetModelFileDownloadUrlResponse.result\n */\n result: {\n /**\n * @generated from field: public.v1.GetModelFileDownloadUrlResponse.Success success = 1;\n */\n value: GetModelFileDownloadUrlResponse_Success;\n case: \"success\";\n } | {\n /**\n * @generated from field: public.v1.ModelDeliveryFailure failure = 2;\n */\n value: ModelDeliveryFailure;\n case: \"failure\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlResponse.\n * Use `create(GetModelFileDownloadUrlResponseSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlResponseSchema: GenMessage<GetModelFileDownloadUrlResponse> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 7);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlResponse.Success\n */\nexport type GetModelFileDownloadUrlResponse_Success = Message<\"public.v1.GetModelFileDownloadUrlResponse.Success\"> & {\n /**\n * @generated from field: string url = 1;\n */\n url: string;\n\n /**\n * @generated from field: string file_name = 2;\n */\n fileName: string;\n\n /**\n * @generated from field: int64 expires_at = 3;\n */\n expiresAt: bigint;\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlResponse.Success.\n * Use `create(GetModelFileDownloadUrlResponse_SuccessSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlResponse_SuccessSchema: GenMessage<GetModelFileDownloadUrlResponse_Success> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 7, 0);\n\n/**\n * @generated from enum public.v1.ModelDeliveryFailure\n */\nexport enum ModelDeliveryFailure {\n /**\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * No or an expired panel session.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNAUTHORIZED = 1;\n */\n UNAUTHORIZED = 1,\n\n /**\n * No such order line for this buyer (or it holds no 3D file).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_NOT_FOUND = 2;\n */\n NOT_FOUND = 2,\n\n /**\n * The order was refunded or canceled.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_REFUNDED = 3;\n */\n REFUNDED = 3,\n\n /**\n * The access of the order line ended (access expiry of the variant).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_EXPIRED = 4;\n */\n EXPIRED = 4,\n\n /**\n * The seller removed the file (no model on the variant or the product).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_REMOVED = 5;\n */\n REMOVED = 5,\n\n /**\n * The order is not paid.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNPAID = 6;\n */\n UNPAID = 6,\n}\n\n/**\n * Describes the enum public.v1.ModelDeliveryFailure.\n */\nexport const ModelDeliveryFailureSchema: GenEnum<ModelDeliveryFailure> = /*@__PURE__*/\n enumDesc(file_public_v1_model_delivery, 0);\n\n/**\n * @generated from enum public.v1.ModelFileState\n */\nexport enum ModelFileState {\n /**\n * @generated from enum value: MODEL_FILE_STATE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: MODEL_FILE_STATE_AVAILABLE = 1;\n */\n AVAILABLE = 1,\n\n /**\n * The seller removed the file: `seller` says how to reach them.\n *\n * @generated from enum value: MODEL_FILE_STATE_REMOVED = 2;\n */\n REMOVED = 2,\n\n /**\n * The access ended: `access_expires_at` says when.\n *\n * @generated from enum value: MODEL_FILE_STATE_EXPIRED = 3;\n */\n EXPIRED = 3,\n}\n\n/**\n * Describes the enum public.v1.ModelFileState.\n */\nexport const ModelFileStateSchema: GenEnum<ModelFileState> = /*@__PURE__*/\n enumDesc(file_public_v1_model_delivery, 1);\n\n/**\n * Delivery of purchased 3D model files to the buyer (docs/3d-products-plan.md,\n * \"Delivery after purchase (D7)\").\n *\n * Every call is authenticated as the buyer with the customer panel session\n * (`access_token`, the same token as `PublicApiService.UserPanel*`). It is not\n * a merchant RPC: there is no project permission, the buyer sees the files of\n * their own paid, not refunded orders only. The entitlement is re-checked on\n * every call; a download URL is short-lived and signed on request.\n *\n * @generated from service public.v1.ModelDeliveryService\n */\nexport const ModelDeliveryService: GenService<{\n /**\n * The 3D files of the buyer's orders (optionally of one shop).\n *\n * @generated from rpc public.v1.ModelDeliveryService.ListModelFiles\n */\n listModelFiles: {\n methodKind: \"unary\";\n input: typeof ListModelFilesRequestSchema;\n output: typeof ListModelFilesResponseSchema;\n },\n /**\n * A short-lived signed download URL of one file of one order line.\n *\n * @generated from rpc public.v1.ModelDeliveryService.GetModelFileDownloadUrl\n */\n getModelFileDownloadUrl: {\n methodKind: \"unary\";\n input: typeof GetModelFileDownloadUrlRequestSchema;\n output: typeof GetModelFileDownloadUrlResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_public_v1_model_delivery, 0);\n\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{enumDesc as t,fileDesc as s,messageDesc as d,serviceDesc as l}from"@bufbuild/protobuf/codegenv2";var o=s("Ch5wdWJsaWMvdjEvbW9kZWxfZGVsaXZlcnkucHJvdG8SCXB1YmxpYy52MSJBChVMaXN0TW9kZWxGaWxlc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiQQoQTW9kZWxGaWxlTGljZW5jZRIMCgRuYW1lGAEgASgJEgsKA3VybBgCIAEoCRISCgppc19kZWZhdWx0GAMgASgIIjEKEk1vZGVsU2VsbGVyQ29udGFjdBIMCgRuYW1lGAEgASgJEg0KBWVtYWlsGAIgASgJIlkKElB1cmNoYXNlZE1vZGVsRmlsZRINCgVpbmRleBgBIAEoBRIRCglmaWxlX25hbWUYAiABKAkSEQoJZmlsZV9zaXplGAMgASgDEg4KBmZvcm1hdBgEIAEoCSKeAwoOUHVyY2hhc2VkTW9kZWwSEAoIb3JkZXJfaWQYASABKAkSDwoHbGluZV9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCXNob3BfbmFtZRgEIAEoCRIUCgxwcm9kdWN0X25hbWUYBSABKAkSFAoMdmFyaWFudF9uYW1lGAYgASgJEhQKDHB1cmNoYXNlZF9hdBgHIAEoAxIoCgVzdGF0ZRgIIAEoDjIZLnB1YmxpYy52MS5Nb2RlbEZpbGVTdGF0ZRIsCgVmaWxlcxgJIAMoCzIdLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEZpbGUSLAoHbGljZW5jZRgKIAEoCzIbLnB1YmxpYy52MS5Nb2RlbEZpbGVMaWNlbmNlEi0KBnNlbGxlchgLIAEoCzIdLnB1YmxpYy52MS5Nb2RlbFNlbGxlckNvbnRhY3QSHgoRYWNjZXNzX2V4cGlyZXNfYXQYDCABKANIAIgBARIVCg10aHVtYm5haWxfdXJsGA0gASgJQhQKEl9hY2Nlc3NfZXhwaXJlc19hdCLKAQoWTGlzdE1vZGVsRmlsZXNSZXNwb25zZRI8CgdzdWNjZXNzGAEgASgLMikucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UuU3VjY2Vzc0gAEjIKB2ZhaWx1cmUYAiABKA4yHy5wdWJsaWMudjEuTW9kZWxEZWxpdmVyeUZhaWx1cmVIABo0CgdTdWNjZXNzEikKBm1vZGVscxgBIAMoCzIZLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEIICgZyZXN1bHQibQoeR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIPCgdsaW5lX2lkGAMgASgJEhIKCmZpbGVfaW5kZXgYBCABKAUi5QEKH0dldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2USRQoHc3VjY2VzcxgBIAEoCzIyLnB1YmxpYy52MS5HZXRNb2RlbEZpbGVEb3dubG9hZFVybFJlc3BvbnNlLlN1Y2Nlc3NIABIyCgdmYWlsdXJlGAIgASgOMh8ucHVibGljLnYxLk1vZGVsRGVsaXZlcnlGYWlsdXJlSAAaPQoHU3VjY2VzcxILCgN1cmwYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCmV4cGlyZXNfYXQYAyABKANCCAoGcmVzdWx0Kp0CChRNb2RlbERlbGl2ZXJ5RmFpbHVyZRImCiJNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOU1BFQ0lGSUVEEAASJwojTU9ERUxfREVMSVZFUllfRkFJTFVSRV9VTkFVVEhPUklaRUQQARIkCiBNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX05PVF9GT1VORBACEiMKH01PREVMX0RFTElWRVJZX0ZBSUxVUkVfUkVGVU5ERUQQAxIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX0VYUElSRUQQBBIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1JFTU9WRUQQBRIhCh1NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOUEFJRBAGKo4BCg5Nb2RlbEZpbGVTdGF0ZRIgChxNT0RFTF9GSUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASHgoaTU9ERUxfRklMRV9TVEFURV9BVkFJTEFCTEUQARIcChhNT0RFTF9GSUxFX1NUQVRFX1JFTU9WRUQQAhIcChhNT0RFTF9GSUxFX1NUQVRFX0VYUElSRUQQAzLfAQoUTW9kZWxEZWxpdmVyeVNlcnZpY2USVQoOTGlzdE1vZGVsRmlsZXMSIC5wdWJsaWMudjEuTGlzdE1vZGVsRmlsZXNSZXF1ZXN0GiEucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UScAoXR2V0TW9kZWxGaWxlRG93bmxvYWRVcmwSKS5wdWJsaWMudjEuR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0GioucHVibGljLnYxLkdldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2ViBnByb3RvMw");var c=(e=>(e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.AVAILABLE=1]="AVAILABLE",e[e.REMOVED=2]="REMOVED",e[e.EXPIRED=3]="EXPIRED",e))(c||{});var i=l(o,0);export{c as a,i as b};
|
|
2
|
+
//# sourceMappingURL=chunk-6YIRRDCL.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/gen/proto/public/v1/model_delivery_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.10.0 with parameter \"target=ts,ts_nocheck=true\"\n// @generated from file public/v1/model_delivery.proto (package public.v1, syntax proto3)\n/* eslint-disable */\n// @ts-nocheck\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file public/v1/model_delivery.proto.\n */\nexport const file_public_v1_model_delivery: GenFile = /*@__PURE__*/\n fileDesc(\"Ch5wdWJsaWMvdjEvbW9kZWxfZGVsaXZlcnkucHJvdG8SCXB1YmxpYy52MSJBChVMaXN0TW9kZWxGaWxlc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkiQQoQTW9kZWxGaWxlTGljZW5jZRIMCgRuYW1lGAEgASgJEgsKA3VybBgCIAEoCRISCgppc19kZWZhdWx0GAMgASgIIjEKEk1vZGVsU2VsbGVyQ29udGFjdBIMCgRuYW1lGAEgASgJEg0KBWVtYWlsGAIgASgJIlkKElB1cmNoYXNlZE1vZGVsRmlsZRINCgVpbmRleBgBIAEoBRIRCglmaWxlX25hbWUYAiABKAkSEQoJZmlsZV9zaXplGAMgASgDEg4KBmZvcm1hdBgEIAEoCSKeAwoOUHVyY2hhc2VkTW9kZWwSEAoIb3JkZXJfaWQYASABKAkSDwoHbGluZV9pZBgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEhEKCXNob3BfbmFtZRgEIAEoCRIUCgxwcm9kdWN0X25hbWUYBSABKAkSFAoMdmFyaWFudF9uYW1lGAYgASgJEhQKDHB1cmNoYXNlZF9hdBgHIAEoAxIoCgVzdGF0ZRgIIAEoDjIZLnB1YmxpYy52MS5Nb2RlbEZpbGVTdGF0ZRIsCgVmaWxlcxgJIAMoCzIdLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEZpbGUSLAoHbGljZW5jZRgKIAEoCzIbLnB1YmxpYy52MS5Nb2RlbEZpbGVMaWNlbmNlEi0KBnNlbGxlchgLIAEoCzIdLnB1YmxpYy52MS5Nb2RlbFNlbGxlckNvbnRhY3QSHgoRYWNjZXNzX2V4cGlyZXNfYXQYDCABKANIAIgBARIVCg10aHVtYm5haWxfdXJsGA0gASgJQhQKEl9hY2Nlc3NfZXhwaXJlc19hdCLKAQoWTGlzdE1vZGVsRmlsZXNSZXNwb25zZRI8CgdzdWNjZXNzGAEgASgLMikucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UuU3VjY2Vzc0gAEjIKB2ZhaWx1cmUYAiABKA4yHy5wdWJsaWMudjEuTW9kZWxEZWxpdmVyeUZhaWx1cmVIABo0CgdTdWNjZXNzEikKBm1vZGVscxgBIAMoCzIZLnB1YmxpYy52MS5QdXJjaGFzZWRNb2RlbEIICgZyZXN1bHQibQoeR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIQCghvcmRlcl9pZBgCIAEoCRIPCgdsaW5lX2lkGAMgASgJEhIKCmZpbGVfaW5kZXgYBCABKAUi5QEKH0dldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2USRQoHc3VjY2VzcxgBIAEoCzIyLnB1YmxpYy52MS5HZXRNb2RlbEZpbGVEb3dubG9hZFVybFJlc3BvbnNlLlN1Y2Nlc3NIABIyCgdmYWlsdXJlGAIgASgOMh8ucHVibGljLnYxLk1vZGVsRGVsaXZlcnlGYWlsdXJlSAAaPQoHU3VjY2VzcxILCgN1cmwYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCmV4cGlyZXNfYXQYAyABKANCCAoGcmVzdWx0Kp0CChRNb2RlbERlbGl2ZXJ5RmFpbHVyZRImCiJNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOU1BFQ0lGSUVEEAASJwojTU9ERUxfREVMSVZFUllfRkFJTFVSRV9VTkFVVEhPUklaRUQQARIkCiBNT0RFTF9ERUxJVkVSWV9GQUlMVVJFX05PVF9GT1VORBACEiMKH01PREVMX0RFTElWRVJZX0ZBSUxVUkVfUkVGVU5ERUQQAxIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX0VYUElSRUQQBBIiCh5NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1JFTU9WRUQQBRIhCh1NT0RFTF9ERUxJVkVSWV9GQUlMVVJFX1VOUEFJRBAGKo4BCg5Nb2RlbEZpbGVTdGF0ZRIgChxNT0RFTF9GSUxFX1NUQVRFX1VOU1BFQ0lGSUVEEAASHgoaTU9ERUxfRklMRV9TVEFURV9BVkFJTEFCTEUQARIcChhNT0RFTF9GSUxFX1NUQVRFX1JFTU9WRUQQAhIcChhNT0RFTF9GSUxFX1NUQVRFX0VYUElSRUQQAzLfAQoUTW9kZWxEZWxpdmVyeVNlcnZpY2USVQoOTGlzdE1vZGVsRmlsZXMSIC5wdWJsaWMudjEuTGlzdE1vZGVsRmlsZXNSZXF1ZXN0GiEucHVibGljLnYxLkxpc3RNb2RlbEZpbGVzUmVzcG9uc2UScAoXR2V0TW9kZWxGaWxlRG93bmxvYWRVcmwSKS5wdWJsaWMudjEuR2V0TW9kZWxGaWxlRG93bmxvYWRVcmxSZXF1ZXN0GioucHVibGljLnYxLkdldE1vZGVsRmlsZURvd25sb2FkVXJsUmVzcG9uc2ViBnByb3RvMw\");\n\n/**\n * @generated from message public.v1.ListModelFilesRequest\n */\nexport type ListModelFilesRequest = Message<\"public.v1.ListModelFilesRequest\"> & {\n /**\n * @generated from field: string access_token = 1;\n */\n accessToken: string;\n\n /**\n * Hashed project id of the panel; empty = every shop.\n *\n * @generated from field: string project_id = 2;\n */\n projectId: string;\n};\n\n/**\n * Describes the message public.v1.ListModelFilesRequest.\n * Use `create(ListModelFilesRequestSchema)` to create a new message.\n */\nexport const ListModelFilesRequestSchema: GenMessage<ListModelFilesRequest> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 0);\n\n/**\n * @generated from message public.v1.ModelFileLicence\n */\nexport type ModelFileLicence = Message<\"public.v1.ModelFileLicence\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Where the licence text is: the seller's URL, the licence page of the\n * order line, or the buyer regulations for the default licence.\n *\n * @generated from field: string url = 2;\n */\n url: string;\n\n /**\n * The default personal-use licence of the buyer regulations (D15).\n *\n * @generated from field: bool is_default = 3;\n */\n isDefault: boolean;\n};\n\n/**\n * Describes the message public.v1.ModelFileLicence.\n * Use `create(ModelFileLicenceSchema)` to create a new message.\n */\nexport const ModelFileLicenceSchema: GenMessage<ModelFileLicence> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 1);\n\n/**\n * @generated from message public.v1.ModelSellerContact\n */\nexport type ModelSellerContact = Message<\"public.v1.ModelSellerContact\"> & {\n /**\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * @generated from field: string email = 2;\n */\n email: string;\n};\n\n/**\n * Describes the message public.v1.ModelSellerContact.\n * Use `create(ModelSellerContactSchema)` to create a new message.\n */\nexport const ModelSellerContactSchema: GenMessage<ModelSellerContact> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 2);\n\n/**\n * @generated from message public.v1.PurchasedModelFile\n */\nexport type PurchasedModelFile = Message<\"public.v1.PurchasedModelFile\"> & {\n /**\n * Position in the files of the line (v1: always 0, the GLB).\n *\n * @generated from field: int32 index = 1;\n */\n index: number;\n\n /**\n * @generated from field: string file_name = 2;\n */\n fileName: string;\n\n /**\n * @generated from field: int64 file_size = 3;\n */\n fileSize: bigint;\n\n /**\n * \"glb\" in v1.\n *\n * @generated from field: string format = 4;\n */\n format: string;\n};\n\n/**\n * Describes the message public.v1.PurchasedModelFile.\n * Use `create(PurchasedModelFileSchema)` to create a new message.\n */\nexport const PurchasedModelFileSchema: GenMessage<PurchasedModelFile> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 3);\n\n/**\n * @generated from message public.v1.PurchasedModel\n */\nexport type PurchasedModel = Message<\"public.v1.PurchasedModel\"> & {\n /**\n * Hashed id of the order.\n *\n * @generated from field: string order_id = 1;\n */\n orderId: string;\n\n /**\n * The product id of the order line, as the order stores it.\n *\n * @generated from field: string line_id = 2;\n */\n lineId: string;\n\n /**\n * @generated from field: string project_id = 3;\n */\n projectId: string;\n\n /**\n * @generated from field: string shop_name = 4;\n */\n shopName: string;\n\n /**\n * @generated from field: string product_name = 5;\n */\n productName: string;\n\n /**\n * @generated from field: string variant_name = 6;\n */\n variantName: string;\n\n /**\n * @generated from field: int64 purchased_at = 7;\n */\n purchasedAt: bigint;\n\n /**\n * @generated from field: public.v1.ModelFileState state = 8;\n */\n state: ModelFileState;\n\n /**\n * @generated from field: repeated public.v1.PurchasedModelFile files = 9;\n */\n files: PurchasedModelFile[];\n\n /**\n * @generated from field: public.v1.ModelFileLicence licence = 10;\n */\n licence?: ModelFileLicence;\n\n /**\n * @generated from field: public.v1.ModelSellerContact seller = 11;\n */\n seller?: ModelSellerContact;\n\n /**\n * @generated from field: optional int64 access_expires_at = 12;\n */\n accessExpiresAt?: bigint;\n\n /**\n * @generated from field: string thumbnail_url = 13;\n */\n thumbnailUrl: string;\n};\n\n/**\n * Describes the message public.v1.PurchasedModel.\n * Use `create(PurchasedModelSchema)` to create a new message.\n */\nexport const PurchasedModelSchema: GenMessage<PurchasedModel> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 4);\n\n/**\n * @generated from message public.v1.ListModelFilesResponse\n */\nexport type ListModelFilesResponse = Message<\"public.v1.ListModelFilesResponse\"> & {\n /**\n * @generated from oneof public.v1.ListModelFilesResponse.result\n */\n result: {\n /**\n * @generated from field: public.v1.ListModelFilesResponse.Success success = 1;\n */\n value: ListModelFilesResponse_Success;\n case: \"success\";\n } | {\n /**\n * @generated from field: public.v1.ModelDeliveryFailure failure = 2;\n */\n value: ModelDeliveryFailure;\n case: \"failure\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message public.v1.ListModelFilesResponse.\n * Use `create(ListModelFilesResponseSchema)` to create a new message.\n */\nexport const ListModelFilesResponseSchema: GenMessage<ListModelFilesResponse> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 5);\n\n/**\n * @generated from message public.v1.ListModelFilesResponse.Success\n */\nexport type ListModelFilesResponse_Success = Message<\"public.v1.ListModelFilesResponse.Success\"> & {\n /**\n * @generated from field: repeated public.v1.PurchasedModel models = 1;\n */\n models: PurchasedModel[];\n};\n\n/**\n * Describes the message public.v1.ListModelFilesResponse.Success.\n * Use `create(ListModelFilesResponse_SuccessSchema)` to create a new message.\n */\nexport const ListModelFilesResponse_SuccessSchema: GenMessage<ListModelFilesResponse_Success> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 5, 0);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlRequest\n */\nexport type GetModelFileDownloadUrlRequest = Message<\"public.v1.GetModelFileDownloadUrlRequest\"> & {\n /**\n * @generated from field: string access_token = 1;\n */\n accessToken: string;\n\n /**\n * @generated from field: string order_id = 2;\n */\n orderId: string;\n\n /**\n * @generated from field: string line_id = 3;\n */\n lineId: string;\n\n /**\n * @generated from field: int32 file_index = 4;\n */\n fileIndex: number;\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlRequest.\n * Use `create(GetModelFileDownloadUrlRequestSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlRequestSchema: GenMessage<GetModelFileDownloadUrlRequest> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 6);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlResponse\n */\nexport type GetModelFileDownloadUrlResponse = Message<\"public.v1.GetModelFileDownloadUrlResponse\"> & {\n /**\n * @generated from oneof public.v1.GetModelFileDownloadUrlResponse.result\n */\n result: {\n /**\n * @generated from field: public.v1.GetModelFileDownloadUrlResponse.Success success = 1;\n */\n value: GetModelFileDownloadUrlResponse_Success;\n case: \"success\";\n } | {\n /**\n * @generated from field: public.v1.ModelDeliveryFailure failure = 2;\n */\n value: ModelDeliveryFailure;\n case: \"failure\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlResponse.\n * Use `create(GetModelFileDownloadUrlResponseSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlResponseSchema: GenMessage<GetModelFileDownloadUrlResponse> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 7);\n\n/**\n * @generated from message public.v1.GetModelFileDownloadUrlResponse.Success\n */\nexport type GetModelFileDownloadUrlResponse_Success = Message<\"public.v1.GetModelFileDownloadUrlResponse.Success\"> & {\n /**\n * @generated from field: string url = 1;\n */\n url: string;\n\n /**\n * @generated from field: string file_name = 2;\n */\n fileName: string;\n\n /**\n * @generated from field: int64 expires_at = 3;\n */\n expiresAt: bigint;\n};\n\n/**\n * Describes the message public.v1.GetModelFileDownloadUrlResponse.Success.\n * Use `create(GetModelFileDownloadUrlResponse_SuccessSchema)` to create a new message.\n */\nexport const GetModelFileDownloadUrlResponse_SuccessSchema: GenMessage<GetModelFileDownloadUrlResponse_Success> = /*@__PURE__*/\n messageDesc(file_public_v1_model_delivery, 7, 0);\n\n/**\n * @generated from enum public.v1.ModelDeliveryFailure\n */\nexport enum ModelDeliveryFailure {\n /**\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * No or an expired panel session.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNAUTHORIZED = 1;\n */\n UNAUTHORIZED = 1,\n\n /**\n * No such order line for this buyer (or it holds no 3D file).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_NOT_FOUND = 2;\n */\n NOT_FOUND = 2,\n\n /**\n * The order was refunded or canceled.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_REFUNDED = 3;\n */\n REFUNDED = 3,\n\n /**\n * The access of the order line ended (access expiry of the variant).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_EXPIRED = 4;\n */\n EXPIRED = 4,\n\n /**\n * The seller removed the file (no model on the variant or the product).\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_REMOVED = 5;\n */\n REMOVED = 5,\n\n /**\n * The order is not paid.\n *\n * @generated from enum value: MODEL_DELIVERY_FAILURE_UNPAID = 6;\n */\n UNPAID = 6,\n}\n\n/**\n * Describes the enum public.v1.ModelDeliveryFailure.\n */\nexport const ModelDeliveryFailureSchema: GenEnum<ModelDeliveryFailure> = /*@__PURE__*/\n enumDesc(file_public_v1_model_delivery, 0);\n\n/**\n * @generated from enum public.v1.ModelFileState\n */\nexport enum ModelFileState {\n /**\n * @generated from enum value: MODEL_FILE_STATE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * @generated from enum value: MODEL_FILE_STATE_AVAILABLE = 1;\n */\n AVAILABLE = 1,\n\n /**\n * The seller removed the file: `seller` says how to reach them.\n *\n * @generated from enum value: MODEL_FILE_STATE_REMOVED = 2;\n */\n REMOVED = 2,\n\n /**\n * The access ended: `access_expires_at` says when.\n *\n * @generated from enum value: MODEL_FILE_STATE_EXPIRED = 3;\n */\n EXPIRED = 3,\n}\n\n/**\n * Describes the enum public.v1.ModelFileState.\n */\nexport const ModelFileStateSchema: GenEnum<ModelFileState> = /*@__PURE__*/\n enumDesc(file_public_v1_model_delivery, 1);\n\n/**\n * Delivery of purchased 3D model files to the buyer (docs/3d-products-plan.md,\n * \"Delivery after purchase (D7)\").\n *\n * Every call is authenticated as the buyer with the customer panel session\n * (`access_token`, the same token as `PublicApiService.UserPanel*`). It is not\n * a merchant RPC: there is no project permission, the buyer sees the files of\n * their own paid, not refunded orders only. The entitlement is re-checked on\n * every call; a download URL is short-lived and signed on request.\n *\n * @generated from service public.v1.ModelDeliveryService\n */\nexport const ModelDeliveryService: GenService<{\n /**\n * The 3D files of the buyer's orders (optionally of one shop).\n *\n * @generated from rpc public.v1.ModelDeliveryService.ListModelFiles\n */\n listModelFiles: {\n methodKind: \"unary\";\n input: typeof ListModelFilesRequestSchema;\n output: typeof ListModelFilesResponseSchema;\n },\n /**\n * A short-lived signed download URL of one file of one order line.\n *\n * @generated from rpc public.v1.ModelDeliveryService.GetModelFileDownloadUrl\n */\n getModelFileDownloadUrl: {\n methodKind: \"unary\";\n input: typeof GetModelFileDownloadUrlRequestSchema;\n output: typeof GetModelFileDownloadUrlResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_public_v1_model_delivery, 0);\n\n"],"mappings":"AAMA,OAAS,YAAAA,EAAU,YAAAC,EAAU,eAAAC,EAAa,eAAAC,MAAmB,+BAMtD,IAAMC,EACXH,EAAS,4iFAA4iF,EAwYhjF,IAAKI,OAIVA,IAAA,YAAc,GAAd,cAKAA,IAAA,UAAY,GAAZ,YAOAA,IAAA,QAAU,GAAV,UAOAA,IAAA,QAAU,GAAV,UAvBUA,OAAA,IA4CL,IAAMC,EAsBXC,EAAYC,EAA+B,CAAC","names":["enumDesc","fileDesc","messageDesc","serviceDesc","file_public_v1_model_delivery","ModelFileState","ModelDeliveryService","serviceDesc","file_public_v1_model_delivery"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }function l(t,e){return e.toLowerCase().startsWith("en")?t.en:t.pl}function u(t,e){let n={...t};if(e!=null)for(let[c,i]of Object.entries(e))i!=null&&(n[c]=i);return n}function s(t,e,n){return u(l(t,e),n)}function p(t,e){return _nullishCoalesce(t[e], () => (e))}var y={en:{cart:"Cart",emptyCart:"Your cart is empty.",total:"Total:",delivery:"+ delivery",chooseCountry:"Choose a country",nextStep:"Next step",unavailableProducts:"Not all products are available.",checkoutFailed:"Something went wrong. Please try again later.",noPaymentGateway:"This shop doesn't accept online payments yet. Try again later or contact the seller.",gatewayNotConfigured:"Payments in this shop are not set up correctly. Try again later or contact the seller.",shippingNotConfigured:"Delivery in this shop is not configured yet. Try again later or contact the seller.",mixedRecurring:"Subscriptions and one-time products cannot be paid for together. Pay for them in separate orders.",currencyUnsupported:"The shop doesn't accept payments in this currency. Contact the seller.",priceChanged:"The product price has changed. Refresh the page to see the current price.",close:"Close cart",remove:"Remove",quantity:"Quantity",increaseQuantity:"Increase quantity",decreaseQuantity:"Decrease quantity",openCart:"Open cart",cartItemsCount:"Items in cart",lowestPrice30Days:"Lowest price in the last 30 days:",noPriceHistory:"No price data for the last 30 days",redirectFailed:"Could not redirect to the payment. Please try again later.",subscriptionUnsupported:"Subscriptions cannot be added to the cart yet.",searchCountry:"Find a country",noCountriesFound:"No countries found",countryRequired:"Choose a country to continue.",paymentForCart:"Cart payment",coupon:"Coupon",extrasCalculatedNext:"Discounts, shipping and taxes are calculated at the next step",loadFailed:"Could not load your cart.",retry:"Try again",paymentMethodLegend:"How would you like to pay?",paymentMethodOnline:"Pay online",paymentMethodOnlineDescription:"Card, BLIK code or instant bank payment. You pay right away.",paymentMethodManualTransfer:"Bank transfer",paymentMethodManualBlik:"BLIK \u2013 transfer to a phone number",paymentMethodManualBoth:"Bank transfer or BLIK to a phone number",paymentMethodManualDescription:"You pay in your bank's app. We show the payment details after you place the order, and the order waits for your payment.",paymentMethodManualBlikNote:"This is not a BLIK code payment \u2013 you do not enter a 6\u2011digit code.",paymentMethodCod:"Cash on delivery",paymentMethodCodDescription:"You pay the courier in cash or by card when you receive the parcel.",paymentMethodCodUnavailable:"Cash on delivery is not available for this order. Choose another way to pay."},pl:{cart:"Koszyk",emptyCart:"Brak produkt\xF3w w koszyku.",total:"Suma:",delivery:"+ dostawa",chooseCountry:"Wybierz kraj",nextStep:"Nast\u0119pny krok",unavailableProducts:"Nie wszystkie produkty s\u0105 dost\u0119pne w magazynie.",checkoutFailed:"Co\u015B posz\u0142o nie tak. Spr\xF3buj ponownie p\xF3\u017Aniej.",noPaymentGateway:"Ten sklep nie przyjmuje jeszcze p\u0142atno\u015Bci online. Spr\xF3buj ponownie p\xF3\u017Aniej lub skontaktuj si\u0119 ze sprzedawc\u0105.",gatewayNotConfigured:"P\u0142atno\u015Bci w tym sklepie nie s\u0105 poprawnie skonfigurowane. Spr\xF3buj ponownie p\xF3\u017Aniej lub skontaktuj si\u0119 ze sprzedawc\u0105.",shippingNotConfigured:"Dostawa w tym sklepie nie jest jeszcze skonfigurowana. Spr\xF3buj ponownie p\xF3\u017Aniej lub skontaktuj si\u0119 ze sprzedawc\u0105.",mixedRecurring:"Subskrypcji i produkt\xF3w jednorazowych nie mo\u017Cna op\u0142aci\u0107 razem. Op\u0142a\u0107 je w osobnych zam\xF3wieniach.",currencyUnsupported:"Sklep nie przyjmuje p\u0142atno\u015Bci w tej walucie. Skontaktuj si\u0119 ze sprzedawc\u0105.",priceChanged:"Cena produktu si\u0119 zmieni\u0142a. Od\u015Bwie\u017C stron\u0119, aby zobaczy\u0107 aktualn\u0105 cen\u0119.",close:"Zamknij koszyk",remove:"Usu\u0144",quantity:"Ilo\u015B\u0107",increaseQuantity:"Zwi\u0119ksz ilo\u015B\u0107",decreaseQuantity:"Zmniejsz ilo\u015B\u0107",openCart:"Otw\xF3rz koszyk",cartItemsCount:"Produkt\xF3w w koszyku",lowestPrice30Days:"Najni\u017Csza cena z 30 dni:",noPriceHistory:"Brak danych o cenie z ostatnich 30 dni",redirectFailed:"Nie uda\u0142o si\u0119 przekierowa\u0107 do p\u0142atno\u015Bci. Spr\xF3buj ponownie p\xF3\u017Aniej.",subscriptionUnsupported:"Subskrypcji nie mo\u017Cna jeszcze doda\u0107 do koszyka.",searchCountry:"Znajd\u017A kraj",noCountriesFound:"Nie znaleziono kraj\xF3w",countryRequired:"Wybierz kraj, aby przej\u015B\u0107 dalej.",paymentForCart:"P\u0142atno\u015B\u0107 za koszyk",coupon:"Kupon",extrasCalculatedNext:"Rabaty, dostawa i podatki w nast\u0119pnym kroku",loadFailed:"Nie uda\u0142o si\u0119 wczyta\u0107 koszyka.",retry:"Spr\xF3buj ponownie",paymentMethodLegend:"Jak chcesz zap\u0142aci\u0107?",paymentMethodOnline:"Zap\u0142a\u0107 online",paymentMethodOnlineDescription:"Karta, kod BLIK lub szybki przelew. P\u0142acisz od razu.",paymentMethodManualTransfer:"Przelew bankowy",paymentMethodManualBlik:"BLIK \u2013 przelew na telefon",paymentMethodManualBoth:"Przelew lub BLIK na telefon",paymentMethodManualDescription:"Zap\u0142acisz w aplikacji swojego banku. Dane do p\u0142atno\u015Bci poka\u017Cemy po z\u0142o\u017Ceniu zam\xF3wienia, a zam\xF3wienie poczeka na Twoj\u0105 wp\u0142at\u0119.",paymentMethodManualBlikNote:"To nie jest p\u0142atno\u015B\u0107 kodem BLIK \u2013 nie wpisujesz 6\u2011cyfrowego kodu.",paymentMethodCod:"P\u0142atno\u015B\u0107 przy odbiorze",paymentMethodCodDescription:"Zap\u0142acisz kurierowi got\xF3wk\u0105 lub kart\u0105, gdy odbierzesz przesy\u0142k\u0119.",paymentMethodCodUnavailable:"P\u0142atno\u015B\u0107 przy odbiorze nie jest dost\u0119pna dla tego zam\xF3wienia. Wybierz inn\u0105 form\u0119 p\u0142atno\u015Bci."}};function d(t,e){return s(y,t,e)}function m(t,e,n){return p(d(e,n),t)}var o="pl-PL",r="bitsnap-locale",a;function w(t){let e=_optionalChain([t, 'optionalAccess', _ => _.trim, 'call', _2 => _2()]);a=e?e.toLowerCase()==="en"?"en-US":e.toLowerCase()==="pl"?o:e:void 0,typeof localStorage<"u"&&(a==null?localStorage.removeItem(r):localStorage.setItem(r,a))}function C(){return _nullishCoalesce(a, () => ((typeof localStorage<"u"?_nullishCoalesce(localStorage.getItem(r), () => (o)):o)))}exports.a = l; exports.b = s; exports.c = m; exports.d = o; exports.e = w; exports.f = C;
|
|
2
|
+
//# sourceMappingURL=chunk-7RXW6XFY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/texts.ts","../src/components/checkout/texts.ts","../src/components/checkout/locale.ts"],"names":["pickLocaleTable","tables","locale","mergeTexts","table","overrides","result","key","value","resolveTexts","lookupText","texts","CHECKOUT_TEXT_TABLES","resolveCheckoutTexts","getCheckoutText","DEFAULT_LOCALE","localeStorageKey","activeLocale","setLocale","getLocale"],"mappings":"AAoBO,0rBAASA,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACgB,CAChB,OAAOA,CAAAA,CAAO,WAAA,CAAY,CAAA,CAAE,UAAA,CAAW,IAAI,CAAA,CAAID,CAAAA,CAAO,EAAA,CAAKA,CAAAA,CAAO,EACpE,CAMO,SAASE,CAAAA,CACdC,CAAAA,CACAC,CAAAA,CACgB,CAChB,IAAMC,CAAAA,CAAiC,CAAE,GAAGF,CAAM,CAAA,CAElD,EAAA,CAAIC,CAAAA,EAAa,IAAA,CACf,GAAA,CAAA,GAAW,CAACE,CAAAA,CAAKC,CAAK,CAAA,GAAK,MAAA,CAAO,OAAA,CAA4BH,CAAS,CAAA,CACjEG,CAAAA,EAAS,IAAA,EAAA,CACXF,CAAAA,CAAOC,CAAG,CAAA,CAAIC,CAAAA,CAAAA,CAKpB,OAAOF,CACT,CAGO,SAASG,CAAAA,CACdR,CAAAA,CACAC,CAAAA,CACAG,CAAAA,CACgB,CAChB,OAAOF,CAAAA,CAAWH,CAAAA,CAAgBC,CAAAA,CAAQC,CAAM,CAAA,CAAGG,CAAS,CAC9D,CAGO,SAASK,CAAAA,CACdC,CAAAA,CACAJ,CAAAA,CACQ,CACR,wBAAQI,CAAAA,CAA6CJ,CAAG,CAAA,SAAKA,GAC/D,CCyCO,IAAMK,CAAAA,CAAsD,CACjE,EAAA,CAAI,CACF,IAAA,CAAM,MAAA,CACN,SAAA,CAAW,qBAAA,CACX,KAAA,CAAO,QAAA,CACP,QAAA,CAAU,YAAA,CACV,aAAA,CAAe,kBAAA,CACf,QAAA,CAAU,WAAA,CACV,mBAAA,CAAqB,iCAAA,CACrB,cAAA,CAAgB,+CAAA,CAChB,gBAAA,CACE,sFAAA,CACF,oBAAA,CACE,wFAAA,CACF,qBAAA,CACE,qFAAA,CACF,cAAA,CACE,mGAAA,CACF,mBAAA,CACE,wEAAA,CACF,YAAA,CAAc,2EAAA,CACd,KAAA,CAAO,YAAA,CACP,MAAA,CAAQ,QAAA,CACR,QAAA,CAAU,UAAA,CACV,gBAAA,CAAkB,mBAAA,CAClB,gBAAA,CAAkB,mBAAA,CAClB,QAAA,CAAU,WAAA,CACV,cAAA,CAAgB,eAAA,CAChB,iBAAA,CAAmB,mCAAA,CACnB,cAAA,CAAgB,oCAAA,CAChB,cAAA,CAAgB,4DAAA,CAChB,uBAAA,CAAyB,gDAAA,CACzB,aAAA,CAAe,gBAAA,CACf,gBAAA,CAAkB,oBAAA,CAClB,eAAA,CAAiB,+BAAA,CACjB,cAAA,CAAgB,cAAA,CAChB,MAAA,CAAQ,QAAA,CACR,oBAAA,CACE,+DAAA,CACF,UAAA,CAAY,2BAAA,CACZ,KAAA,CAAO,WAAA,CACP,mBAAA,CAAqB,4BAAA,CACrB,mBAAA,CAAqB,YAAA,CACrB,8BAAA,CACE,8DAAA,CACF,2BAAA,CAA6B,eAAA,CAC7B,uBAAA,CAAyB,wCAAA,CACzB,uBAAA,CAAyB,yCAAA,CACzB,8BAAA,CACE,0HAAA,CACF,2BAAA,CACE,8EAAA,CACF,gBAAA,CAAkB,kBAAA,CAClB,2BAAA,CACE,qEAAA,CACF,2BAAA,CACE,8EACJ,CAAA,CACA,EAAA,CAAI,CACF,IAAA,CAAM,QAAA,CACN,SAAA,CAAW,8BAAA,CACX,KAAA,CAAO,OAAA,CACP,QAAA,CAAU,WAAA,CACV,aAAA,CAAe,cAAA,CACf,QAAA,CAAU,oBAAA,CACV,mBAAA,CAAqB,2DAAA,CACrB,cAAA,CAAgB,oEAAA,CAChB,gBAAA,CACE,6IAAA,CACF,oBAAA,CACE,yJAAA,CACF,qBAAA,CACE,wIAAA,CACF,cAAA,CACE,iIAAA,CACF,mBAAA,CACE,gGAAA,CACF,YAAA,CAAc,iHAAA,CACd,KAAA,CAAO,gBAAA,CACP,MAAA,CAAQ,WAAA,CACR,QAAA,CAAU,iBAAA,CACV,gBAAA,CAAkB,8BAAA,CAClB,gBAAA,CAAkB,0BAAA,CAClB,QAAA,CAAU,kBAAA,CACV,cAAA,CAAgB,wBAAA,CAChB,iBAAA,CAAmB,+BAAA,CACnB,cAAA,CAAgB,wCAAA,CAChB,cAAA,CACE,wGAAA,CACF,uBAAA,CAAyB,2DAAA,CACzB,aAAA,CAAe,kBAAA,CACf,gBAAA,CAAkB,0BAAA,CAClB,eAAA,CAAiB,4CAAA,CACjB,cAAA,CAAgB,mCAAA,CAChB,MAAA,CAAQ,OAAA,CACR,oBAAA,CAAsB,kDAAA,CACtB,UAAA,CAAY,+CAAA,CACZ,KAAA,CAAO,qBAAA,CACP,mBAAA,CAAqB,gCAAA,CACrB,mBAAA,CAAqB,yBAAA,CACrB,8BAAA,CACE,2DAAA,CACF,2BAAA,CAA6B,iBAAA,CAC7B,uBAAA,CAAyB,gCAAA,CACzB,uBAAA,CAAyB,6BAAA,CACzB,8BAAA,CACE,kLAAA,CACF,2BAAA,CACE,4FAAA,CACF,gBAAA,CAAkB,uCAAA,CAClB,2BAAA,CACE,8FAAA,CACF,2BAAA,CACE,wIACJ,CACF,CAAA,CAGO,SAASC,CAAAA,CACdX,CAAAA,CACAG,CAAAA,CACe,CACf,OAAOI,CAAAA,CAAaG,CAAAA,CAAsBV,CAAAA,CAAQG,CAAS,CAC7D,CAEO,SAASS,CAAAA,CACdP,CAAAA,CACAL,CAAAA,CACAG,CAAAA,CACQ,CACR,OAAOK,CAAAA,CAAWG,CAAAA,CAAqBX,CAAAA,CAAQG,CAAS,CAAA,CAAGE,CAAG,CAChE,CCxOO,IAAMQ,CAAAA,CAAiB,OAAA,CACxBC,CAAAA,CAAmB,gBAAA,CAErBC,CAAAA,CAEG,SAASC,CAAAA,CAAUhB,CAAAA,CAAuB,CAC/C,IAAMM,CAAAA,iBAAQN,CAAAA,2BAAQ,IAAA,mBAAK,GAAA,CAC3Be,CAAAA,CAAeT,CAAAA,CACXA,CAAAA,CAAM,WAAA,CAAY,CAAA,GAAM,IAAA,CACtB,OAAA,CACAA,CAAAA,CAAM,WAAA,CAAY,CAAA,GAAM,IAAA,CACtBO,CAAAA,CACAP,CAAAA,CACJ,KAAA,CAAA,CACA,OAAO,YAAA,CAAiB,GAAA,EAAA,CACtBS,CAAAA,EAAgB,IAAA,CAClB,YAAA,CAAa,UAAA,CAAWD,CAAgB,CAAA,CAExC,YAAA,CAAa,OAAA,CAAQA,CAAAA,CAAkBC,CAAY,CAAA,CAGzD,CAEO,SAASE,CAAAA,CAAAA,CAAoB,CAClC,wBAAIF,CAAAA,SAAAA,CAGA,OAAO,YAAA,CAAiB,GAAA,kBACnB,YAAA,CAAa,OAAA,CAAQD,CAAgB,CAAA,SAAKD,GAAAA,CAE5CA,CAAAA,GACT,CAAA,yFAAA","file":"/home/emems/web/bitsnap/bitsnap/bitsnap-react/dist/chunk-7RXW6XFY.js","sourcesContent":["/**\n * Shared text machinery: typed string tables per locale, the locale fallback\n * and a merge with caller overrides. Each module (checkout, later returns)\n * supplies its own key type and default tables.\n */\n\n/** Strings of one locale, keyed by text key. */\nexport type TextTable<Key extends string> = Record<Key, string>;\n\n/** Default tables for the supported locales. */\nexport type LocaleTables<Key extends string> = {\n en: TextTable<Key>;\n pl: TextTable<Key>;\n};\n\n/**\n * Picks the table for a locale. Any locale starting with `en` (case\n * insensitive, so `en`, `en-US`, `EN-gb`) gets English; everything else,\n * including unknown locales, gets the Polish default.\n */\nexport function pickLocaleTable<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n): TextTable<Key> {\n return locale.toLowerCase().startsWith(\"en\") ? tables.en : tables.pl;\n}\n\n/**\n * Merges caller overrides over a table. Overrides apply regardless of the\n * locale; `undefined`/`null` entries are ignored so the default stays.\n */\nexport function mergeTexts<Key extends string>(\n table: TextTable<Key>,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n const result: Record<string, string> = { ...table };\n\n if (overrides != null) {\n for (const [key, value] of Object.entries<string | undefined>(overrides)) {\n if (value != null) {\n result[key] = value;\n }\n }\n }\n\n return result as TextTable<Key>;\n}\n\n/** Locale table merged with the caller overrides. */\nexport function resolveTexts<Key extends string>(\n tables: LocaleTables<Key>,\n locale: string,\n overrides?: Partial<TextTable<Key>>,\n): TextTable<Key> {\n return mergeTexts(pickLocaleTable(tables, locale), overrides);\n}\n\n/** Looks up a single text. Unknown keys return the key itself. */\nexport function lookupText<Key extends string>(\n texts: TextTable<Key>,\n key: Key,\n): string {\n return (texts as Record<string, string | undefined>)[key] ?? key;\n}\n","import {\n lookupText,\n resolveTexts,\n type LocaleTables,\n} from \"@/src/lib/texts\";\n\n/**\n * Every string the checkout renders. Pass a partial object through the\n * `texts` prop of `BitsnapCheckout` to override any of them, whatever the\n * locale.\n */\nexport type CheckoutTexts = {\n /** Drawer title. */\n cart: string;\n /** Shown when the cart has no products. */\n emptyCart: string;\n /** Label next to the total price. */\n total: string;\n /** Delivery note next to the total price. */\n delivery: string;\n /** Country selector placeholder. */\n chooseCountry: string;\n /** Checkout button label. */\n nextStep: string;\n /** Error shown when some products are out of stock. */\n unavailableProducts: string;\n /** Error shown when the checkout fails and the server gave no reason. */\n checkoutFailed: string;\n /** Error shown when the shop has no payment gateway connected. */\n noPaymentGateway: string;\n /** Error shown when the payment gateway of the shop is not set up. */\n gatewayNotConfigured: string;\n /** Error shown when delivery of the shop is not set up. */\n shippingNotConfigured: string;\n /** Error shown when the cart mixes subscriptions with one-time products. */\n mixedRecurring: string;\n /** Error shown when the cart currency cannot be paid in. */\n currencyUnsupported: string;\n /** Error shown when a price changed after the product was added. */\n priceChanged: string;\n /** Accessible name of the close button of the drawer. */\n close: string;\n /** Remove button of a cart line (also read together with the product name). */\n remove: string;\n /** Accessible name of the quantity control and its input. */\n quantity: string;\n /** Accessible name of the \"+\" quantity button. */\n increaseQuantity: string;\n /** Accessible name of the \"-\" quantity button. */\n decreaseQuantity: string;\n /** Accessible name of the cart button when it only shows an icon. */\n openCart: string;\n /** Hidden label of the number of products badge; the number is appended after a colon. */\n cartItemsCount: string;\n /** Label before the lowest price of the last 30 days; the price is appended. */\n lowestPrice30Days: string;\n /** Shown instead of the lowest price when the price has no history. */\n noPriceHistory: string;\n /** Error shown when redirecting to the payment failed. */\n redirectFailed: string;\n /** Error shown when a subscription is added to the cart. */\n subscriptionUnsupported: string;\n /** Country search placeholder. */\n searchCountry: string;\n /** Shown when the country search has no match. */\n noCountriesFound: string;\n /** Hint under the checkout button when no country is chosen. */\n countryRequired: string;\n /** Title of the Apple Pay and Google Pay sheet total. */\n paymentForCart: string;\n /** Coupon label in the Google Pay sheet; the code is appended. */\n coupon: string;\n /** Note under the cart total. */\n extrasCalculatedNext: string;\n /** Error shown when the products of the cart could not be loaded. */\n loadFailed: string;\n /** Button that loads the cart again. */\n retry: string;\n /** Heading of the payment method choice (shown only when the shop offers paying by hand). */\n paymentMethodLegend: string;\n /** Option that pays through the shop's online gateway. */\n paymentMethodOnline: string;\n /** Hint under the online option. */\n paymentMethodOnlineDescription: string;\n /** Manual option when the seller takes bank transfers only. */\n paymentMethodManualTransfer: string;\n /** Manual option when the seller takes BLIK transfers to a phone number only. */\n paymentMethodManualBlik: string;\n /** Manual option when the seller takes both. */\n paymentMethodManualBoth: string;\n /** What paying by hand means: the details come after the order is placed. */\n paymentMethodManualDescription: string;\n /** Shown with a selected manual option that includes BLIK to a phone number. */\n paymentMethodManualBlikNote: string;\n /** Cash on delivery option. */\n paymentMethodCod: string;\n /** Hint under the cash on delivery option. */\n paymentMethodCodDescription: string;\n /** Error shown when the shop refused cash on delivery for the order. */\n paymentMethodCodUnavailable: string;\n};\n\nexport type CheckoutTextKey = keyof CheckoutTexts;\n\nexport const CHECKOUT_TEXT_TABLES: LocaleTables<CheckoutTextKey> = {\n en: {\n cart: \"Cart\",\n emptyCart: \"Your cart is empty.\",\n total: \"Total:\",\n delivery: \"+ delivery\",\n chooseCountry: \"Choose a country\",\n nextStep: \"Next step\",\n unavailableProducts: \"Not all products are available.\",\n checkoutFailed: \"Something went wrong. Please try again later.\",\n noPaymentGateway:\n \"This shop doesn't accept online payments yet. Try again later or contact the seller.\",\n gatewayNotConfigured:\n \"Payments in this shop are not set up correctly. Try again later or contact the seller.\",\n shippingNotConfigured:\n \"Delivery in this shop is not configured yet. Try again later or contact the seller.\",\n mixedRecurring:\n \"Subscriptions and one-time products cannot be paid for together. Pay for them in separate orders.\",\n currencyUnsupported:\n \"The shop doesn't accept payments in this currency. Contact the seller.\",\n priceChanged: \"The product price has changed. Refresh the page to see the current price.\",\n close: \"Close cart\",\n remove: \"Remove\",\n quantity: \"Quantity\",\n increaseQuantity: \"Increase quantity\",\n decreaseQuantity: \"Decrease quantity\",\n openCart: \"Open cart\",\n cartItemsCount: \"Items in cart\",\n lowestPrice30Days: \"Lowest price in the last 30 days:\",\n noPriceHistory: \"No price data for the last 30 days\",\n redirectFailed: \"Could not redirect to the payment. Please try again later.\",\n subscriptionUnsupported: \"Subscriptions cannot be added to the cart yet.\",\n searchCountry: \"Find a country\",\n noCountriesFound: \"No countries found\",\n countryRequired: \"Choose a country to continue.\",\n paymentForCart: \"Cart payment\",\n coupon: \"Coupon\",\n extrasCalculatedNext:\n \"Discounts, shipping and taxes are calculated at the next step\",\n loadFailed: \"Could not load your cart.\",\n retry: \"Try again\",\n paymentMethodLegend: \"How would you like to pay?\",\n paymentMethodOnline: \"Pay online\",\n paymentMethodOnlineDescription:\n \"Card, BLIK code or instant bank payment. You pay right away.\",\n paymentMethodManualTransfer: \"Bank transfer\",\n paymentMethodManualBlik: \"BLIK – transfer to a phone number\",\n paymentMethodManualBoth: \"Bank transfer or BLIK to a phone number\",\n paymentMethodManualDescription:\n \"You pay in your bank's app. We show the payment details after you place the order, and the order waits for your payment.\",\n paymentMethodManualBlikNote:\n \"This is not a BLIK code payment – you do not enter a 6‑digit code.\",\n paymentMethodCod: \"Cash on delivery\",\n paymentMethodCodDescription:\n \"You pay the courier in cash or by card when you receive the parcel.\",\n paymentMethodCodUnavailable:\n \"Cash on delivery is not available for this order. Choose another way to pay.\",\n },\n pl: {\n cart: \"Koszyk\",\n emptyCart: \"Brak produktów w koszyku.\",\n total: \"Suma:\",\n delivery: \"+ dostawa\",\n chooseCountry: \"Wybierz kraj\",\n nextStep: \"Następny krok\",\n unavailableProducts: \"Nie wszystkie produkty są dostępne w magazynie.\",\n checkoutFailed: \"Coś poszło nie tak. Spróbuj ponownie później.\",\n noPaymentGateway:\n \"Ten sklep nie przyjmuje jeszcze płatności online. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n gatewayNotConfigured:\n \"Płatności w tym sklepie nie są poprawnie skonfigurowane. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n shippingNotConfigured:\n \"Dostawa w tym sklepie nie jest jeszcze skonfigurowana. Spróbuj ponownie później lub skontaktuj się ze sprzedawcą.\",\n mixedRecurring:\n \"Subskrypcji i produktów jednorazowych nie można opłacić razem. Opłać je w osobnych zamówieniach.\",\n currencyUnsupported:\n \"Sklep nie przyjmuje płatności w tej walucie. Skontaktuj się ze sprzedawcą.\",\n priceChanged: \"Cena produktu się zmieniła. Odśwież stronę, aby zobaczyć aktualną cenę.\",\n close: \"Zamknij koszyk\",\n remove: \"Usuń\",\n quantity: \"Ilość\",\n increaseQuantity: \"Zwiększ ilość\",\n decreaseQuantity: \"Zmniejsz ilość\",\n openCart: \"Otwórz koszyk\",\n cartItemsCount: \"Produktów w koszyku\",\n lowestPrice30Days: \"Najniższa cena z 30 dni:\",\n noPriceHistory: \"Brak danych o cenie z ostatnich 30 dni\",\n redirectFailed:\n \"Nie udało się przekierować do płatności. Spróbuj ponownie później.\",\n subscriptionUnsupported: \"Subskrypcji nie można jeszcze dodać do koszyka.\",\n searchCountry: \"Znajdź kraj\",\n noCountriesFound: \"Nie znaleziono krajów\",\n countryRequired: \"Wybierz kraj, aby przejść dalej.\",\n paymentForCart: \"Płatność za koszyk\",\n coupon: \"Kupon\",\n extrasCalculatedNext: \"Rabaty, dostawa i podatki w następnym kroku\",\n loadFailed: \"Nie udało się wczytać koszyka.\",\n retry: \"Spróbuj ponownie\",\n paymentMethodLegend: \"Jak chcesz zapłacić?\",\n paymentMethodOnline: \"Zapłać online\",\n paymentMethodOnlineDescription:\n \"Karta, kod BLIK lub szybki przelew. Płacisz od razu.\",\n paymentMethodManualTransfer: \"Przelew bankowy\",\n paymentMethodManualBlik: \"BLIK – przelew na telefon\",\n paymentMethodManualBoth: \"Przelew lub BLIK na telefon\",\n paymentMethodManualDescription:\n \"Zapłacisz w aplikacji swojego banku. Dane do płatności pokażemy po złożeniu zamówienia, a zamówienie poczeka na Twoją wpłatę.\",\n paymentMethodManualBlikNote:\n \"To nie jest płatność kodem BLIK – nie wpisujesz 6‑cyfrowego kodu.\",\n paymentMethodCod: \"Płatność przy odbiorze\",\n paymentMethodCodDescription:\n \"Zapłacisz kurierowi gotówką lub kartą, gdy odbierzesz przesyłkę.\",\n paymentMethodCodUnavailable:\n \"Płatność przy odbiorze nie jest dostępna dla tego zamówienia. Wybierz inną formę płatności.\",\n },\n};\n\n/** Default texts for a locale merged with the caller overrides. */\nexport function resolveCheckoutTexts(\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): CheckoutTexts {\n return resolveTexts(CHECKOUT_TEXT_TABLES, locale, overrides);\n}\n\nexport function getCheckoutText(\n key: CheckoutTextKey,\n locale: string,\n overrides?: Partial<CheckoutTexts>,\n): string {\n return lookupText(resolveCheckoutTexts(locale, overrides), key);\n}\n","import { pickLocaleTable } from \"@/src/lib/texts\";\nimport { CHECKOUT_TEXT_TABLES } from \"./texts\";\n\nexport const DEFAULT_LOCALE = \"pl-PL\" as const;\nconst localeStorageKey = \"bitsnap-locale\";\n\nlet activeLocale: string | undefined;\n\nexport function setLocale(locale?: string): void {\n const value = locale?.trim();\n activeLocale = value\n ? value.toLowerCase() === \"en\"\n ? \"en-US\"\n : value.toLowerCase() === \"pl\"\n ? DEFAULT_LOCALE\n : value\n : undefined;\n if (typeof localStorage !== \"undefined\") {\n if (activeLocale == null) {\n localStorage.removeItem(localeStorageKey);\n } else {\n localStorage.setItem(localeStorageKey, activeLocale);\n }\n }\n}\n\nexport function getLocale(): string {\n if (activeLocale != null) {\n return activeLocale;\n }\n if (typeof localStorage !== \"undefined\") {\n return localStorage.getItem(localeStorageKey) ?? DEFAULT_LOCALE;\n }\n return DEFAULT_LOCALE;\n}\n\nexport function translate(key: string, locale: string = getLocale()): string {\n return (\n (pickLocaleTable(CHECKOUT_TEXT_TABLES, locale) as Record<string, string>)[\n key\n ] ?? key\n );\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as d}from"./chunk-5R6AGO3Z.mjs";import{b as S,e as Z}from"./chunk-SXKJ26OA.mjs";import{b as g}from"./chunk-U6FLIRIV.mjs";import{fileDesc as C,messageDesc as N}from"@bufbuild/protobuf/codegenv2";var l=C("Chdjb21tb24vdjEvYWRkcmVzcy5wcm90bxIJY29tbW9uLnYxIocBCgdBZGRyZXNzEgwKBG5hbWUYASABKAkSDQoFbGluZTEYAiABKAkSEgoFbGluZTIYAyABKAlIAIgBARIMCgRjaXR5GAQgASgJEg8KB2NvdW50cnkYBSABKAkSFQoIemlwX2NvZGUYBiABKAlIAYgBAUIICgZfbGluZTJCCwoJX3ppcF9jb2RlIq4BCg5CaWxsaW5nQWRkcmVzcxIMCgRuYW1lGAEgASgJEg0KBWxpbmUxGAIgASgJEhIKBWxpbmUyGAMgASgJSACIAQESDAoEY2l0eRgEIAEoCRIPCgdjb3VudHJ5GAUgASgJEhUKCHppcF9jb2RlGAYgASgJSAGIAQESEwoGdGF4X2lkGAcgASgJSAKIAQFCCAoGX2xpbmUyQgsKCV96aXBfY29kZUIJCgdfdGF4X2lkQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw"),as=N(l,0),ns=N(l,1);import{enumDesc as Zs,fileDesc as K,messageDesc as m,serviceDesc as z}from"@bufbuild/protobuf/codegenv2";import{enumDesc as ds,fileDesc as v}from"@bufbuild/protobuf/codegenv2";var W=v("Chdjb21tb24vdjEvZ2F0ZXdheS5wcm90bxIJY29tbW9uLnYxKs8BCgdHYXRld2F5Eg8KC0dBVEVXQVlfQUxMEAASFwoTR0FURVdBWV9QUlpFTEVXWV8yNBABEhIKDkdBVEVXQVlfU1RSSVBFEAISEAoMR0FURVdBWV9UUEFZEAMSHAoYR0FURVdBWV9DQVNIX09OX0RFTElWRVJZEAQSEAoMR0FURVdBWV9GUkVFEAUSFgoSR0FURVdBWV9JTlBPU1RfUEFZEAYSEAoMR0FURVdBWV9QQVlVEAcSGgoWR0FURVdBWV9NQU5VQUxfUEFZTUVOVBAIQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw");import{enumDesc as us,fileDesc as k,messageDesc as ps}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as x}from"@bufbuild/protobuf/wkt";var r=k("CiJjb21tb24vdjEvcHVzaF9ub3RpZmljYXRpb25zLnByb3RvEgljb21tb24udjEi9gEKG1B1c2hOb3RpZmljYXRpb25EZXZpY2VUb2tlbhIXCgpwdXNoX3Rva2VuGAIgASgJSACIAQESNAoLZXhwaXJlX3RpbWUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESEwoGcDI1NmRoGAQgASgJSAKIAQESFQoIZW5kcG9pbnQYBSABKAlIA4gBARIlCghwbGF0Zm9ybRgGIAEoDjITLmNvbW1vbi52MS5QbGF0Zm9ybUINCgtfcHVzaF90b2tlbkIOCgxfZXhwaXJlX3RpbWVCCQoHX3AyNTZkaEILCglfZW5kcG9pbnQi0AEKF1B1c2hOb3RpZmljYXRpb25QYXlsb2FkEg0KBXRpdGxlGAIgASgJEhUKCG9wZW5fdXJsGAMgASgJSAGIAQESDgoEYm9keRgEIAEoCUgAEjoKBGRhdGEYBSADKAsyLC5jb21tb24udjEuUHVzaE5vdGlmaWNhdGlvblBheWxvYWQuRGF0YUVudHJ5GisKCURhdGFFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgkKB21lc3NhZ2VCCwoJX29wZW5fdXJsKngKCFBsYXRmb3JtEhgKFFBMQVRGT1JNX1VOU1BFQ0lGSUVEEAASEAoMUExBVEZPUk1fV0VCEAESGAoUUExBVEZPUk1fSU9TX1NBTkRCT1gQAhIQCgxQTEFURk9STV9JT1MQAxIUChBQTEFURk9STV9BTkRST0lEEAQqdAoRTm90aWZpY2F0aW9uRXZlbnQSEQoNRVZFTlRfVU5LTk9XThAAEhIKDkVWRU5UX1JFQ0VJVkVEEAESEAoMRVZFTlRfT1BFTkVEEAISEQoNRVZFTlRfQ0xJQ0tFRBADEhMKD0VWRU5UX0RJU01JU1NFRBAEKpkBChlOb3RpZmljYXRpb25Hcm91cEhvd09mdGVuEicKI05PVElGSUNBVElPTl9HUk9VUF9IT1dfT0ZURU5fUkFSRUxZEAASJgoiTk9USUZJQ0FUSU9OX0dST1VQX0hPV19PRlRFTl9PRlRFThABEisKJ05PVElGSUNBVElPTl9HUk9VUF9IT1dfT0ZURU5fVkVSWV9PRlRFThACQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw",[x]);import{enumDesc as bs,fileDesc as M,messageDesc as Gs,serviceDesc as As}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_empty as Q,file_google_protobuf_timestamp as P}from"@bufbuild/protobuf/wkt";var X=M("Ch1kYXNoYm9hcmQvdjEvYXVkaW9ib29rcy5wcm90bxIXZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEiFgoUR2V0QXVkaW9ib29rc1JlcXVlc3QiIQoTR2V0QXVkaW9ib29rUmVxdWVzdBIKCgJpZBgBIAEoCSKrAQoHQ2hhcHRlchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESGgoNbXVsdGltZWRpYV9pZBgEIAEoCUgBiAEBEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9kZXNjcmlwdGlvbkIQCg5fbXVsdGltZWRpYV9pZCLzAgoJQXVkaW9ib29rEg8KAmlkGAEgASgJSACIAQESEgoKcHJvamVjdF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhMKC2Rlc2NyaXB0aW9uGAQgASgJEhMKC2NvdmVyX2ltYWdlGAUgASgJEhcKD3RodW1ibmFpbF9pbWFnZRgGIAEoCRIyCghjaGFwdGVycxgHIAMoCzIgLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkNoYXB0ZXISFwoPaXNfZG93bmxvYWRhYmxlGAggASgIEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiQKF2lzX2Jyb3dzZXJfZG93bmxvYWRhYmxlGAogASgISAGIAQESGQoMYWNjZW50X2NvbG9yGAsgASgJSAKIAQFCBQoDX2lkQhoKGF9pc19icm93c2VyX2Rvd25sb2FkYWJsZUIPCg1fYWNjZW50X2NvbG9yIk8KFUdldEF1ZGlvYm9va3NSZXNwb25zZRI2CgphdWRpb2Jvb2tzGAEgAygLMiIuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQXVkaW9ib29rImAKFEdldEF1ZGlvYm9va1Jlc3BvbnNlEjoKCWF1ZGlvYm9vaxgBIAEoCzIiLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkF1ZGlvYm9va0gAiAEBQgwKCl9hdWRpb2Jvb2siVwoeQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXF1ZXN0EjUKCWF1ZGlvYm9vaxgBIAEoCzIiLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkF1ZGlvYm9vayLRAQofQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZRJSCgdzdWNjZXNzGAEgASgLMj8uZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZS5SZXN1bHRIABI6CgdmYWlsdXJlGAIgASgOMicuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuRmFpbHVyZU1lc3NhZ2VIABoUCgZSZXN1bHQSCgoCaWQYASABKAlCCAoGcmVzdWx0IiQKFkRlbGV0ZUF1ZGlvYm9va1JlcXVlc3QSCgoCaWQYASABKAkiVQofR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVxdWVzdBIUCgxhdWRpb2Jvb2tfaWQYASABKAkSEgoFZW1haWwYAiABKAlIAIgBAUIICgZfZW1haWwi+AIKIEdldEF1ZGlvYm9va0FjY2Vzc0VtYWlsc1Jlc3BvbnNlElMKB3N1Y2Nlc3MYASABKAsyQC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHNSZXNwb25zZS5SZXN1bHRIABI6CgdmYWlsdXJlGAIgASgOMicuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuRmFpbHVyZU1lc3NhZ2VIABpYCgtBY2Nlc3NFbWFpbBIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIuCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBpfCgZSZXN1bHQSVQoGZW1haWxzGAEgAygLMkUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVzcG9uc2UuQWNjZXNzRW1haWxCCAoGcmVzdWx0IkMKHENyZWF0ZUF1ZGlvYm9va0FjY2Vzc1JlcXVlc3QSFAoMYXVkaW9ib29rX2lkGAEgASgJEg0KBWVtYWlsGAIgASgJIjgKHERlbGV0ZUF1ZGlvYm9va0FjY2Vzc1JlcXVlc3QSGAoQc3lzdGVtX2FjY2Vzc19pZBgBIAEoCSJ/CgxCb29sUmVzcG9uc2USKQoHc3VjY2VzcxgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUgAEjoKB2ZhaWx1cmUYAiABKA4yJy5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCqpAQoORmFpbHVyZU1lc3NhZ2USGwoXRkFJTFVSRV9NRVNTQUdFX1VOS05PV04QABIlCiFGQUlMVVJFX01FU1NBR0VfUFJPSkVDVF9OT1RfRk9VTkQQARIlCiFGQUlMVVJFX01FU1NBR0VfQ0hBUFRFUl9OT1RfRk9VTkQQAhIsCihGQUlMVVJFX01FU1NBR0VfSU5DT1JSRUNUX0NIQVBURVJfRk9STUFUEAMy6gYKEUF1ZGlvYm9va3NTZXJ2aWNlEm4KDUdldEF1ZGlvYm9va3MSLS5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tzUmVxdWVzdBouLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkdldEF1ZGlvYm9va3NSZXNwb25zZRJrCgxHZXRBdWRpb2Jvb2sSLC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tSZXF1ZXN0Gi0uZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rUmVzcG9uc2USjAEKF0NyZWF0ZU9yVXBkYXRlQXVkaW9ib29rEjcuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXF1ZXN0GjguZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlT3JVcGRhdGVBdWRpb2Jvb2tSZXNwb25zZRJpCg9EZWxldGVBdWRpb2Jvb2sSLy5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5EZWxldGVBdWRpb2Jvb2tSZXF1ZXN0GiUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQm9vbFJlc3BvbnNlEo8BChhHZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHMSOC5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5HZXRBdWRpb2Jvb2tBY2Nlc3NFbWFpbHNSZXF1ZXN0GjkuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuR2V0QXVkaW9ib29rQWNjZXNzRW1haWxzUmVzcG9uc2USdQoVQ3JlYXRlQXVkaW9ib29rQWNjZXNzEjUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQ3JlYXRlQXVkaW9ib29rQWNjZXNzUmVxdWVzdBolLmRhc2hib2FyZC5hdWRpb2Jvb2tzLnYxLkJvb2xSZXNwb25zZRJ1ChVEZWxldGVBdWRpb2Jvb2tBY2Nlc3MSNS5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5EZWxldGVBdWRpb2Jvb2tBY2Nlc3NSZXF1ZXN0GiUuZGFzaGJvYXJkLmF1ZGlvYm9va3MudjEuQm9vbFJlc3BvbnNlYgZwcm90bzM",[P,Q]);import{file_google_protobuf_empty as T,file_google_protobuf_timestamp as H}from"@bufbuild/protobuf/wkt";var u=K("ChpwdWJsaWMvdjEvcHVibGljX2FwaS5wcm90bxINcHVibGljX2FwaS52MSI2Ch5HZXRBcHBTdG9yZUFjY291bnRUb2tlblJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJIjwKH0dldEFwcFN0b3JlQWNjb3VudFRva2VuUmVzcG9uc2USGQoRYXBwX2FjY291bnRfdG9rZW4YASABKAkiaQodVmVyaWZ5QXBwU3RvcmVQdXJjaGFzZVJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhoKEnNpZ25lZF90cmFuc2FjdGlvbhgCIAEoCRIWCg50cmFuc2FjdGlvbl9pZBgDIAEoCSJcCh5WZXJpZnlBcHBTdG9yZVB1cmNoYXNlUmVzcG9uc2USEQoJZnVsZmlsbGVkGAEgASgIEhIKCnByb2R1Y3RfaWQYAiABKAkSEwoLZW52aXJvbm1lbnQYAyABKAkiNgoeR2V0QXBwU3RvcmVFbnRpdGxlbWVudHNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCSL5AQofR2V0QXBwU3RvcmVFbnRpdGxlbWVudHNSZXNwb25zZRJQCgxlbnRpdGxlbWVudHMYASADKAsyOi5wdWJsaWNfYXBpLnYxLkdldEFwcFN0b3JlRW50aXRsZW1lbnRzUmVzcG9uc2UuRW50aXRsZW1lbnQagwEKC0VudGl0bGVtZW50EhIKCnByb2R1Y3RfaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhMKC2Vudmlyb25tZW50GAMgASgJEhoKEmZ1bGZpbGxtZW50X3N0YXR1cxgEIAEoCRIfChdvcmlnaW5hbF90cmFuc2FjdGlvbl9pZBgFIAEoCSJUCh9SZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIbChNzaWduZWRfdHJhbnNhY3Rpb25zGAIgAygJIpgCCiBSZXN0b3JlQXBwU3RvcmVQdXJjaGFzZXNSZXNwb25zZRJRCghwcm9kdWN0cxgBIAMoCzI/LnB1YmxpY19hcGkudjEuUmVzdG9yZUFwcFN0b3JlUHVyY2hhc2VzUmVzcG9uc2UuUmVzdG9yZWRQcm9kdWN0EiYKHmZhbWlseV9zaGFyaW5nX3Jldmlld19yZXF1aXJlZBgCIAEoCBp5Cg9SZXN0b3JlZFByb2R1Y3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIfChdvcmlnaW5hbF90cmFuc2FjdGlvbl9pZBgCIAEoCRIOCgZzdGF0dXMYAyABKAkSDgoGcmVhc29uGAQgASgJEhEKCWZ1bGZpbGxlZBgFIAEoCCI4CiBDbGVhckFwcFN0b3JlQWNjb3VudFRva2VuUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkiMQoZR2V0U3RvcmVLaXRDYXRhbG9nUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAki9QEKGkdldFN0b3JlS2l0Q2F0YWxvZ1Jlc3BvbnNlEhcKD3BheXdhbGxfZW5hYmxlZBgBIAEoCBJDCghwcm9kdWN0cxgCIAMoCzIxLnB1YmxpY19hcGkudjEuR2V0U3RvcmVLaXRDYXRhbG9nUmVzcG9uc2UuUHJvZHVjdBp5CgdQcm9kdWN0EhgKEHN0b3JlX3Byb2R1Y3RfaWQYASABKAkSGwoTaW50ZXJuYWxfcHJvZHVjdF9pZBgCIAEoCRIMCgRraW5kGAMgASgJEhQKDGRpc3BsYXlfbmFtZRgEIAEoCRITCgtkZXNjcmlwdGlvbhgFIAEoCSJLCiBVc2VyUGFuZWxHZXRDb3Vyc2VEZXRhaWxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEQoJYWNjZXNzX2lkGAIgASgJIncKIVVzZXJQYW5lbEdldENvdXJzZURldGFpbHNSZXNwb25zZRIWCgxyZWRpcmVjdF91cmwYASABKAlIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCJ6ChBHZXRPcmRlcnNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSFAoMYWNjZXNzX3Rva2VuGAIgASgJEhIKBWxpbWl0GAMgASgFSACIAQESEwoGb2Zmc2V0GAQgASgFSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQigwIKEUdldE9yZGVyc1Jlc3BvbnNlEj0KBm9yZGVycxgBIAMoCzItLnB1YmxpY19hcGkudjEuR2V0T3JkZXJzUmVzcG9uc2UuT3JkZXJTdW1tYXJ5EhMKC3RvdGFsX2NvdW50GAIgASgFGpkBCgxPcmRlclN1bW1hcnkSCgoCaWQYASABKAkSDgoGc3RhdHVzGAIgASgJEhQKDHRvdGFsX2Ftb3VudBgDIAEoBRIQCghjdXJyZW5jeRgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIVCg1jdXN0b21lcl9uYW1lGAYgASgJIjcKIUlzT25lQ2xpY2tQYXltZW50QXZhaWxhYmxlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJIsUCCiJJc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZVJlc3BvbnNlEhIKCmlucG9zdF9wYXkYASABKAgSEQoJYXBwbGVfcGF5GAIgASgIEhIKCmdvb2dsZV9wYXkYAyABKAgSYQoRZ29vZ2xlX3BheV9jb25maWcYBCABKAsyQS5wdWJsaWNfYXBpLnYxLklzT25lQ2xpY2tQYXltZW50QXZhaWxhYmxlUmVzcG9uc2UuR29vZ2xlUGF5Q29uZmlnSACIAQEaawoPR29vZ2xlUGF5Q29uZmlnEhMKC21lcmNoYW50X2lkGAEgASgJEhUKDW1lcmNoYW50X25hbWUYAiABKAkSDwoHZ2F0ZXdheRgDIAEoCRIbChNnYXRld2F5X21lcmNoYW50X2lkGAQgASgJQhQKEl9nb29nbGVfcGF5X2NvbmZpZyLRAwofT25lQ2xpY2tBdXRob3JpemVQYXltZW50UmVxdWVzdBJHCgdnYXRld2F5GAEgASgOMjYucHVibGljX2FwaS52MS5PbmVDbGlja0F1dGhvcml6ZVBheW1lbnRSZXF1ZXN0LkdhdGV3YXkSEwoLcGF5bWVudERhdGEYAiABKAkSFQoNcGF5bWVudE1ldGhvZBgDIAEoCRIdChV0cmFuc2FjdGlvbklkZW50aWZpZXIYBCABKAkSNwoFb3JkZXIYBSABKAsyKC5wdWJsaWNfYXBpLnYxLkdldFByZU9yZGVyRGV0YWlsc1JlcXVlc3QSMQoQc2hpcHBpbmdfYWRkcmVzcxgGIAEoCzISLmNvbW1vbi52MS5BZGRyZXNzSACIAQESNwoPYmlsbGluZ19hZGRyZXNzGAcgASgLMhkuY29tbW9uLnYxLkJpbGxpbmdBZGRyZXNzSAGIAQESFQoIbWV0YWRhdGEYCCABKAlIAogBASIoCgdHYXRld2F5Eg0KCUFQUExFX1BBWRAAEg4KCkdPT0dMRV9QQVkQAUITChFfc2hpcHBpbmdfYWRkcmVzc0ISChBfYmlsbGluZ19hZGRyZXNzQgsKCV9tZXRhZGF0YSKkAQogT25lQ2xpY2tBdXRob3JpemVQYXltZW50UmVzcG9uc2USEgoKaXNfc3VjY2VzcxgBIAEoCBIUCgxyZWRpcmVjdF91cmwYAiABKAkSFgoOdHJhbnNhY3Rpb25faWQYAyABKAkSIwoWYXBwbGVfcGF5X3RyYWNraW5nX3VybBgEIAEoCUgAiAEBQhkKF19hcHBsZV9wYXlfdHJhY2tpbmdfdXJsIiwKDFByZU9yZGVySXRlbRIKCgJpZBgBIAEoCRIQCghxdWFudGl0eRgCIAEoBSLVAgoZR2V0UHJlT3JkZXJEZXRhaWxzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEioKBWl0ZW1zGAIgAygLMhsucHVibGljX2FwaS52MS5QcmVPcmRlckl0ZW0SGQoMY291bnRyeV9jb2RlGAMgASgJSACIAQESFgoJcG9zdF9jb2RlGAQgASgJSAGIAQESFwoKY291cG9uQ29kZRgFIAEoCUgCiAEBEhIKBWVtYWlsGAYgASgJSAOIAQESJQoYc2VsZWN0ZWRfZGVsaXZlcnlfbWV0aG9kGAcgASgJSASIAQESEgoFcGhvbmUYCCABKAlIBYgBAUIPCg1fY291bnRyeV9jb2RlQgwKCl9wb3N0X2NvZGVCDQoLX2NvdXBvbkNvZGVCCAoGX2VtYWlsQhsKGV9zZWxlY3RlZF9kZWxpdmVyeV9tZXRob2RCCAoGX3Bob25lIqwBCg5EZWxpdmVyeU1ldGhvZBIKCgJpZBgBIAEoCRIOCgZhbW91bnQYAiABKAUSDAoEbmFtZRgDIAEoCRIYCgtkZXNjcmlwdGlvbhgEIAEoCUgAiAEBEhUKCG1pbl9kYXlzGAUgASgFSAGIAQESFQoIbWF4X2RheXMYBiABKAVIAogBAUIOCgxfZGVzY3JpcHRpb25CCwoJX21pbl9kYXlzQgsKCV9tYXhfZGF5cyKzAgoaR2V0UHJlT3JkZXJEZXRhaWxzUmVzcG9uc2USLgoHbWV0aG9kcxgBIAMoCzIdLnB1YmxpY19hcGkudjEuRGVsaXZlcnlNZXRob2QSFwoKY291cG9uQ29kZRgCIAEoCUgAiAEBEiUKGHNlbGVjdGVkX2RlbGl2ZXJ5X21ldGhvZBgDIAEoCUgBiAEBEhkKDHRvdGFsX2Ftb3VudBgEIAEoBUgCiAEBEhkKDGNvdXBvbl92YWx1ZRgFIAEoBUgDiAEBEhAKCGN1cnJlbmN5GAYgASgJEg8KB2NvdW50cnkYByABKAlCDQoLX2NvdXBvbkNvZGVCGwoZX3NlbGVjdGVkX2RlbGl2ZXJ5X21ldGhvZEIPCg1fdG90YWxfYW1vdW50Qg8KDV9jb3Vwb25fdmFsdWUiYgopTm90aWZ5VXNlckFib3V0UHJvZHVjdEF2YWlsYWJpbGl0eVJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRISCgpwcm9kdWN0X2lkGAIgASgJEg0KBWVtYWlsGAMgASgJIk0KH0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudFJlcXVlc3QSFgoOdmFsaWRhdGlvbl91cmwYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCSI8CiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXNwb25zZRIYChBtZXJjaGFudF9zZXNzaW9uGAEgASgJIk4KIkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIUCgxhbGxfdmFyaWFudHMYAiADKAkiwgQKI0dldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlc3BvbnNlEmEKEGF2YWlsYWJsZV9jb3VudHMYASADKAsyRy5wdWJsaWNfYXBpLnYxLkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlc3BvbnNlLkF2YWlsYWJsZUNvdW50c0VudHJ5EkwKBWVycm9yGAIgASgOMjgucHVibGljX2FwaS52MS5HZXRBdmFpbGFibGVDb3VudEZvclByb2R1Y3RSZXNwb25zZS5FcnJvckgAiAEBGlEKGEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdBIjChthdmFpbGFibGVfcXVhbnRpdHlfdG9fb3JkZXIYASABKAUSEAoIY2FuX2JhY2sYAiABKAgagwEKFEF2YWlsYWJsZUNvdW50c0VudHJ5EgsKA2tleRgBIAEoCRJaCgV2YWx1ZRgCIAEoCzJLLnB1YmxpY19hcGkudjEuR2V0QXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0UmVzcG9uc2UuQXZhaWxhYmxlQ291bnRGb3JQcm9kdWN0OgI4ASKGAQoFRXJyb3ISEQoNRVJST1JfVU5LTk9XThAAEhsKF0VSUk9SX1BST0pFQ1RfTk9UX0ZPVU5EEAESHwobRVJST1JfUFJPRFVDVF9OT1RfQVZBSUxBQkxFEAISLAooRVJST1JfUFJPRFVDVF9OT1RfQVZBSUxBQkxFX0JVVF9DQU5fQkFDSxADQggKBl9lcnJvciI1Ch1Vc2VyUGFuZWxEZWxldGVBY2NvdW50UmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkiQAoURGlkQnV5UHJvZHVjdFJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2R1Y3RfaWQYAiABKAki/gEKIVVwZGF0ZU5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRJNCg1tb2RpZmljYXRpb25zGAMgAygLMjYucHVibGljX2FwaS52MS5VcGRhdGVOb3RpZmljYXRpb25TZXR0aW5nc1JlcXVlc3QuR3JvdXASOgoPZW5hYmxlZF9tZXRob2RzGAQgAygOMiEucHVibGljX2FwaS52MS5Ob3RpZmljYXRpb25NZXRob2QaJAoFR3JvdXASCgoCaWQYASABKAkSDwoHZW5hYmxlZBgCIAEoCCJRCidVcGRhdGVHbG9iYWxOb3RpZmljYXRpb25TZXR0aW5nc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhAKCGlzX211dGVkGAIgASgIIlEKJUdldE5vdGlmaWNhdGlvblNldHRpbmdzRGV0YWlsc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkioQEKEU5vdGlmaWNhdGlvbkdyb3VwEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIPCgdlbmFibGVkGAQgASgIEjcKCWhvd19vZnRlbhgFIAEoDjIkLmNvbW1vbi52MS5Ob3RpZmljYXRpb25Hcm91cEhvd09mdGVuQg4KDF9kZXNjcmlwdGlvbiKxAgomR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NEZXRhaWxzUmVzcG9uc2USEgoKcHJvamVjdF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEi8KBXRoZW1lGAMgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIAIgBARI8ChFhdmFpbGFibGVfbWV0aG9kcxgEIAMoDjIhLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uTWV0aG9kEjoKD2VuYWJsZWRfbWV0aG9kcxgFIAMoDjIhLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uTWV0aG9kEjAKBmdyb3VwcxgGIAMoCzIgLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uR3JvdXBCCAoGX3RoZW1lIkMKHkdldE5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSCwoDYWxsGAIgASgIIvACCh9HZXROb3RpZmljYXRpb25TZXR0aW5nc1Jlc3BvbnNlEkgKCHByb2plY3RzGAEgAygLMjYucHVibGljX2FwaS52MS5HZXROb3RpZmljYXRpb25TZXR0aW5nc1Jlc3BvbnNlLlByb2plY3QSEAoIaXNfbXV0ZWQYAiABKAgapQEKB1Byb2plY3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRJFCgZzdGF0dXMYAyABKA4yNS5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvblNldHRpbmdzUmVzcG9uc2UuU3RhdHVzEi8KBXRoZW1lGAQgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIAIgBAUIICgZfdGhlbWUiSQoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEhIKDlNUQVRVU19FTkFCTEVEEAESEwoPU1RBVFVTX0RJU0FCTEVEEAIizAEKHUdldE5vdGlmaWNhdGlvbkhpc3RvcnlSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIXCgpwcm9qZWN0X2lkGAIgASgJSACIAQESMgoHbWV0aG9kcxgDIAMoDjIhLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uTWV0aG9kEhEKCXBhZ2Vfc2l6ZRgEIAEoBRIXCgpwYWdlX3Rva2VuGAUgASgJSAGIAQFCDQoLX3Byb2plY3RfaWRCDQoLX3BhZ2VfdG9rZW4i6wMKF05vdGlmaWNhdGlvbkhpc3RvcnlJdGVtEgoKAmlkGAEgASgJEhcKD25vdGlmaWNhdGlvbl9pZBgCIAEoCRIxCgZtZXRob2QYAyABKA4yIS5wdWJsaWNfYXBpLnYxLk5vdGlmaWNhdGlvbk1ldGhvZBIrCgdzZW50X2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0aXRsZRgFIAEoCRIVCghzdWJ0aXRsZRgGIAEoCUgAiAEBEhQKB2NvbnRlbnQYByABKAlIAYgBARIWCglpbWFnZV91cmwYCCABKAlIAogBARIVCghvcGVuX3VybBgKIAEoCUgDiAEBEj0KBnNlbmRlchgJIAEoCzItLnB1YmxpY19hcGkudjEuTm90aWZpY2F0aW9uSGlzdG9yeUl0ZW0uU2VuZGVyGm0KBlNlbmRlchISCgpwcm9qZWN0X2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCRIvCgV0aGVtZRgDIAEoCzIbLnB1YmxpY19hcGkudjEuUHJvamVjdFRoZW1lSACIAQFCCAoGX3RoZW1lQgsKCV9zdWJ0aXRsZUIKCghfY29udGVudEIMCgpfaW1hZ2VfdXJsQgsKCV9vcGVuX3VybCKRAQoeR2V0Tm90aWZpY2F0aW9uSGlzdG9yeVJlc3BvbnNlEj0KDW5vdGlmaWNhdGlvbnMYASADKAsyJi5wdWJsaWNfYXBpLnYxLk5vdGlmaWNhdGlvbkhpc3RvcnlJdGVtEhwKD25leHRfcGFnZV90b2tlbhgCIAEoCUgAiAEBQhIKEF9uZXh0X3BhZ2VfdG9rZW4iQQopVXNlclBhbmVsUHVzaEdldEF2YWlsYWJsZUNvbXBhbmllc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJIusCCipVc2VyUGFuZWxQdXNoR2V0QXZhaWxhYmxlQ29tcGFuaWVzUmVzcG9uc2USVAoJY29tcGFuaWVzGAEgAygLMkEucHVibGljX2FwaS52MS5Vc2VyUGFuZWxQdXNoR2V0QXZhaWxhYmxlQ29tcGFuaWVzUmVzcG9uc2UuQ29tcGFueRpxCgVHcm91cBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESFgoJaG93X29mdGVuGAQgASgJSAGIAQFCDgoMX2Rlc2NyaXB0aW9uQgwKCl9ob3dfb2Z0ZW4adAoHQ29tcGFueRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEk8KBmdyb3VwcxgDIAMoCzI/LnB1YmxpY19hcGkudjEuVXNlclBhbmVsUHVzaEdldEF2YWlsYWJsZUNvbXBhbmllc1Jlc3BvbnNlLkdyb3VwIjAKGlNob3VsZFNob3BQcm9kdWN0c1Jlc3BvbnNlEhIKCmlzX3Zpc2libGUYASABKAgiNAoeU2hvdWxkU2hvd0d1ZXN0Q2F0YWxvZ1Jlc3BvbnNlEhIKCmlzX3Zpc2libGUYASABKAgihgEKE0d1ZXN0Q2F0YWxvZ1Byb2R1Y3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIMCgRuYW1lGAIgASgJEhcKD2NvdmVyX2ltYWdlX3VybBgDIAEoCRI0Cgxwcm9kdWN0X3R5cGUYBCABKA4yHi5wdWJsaWNfYXBpLnYxLlVzZXJQcm9kdWN0VHlwZSJPChdHZXRHdWVzdENhdGFsb2dSZXNwb25zZRI0Cghwcm9kdWN0cxgBIAMoCzIiLnB1YmxpY19hcGkudjEuR3Vlc3RDYXRhbG9nUHJvZHVjdCKGAQokVXNlclBhbmVsUmVzb2x2ZVByb2R1Y3RBY2Nlc3NSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRISCgpwcm9kdWN0X2lkGAIgASgJEjQKDHByb2R1Y3RfdHlwZRgDIAEoDjIeLnB1YmxpY19hcGkudjEuVXNlclByb2R1Y3RUeXBlIucBCiVVc2VyUGFuZWxSZXNvbHZlUHJvZHVjdEFjY2Vzc1Jlc3BvbnNlEksKBnN0YXR1cxgBIAEoDjI7LnB1YmxpY19hcGkudjEuVXNlclBhbmVsUmVzb2x2ZVByb2R1Y3RBY2Nlc3NSZXNwb25zZS5TdGF0dXMSFgoJYWNjZXNzX2lkGAIgASgJSACIAQEiSwoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEgkKBU9XTkVEEAESDQoJTk9UX09XTkVEEAISDwoLVU5BVkFJTEFCTEUQA0IMCgpfYWNjZXNzX2lkIkQKFkdldFNob3BQcm9kdWN0c1JlcXVlc3QSGQoMYWNjZXNzX3Rva2VuGAEgASgJSACIAQFCDwoNX2FjY2Vzc190b2tlbiLYAQoXR2V0U2hvcFByb2R1Y3RzUmVzcG9uc2USQAoIcHJvZHVjdHMYBSADKAsyLi5wdWJsaWNfYXBpLnYxLkdldFNob3BQcm9kdWN0c1Jlc3BvbnNlLlByb2R1Y3QaewoHUHJvZHVjdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhEKCWltYWdlX3VybBgDIAEoCRINCgVwcmljZRgEIAEoCRIeChFpc19hbHJlYWR5X2JvdWdodBgFIAEoCEgAiAEBQhQKEl9pc19hbHJlYWR5X2JvdWdodCLUAQofVXNlclBhbmVsR2V0RmlsZURldGFpbHNSZXNwb25zZRJICgdzdWNjZXNzGAEgASgLMjUucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRGaWxlRGV0YWlsc1Jlc3BvbnNlLlJlc3VsdEgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSAAaKwoGUmVzdWx0EhIKCnByb2plY3RfaWQYASABKAkSDQoFZmlsZXMYAiADKAlCCAoGcmVzdWx0IkkKHlVzZXJQYW5lbEdldEZpbGVEZXRhaWxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEQoJYWNjZXNzX2lkGAIgASgJIvkCCiFVc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzUmVzcG9uc2USSgoHc3VjY2VzcxgBIAEoCzI3LnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0VGlja2V0RGV0YWlsc1Jlc3BvbnNlLlJlc3VsdEgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSAAaywEKBlJlc3VsdBISCgpwcm9qZWN0X2lkGAEgASgJEhIKCnRpY2tldF91cmwYAiABKAkSFAoMcHJvZHVjdF9uYW1lGAMgASgJEhkKEXByb2R1Y3RfaW1hZ2VfdXJsGAQgASgJEh4KEWdvb2dsZV93YWxsZXRfdXJsGAUgASgJSACIAQESHQoQYXBwbGVfd2FsbGV0X3VybBgGIAEoCUgBiAEBQhQKEl9nb29nbGVfd2FsbGV0X3VybEITChFfYXBwbGVfd2FsbGV0X3VybEIICgZyZXN1bHQiSwogVXNlclBhbmVsR2V0VGlja2V0RGV0YWlsc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhEKCWFjY2Vzc19pZBgCIAEoCSLPBAowVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc0Rvd25sb2FkVVJMc1Jlc3BvbnNlElkKB3N1Y2Nlc3MYASABKAsyRi5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNEb3dubG9hZFVSTHNSZXNwb25zZS5SZXN1bHRIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAGpoBChhBdWRpb2Jvb2tEb3dubG9hZERldGFpbHMSEgoKY2hhcHRlcl9pZBgBIAEoCRISCgpwdWJsaWNfdXJsGAIgASgJEh0KEGRvd25sb2FkYWJsZV91cmwYAyABKAlIAIgBARIVCghkdXJhdGlvbhgEIAEoBUgBiAEBQhMKEV9kb3dubG9hZGFibGVfdXJsQgsKCV9kdXJhdGlvbhrmAQoGUmVzdWx0EnwKGmF1ZGlvYm9va19kb3dubG9hZF9kZXRhaWxzGAEgAygLMlgucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzRG93bmxvYWRVUkxzUmVzcG9uc2UuQXVkaW9ib29rRG93bmxvYWREZXRhaWxzEjMKJmlzX2F2YWlsYWJsZV90b19kb3dubG9hZF9pbl9tb2JpbGVfYXBwGAIgASgISACIAQFCKQonX2lzX2F2YWlsYWJsZV90b19kb3dubG9hZF9pbl9tb2JpbGVfYXBwQggKBnJlc3VsdCKCAQovVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc0Rvd25sb2FkVVJMc1JlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJEhEKCWFjY2Vzc19pZBgCIAEoCRIXCgppc19icm93c2VyGAMgASgISACIAQFCDQoLX2lzX2Jyb3dzZXIimwEKJFVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNSZXNwb25zZRI3CglhdWRpb2Jvb2sYASABKAsyIi5kYXNoYm9hcmQuYXVkaW9ib29rcy52MS5BdWRpb2Jvb2tIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCJOCiNVc2VyUGFuZWxHZXRBdWRpb2Jvb2tEZXRhaWxzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAkSEQoJYWNjZXNzX2lkGAIgASgJIjMKG1VzZXJQYW5lbEdldFByb2R1Y3RzUmVxdWVzdBIUCgxhY2Nlc3NfdG9rZW4YASABKAki2QEKHFVzZXJQYW5lbEdldFByb2R1Y3RzUmVzcG9uc2USRQoHc3VjY2VzcxgBIAEoCzIyLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0UHJvZHVjdHNSZXNwb25zZS5SZXN1bHRIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAGjYKBlJlc3VsdBIsCghwcm9kdWN0cxgBIAMoCzIaLnB1YmxpY19hcGkudjEuVXNlclByb2R1Y3RCCAoGcmVzdWx0Ii4KFlVzZXJQYW5lbExvZ291dFJlcXVlc3QSFAoMYWNjZXNzX3Rva2VuGAEgASgJIrQBCh5Vc2VyUGFuZWxMb2dpbldpdGhDb2RlUmVzcG9uc2USFgoMYWNjZXNzX3Rva2VuGAEgASgJSAASMAoHZmFpbHVyZRgCIAEoDjIdLnB1YmxpY19hcGkudjEuRmFpbHVyZU1lc3NhZ2VIABISCgVlbWFpbBgDIAEoCUgBiAEBEhQKB3VzZXJfaWQYBCABKAlIAogBAUIICgZyZXN1bHRCCAoGX2VtYWlsQgoKCF91c2VyX2lkIi0KHVVzZXJQYW5lbExvZ2luV2l0aENvZGVSZXF1ZXN0EgwKBGNvZGUYASABKAUi8gEKFlVzZXJQYW5lbExvZ2luUmVzcG9uc2USPwoHc3VjY2VzcxgBIAEoCzIsLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9naW5SZXNwb25zZS5SZXN1bHRIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAGlsKBlJlc3VsdBIQCghyZXRyeV9pbhgBIAEoBRI/Cg9kZWxpdmVyeV9tZXRob2QYAiABKA4yJi5wdWJsaWNfYXBpLnYxLkxvZ2luQ29kZURlbGl2ZXJ5TWV0aG9kQggKBnJlc3VsdCKfAQoVVXNlclBhbmVsTG9naW5SZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEh8KEnJlZ3VsYXRpb25zX2FjY2VwdBgCIAEoCEgAiAEBEj8KD2RlbGl2ZXJ5X21ldGhvZBgDIAEoDjImLnB1YmxpY19hcGkudjEuTG9naW5Db2RlRGVsaXZlcnlNZXRob2RCFQoTX3JlZ3VsYXRpb25zX2FjY2VwdCI5ChdHZXRPcmRlclJldHJ5VXJsUmVxdWVzdBIKCgJpZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJIr8BChhHZXRPcmRlclJldHJ5VXJsUmVzcG9uc2USPgoDdXJsGAEgASgLMi8ucHVibGljX2FwaS52MS5HZXRPcmRlclJldHJ5VXJsUmVzcG9uc2UuU3VjY2Vzc0gAEhEKB2ZhaWx1cmUYAiABKAlIABpGCgdTdWNjZXNzEgsKA3VybBgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEIICgZyZXN1bHQiMQoPR2V0T3JkZXJSZXF1ZXN0EgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkifAoQR2V0T3JkZXJSZXNwb25zZRIPCgJpZBgBIAEoCUgAiAEBEiIKBWl0ZW1zGAIgAygLMhMucHVibGljX2FwaS52MS5JdGVtEiwKB2RldGFpbHMYAyABKAsyGy5wdWJsaWNfYXBpLnYxLk9yZGVyRGV0YWlsc0IFCgNfaWQi+QEKDE9yZGVyRGV0YWlscxI1CgVpdGVtcxgBIAMoCzImLnB1YmxpY19hcGkudjEuT3JkZXJEZXRhaWxzLlNpbmdsZUl0ZW0SIwoHZ2F0ZXdheRgCIAEoDjISLmNvbW1vbi52MS5HYXRld2F5GowBCgpTaW5nbGVJdGVtEgoKAmlkGAEgASgJEhYKCWltYWdlX3VybBgCIAEoCUgAiAEBEgwKBG5hbWUYAyABKAkSEAoIcXVhbnRpdHkYBCABKAUSFAoMcHJpY2VfYW1vdW50GAUgASgDEhYKDnByaWNlX2N1cnJlbmN5GAYgASgJQgwKCl9pbWFnZV91cmwi0QEKBEl0ZW0SCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIRCglpbWFnZV91cmwYAyABKAkSPAoRZmlsZV9kb3dubG9hZGFibGUYBCABKAsyHy5wdWJsaWNfYXBpLnYxLkZpbGVEb3dubG9hZGFibGVIABItCglhdWRpb2Jvb2sYBSABKAsyGC5wdWJsaWNfYXBpLnYxLkF1ZGlvYm9va0gAEicKBnRpY2tldBgGIAEoCzIVLnB1YmxpY19hcGkudjEuVGlja2V0SABCBgoEaXRlbSIkChBGaWxlRG93bmxvYWRhYmxlEhAKCGZpbGVfdXJsGAEgASgJIiUKCUF1ZGlvYm9vaxIYChBhcHBfZG93bmxvYWRfdXJsGAEgASgJIoEBCgZUaWNrZXQSEQoJdGlja2V0X2lkGAEgASgJEhsKDmFwcGxlX3Bhc3NfdXJsGAIgASgJSACIAQESHgoRZ29vZ2xlX3RpY2tldF91cmwYAyABKAlIAYgBAUIRCg9fYXBwbGVfcGFzc191cmxCFAoSX2dvb2dsZV90aWNrZXRfdXJsIucCCgtVc2VyUHJvZHVjdBISCgpwcm9qZWN0X2lkGAEgASgJEhQKDHByb2plY3RfbmFtZRgCIAEoCRISCgpwcm9kdWN0X2lkGAMgASgJEhQKDHByb2R1Y3RfbmFtZRgEIAEoCRIbChNwcm9kdWN0X2Rlc2NyaXB0aW9uGAUgASgJEhkKEXByb2R1Y3RfaW1hZ2VfdXJsGAYgASgJEjQKDHByb2R1Y3RfdHlwZRgHIAEoDjIeLnB1YmxpY19hcGkudjEuVXNlclByb2R1Y3RUeXBlEhEKCWFjY2Vzc19pZBgIIAEoCRI3Cg1wcm9qZWN0X3RoZW1lGAkgASgLMhsucHVibGljX2FwaS52MS5Qcm9qZWN0VGhlbWVIAIgBARIgChNwcm9qZWN0X2Rlc2NyaXB0aW9uGAogASgJSAGIAQFCEAoOX3Byb2plY3RfdGhlbWVCFgoUX3Byb2plY3RfZGVzY3JpcHRpb24idQoMQm9vbFJlc3BvbnNlEikKB3N1Y2Nlc3MYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABIwCgdmYWlsdXJlGAIgASgOMh0ucHVibGljX2FwaS52MS5GYWlsdXJlTWVzc2FnZUgAQggKBnJlc3VsdCJuChBQdXNoRXZlbnRSZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRIXCg9ub3RpZmljYXRpb25faWQYAiABKAkSKwoFZXZlbnQYAyABKA4yHC5jb21tb24udjEuTm90aWZpY2F0aW9uRXZlbnQirQEKGlB1c2hTZW5kRGV2aWNlVG9rZW5SZXF1ZXN0EhQKDGFjY2Vzc190b2tlbhgBIAEoCRI3CgdwYXlsb2FkGAIgASgLMiYuY29tbW9uLnYxLlB1c2hOb3RpZmljYXRpb25EZXZpY2VUb2tlbhIkChdpc19ub3RpZmljYXRpb25fZ3JhbnRlZBgDIAEoCEgAiAEBQhoKGF9pc19ub3RpZmljYXRpb25fZ3JhbnRlZCLCAQoMUHJvamVjdFRoZW1lEhYKCWltYWdlX3VybBgBIAEoCUgAiAEBEhsKDmltYWdlX2RhcmtfdXJsGAIgASgJSAGIAQESGAoLYnJhbmRfY29sb3IYAyABKAlIAogBARIdChBicmFuZF9jb2xvcl9kYXJrGAQgASgJSAOIAQFCDAoKX2ltYWdlX3VybEIRCg9faW1hZ2VfZGFya191cmxCDgoMX2JyYW5kX2NvbG9yQhMKEV9icmFuZF9jb2xvcl9kYXJrIo4BChxHZXRQdWJsaWNPcmRlckRldGFpbHNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkSEgoFZW1haWwYAyABKAlIAIgBARIZCgxhY2Nlc3NfdG9rZW4YBCABKAlIAYgBAUIICgZfZW1haWxCDwoNX2FjY2Vzc190b2tlbiJwCh1HZXRQdWJsaWNPcmRlckRldGFpbHNSZXNwb25zZRIyCgVvcmRlchgBIAEoCzIhLnB1YmxpY19hcGkudjEuUHVibGljT3JkZXJEZXRhaWxzSAASEQoHZmFpbHVyZRgCIAEoCUgAQggKBnJlc3VsdCKGBgoSUHVibGljT3JkZXJEZXRhaWxzEhAKCG9yZGVyX2lkGAEgASgJEg4KBnN0YXR1cxgCIAEoCRIeChFwcm9jZXNzaW5nX3N0YXR1cxgDIAEoCUgAiAEBEhUKDWN1c3RvbWVyX25hbWUYBCABKAkSFgoOY3VzdG9tZXJfZW1haWwYBSABKAkSGwoOY3VzdG9tZXJfcGhvbmUYBiABKAlIAYgBARIdChBkZWxpdmVyeV9hZGRyZXNzGAcgASgJSAKIAQESHAoPZGVsaXZlcnlfbWV0aG9kGAggASgJSAOIAQESHAoPdHJhY2tpbmdfbnVtYmVyGAkgASgJSASIAQESLQoFaXRlbXMYCiADKAsyHi5wdWJsaWNfYXBpLnYxLlB1YmxpY09yZGVySXRlbRIzCghjb21tZW50cxgLIAMoCzIhLnB1YmxpY19hcGkudjEuUHVibGljT3JkZXJDb21tZW50EhQKDHRvdGFsX2Ftb3VudBgMIAEoAxIQCghjdXJyZW5jeRgNIAEoCRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIzCgp1cGRhdGVkX2F0GA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgFiAEBEhMKC2lzX3ZlcmlmaWVkGBAgASgIEhUKDWNvbW1lbnRfY291bnQYESABKAUSNwoNcHJvamVjdF90aGVtZRgSIAEoCzIbLnB1YmxpY19hcGkudjEuUHJvamVjdFRoZW1lSAaIAQESGQoMcHJvamVjdF9uYW1lGBMgASgJSAeIAQFCFAoSX3Byb2Nlc3Npbmdfc3RhdHVzQhEKD19jdXN0b21lcl9waG9uZUITChFfZGVsaXZlcnlfYWRkcmVzc0ISChBfZGVsaXZlcnlfbWV0aG9kQhIKEF90cmFja2luZ19udW1iZXJCDQoLX3VwZGF0ZWRfYXRCEAoOX3Byb2plY3RfdGhlbWVCDwoNX3Byb2plY3RfbmFtZSJ4Cg9QdWJsaWNPcmRlckl0ZW0SDAoEbmFtZRgBIAEoCRIQCghxdWFudGl0eRgCIAEoBRINCgVwcmljZRgDIAEoAxIQCghjdXJyZW5jeRgEIAEoCRIWCglpbWFnZV91cmwYBSABKAlIAIgBAUIMCgpfaW1hZ2VfdXJsIqABChJQdWJsaWNPcmRlckNvbW1lbnQSCgoCaWQYASABKAUSDwoHbWVzc2FnZRgCIAEoCRITCgthdXRob3JfdHlwZRgDIAEoCRIYCgthdXRob3JfbmFtZRgEIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQg4KDF9hdXRob3JfbmFtZSJrChxBZGRQdWJsaWNPcmRlckNvbW1lbnRSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIUCgxhY2Nlc3NfdG9rZW4YBCABKAkikQEKHUFkZFB1YmxpY09yZGVyQ29tbWVudFJlc3BvbnNlEjQKB2NvbW1lbnQYASABKAsyIS5wdWJsaWNfYXBpLnYxLlB1YmxpY09yZGVyQ29tbWVudEgAEjAKB2ZhaWx1cmUYAiABKA4yHS5wdWJsaWNfYXBpLnYxLkZhaWx1cmVNZXNzYWdlSABCCAoGcmVzdWx0IkUKHUdldE9yZGVyRm9yVGVzdGltb25pYWxSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkiwgMKHkdldE9yZGVyRm9yVGVzdGltb25pYWxSZXNwb25zZRJICgVvcmRlchgBIAEoCzI3LnB1YmxpY19hcGkudjEuR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlc3BvbnNlLk9yZGVySW5mb0gAEhEKB2ZhaWx1cmUYAiABKAlIABqAAQoMT3JkZXJQcm9kdWN0EhIKCnByb2R1Y3RfaWQYASABKAkSFAoMcHJvZHVjdF9uYW1lGAIgASgJEh4KEXByb2R1Y3RfaW1hZ2VfdXJsGAMgASgJSACIAQESEAoIcXVhbnRpdHkYBCABKAVCFAoSX3Byb2R1Y3RfaW1hZ2VfdXJsGrUBCglPcmRlckluZm8SEAoIb3JkZXJfaWQYASABKAkSFQoNY3VzdG9tZXJfbmFtZRgCIAEoCRIWCg5jdXN0b21lcl9lbWFpbBgDIAEoCRJMCghwcm9kdWN0cxgEIAMoCzI6LnB1YmxpY19hcGkudjEuR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlc3BvbnNlLk9yZGVyUHJvZHVjdBIZChFhbHJlYWR5X3N1Ym1pdHRlZBgFIAEoCEIICgZyZXN1bHQiswEKGFN1Ym1pdFRlc3RpbW9uaWFsUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhAKCG9yZGVyX2lkGAIgASgJEhUKDWN1c3RvbWVyX25hbWUYAyABKAkSFgoJcGhvdG9fdXJsGAQgASgJSACIAQESDgoGcmF0aW5nGAUgASgFEg8KB21lc3NhZ2UYBiABKAkSEwoLcHJvZHVjdF9pZHMYByADKAlCDAoKX3Bob3RvX3VybCKCAQoZU3VibWl0VGVzdGltb25pYWxSZXNwb25zZRIpCgdzdWNjZXNzGAEgASgLMhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5SAASMAoHZmFpbHVyZRgCIAEoDjIdLnB1YmxpY19hcGkudjEuRmFpbHVyZU1lc3NhZ2VIAEIICgZyZXN1bHQiWAoeR2V0VGVzdGltb25pYWxVcGxvYWRVcmxSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEAoIb3JkZXJfaWQYAiABKAkSEAoIZmlsZW5hbWUYAyABKAkiSQofR2V0VGVzdGltb25pYWxVcGxvYWRVcmxSZXNwb25zZRISCgp1cGxvYWRfdXJsGAEgASgJEhIKCnB1YmxpY191cmwYAiABKAkqtAEKF0xvZ2luQ29kZURlbGl2ZXJ5TWV0aG9kEioKJkxPR0lOX0NPREVfREVMSVZFUllfTUVUSE9EX1VOU1BFQ0lGSUVEEAASJAogTE9HSU5fQ09ERV9ERUxJVkVSWV9NRVRIT0RfRU1BSUwQARIjCh9MT0dJTl9DT0RFX0RFTElWRVJZX01FVEhPRF9QVVNIEAISIgoeTE9HSU5fQ09ERV9ERUxJVkVSWV9NRVRIT0RfU01TEAMqpQEKD1VzZXJQcm9kdWN0VHlwZRIdChlVU0VSX1BST0RVQ1RfVFlQRV9VTktOT1dOEAASGwoXVVNFUl9QUk9EVUNUX1RZUEVfQVVESU8QARIaChZVU0VSX1BST0RVQ1RfVFlQRV9GSUxFEAISHAoYVVNFUl9QUk9EVUNUX1RZUEVfVElDS0VUEAMSHAoYVVNFUl9QUk9EVUNUX1RZUEVfQ09VUlNFEAQqqQQKDkZhaWx1cmVNZXNzYWdlEhsKF0ZBSUxVUkVfTUVTU0FHRV9VTktOT1dOEAASIwofRkFJTFVSRV9NRVNTQUdFX0VNQUlMX05PVF9GT1VORBABEiMKH0ZBSUxVUkVfTUVTU0FHRV9JTkNPUlJFQ1RfRU1BSUwQAhIiCh5GQUlMVVJFX01FU1NBR0VfSU5DT1JSRUNUX0NPREUQAxIwCixGQUlMVVJFX01FU1NBR0VfR0VORVJBVEVfQUNDRVNTX1RPS0VOX0ZBSUxFRBAEEiEKHUZBSUxVUkVfTUVTU0FHRV9MT0dPVVRfRkFJTEVEEAUSJQohRkFJTFVSRV9NRVNTQUdFX1BSRFVDVFNfTk9UX0ZPVU5EEAYSJwojRkFJTFVSRV9NRVNTQUdFX0FVRElPQk9PS19OT1RfRk9VTkQQBxInCiNGQUlMVVJFX01FU1NBR0VfSU5DT1JSRUNUX0FVRElPQk9PSxAIEiAKHEZBSUxVUkVfTUVTU0FHRV9VTkFVVEhPUklaRUQQCRIkCiBGQUlMVVJFX01FU1NBR0VfVElDS0VUX05PVF9GT1VORBAKEi8KK0ZBSUxVUkVfTUVTU0FHRV9ERUxJVkVSWV9NRVRIT0RfVU5BVkFJTEFCTEUQCxIjCh9GQUlMVVJFX01FU1NBR0VfREVMSVZFUllfRkFJTEVEEAwSIAocRkFJTFVSRV9NRVNTQUdFX1JBVEVfTElNSVRFRBANKo8BChJOb3RpZmljYXRpb25NZXRob2QSHwobTk9USUZJQ0FUSU9OX01FVEhPRF9VTktOT1dOEAASHQoZTk9USUZJQ0FUSU9OX01FVEhPRF9FTUFJTBABEhsKF05PVElGSUNBVElPTl9NRVRIT0RfU01TEAISHAoYTk9USUZJQ0FUSU9OX01FVEhPRF9QVVNIEAMy8iUKEFB1YmxpY0FwaVNlcnZpY2USSwoIR2V0T3JkZXISHi5wdWJsaWNfYXBpLnYxLkdldE9yZGVyUmVxdWVzdBofLnB1YmxpY19hcGkudjEuR2V0T3JkZXJSZXNwb25zZRJOCglHZXRPcmRlcnMSHy5wdWJsaWNfYXBpLnYxLkdldE9yZGVyc1JlcXVlc3QaIC5wdWJsaWNfYXBpLnYxLkdldE9yZGVyc1Jlc3BvbnNlEmMKEEdldE9yZGVyUmV0cnlVcmwSJi5wdWJsaWNfYXBpLnYxLkdldE9yZGVyUmV0cnlVcmxSZXF1ZXN0GicucHVibGljX2FwaS52MS5HZXRPcmRlclJldHJ5VXJsUmVzcG9uc2USXQoOVXNlclBhbmVsTG9naW4SJC5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbExvZ2luUmVxdWVzdBolLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9naW5SZXNwb25zZRJ1ChZVc2VyUGFuZWxMb2dpbldpdGhDb2RlEiwucHVibGljX2FwaS52MS5Vc2VyUGFuZWxMb2dpbldpdGhDb2RlUmVxdWVzdBotLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9naW5XaXRoQ29kZVJlc3BvbnNlElUKD1VzZXJQYW5lbExvZ291dBIlLnB1YmxpY19hcGkudjEuVXNlclBhbmVsTG9nb3V0UmVxdWVzdBobLnB1YmxpY19hcGkudjEuQm9vbFJlc3BvbnNlEmMKFlVzZXJQYW5lbERlbGV0ZUFjY291bnQSLC5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbERlbGV0ZUFjY291bnRSZXF1ZXN0GhsucHVibGljX2FwaS52MS5Cb29sUmVzcG9uc2USbwoUVXNlclBhbmVsR2V0UHJvZHVjdHMSKi5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldFByb2R1Y3RzUmVxdWVzdBorLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0UHJvZHVjdHNSZXNwb25zZRKHAQocVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlscxIyLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc1JlcXVlc3QaMy5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNSZXNwb25zZRKrAQooVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc0Rvd25sb2FkVVJMcxI+LnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0QXVkaW9ib29rRGV0YWlsc0Rvd25sb2FkVVJMc1JlcXVlc3QaPy5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldEF1ZGlvYm9va0RldGFpbHNEb3dubG9hZFVSTHNSZXNwb25zZRJ4ChdVc2VyUGFuZWxHZXRGaWxlRGV0YWlscxItLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0RmlsZURldGFpbHNSZXF1ZXN0Gi4ucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRGaWxlRGV0YWlsc1Jlc3BvbnNlEn4KGVVzZXJQYW5lbEdldFRpY2tldERldGFpbHMSLy5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldFRpY2tldERldGFpbHNSZXF1ZXN0GjAucHVibGljX2FwaS52MS5Vc2VyUGFuZWxHZXRUaWNrZXREZXRhaWxzUmVzcG9uc2USfgoZVXNlclBhbmVsR2V0Q291cnNlRGV0YWlscxIvLnB1YmxpY19hcGkudjEuVXNlclBhbmVsR2V0Q291cnNlRGV0YWlsc1JlcXVlc3QaMC5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbEdldENvdXJzZURldGFpbHNSZXNwb25zZRJYChNQdXNoU2VuZERldmljZVRva2VuEikucHVibGljX2FwaS52MS5QdXNoU2VuZERldmljZVRva2VuUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJECglQdXNoRXZlbnQSHy5wdWJsaWNfYXBpLnYxLlB1c2hFdmVudFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSVwoSU2hvdWxkU2hvcFByb2R1Y3RzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GikucHVibGljX2FwaS52MS5TaG91bGRTaG9wUHJvZHVjdHNSZXNwb25zZRJfChZTaG91bGRTaG93R3Vlc3RDYXRhbG9nEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gi0ucHVibGljX2FwaS52MS5TaG91bGRTaG93R3Vlc3RDYXRhbG9nUmVzcG9uc2USUQoPR2V0R3Vlc3RDYXRhbG9nEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GiYucHVibGljX2FwaS52MS5HZXRHdWVzdENhdGFsb2dSZXNwb25zZRKKAQodVXNlclBhbmVsUmVzb2x2ZVByb2R1Y3RBY2Nlc3MSMy5wdWJsaWNfYXBpLnYxLlVzZXJQYW5lbFJlc29sdmVQcm9kdWN0QWNjZXNzUmVxdWVzdBo0LnB1YmxpY19hcGkudjEuVXNlclBhbmVsUmVzb2x2ZVByb2R1Y3RBY2Nlc3NSZXNwb25zZRJgCg9HZXRTaG9wUHJvZHVjdHMSJS5wdWJsaWNfYXBpLnYxLkdldFNob3BQcm9kdWN0c1JlcXVlc3QaJi5wdWJsaWNfYXBpLnYxLkdldFNob3BQcm9kdWN0c1Jlc3BvbnNlEkwKDURpZEJ1eVByb2R1Y3QSIy5wdWJsaWNfYXBpLnYxLkRpZEJ1eVByb2R1Y3RSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EngKF0dldEFwcFN0b3JlQWNjb3VudFRva2VuEi0ucHVibGljX2FwaS52MS5HZXRBcHBTdG9yZUFjY291bnRUb2tlblJlcXVlc3QaLi5wdWJsaWNfYXBpLnYxLkdldEFwcFN0b3JlQWNjb3VudFRva2VuUmVzcG9uc2USdQoWVmVyaWZ5QXBwU3RvcmVQdXJjaGFzZRIsLnB1YmxpY19hcGkudjEuVmVyaWZ5QXBwU3RvcmVQdXJjaGFzZVJlcXVlc3QaLS5wdWJsaWNfYXBpLnYxLlZlcmlmeUFwcFN0b3JlUHVyY2hhc2VSZXNwb25zZRJ4ChdHZXRBcHBTdG9yZUVudGl0bGVtZW50cxItLnB1YmxpY19hcGkudjEuR2V0QXBwU3RvcmVFbnRpdGxlbWVudHNSZXF1ZXN0Gi4ucHVibGljX2FwaS52MS5HZXRBcHBTdG9yZUVudGl0bGVtZW50c1Jlc3BvbnNlEnsKGFJlc3RvcmVBcHBTdG9yZVB1cmNoYXNlcxIuLnB1YmxpY19hcGkudjEuUmVzdG9yZUFwcFN0b3JlUHVyY2hhc2VzUmVxdWVzdBovLnB1YmxpY19hcGkudjEuUmVzdG9yZUFwcFN0b3JlUHVyY2hhc2VzUmVzcG9uc2USZAoZQ2xlYXJBcHBTdG9yZUFjY291bnRUb2tlbhIvLnB1YmxpY19hcGkudjEuQ2xlYXJBcHBTdG9yZUFjY291bnRUb2tlblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSaQoSR2V0U3RvcmVLaXRDYXRhbG9nEigucHVibGljX2FwaS52MS5HZXRTdG9yZUtpdENhdGFsb2dSZXF1ZXN0GikucHVibGljX2FwaS52MS5HZXRTdG9yZUtpdENhdGFsb2dSZXNwb25zZRJ4ChdHZXROb3RpZmljYXRpb25TZXR0aW5ncxItLnB1YmxpY19hcGkudjEuR2V0Tm90aWZpY2F0aW9uU2V0dGluZ3NSZXF1ZXN0Gi4ucHVibGljX2FwaS52MS5HZXROb3RpZmljYXRpb25TZXR0aW5nc1Jlc3BvbnNlEo0BCh5HZXROb3RpZmljYXRpb25TZXR0aW5nc0RldGFpbHMSNC5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvblNldHRpbmdzRGV0YWlsc1JlcXVlc3QaNS5wdWJsaWNfYXBpLnYxLkdldE5vdGlmaWNhdGlvblNldHRpbmdzRGV0YWlsc1Jlc3BvbnNlEnIKIFVwZGF0ZUdsb2JhbE5vdGlmaWNhdGlvblNldHRpbmdzEjYucHVibGljX2FwaS52MS5VcGRhdGVHbG9iYWxOb3RpZmljYXRpb25TZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSZgoaVXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ3MSMC5wdWJsaWNfYXBpLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJ1ChZHZXROb3RpZmljYXRpb25IaXN0b3J5EiwucHVibGljX2FwaS52MS5HZXROb3RpZmljYXRpb25IaXN0b3J5UmVxdWVzdBotLnB1YmxpY19hcGkudjEuR2V0Tm90aWZpY2F0aW9uSGlzdG9yeVJlc3BvbnNlEoQBChtHZXRBdmFpbGFibGVDb3VudEZvclByb2R1Y3QSMS5wdWJsaWNfYXBpLnYxLkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlcXVlc3QaMi5wdWJsaWNfYXBpLnYxLkdldEF2YWlsYWJsZUNvdW50Rm9yUHJvZHVjdFJlc3BvbnNlEoEBChpJc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZRIwLnB1YmxpY19hcGkudjEuSXNPbmVDbGlja1BheW1lbnRBdmFpbGFibGVSZXF1ZXN0GjEucHVibGljX2FwaS52MS5Jc09uZUNsaWNrUGF5bWVudEF2YWlsYWJsZVJlc3BvbnNlEmkKEkdldFByZU9yZGVyRGV0YWlscxIoLnB1YmxpY19hcGkudjEuR2V0UHJlT3JkZXJEZXRhaWxzUmVxdWVzdBopLnB1YmxpY19hcGkudjEuR2V0UHJlT3JkZXJEZXRhaWxzUmVzcG9uc2USewoYQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50Ei4ucHVibGljX2FwaS52MS5BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXF1ZXN0Gi8ucHVibGljX2FwaS52MS5BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRSZXNwb25zZRJ7ChhBdXRob3JpemVPbmVDbGlja1BheW1lbnQSLi5wdWJsaWNfYXBpLnYxLk9uZUNsaWNrQXV0aG9yaXplUGF5bWVudFJlcXVlc3QaLy5wdWJsaWNfYXBpLnYxLk9uZUNsaWNrQXV0aG9yaXplUGF5bWVudFJlc3BvbnNlEnYKIk5vdGlmeVVzZXJBYm91dFByb2R1Y3RBdmFpbGFiaWxpdHkSOC5wdWJsaWNfYXBpLnYxLk5vdGlmeVVzZXJBYm91dFByb2R1Y3RBdmFpbGFiaWxpdHlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EnIKFUdldFB1YmxpY09yZGVyRGV0YWlscxIrLnB1YmxpY19hcGkudjEuR2V0UHVibGljT3JkZXJEZXRhaWxzUmVxdWVzdBosLnB1YmxpY19hcGkudjEuR2V0UHVibGljT3JkZXJEZXRhaWxzUmVzcG9uc2UScgoVQWRkUHVibGljT3JkZXJDb21tZW50EisucHVibGljX2FwaS52MS5BZGRQdWJsaWNPcmRlckNvbW1lbnRSZXF1ZXN0GiwucHVibGljX2FwaS52MS5BZGRQdWJsaWNPcmRlckNvbW1lbnRSZXNwb25zZRJ1ChZHZXRPcmRlckZvclRlc3RpbW9uaWFsEiwucHVibGljX2FwaS52MS5HZXRPcmRlckZvclRlc3RpbW9uaWFsUmVxdWVzdBotLnB1YmxpY19hcGkudjEuR2V0T3JkZXJGb3JUZXN0aW1vbmlhbFJlc3BvbnNlEmYKEVN1Ym1pdFRlc3RpbW9uaWFsEicucHVibGljX2FwaS52MS5TdWJtaXRUZXN0aW1vbmlhbFJlcXVlc3QaKC5wdWJsaWNfYXBpLnYxLlN1Ym1pdFRlc3RpbW9uaWFsUmVzcG9uc2USeAoXR2V0VGVzdGltb25pYWxVcGxvYWRVcmwSLS5wdWJsaWNfYXBpLnYxLkdldFRlc3RpbW9uaWFsVXBsb2FkVXJsUmVxdWVzdBouLnB1YmxpY19hcGkudjEuR2V0VGVzdGltb25pYWxVcGxvYWRVcmxSZXNwb25zZWIGcHJvdG8z",[l,W,r,X,T,H]);var Bs=m(u,19),ys=m(u,20);var Us=m(u,74);var t=z(u,0);import{enumDesc as Js,fileDesc as j}from"@bufbuild/protobuf/codegenv2";var Y=j("Chtjb21tb24vdjEvZW52aXJvbm1lbnQucHJvdG8SCWNvbW1vbi52MSonCgtFbnZpcm9ubWVudBIOCgpQUk9EVUNUSU9OEAASCAoEVEVTVBABQk5aTGdpdGh1Yi5jb20vZW1tZW1zL3N1cGVyLWNhcnQvYXBwcy9zcnYtd29ya2VyL3V0aWxzL21vZGVscy9jb21tb24vdjE7Y29tbW9udjFiBnByb3RvMw"),L=(a=>(a[a.PRODUCTION=0]="PRODUCTION",a[a.TEST=1]="TEST",a))(L||{});import{fileDesc as D,messageDesc as vs,serviceDesc as w}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_timestamp as q}from"@bufbuild/protobuf/wkt";var O=D("ChdwdWJsaWMvdjEvcmV0dXJucy5wcm90bxIJcHVibGljLnYxImsKGVN0YXJ0UmV0dXJuU2Vzc2lvblJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIrCgtlbnZpcm9ubWVudBgDIAEoDjIWLmNvbW1vbi52MS5FbnZpcm9ubWVudCJhChpTdGFydFJldHVyblNlc3Npb25SZXNwb25zZRIUCgxjaGFsbGVuZ2VfaWQYASABKAkSHAoUcmVzZW5kX2FmdGVyX3NlY29uZHMYAiABKAUSDwoHbWVzc2FnZRgDIAEoCSKBAQoaVmVyaWZ5UmV0dXJuU2Vzc2lvblJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIUCgxjaGFsbGVuZ2VfaWQYAiABKAkSDAoEY29kZRgDIAEoCRIrCgtlbnZpcm9ubWVudBgEIAEoDjIWLmNvbW1vbi52MS5FbnZpcm9ubWVudCJkChtWZXJpZnlSZXR1cm5TZXNzaW9uUmVzcG9uc2USFQoNc2Vzc2lvbl90b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJ0ChtFeGNoYW5nZVBhbmVsU2Vzc2lvblJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIUCgxhY2Nlc3NfdG9rZW4YAiABKAkSKwoLZW52aXJvbm1lbnQYAyABKA4yFi5jb21tb24udjEuRW52aXJvbm1lbnQiZQocRXhjaGFuZ2VQYW5lbFNlc3Npb25SZXNwb25zZRIVCg1zZXNzaW9uX3Rva2VuGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjMKClJldHVyblBhZ2USEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAki1AEKElJldHVybk9yZGVyU3VtbWFyeRIaChJjYW5vbmljYWxfb3JkZXJfaWQYASABKAkSGQoRZGlzcGxheV9yZWZlcmVuY2UYAiABKAkSDwoHZ2F0ZXdheRgDIAEoCRIwCgxwdXJjaGFzZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhMKC3RvdGFsX21pbm9yGAUgASgDEhAKCGN1cnJlbmN5GAYgASgJEh0KFXJldHVybmFibGVfbGluZV9jb3VudBgHIAEoBSJrChdMaXN0UmV0dXJuT3JkZXJzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhUKDXNlc3Npb25fdG9rZW4YAiABKAkSEQoJcGFnZV9zaXplGAMgASgFEhIKCnBhZ2VfdG9rZW4YBCABKAkicQoYTGlzdFJldHVybk9yZGVyc1Jlc3BvbnNlEi0KBm9yZGVycxgBIAMoCzIdLnB1YmxpYy52MS5SZXR1cm5PcmRlclN1bW1hcnkSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEg0KBXRvdGFsGAMgASgFIsQDCg9SZXR1cm5PcmRlckxpbmUSDwoHbGluZV9pZBgBIAEoCRISCgpwcm9kdWN0X2lkGAIgASgJEhIKCnZhcmlhbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRIYChBmdWxmaWxsbWVudF90eXBlGAUgASgJEhoKEnB1cmNoYXNlZF9xdWFudGl0eRgGIAEoBRIZChFyZXNlcnZlZF9xdWFudGl0eRgHIAEoBRIZChFyZXR1cm5lZF9xdWFudGl0eRgIIAEoBRIaChJhdmFpbGFibGVfcXVhbnRpdHkYCSABKAUSGgoScmVndWxhcl91bml0X21pbm9yGAogASgDEhcKD3BhaWRfdW5pdF9taW5vchgLIAEoAxIQCghjdXJyZW5jeRgMIAEoCRIQCghlbGlnaWJsZRgNIAEoCBIYChBleGNsdXNpb25fcmVhc29uGA4gASgJEh0KFXBhaWRfbGluZV90b3RhbF9taW5vchgPIAEoAxIfChdjb3Vwb25fYWxsb2NhdGlvbl9taW5vchgQIAEoAxIVCg1hY2Nlc3Nfc291cmNlGBEgASgJEhgKEGFjY2Vzc19yZWZlcmVuY2UYEiABKAki3wEKEVJldHVybk9yZGVyRGV0YWlsEhoKEmNhbm9uaWNhbF9vcmRlcl9pZBgBIAEoCRIZChFkaXNwbGF5X3JlZmVyZW5jZRgCIAEoCRIPCgdnYXRld2F5GAMgASgJEjAKDHB1cmNoYXNlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLdG90YWxfbWlub3IYBSABKAMSEAoIY3VycmVuY3kYBiABKAkSKQoFbGluZXMYByADKAsyGi5wdWJsaWMudjEuUmV0dXJuT3JkZXJMaW5lIjsKFlJldHVyblJlcXVlc3RMaW5lSW5wdXQSDwoHbGluZV9pZBgBIAEoCRIQCghxdWFudGl0eRgCIAEoBSJzChJSZXR1cm5IaXN0b3J5RW50cnkSCgoCaWQYASABKAkSEQoJcmVmZXJlbmNlGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIuCgpjcmVhdGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCK5AQoVUmV0dXJuUmVxdWVzdExpbmVWaWV3Eg8KB2xpbmVfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYChBmdWxmaWxsbWVudF90eXBlGAMgASgJEhoKEnJlcXVlc3RlZF9xdWFudGl0eRgEIAEoBRIZChFhcHByb3ZlZF9xdWFudGl0eRgFIAEoBRIZChFyZWNlaXZlZF9xdWFudGl0eRgGIAEoBRIVCg1hY2Nlc3Nfc3RhdHVzGAcgASgJIvoCChFSZXR1cm5SZXF1ZXN0VmlldxIKCgJpZBgBIAEoCRIRCglyZWZlcmVuY2UYAiABKAkSGgoSY2Fub25pY2FsX29yZGVyX2lkGAMgASgJEg4KBnN0YXR1cxgEIAEoCRIVCg1yZWZ1bmRfc3RhdHVzGAUgASgJEhsKE3JlZnVuZF9hbW91bnRfbWlub3IYBiABKAMSEAoIY3VycmVuY3kYByABKAkSFQoNY3VzdG9tZXJfbm90ZRgIIAEoCRIPCgd2ZXJzaW9uGAkgASgDEi4KCmNyZWF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KBWxpbmVzGAsgAygLMiAucHVibGljLnYxLlJldHVyblJlcXVlc3RMaW5lVmlldxIuCgdoaXN0b3J5GAwgAygLMh0ucHVibGljLnYxLlJldHVybkhpc3RvcnlFbnRyeRIbChNyZXR1cm5faW5zdHJ1Y3Rpb25zGA0gASgJImIKGUdldFJldHVybmFibGVPcmRlclJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIVCg1zZXNzaW9uX3Rva2VuGAIgASgJEhoKEmNhbm9uaWNhbF9vcmRlcl9pZBgDIAEoCSKAAQoaR2V0UmV0dXJuYWJsZU9yZGVyUmVzcG9uc2USKwoFb3JkZXIYASABKAsyHC5wdWJsaWMudjEuUmV0dXJuT3JkZXJEZXRhaWwSNQoOcmV0dXJuX2hpc3RvcnkYAiADKAsyHS5wdWJsaWMudjEuUmV0dXJuSGlzdG9yeUVudHJ5IrwBChpDcmVhdGVSZXR1cm5SZXF1ZXN0UmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhUKDXNlc3Npb25fdG9rZW4YAiABKAkSGgoSY2Fub25pY2FsX29yZGVyX2lkGAMgASgJEjAKBWl0ZW1zGAQgAygLMiEucHVibGljLnYxLlJldHVyblJlcXVlc3RMaW5lSW5wdXQSDAoEbm90ZRgFIAEoCRIXCg9pZGVtcG90ZW5jeV9rZXkYBiABKAkiTAobQ3JlYXRlUmV0dXJuUmVxdWVzdFJlc3BvbnNlEi0KB3JlcXVlc3QYASABKAsyHC5wdWJsaWMudjEuUmV0dXJuUmVxdWVzdFZpZXciaAoUTGlzdE15UmV0dXJuc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIVCg1zZXNzaW9uX3Rva2VuGAIgASgJEhEKCXBhZ2Vfc2l6ZRgDIAEoBRISCgpwYWdlX3Rva2VuGAQgASgJIm4KFUxpc3RNeVJldHVybnNSZXNwb25zZRItCgdyZXR1cm5zGAEgAygLMhwucHVibGljLnYxLlJldHVyblJlcXVlc3RWaWV3EhcKD25leHRfcGFnZV90b2tlbhgCIAEoCRINCgV0b3RhbBgDIAEoBSJSChJHZXRNeVJldHVyblJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIVCg1zZXNzaW9uX3Rva2VuGAIgASgJEhEKCXJldHVybl9pZBgDIAEoCSJEChNHZXRNeVJldHVyblJlc3BvbnNlEi0KB3JlcXVlc3QYASABKAsyHC5wdWJsaWMudjEuUmV0dXJuUmVxdWVzdFZpZXcyigYKDlJldHVybnNTZXJ2aWNlEmEKElN0YXJ0UmV0dXJuU2Vzc2lvbhIkLnB1YmxpYy52MS5TdGFydFJldHVyblNlc3Npb25SZXF1ZXN0GiUucHVibGljLnYxLlN0YXJ0UmV0dXJuU2Vzc2lvblJlc3BvbnNlEmQKE1ZlcmlmeVJldHVyblNlc3Npb24SJS5wdWJsaWMudjEuVmVyaWZ5UmV0dXJuU2Vzc2lvblJlcXVlc3QaJi5wdWJsaWMudjEuVmVyaWZ5UmV0dXJuU2Vzc2lvblJlc3BvbnNlEmcKFEV4Y2hhbmdlUGFuZWxTZXNzaW9uEiYucHVibGljLnYxLkV4Y2hhbmdlUGFuZWxTZXNzaW9uUmVxdWVzdBonLnB1YmxpYy52MS5FeGNoYW5nZVBhbmVsU2Vzc2lvblJlc3BvbnNlElsKEExpc3RSZXR1cm5PcmRlcnMSIi5wdWJsaWMudjEuTGlzdFJldHVybk9yZGVyc1JlcXVlc3QaIy5wdWJsaWMudjEuTGlzdFJldHVybk9yZGVyc1Jlc3BvbnNlEmEKEkdldFJldHVybmFibGVPcmRlchIkLnB1YmxpYy52MS5HZXRSZXR1cm5hYmxlT3JkZXJSZXF1ZXN0GiUucHVibGljLnYxLkdldFJldHVybmFibGVPcmRlclJlc3BvbnNlEmQKE0NyZWF0ZVJldHVyblJlcXVlc3QSJS5wdWJsaWMudjEuQ3JlYXRlUmV0dXJuUmVxdWVzdFJlcXVlc3QaJi5wdWJsaWMudjEuQ3JlYXRlUmV0dXJuUmVxdWVzdFJlc3BvbnNlElIKDUxpc3RNeVJldHVybnMSHy5wdWJsaWMudjEuTGlzdE15UmV0dXJuc1JlcXVlc3QaIC5wdWJsaWMudjEuTGlzdE15UmV0dXJuc1Jlc3BvbnNlEkwKC0dldE15UmV0dXJuEh0ucHVibGljLnYxLkdldE15UmV0dXJuUmVxdWVzdBoeLnB1YmxpYy52MS5HZXRNeVJldHVyblJlc3BvbnNlYgZwcm90bzM",[Y,q]);var c=w(O,0);import{TransportProvider as vt,useMutation as kt,useQuery as xt}from"@connectrpc/connect-query";import{createConnectTransport as Mt}from"@connectrpc/connect-web";import{QueryClient as Qt,QueryClientProvider as Pt}from"@tanstack/react-query";import{useState as Kt}from"react";var b={};g(b,{createNotificationGroup:()=>ue,createNotificationGroupUser:()=>Ve,createNotificationMessage:()=>Ne,createNotificationMessageJob:()=>Be,createNotificationSetting:()=>ie,createNotificationUser:()=>me,deleteNotificationGroup:()=>ge,deleteNotificationGroupUser:()=>Ze,deleteNotificationMessage:()=>Ee,deleteNotificationMessageJob:()=>Fe,deleteNotificationSetting:()=>re,deleteNotificationUser:()=>Ae,getNotificationStats:()=>xe,getNotificationUserSettings:()=>Je,getProjectedRecipientCount:()=>ke,getSentNotificationMessages:()=>Xe,getUserGroups:()=>Ce,readNotificationGroupUsers:()=>he,readNotificationGroups:()=>pe,readNotificationMessageJobs:()=>ye,readNotificationMessages:()=>We,readNotificationProducts:()=>fe,readNotificationSetting:()=>de,readNotificationUsers:()=>be,updateNotificationGroup:()=>Re,updateNotificationGroupUser:()=>Se,updateNotificationMessage:()=>Ye,updateNotificationMessageJob:()=>Ue,updateNotificationSetting:()=>le,updateNotificationUser:()=>Ge,updateUserGroups:()=>ve,verifyUserEmail:()=>Ie});import{enumDesc as Ls,fileDesc as te,messageDesc as Ds,serviceDesc as se}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_empty as oe,file_google_protobuf_timestamp as ae}from"@bufbuild/protobuf/wkt";import{enumDesc as Ps,fileDesc as _,messageDesc as Ks,serviceDesc as zs}from"@bufbuild/protobuf/codegenv2";import{file_google_protobuf_empty as $,file_google_protobuf_timestamp as ee}from"@bufbuild/protobuf/wkt";var E=_("ChpkYXNoYm9hcmQvdjEvcHJvZHVjdC5wcm90bxIUZGFzaGJvYXJkLnByb2R1Y3QudjEiNAoeR2V0R3Vlc3RDYXRhbG9nU2V0dGluZ3NSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkibAobU2V0R3Vlc3RDYXRhbG9nRW50cnlSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkSFAoMcHJvZHVjdF90eXBlGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSEgoKc29ydF9vcmRlchgEIAEoBSL3AQofR2V0R3Vlc3RDYXRhbG9nU2V0dGluZ3NSZXNwb25zZRISCgpjYW5fbWFuYWdlGAEgASgIEh0KFWd1ZXN0X2NhdGFsb2dfZW5hYmxlZBgCIAEoCBI4CgdlbnRyaWVzGAMgAygLMicuZGFzaGJvYXJkLnByb2R1Y3QudjEuR3Vlc3RDYXRhbG9nRW50cnkSHQoVYXZhaWxhYmxlX3Byb2R1Y3RfaWRzGAQgAygJEkgKD3Byb2R1Y3Rfb3B0aW9ucxgFIAMoCzIvLmRhc2hib2FyZC5wcm9kdWN0LnYxLkd1ZXN0Q2F0YWxvZ1Byb2R1Y3RPcHRpb24iRQoZR3Vlc3RDYXRhbG9nUHJvZHVjdE9wdGlvbhISCgpwcm9kdWN0X2lkGAEgASgJEhQKDGRpc3BsYXlfbmFtZRgCIAEoCSJ+ChFHdWVzdENhdGFsb2dFbnRyeRISCgpwcm9kdWN0X2lkGAEgASgJEhQKDHByb2R1Y3RfdHlwZRgCIAEoCRIPCgdlbmFibGVkGAMgASgIEhIKCnNvcnRfb3JkZXIYBCABKAUSGgoSZWxpZ2liaWxpdHlfcmVhc29uGAUgASgJIisKFUFyY2hpdmVQcm9kdWN0UmVxdWVzdBISCgpwcm9kdWN0X2lkGAEgASgJIi0KF0R1cGxpY2F0ZVByb2R1Y3RSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkiOQoYRHVwbGljYXRlUHJvZHVjdFJlc3BvbnNlEh0KFWR1cGxpY2F0ZWRfcHJvZHVjdF9pZBgBIAEoCSI3CiBFeGNoYW5nZVByb2R1Y3RJRHNUb05hbWVzUmVxdWVzdBITCgtwcm9kdWN0X2lkcxgBIAMoCSK6AQohRXhjaGFuZ2VQcm9kdWN0SURzVG9OYW1lc1Jlc3BvbnNlEmAKDXByb2R1Y3RfbmFtZXMYASADKAsySS5kYXNoYm9hcmQucHJvZHVjdC52MS5FeGNoYW5nZVByb2R1Y3RJRHNUb05hbWVzUmVzcG9uc2UuUHJvZHVjdE5hbWVzRW50cnkaMwoRUHJvZHVjdE5hbWVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJ5ChtHZXRGaWxlQWNjZXNzTWVtYmVyc1JlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCRITCgZzZWFyY2gYAiABKAlIAIgBARIXCgp2YXJpYW50X2lkGAMgASgJSAGIAQFCCQoHX3NlYXJjaEINCgtfdmFyaWFudF9pZCLRAQocR2V0RmlsZUFjY2Vzc01lbWJlcnNSZXNwb25zZRJJCgdtZW1iZXJzGAEgAygLMjguZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0RmlsZUFjY2Vzc01lbWJlcnNSZXNwb25zZS5WYWx1ZRpmCgVWYWx1ZRIKCgJpZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIzCgpjcmVhdGVkX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg0KC19jcmVhdGVkX2F0ImQKF0dpdmVBY2Nlc3NUb0ZpbGVSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkSFwoKdmFyaWFudF9pZBgCIAEoCUgAiAEBEg0KBWVtYWlsGAMgASgJQg0KC192YXJpYW50X2lkIisKGEdpdmVBY2Nlc3NUb0ZpbGVSZXNwb25zZRIPCgdzdWNjZXNzGAEgASgIIicKGVJlbW92ZUFjY2Vzc1RvRmlsZVJlcXVlc3QSCgoCaWQYASABKAkiLQoaUmVtb3ZlQWNjZXNzVG9GaWxlUmVzcG9uc2USDwoHc3VjY2VzcxgBIAEoCCJkCh9TZW5kVGVzdEVtYWlsV2l0aE1lc3NhZ2VSZXF1ZXN0Eg0KBWVtYWlsGAEgASgJEhQKDGh0bWxfbWVzc2FnZRgCIAEoCRISCgV0aXRsZRgDIAEoCUgAiAEBQggKBl90aXRsZSIvChlHZXRQcm9kdWN0VmFyaWFudHNSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkimQEKGkdldFByb2R1Y3RWYXJpYW50c1Jlc3BvbnNlElAKCHZhcmlhbnRzGAEgAygLMj4uZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdFZhcmlhbnRzUmVzcG9uc2UuU2luZ2xlVmFyaWFudBopCg1TaW5nbGVWYXJpYW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkigwEKKFVwZGF0ZVByb2R1Y3RBZnRlclB1cmNoYXNlTWVzc2FnZVJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEhQKDGh0bWxfbWVzc2FnZRgDIAEoCRISCgV0aXRsZRgEIAEoCUgAiAEBQggKBl90aXRsZSI7CiVHZXRQcm9kdWN0QWZ0ZXJQdXJjaGFzZU1lc3NhZ2VSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkiuwIKJkdldFByb2R1Y3RBZnRlclB1cmNoYXNlTWVzc2FnZVJlc3BvbnNlElcKB3N1Y2Nlc3MYASABKAsyRC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0QWZ0ZXJQdXJjaGFzZU1lc3NhZ2VSZXNwb25zZS5TdWNjZXNzSAASNwoHZmFpbHVyZRgCIAEoDjIkLmRhc2hib2FyZC5wcm9kdWN0LnYxLkZhaWx1cmVNZXNzYWdlSAAadQoHU3VjY2VzcxIUCgdtZXNzYWdlGAEgASgJSACIAQESGQoMaHRtbF9tZXNzYWdlGAIgASgJSAGIAQESEgoFdGl0bGUYAyABKAlIAogBAUIKCghfbWVzc2FnZUIPCg1faHRtbF9tZXNzYWdlQggKBl90aXRsZUIICgZyZXN1bHQiMwodUHVibGlzaFByb2R1Y3RJZk5lZWRlZFJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCSJlCitVcGRhdGVQcm9kdWN0U2VuZFRpY2tldEFmdGVyUHVyY2hhc2VSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkSIgoac2VuZF90aWNrZXRfYWZ0ZXJfcHVyY2hhc2UYAiABKAgiVgoqVXBkYXRlUHJvZHVjdEF1ZGlvYm9va0FmdGVyUHVyY2hhc2VSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkSFAoMYXVkaW9ib29rX2lkGAIgASgJIj4KKEdldFByb2R1Y3RTZW5kVGlja2V0QWZ0ZXJQdXJjaGFzZVJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCSL5AQopR2V0UHJvZHVjdFNlbmRUaWNrZXRBZnRlclB1cmNoYXNlUmVzcG9uc2USWgoHc3VjY2VzcxgBIAEoCzJHLmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RTZW5kVGlja2V0QWZ0ZXJQdXJjaGFzZVJlc3BvbnNlLlN1Y2Nlc3NIABI3CgdmYWlsdXJlGAIgASgOMiQuZGFzaGJvYXJkLnByb2R1Y3QudjEuRmFpbHVyZU1lc3NhZ2VIABotCgdTdWNjZXNzEiIKGnNlbmRfdGlja2V0X2FmdGVyX3B1cmNoYXNlGAEgASgIQggKBnJlc3VsdCI9CidHZXRQcm9kdWN0QXVkaW9ib29rQWZ0ZXJQdXJjaGFzZVJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCSKfAgooR2V0UHJvZHVjdEF1ZGlvYm9va0FmdGVyUHVyY2hhc2VSZXNwb25zZRJZCgdzdWNjZXNzGAEgASgLMkYuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdEF1ZGlvYm9va0FmdGVyUHVyY2hhc2VSZXNwb25zZS5TdWNjZXNzSAASNwoHZmFpbHVyZRgCIAEoDjIkLmRhc2hib2FyZC5wcm9kdWN0LnYxLkZhaWx1cmVNZXNzYWdlSAAaVQoHU3VjY2VzcxIUCgxhdWRpb2Jvb2tfaWQYASABKAkSFwoPYXVkaW9ib29rX3RpdGxlGAIgASgJEhsKE2F1ZGlvYm9va19pbWFnZV91cmwYAyABKAlCCAoGcmVzdWx0IjcKFVNlYXJjaFByb2R1Y3RzUmVxdWVzdBITCgZzZWFyY2gYASABKAlIAIgBAUIJCgdfc2VhcmNoIswCChZTZWFyY2hQcm9kdWN0c1Jlc3BvbnNlEkYKB3N1Y2Nlc3MYASABKAsyMy5kYXNoYm9hcmQucHJvZHVjdC52MS5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlLlJlc3VsdEgAEjcKB2ZhaWx1cmUYAiABKA4yJC5kYXNoYm9hcmQucHJvZHVjdC52MS5GYWlsdXJlTWVzc2FnZUgAGk8KDVNpbmdsZVByb2R1Y3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIWCglpbWFnZV91cmwYAyABKAlIAIgBAUIMCgpfaW1hZ2VfdXJsGlYKBlJlc3VsdBJMCghwcm9kdWN0cxgBIAMoCzI6LmRhc2hib2FyZC5wcm9kdWN0LnYxLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2UuU2luZ2xlUHJvZHVjdEIICgZyZXN1bHQiNQofR2V0UHJvZHVjdEJvdWdodEFydGljbGVzUmVxdWVzdBISCgpwcm9kdWN0X2lkGAEgASgJImAKIEdldFByb2R1Y3RCb3VnaHRBcnRpY2xlc1Jlc3BvbnNlEjwKCGFydGljbGVzGAEgAygLMiouZGFzaGJvYXJkLnByb2R1Y3QudjEuUHJvZHVjdEJvdWdodEFydGljbGUiiAEKFFByb2R1Y3RCb3VnaHRBcnRpY2xlEgoKAmlkGAEgASgJEhIKCnByb2R1Y3RfaWQYAiABKAkSFAoHY29udGVudBgDIAEoCUgAiAEBEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgoKCF9jb250ZW50ImAKIVVwZGF0ZVByb2R1Y3RCb3VnaHRBcnRpY2xlUmVxdWVzdBI7CgdhcnRpY2xlGAEgASgLMiouZGFzaGJvYXJkLnByb2R1Y3QudjEuUHJvZHVjdEJvdWdodEFydGljbGUiJwoRR2V0UHJvZHVjdFJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCSKBAgoSR2V0UHJvZHVjdFJlc3BvbnNlEjIKB3Byb2R1Y3QYASABKAsyHy5kYXNoYm9hcmQucHJvZHVjdC52MS5Qcm9kdWN0VjJIABI3CgdmYWlsdXJlGAIgASgOMiQuZGFzaGJvYXJkLnByb2R1Y3QudjEuRmFpbHVyZU1lc3NhZ2VIABJGCgpzZWxsX3N0YXRzGAMgAygLMjIuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdFJlc3BvbnNlLlNlbGxTdGF0cxosCglTZWxsU3RhdHMSEQoJcHJvZHVjdElEGAEgASgJEgwKBHNvbGQYAiABKAVCCAoGcmVzdWx0InIKHENyZWF0ZU9yVXBkYXRlUHJvZHVjdFJlcXVlc3QSMAoHcHJvZHVjdBgBIAEoCzIfLmRhc2hib2FyZC5wcm9kdWN0LnYxLlByb2R1Y3RWMhIgChhpc19kZXNjcmlwdGlvbl9kaWZmZXJlbnQYAiABKAgiTQoeVXBkYXRlUHJvZHVjdFVuaXF1ZVNsdWdSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkSFwoPbmV3X3VuaXF1ZV9zbHVnGAIgASgJIqULCglQcm9kdWN0VjISDwoCaWQYASABKAlIAIgBARITCgt1bmlxdWVfc2x1ZxgCIAEoCRISCgpwcm9qZWN0X2lkGAMgASgJEjYKBnN0YXR1cxgEIAEoDjImLmRhc2hib2FyZC5wcm9kdWN0LnYxLlByb2R1Y3RWMi5TdGF0dXMSGQoMaXNfcmVjdXJyaW5nGAUgASgISAGIAQESNwoJcmVjdXJyaW5nGAYgASgLMh8uZGFzaGJvYXJkLnByb2R1Y3QudjEuUmVjdXJyaW5nSAKIAQESDAoEbmFtZRgHIAEoCRIYCgtkZXNjcmlwdGlvbhgIIAEoCUgDiAEBEh0KEGh0bWxfZGVzY3JpcHRpb24YCSABKAlIBIgBARIeChFzaG9ydF9kZXNjcmlwdGlvbhgKIAEoCUgFiAEBEhkKDHByaWNlX2Ftb3VudBgLIAEoBUgGiAEBEhsKDnByaWNlX2N1cnJlbmN5GAwgASgJSAeIAQESEAoDdGF4GA0gASgCSAiIAQESHwoSYXZhaWxhYmxlX3F1YW50aXR5GA4gASgFSAmIAQESPwoIZmVhdHVyZXMYDyADKAsyLS5kYXNoYm9hcmQucHJvZHVjdC52MS5Qcm9kdWN0VjIuRmVhdHVyZXNFbnRyeRIOCgZpbWFnZXMYECADKAkSHAoPdGh1bWJuYWlsX2ltYWdlGBEgASgJSAqIAQESFwoKbWFpbl9pbWFnZRgSIAEoCUgLiAEBEi8KCHZhcmlhbnRzGBMgAygLMh0uZGFzaGJvYXJkLnByb2R1Y3QudjEuVmFyaWFudBInChpzZW5kX3RpY2tldF9hZnRlcl9wdXJjaGFzZRgUIAEoCEgMiAEBEicKGmlzX3Byb2R1Y3RfdmlzaWJsZV9vbl9saXN0GBUgASgISA2IAQESGwoOaXNfZGVsaXZlcmFibGUYGCABKAhIDogBARIhChRmb3JjZV9tYW51YWxfcGF5bWVudBgdIAEoCEgPiAEBEhkKDHdlaWdodF9ncmFtcxgeIAEoBUgQiAEBEh4KEXdpZHRoX21pbGxpbWV0ZXJzGB8gASgFSBGIAQESHwoSaGVpZ2h0X21pbGxpbWV0ZXJzGCAgASgFSBKIAQESEgoKY3JlYXRlZF9hdBgZIAEoAxISCgp1cGRhdGVkX2F0GBogASgDEhcKCmRlbGV0ZWRfYXQYGyABKANIE4gBARIVCghhcmNoaXZlZBgcIAEoCEgUiAEBEhAKCHJldmlzaW9uGCEgASgFGi8KDUZlYXR1cmVzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIzCgZTdGF0dXMSCQoFRFJBRlQQABIPCgtVTlBVQkxJU0hFRBABEg0KCVBVQkxJU0hFRBACQgUKA19pZEIPCg1faXNfcmVjdXJyaW5nQgwKCl9yZWN1cnJpbmdCDgoMX2Rlc2NyaXB0aW9uQhMKEV9odG1sX2Rlc2NyaXB0aW9uQhQKEl9zaG9ydF9kZXNjcmlwdGlvbkIPCg1fcHJpY2VfYW1vdW50QhEKD19wcmljZV9jdXJyZW5jeUIGCgRfdGF4QhUKE19hdmFpbGFibGVfcXVhbnRpdHlCEgoQX3RodW1ibmFpbF9pbWFnZUINCgtfbWFpbl9pbWFnZUIdChtfc2VuZF90aWNrZXRfYWZ0ZXJfcHVyY2hhc2VCHQobX2lzX3Byb2R1Y3RfdmlzaWJsZV9vbl9saXN0QhEKD19pc19kZWxpdmVyYWJsZUIXChVfZm9yY2VfbWFudWFsX3BheW1lbnRCDwoNX3dlaWdodF9ncmFtc0IUChJfd2lkdGhfbWlsbGltZXRlcnNCFQoTX2hlaWdodF9taWxsaW1ldGVyc0INCgtfZGVsZXRlZF9hdEILCglfYXJjaGl2ZWQiuwMKCVJlY3VycmluZxI6Cg1iaWxsaW5nUGVyaW9kGAEgASgOMiMuZGFzaGJvYXJkLnByb2R1Y3QudjEuQmlsbGluZ1BlcmlvZBIXCgp0cmlhbF9kYXlzGAIgASgFSACIAQESHwoSbnVtYmVyX29mX3BheW1lbnRzGAMgASgFSAGIAQESMQokY2hhbmdlX2Ftb3VudF9mb3JfY3VycmVudFN1YnNjcmliZXJzGAQgASgISAKIAQESNAoncmVtb3ZlX2FjY2Vzc19mb3JfY2FuY2VsbGVkX3N1YnNjcmliZXJzGAUgASgISAOIAQESLgohc2hvdWxkX3NlbmRfdHJpYWxfcGVyaW9kX3JlbWluZGVyGAYgASgISASIAQFCDQoLX3RyaWFsX2RheXNCFQoTX251bWJlcl9vZl9wYXltZW50c0InCiVfY2hhbmdlX2Ftb3VudF9mb3JfY3VycmVudFN1YnNjcmliZXJzQioKKF9yZW1vdmVfYWNjZXNzX2Zvcl9jYW5jZWxsZWRfc3Vic2NyaWJlcnNCJAoiX3Nob3VsZF9zZW5kX3RyaWFsX3BlcmlvZF9yZW1pbmRlciKrAgoPVmFyaWFudERpc2NvdW50EjgKBHR5cGUYASABKA4yKi5kYXNoYm9hcmQucHJvZHVjdC52MS5WYXJpYW50RGlzY291bnQuVHlwZRIOCgZhbW91bnQYAiABKAUSMQoIZW5kX2RhdGUYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESDwoCaWQYBCABKAlIAYgBARIPCgdlbmFibGVkGAUgASgIEjMKCnN0YXJ0X2RhdGUYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQEiIQoEVHlwZRIJCgVGSVhFRBAAEg4KClBFUkNFTlRBR0UQAUILCglfZW5kX2RhdGVCBQoDX2lkQg0KC19zdGFydF9kYXRlIt0GCgdWYXJpYW50EgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARIWCglpbWFnZV91cmwYBCABKAlIAYgBARIUCgxwcmljZV9hbW91bnQYBSABKAUSFgoOcHJpY2VfY3VycmVuY3kYBiABKAkSEAoDdGF4GAcgASgFSAKIAQESHwoSYXZhaWxhYmxlX3F1YW50aXR5GAggASgFSAOIAQESNwoJcmVjdXJyaW5nGAkgASgLMh8uZGFzaGJvYXJkLnByb2R1Y3QudjEuUmVjdXJyaW5nSASIAQESGwoOaXNfZGVsaXZlcmFibGUYCiABKAhIBYgBARIhChRsb3dlc3RfcHJpY2VfMzBfZGF5cxgLIAEoBUgGiAEBEjwKCGRpc2NvdW50GAwgASgLMiUuZGFzaGJvYXJkLnByb2R1Y3QudjEuVmFyaWFudERpc2NvdW50SAeIAQESPgoVZXN0aW1hdGVkX2RlbGl2ZXJ5X2F0GA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgIiAEBEhwKFHJlZ3VsYXJfcHJpY2VfYW1vdW50GA4gASgFEh4KFmVmZmVjdGl2ZV9wcmljZV9hbW91bnQYDyABKAUSIwoWcmVmZXJlbmNlX3ByaWNlX2Ftb3VudBgQIAEoBUgJiAEBEiMKG3JlZmVyZW5jZV9oaXN0b3J5X2F2YWlsYWJsZRgRIAEoCBIVCg1wcmljZV92ZXJzaW9uGBIgASgDEj0KFG5leHRfcHJpY2VfY2hhbmdlX2F0GBMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgKiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfaW1hZ2VfdXJsQgYKBF90YXhCFQoTX2F2YWlsYWJsZV9xdWFudGl0eUIMCgpfcmVjdXJyaW5nQhEKD19pc19kZWxpdmVyYWJsZUIXChVfbG93ZXN0X3ByaWNlXzMwX2RheXNCCwoJX2Rpc2NvdW50QhgKFl9lc3RpbWF0ZWRfZGVsaXZlcnlfYXRCGQoXX3JlZmVyZW5jZV9wcmljZV9hbW91bnRCFwoVX25leHRfcHJpY2VfY2hhbmdlX2F0IngKHUNyZWF0ZU9yVXBkYXRlUHJvZHVjdFJlc3BvbnNlEhQKCnByb2R1Y3RfaWQYASABKAlIABI3CgdmYWlsdXJlGAIgASgOMiQuZGFzaGJvYXJkLnByb2R1Y3QudjEuRmFpbHVyZU1lc3NhZ2VIAEIICgZyZXN1bHQifAoMQm9vbFJlc3BvbnNlEikKB3N1Y2Nlc3MYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlIABI3CgdmYWlsdXJlGAIgASgOMiQuZGFzaGJvYXJkLnByb2R1Y3QudjEuRmFpbHVyZU1lc3NhZ2VIAEIICgZyZXN1bHQiIgoPT3BlcmF0aW9uUmVzdWx0Eg8KB3N1Y2Nlc3MYASABKAgiUAoSR2V0UHJvZHVjdHNSZXF1ZXN0EhMKBnNlYXJjaBgBIAEoCUgAiAEBEhEKBHR5cGUYAiABKAlIAYgBAUIJCgdfc2VhcmNoQgcKBV90eXBlIrwBChNHZXRQcm9kdWN0c1Jlc3BvbnNlEkMKB3N1Y2Nlc3MYASABKAsyMC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0c1Jlc3BvbnNlLlJlc3VsdEgAEjcKB2ZhaWx1cmUYAiABKA4yJC5kYXNoYm9hcmQucHJvZHVjdC52MS5GYWlsdXJlTWVzc2FnZUgAGh0KBlJlc3VsdBITCgtwcm9kdWN0X2lkcxgBIAMoCUIICgZyZXN1bHQilgEKF0dldFByb2R1Y3RzQnlJZHNSZXF1ZXN0EgsKA2lkcxgBIAMoCRIVCghjdXJyZW5jeRgCIAEoCUgAiAEBEhEKBGxhbmcYAyABKAlIAYgBARIbCg5ncm91cF92YXJpYW50cxgEIAEoCEgCiAEBQgsKCV9jdXJyZW5jeUIHCgVfbGFuZ0IRCg9fZ3JvdXBfdmFyaWFudHMiwQIKGEdldFByb2R1Y3RzQnlJZHNSZXNwb25zZRJICgdzdWNjZXNzGAEgASgLMjUuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdHNCeUlkc1Jlc3BvbnNlLlJlc3VsdEgAEjcKB2ZhaWx1cmUYAiABKA4yJC5kYXNoYm9hcmQucHJvZHVjdC52MS5GYWlsdXJlTWVzc2FnZUgAGkQKB1Byb2R1Y3QSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRINCgVwcmljZRgDIAEoBRIQCghjdXJyZW5jeRgEIAEoCRpSCgZSZXN1bHQSSAoIcHJvZHVjdHMYASADKAsyNi5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0c0J5SWRzUmVzcG9uc2UuUHJvZHVjdEIICgZyZXN1bHQi3QEKFUdldFByb2R1Y3RHcmlkUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhMKBnNlYXJjaBgCIAEoCUgAiAEBEhUKCGN1cnJlbmN5GAMgASgJSAGIAQESGwoOZ3JvdXBfdmFyaWFudHMYBCABKAhIAogBARITCgZvZmZzZXQYBSABKAVIA4gBARISCgVsaW1pdBgGIAEoBUgEiAEBQgkKB19zZWFyY2hCCwoJX2N1cnJlbmN5QhEKD19ncm91cF92YXJpYW50c0IJCgdfb2Zmc2V0QggKBl9saW1pdCLCAQoWR2V0UHJvZHVjdEdyaWRSZXNwb25zZRJGCgdzdWNjZXNzGAEgASgLMjMuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdEdyaWRSZXNwb25zZS5SZXN1bHRIABI3CgdmYWlsdXJlGAIgASgOMiQuZGFzaGJvYXJkLnByb2R1Y3QudjEuRmFpbHVyZU1lc3NhZ2VIABodCgZSZXN1bHQSEwoLcHJvZHVjdF9pZHMYASADKAlCCAoGcmVzdWx0ItYBChpHZXRNYWluUGFnZVByb2R1Y3RzUmVxdWVzdBIXCgpwcm9qZWN0X2lkGAEgASgJSACIAQESEwoGc2VhcmNoGAIgASgJSAGIAQESEgoFbGltaXQYAyABKAVIAogBARITCgZvZmZzZXQYBCABKAVIA4gBARIdChBpbmNsdWRlX2FyY2hpdmVkGAUgASgISASIAQFCDQoLX3Byb2plY3RfaWRCCQoHX3NlYXJjaEIICgZfbGltaXRCCQoHX29mZnNldEITChFfaW5jbHVkZV9hcmNoaXZlZCL2AQobR2V0TWFpblBhZ2VQcm9kdWN0c1Jlc3BvbnNlEksKB3N1Y2Nlc3MYASABKAsyOC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRNYWluUGFnZVByb2R1Y3RzUmVzcG9uc2UuUmVzdWx0SAASNwoHZmFpbHVyZRgCIAEoDjIkLmRhc2hib2FyZC5wcm9kdWN0LnYxLkZhaWx1cmVNZXNzYWdlSAAaRwoGUmVzdWx0EhMKC3Byb2R1Y3RfaWRzGAEgAygJEhgKC3RvdGFsX2NvdW50GAIgASgFSACIAQFCDgoMX3RvdGFsX2NvdW50QggKBnJlc3VsdCI6CiNHZXRQdWJsaWNQcm9kdWN0QnlVbmlxdWVTbHVnUmVxdWVzdBITCgt1bmlxdWVfc2x1ZxgBIAEoCSKXBAokR2V0UHVibGljUHJvZHVjdEJ5VW5pcXVlU2x1Z1Jlc3BvbnNlElQKB3N1Y2Nlc3MYASABKAsyQS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQdWJsaWNQcm9kdWN0QnlVbmlxdWVTbHVnUmVzcG9uc2UuUmVzdWx0SAASNwoHZmFpbHVyZRgCIAEoDjIkLmRhc2hib2FyZC5wcm9kdWN0LnYxLkZhaWx1cmVNZXNzYWdlSAAa1QIKBlJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhQKB21lc3NhZ2UYAiABKAlIAIgBARISCgpwcm9qZWN0X2lkGAMgASgJEgoKAmlkGAQgASgJEgwKBG5hbWUYBSABKAkSHgoRc2hvcnRfZGVzY3JpcHRpb24YBiABKAlIAYgBARIZCgxwcmljZV9hbW91bnQYByABKAVIAogBARIbCg5wcmljZV9jdXJyZW5jeRgIIAEoCUgDiAEBEhcKCm1haW5faW1hZ2UYCSABKAlIBIgBARIcCg90aHVtYm5haWxfaW1hZ2UYCiABKAlIBYgBAUIKCghfbWVzc2FnZUIUChJfc2hvcnRfZGVzY3JpcHRpb25CDwoNX3ByaWNlX2Ftb3VudEIRCg9fcHJpY2VfY3VycmVuY3lCDQoLX21haW5faW1hZ2VCEgoQX3RodW1ibmFpbF9pbWFnZUIICgZyZXN1bHQiYQoaR2V0UHVibGljQWdyZWVtZW50c1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRITCgtwcm9kdWN0X2lkcxgCIAMoCRIaChJjb250YWluc19yZWN1cnJpbmcYAyABKAgi5QIKG0dldFB1YmxpY0FncmVlbWVudHNSZXNwb25zZRJLCgdzdWNjZXNzGAEgASgLMjguZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHVibGljQWdyZWVtZW50c1Jlc3BvbnNlLlJlc3VsdEgAEjcKB2ZhaWx1cmUYAiABKA4yJC5kYXNoYm9hcmQucHJvZHVjdC52MS5GYWlsdXJlTWVzc2FnZUgAGisKCUFncmVlbWVudBIMCgRuYW1lGAEgASgJEhAKCHJlcXVpcmVkGAIgASgIGogBCgZSZXN1bHQSDwoHc3VjY2VzcxgBIAEoCBIUCgdtZXNzYWdlGAIgASgJSACIAQESSwoGcmVzdWx0GAMgAygLMjsuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHVibGljQWdyZWVtZW50c1Jlc3BvbnNlLkFncmVlbWVudEIKCghfbWVzc2FnZUIICgZyZXN1bHQiPAomR2V0RVByb2R1Y3RzQWRkZWRGb3JUaGlzUHJvZHVjdFJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCSLlAQonR2V0RVByb2R1Y3RzQWRkZWRGb3JUaGlzUHJvZHVjdFJlc3BvbnNlElcKB3N1Y2Nlc3MYASABKAsyRC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRFUHJvZHVjdHNBZGRlZEZvclRoaXNQcm9kdWN0UmVzcG9uc2UuUmVzdWx0SAASNwoHZmFpbHVyZRgCIAEoDjIkLmRhc2hib2FyZC5wcm9kdWN0LnYxLkZhaWx1cmVNZXNzYWdlSAAaHgoGUmVzdWx0EhQKDGVwcm9kdWN0X2lkcxgBIAMoCUIICgZyZXN1bHQiVQopVXBkYXRlRVByb2R1Y3RzQWRkZWRGb3JUaGlzUHJvZHVjdFJlcXVlc3QSEgoKcHJvZHVjdF9pZBgBIAEoCRIUCgxlcHJvZHVjdF9pZHMYAiADKAkiOgokR2V0TGlzdE9mQWRkaXRpb25hbEFncmVlbWVudHNSZXF1ZXN0EhIKCnByb2R1Y3RfaWQYASABKAkiUAoPQWdyZWVtZW50T3B0aW9uEgwKBG5hbWUYASABKAkSEwoLaXNfcmVxdWlyZWQYAiABKAgSEQoEbGluaxgDIAEoCUgAiAEBQgcKBV9saW5rIrUCCiVHZXRMaXN0T2ZBZGRpdGlvbmFsQWdyZWVtZW50c1Jlc3BvbnNlElUKB3N1Y2Nlc3MYASABKAsyQi5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRMaXN0T2ZBZGRpdGlvbmFsQWdyZWVtZW50c1Jlc3BvbnNlLlJlc3VsdEgAEjcKB2ZhaWx1cmUYAiABKA4yJC5kYXNoYm9hcmQucHJvZHVjdC52MS5GYWlsdXJlTWVzc2FnZUgAGnIKBlJlc3VsdBIPCgdzdWNjZXNzGAEgASgIEhQKB21lc3NhZ2UYAiABKAlIAIgBARI1CgZyZXN1bHQYAyADKAsyJS5kYXNoYm9hcmQucHJvZHVjdC52MS5BZ3JlZW1lbnRPcHRpb25CCgoIX21lc3NhZ2VCCAoGcmVzdWx0IngKJ1VwZGF0ZUxpc3RPZkFkZGl0aW9uYWxBZ3JlZW1lbnRzUmVxdWVzdBISCgpwcm9kdWN0X2lkGAEgASgJEjkKCmFncmVlbWVudHMYAiADKAsyJS5kYXNoYm9hcmQucHJvZHVjdC52MS5BZ3JlZW1lbnRPcHRpb24iJAoUQ3JlYXRlUHJvZHVjdFJlcXVlc3QSDAoEbmFtZRgBIAEoCSIqChREZWxldGVQcm9kdWN0UmVxdWVzdBISCgpwcm9kdWN0X2lkGAEgASgJIjcKFUdldFByb2R1Y3RCeUlkUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEgoKAmlkGAIgASgJKr0BCg1CaWxsaW5nUGVyaW9kEhgKFEJJTExJTkdfUEVSSU9EX0RBSUxZEAASGQoVQklMTElOR19QRVJJT0RfV0VFS0xZEAESGgoWQklMTElOR19QRVJJT0RfTU9OVEhMWRACEhwKGEJJTExJTkdfUEVSSU9EX1FVQVJURVJMWRADEiAKHEJJTExJTkdfUEVSSU9EX1NFTUlfQU5OVUFMTFkQBBIbChdCSUxMSU5HX1BFUklPRF9BTk5VQUxMWRAFKpUCCg5GYWlsdXJlTWVzc2FnZRIbChdGQUlMVVJFX01FU1NBR0VfVU5LTk9XThAAEiUKIUZBSUxVUkVfTUVTU0FHRV9QUk9KRUNUX05PVF9GT1VORBABEiUKIUZBSUxVUkVfTUVTU0FHRV9QUk9EVUNUX05PVF9GT1VORBACEiYKIkZBSUxVUkVfTUVTU0FHRV9JTlZBTElEX1BST0RVQ1RfSUQQAxImCiJGQUlMVVJFX01FU1NBR0VfU0xVR19BTFJFQURZX1RBS0VOEAQSKQolRkFJTFVSRV9NRVNTQUdFX0NBTk5PVF9DUkVBVEVfUFJPRFVDVBAFEh0KGUZBSUxVUkVfTUVTU0FHRV9OT19BQ0NFU1MQBjLXJQoNUHJvZHVjdFJvdXRlchKAAQoVQ3JlYXRlT3JVcGRhdGVQcm9kdWN0EjIuZGFzaGJvYXJkLnByb2R1Y3QudjEuQ3JlYXRlT3JVcGRhdGVQcm9kdWN0UmVxdWVzdBozLmRhc2hib2FyZC5wcm9kdWN0LnYxLkNyZWF0ZU9yVXBkYXRlUHJvZHVjdFJlc3BvbnNlEnEKEER1cGxpY2F0ZVByb2R1Y3QSLS5kYXNoYm9hcmQucHJvZHVjdC52MS5EdXBsaWNhdGVQcm9kdWN0UmVxdWVzdBouLmRhc2hib2FyZC5wcm9kdWN0LnYxLkR1cGxpY2F0ZVByb2R1Y3RSZXNwb25zZRJzChdVcGRhdGVQcm9kdWN0VW5pcXVlU2x1ZxI0LmRhc2hib2FyZC5wcm9kdWN0LnYxLlVwZGF0ZVByb2R1Y3RVbmlxdWVTbHVnUmVxdWVzdBoiLmRhc2hib2FyZC5wcm9kdWN0LnYxLkJvb2xSZXNwb25zZRJfCgpHZXRQcm9kdWN0EicuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdFJlcXVlc3QaKC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0UmVzcG9uc2USpAEKIUdldFByb2R1Y3RTZW5kVGlja2V0QWZ0ZXJQdXJjaGFzZRI+LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RTZW5kVGlja2V0QWZ0ZXJQdXJjaGFzZVJlcXVlc3QaPy5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0U2VuZFRpY2tldEFmdGVyUHVyY2hhc2VSZXNwb25zZRKhAQogR2V0UHJvZHVjdEF1ZGlvYm9va0FmdGVyUHVyY2hhc2USPS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0QXVkaW9ib29rQWZ0ZXJQdXJjaGFzZVJlcXVlc3QaPi5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0QXVkaW9ib29rQWZ0ZXJQdXJjaGFzZVJlc3BvbnNlEo0BCiRVcGRhdGVQcm9kdWN0U2VuZFRpY2tldEFmdGVyUHVyY2hhc2USQS5kYXNoYm9hcmQucHJvZHVjdC52MS5VcGRhdGVQcm9kdWN0U2VuZFRpY2tldEFmdGVyUHVyY2hhc2VSZXF1ZXN0GiIuZGFzaGJvYXJkLnByb2R1Y3QudjEuQm9vbFJlc3BvbnNlEosBCiNVcGRhdGVQcm9kdWN0QXVkaW9ib29rQWZ0ZXJQdXJjaGFzZRJALmRhc2hib2FyZC5wcm9kdWN0LnYxLlVwZGF0ZVByb2R1Y3RBdWRpb2Jvb2tBZnRlclB1cmNoYXNlUmVxdWVzdBoiLmRhc2hib2FyZC5wcm9kdWN0LnYxLkJvb2xSZXNwb25zZRJxChZQdWJsaXNoUHJvZHVjdElmTmVlZGVkEjMuZGFzaGJvYXJkLnByb2R1Y3QudjEuUHVibGlzaFByb2R1Y3RJZk5lZWRlZFJlcXVlc3QaIi5kYXNoYm9hcmQucHJvZHVjdC52MS5Cb29sUmVzcG9uc2USmwEKHkdldFByb2R1Y3RBZnRlclB1cmNoYXNlTWVzc2FnZRI7LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RBZnRlclB1cmNoYXNlTWVzc2FnZVJlcXVlc3QaPC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0QWZ0ZXJQdXJjaGFzZU1lc3NhZ2VSZXNwb25zZRKHAQohVXBkYXRlUHJvZHVjdEFmdGVyUHVyY2hhc2VNZXNzYWdlEj4uZGFzaGJvYXJkLnByb2R1Y3QudjEuVXBkYXRlUHJvZHVjdEFmdGVyUHVyY2hhc2VNZXNzYWdlUmVxdWVzdBoiLmRhc2hib2FyZC5wcm9kdWN0LnYxLkJvb2xSZXNwb25zZRJ3ChJHZXRQcm9kdWN0VmFyaWFudHMSLy5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0VmFyaWFudHNSZXF1ZXN0GjAuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdFZhcmlhbnRzUmVzcG9uc2USdQoYU2VuZFRlc3RFbWFpbFdpdGhNZXNzYWdlEjUuZGFzaGJvYXJkLnByb2R1Y3QudjEuU2VuZFRlc3RFbWFpbFdpdGhNZXNzYWdlUmVxdWVzdBoiLmRhc2hib2FyZC5wcm9kdWN0LnYxLkJvb2xSZXNwb25zZRJrCg5TZWFyY2hQcm9kdWN0cxIrLmRhc2hib2FyZC5wcm9kdWN0LnYxLlNlYXJjaFByb2R1Y3RzUmVxdWVzdBosLmRhc2hib2FyZC5wcm9kdWN0LnYxLlNlYXJjaFByb2R1Y3RzUmVzcG9uc2USjAEKGUV4Y2hhbmdlUHJvZHVjdElEc1RvTmFtZXMSNi5kYXNoYm9hcmQucHJvZHVjdC52MS5FeGNoYW5nZVByb2R1Y3RJRHNUb05hbWVzUmVxdWVzdBo3LmRhc2hib2FyZC5wcm9kdWN0LnYxLkV4Y2hhbmdlUHJvZHVjdElEc1RvTmFtZXNSZXNwb25zZRKJAQoYR2V0UHJvZHVjdEJvdWdodEFydGljbGVzEjUuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdEJvdWdodEFydGljbGVzUmVxdWVzdBo2LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RCb3VnaHRBcnRpY2xlc1Jlc3BvbnNlEnkKGlVwZGF0ZVByb2R1Y3RCb3VnaHRBcnRpY2xlEjcuZGFzaGJvYXJkLnByb2R1Y3QudjEuVXBkYXRlUHJvZHVjdEJvdWdodEFydGljbGVSZXF1ZXN0GiIuZGFzaGJvYXJkLnByb2R1Y3QudjEuQm9vbFJlc3BvbnNlEmkKF0FkZFByb2R1Y3RCb3VnaHRBcnRpY2xlEiouZGFzaGJvYXJkLnByb2R1Y3QudjEuUHJvZHVjdEJvdWdodEFydGljbGUaIi5kYXNoYm9hcmQucHJvZHVjdC52MS5Cb29sUmVzcG9uc2USfQoUR2V0RmlsZUFjY2Vzc01lbWJlcnMSMS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRGaWxlQWNjZXNzTWVtYmVyc1JlcXVlc3QaMi5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRGaWxlQWNjZXNzTWVtYmVyc1Jlc3BvbnNlEnEKEEdpdmVBY2Nlc3NUb0ZpbGUSLS5kYXNoYm9hcmQucHJvZHVjdC52MS5HaXZlQWNjZXNzVG9GaWxlUmVxdWVzdBouLmRhc2hib2FyZC5wcm9kdWN0LnYxLkdpdmVBY2Nlc3NUb0ZpbGVSZXNwb25zZRJ3ChJSZW1vdmVBY2Nlc3NUb0ZpbGUSLy5kYXNoYm9hcmQucHJvZHVjdC52MS5SZW1vdmVBY2Nlc3NUb0ZpbGVSZXF1ZXN0GjAuZGFzaGJvYXJkLnByb2R1Y3QudjEuUmVtb3ZlQWNjZXNzVG9GaWxlUmVzcG9uc2USYQoOQXJjaGl2ZVByb2R1Y3QSKy5kYXNoYm9hcmQucHJvZHVjdC52MS5BcmNoaXZlUHJvZHVjdFJlcXVlc3QaIi5kYXNoYm9hcmQucHJvZHVjdC52MS5Cb29sUmVzcG9uc2USYwoQVW5hcmNoaXZlUHJvZHVjdBIrLmRhc2hib2FyZC5wcm9kdWN0LnYxLkFyY2hpdmVQcm9kdWN0UmVxdWVzdBoiLmRhc2hib2FyZC5wcm9kdWN0LnYxLkJvb2xSZXNwb25zZRJiCgtHZXRQcm9kdWN0cxIoLmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RzUmVxdWVzdBopLmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RzUmVzcG9uc2UScQoQR2V0UHJvZHVjdHNCeUlkcxItLmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFByb2R1Y3RzQnlJZHNSZXF1ZXN0Gi4uZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdHNCeUlkc1Jlc3BvbnNlEmsKDkdldFByb2R1Y3RHcmlkEisuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdEdyaWRSZXF1ZXN0GiwuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHJvZHVjdEdyaWRSZXNwb25zZRJ6ChNHZXRNYWluUGFnZVByb2R1Y3RzEjAuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0TWFpblBhZ2VQcm9kdWN0c1JlcXVlc3QaMS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRNYWluUGFnZVByb2R1Y3RzUmVzcG9uc2USlQEKHEdldFB1YmxpY1Byb2R1Y3RCeVVuaXF1ZVNsdWcSOS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQdWJsaWNQcm9kdWN0QnlVbmlxdWVTbHVnUmVxdWVzdBo6LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldFB1YmxpY1Byb2R1Y3RCeVVuaXF1ZVNsdWdSZXNwb25zZRJ6ChNHZXRQdWJsaWNBZ3JlZW1lbnRzEjAuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0UHVibGljQWdyZWVtZW50c1JlcXVlc3QaMS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQdWJsaWNBZ3JlZW1lbnRzUmVzcG9uc2USngEKH0dldEVQcm9kdWN0c0FkZGVkRm9yVGhpc1Byb2R1Y3QSPC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRFUHJvZHVjdHNBZGRlZEZvclRoaXNQcm9kdWN0UmVxdWVzdBo9LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldEVQcm9kdWN0c0FkZGVkRm9yVGhpc1Byb2R1Y3RSZXNwb25zZRKMAQoiVXBkYXRlRVByb2R1Y3RzQWRkZWRGb3JUaGlzUHJvZHVjdBI/LmRhc2hib2FyZC5wcm9kdWN0LnYxLlVwZGF0ZUVQcm9kdWN0c0FkZGVkRm9yVGhpc1Byb2R1Y3RSZXF1ZXN0GiUuZGFzaGJvYXJkLnByb2R1Y3QudjEuT3BlcmF0aW9uUmVzdWx0EpgBCh1HZXRMaXN0T2ZBZGRpdGlvbmFsQWdyZWVtZW50cxI6LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldExpc3RPZkFkZGl0aW9uYWxBZ3JlZW1lbnRzUmVxdWVzdBo7LmRhc2hib2FyZC5wcm9kdWN0LnYxLkdldExpc3RPZkFkZGl0aW9uYWxBZ3JlZW1lbnRzUmVzcG9uc2USiAEKIFVwZGF0ZUxpc3RPZkFkZGl0aW9uYWxBZ3JlZW1lbnRzEj0uZGFzaGJvYXJkLnByb2R1Y3QudjEuVXBkYXRlTGlzdE9mQWRkaXRpb25hbEFncmVlbWVudHNSZXF1ZXN0GiUuZGFzaGJvYXJkLnByb2R1Y3QudjEuT3BlcmF0aW9uUmVzdWx0EmIKDUNyZWF0ZVByb2R1Y3QSKi5kYXNoYm9hcmQucHJvZHVjdC52MS5DcmVhdGVQcm9kdWN0UmVxdWVzdBolLmRhc2hib2FyZC5wcm9kdWN0LnYxLk9wZXJhdGlvblJlc3VsdBJiCg1EZWxldGVQcm9kdWN0EiouZGFzaGJvYXJkLnByb2R1Y3QudjEuRGVsZXRlUHJvZHVjdFJlcXVlc3QaJS5kYXNoYm9hcmQucHJvZHVjdC52MS5PcGVyYXRpb25SZXN1bHQSZwoOR2V0UHJvZHVjdEJ5SWQSKy5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0QnlJZFJlcXVlc3QaKC5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRQcm9kdWN0UmVzcG9uc2UShgEKF0dldEd1ZXN0Q2F0YWxvZ1NldHRpbmdzEjQuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0R3Vlc3RDYXRhbG9nU2V0dGluZ3NSZXF1ZXN0GjUuZGFzaGJvYXJkLnByb2R1Y3QudjEuR2V0R3Vlc3RDYXRhbG9nU2V0dGluZ3NSZXNwb25zZRKAAQoUU2V0R3Vlc3RDYXRhbG9nRW50cnkSMS5kYXNoYm9hcmQucHJvZHVjdC52MS5TZXRHdWVzdENhdGFsb2dFbnRyeVJlcXVlc3QaNS5kYXNoYm9hcmQucHJvZHVjdC52MS5HZXRHdWVzdENhdGFsb2dTZXR0aW5nc1Jlc3BvbnNlYgZwcm90bzM",[$,ee]);var ne=te("CiBkYXNoYm9hcmQvdjEvbm90aWZpY2F0aW9ucy5wcm90bxIaZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEiYAoWVmVyaWZ5VXNlckVtYWlsUmVxdWVzdBISCgVlbWFpbBgBIAEoCUgAiAEBEhEKBGNvZGUYAiABKAlIAYgBARIMCgRzbHVnGAMgASgJQggKBl9lbWFpbEIHCgVfY29kZSJ/ChdWZXJpZnlVc2VyRW1haWxSZXNwb25zZRIPCgJvaxgBIAEoCEgAiAEBEhkKDGFjY2Vzc190b2tlbhgCIAEoCUgBiAEBEhQKB3VzZXJfaWQYAyABKAlIAogBAUIFCgNfb2tCDwoNX2FjY2Vzc190b2tlbkIKCghfdXNlcl9pZCJQChRHZXRVc2VyR3JvdXBzUmVxdWVzdBIMCgRzbHVnGAEgASgJEhkKDGFjY2Vzc190b2tlbhgCIAEoCUgAiAEBQg8KDV9hY2Nlc3NfdG9rZW4iiQIKFUdldFVzZXJHcm91cHNSZXNwb25zZRJHCgZncm91cHMYASADKAsyNy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXRVc2VyR3JvdXBzUmVzcG9uc2UuR3JvdXAapgEKBUdyb3VwEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARINCgVpc19vbhgEIAEoCBI8Cglob3dfb2Z0ZW4YBSABKA4yJC5jb21tb24udjEuTm90aWZpY2F0aW9uR3JvdXBIb3dPZnRlbkgBiAEBQg4KDF9kZXNjcmlwdGlvbkIMCgpfaG93X29mdGVuIncKF1VwZGF0ZVVzZXJHcm91cHNSZXF1ZXN0EgwKBHNsdWcYASABKAkSDwoHdXNlcl9pZBgCIAEoCRIRCglncm91cF9pZHMYAyADKAkSGQoMYWNjZXNzX3Rva2VuGAQgASgJSACIAQFCDwoNX2FjY2Vzc190b2tlbiJvCiJHZXROb3RpZmljYXRpb25Vc2VyU2V0dGluZ3NSZXF1ZXN0EgwKBHNsdWcYASABKAkSDwoHdXNlcl9pZBgCIAEoCRIZCgxhY2Nlc3NfdG9rZW4YAyABKAlIAIgBAUIPCg1fYWNjZXNzX3Rva2VuIowECiNHZXROb3RpZmljYXRpb25Vc2VyU2V0dGluZ3NSZXNwb25zZRJZCgdzdWNjZXNzGAEgASgLMkYuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0Tm90aWZpY2F0aW9uVXNlclNldHRpbmdzUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAAawAIKBlJlc3VsdBIfChdub3RpZmljYXRpb25fc2V0dGluZ19pZBgBIAEoCRIZChFzdWJzY3JpcHRpb25fc2x1ZxgCIAEoCRIjChttb2JpbGVfbm90aWZpY2F0aW9uX2VuYWJsZWQYAyABKAgSIgoaZW1haWxfbm90aWZpY2F0aW9uX2VuYWJsZWQYBCABKAgSIAoYc21zX25vdGlmaWNhdGlvbl9lbmFibGVkGAUgASgIEiQKHGVtYWlsX25vdGlmaWNhdGlvbl9hdmFpbGFibGUYBiABKAgSIgoac21zX25vdGlmaWNhdGlvbl9hdmFpbGFibGUYByABKAgSJQodbW9iaWxlX25vdGlmaWNhdGlvbl9hdmFpbGFibGUYCCABKAgSHgoWaGFzX3VzZXJfaW5zdGFsbGVkX2FwcBgJIAEoCEIICgZyZXN1bHQiIgogQ3JlYXRlTm90aWZpY2F0aW9uU2V0dGluZ1JlcXVlc3QiIAoeUmVhZE5vdGlmaWNhdGlvblNldHRpbmdSZXF1ZXN0IskBCiBVcGRhdGVOb3RpZmljYXRpb25TZXR0aW5nUmVxdWVzdBIfChdub3RpZmljYXRpb25fc2V0dGluZ19pZBgBIAEoCRIZChFzdWJzY3JpcHRpb25fc2x1ZxgCIAEoCRIjChttb2JpbGVfbm90aWZpY2F0aW9uX2VuYWJsZWQYAyABKAgSIgoaZW1haWxfbm90aWZpY2F0aW9uX2VuYWJsZWQYBCABKAgSIAoYc21zX25vdGlmaWNhdGlvbl9lbmFibGVkGAUgASgIIkMKIERlbGV0ZU5vdGlmaWNhdGlvblNldHRpbmdSZXF1ZXN0Eh8KF25vdGlmaWNhdGlvbl9zZXR0aW5nX2lkGAEgASgJIvMCCh9SZWFkTm90aWZpY2F0aW9uU2V0dGluZ1Jlc3BvbnNlElUKB3N1Y2Nlc3MYASABKAsyQi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uU2V0dGluZ1Jlc3BvbnNlLlJlc3VsdEgAEj0KB2ZhaWx1cmUYAiABKA4yKi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5GYWlsdXJlTWVzc2FnZUgAGq8BCgZSZXN1bHQSHwoXbm90aWZpY2F0aW9uX3NldHRpbmdfaWQYASABKAkSGQoRc3Vic2NyaXB0aW9uX3NsdWcYAiABKAkSIwobbW9iaWxlX25vdGlmaWNhdGlvbl9lbmFibGVkGAMgASgIEiIKGmVtYWlsX25vdGlmaWNhdGlvbl9lbmFibGVkGAQgASgIEiAKGHNtc19ub3RpZmljYXRpb25fZW5hYmxlZBgFIAEoCEIICgZyZXN1bHQi5AEKG05vdGlmaWNhdGlvblNldHRpbmdSZXNwb25zZRJRCgdzdWNjZXNzGAEgASgLMj4uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uU2V0dGluZ1Jlc3BvbnNlLlJlc3VsdEgAEj0KB2ZhaWx1cmUYAiABKA4yKi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5GYWlsdXJlTWVzc2FnZUgAGikKBlJlc3VsdBIfChdub3RpZmljYXRpb25fc2V0dGluZ19pZBgBIAEoCUIICgZyZXN1bHQiygEKHkNyZWF0ZU5vdGlmaWNhdGlvbkdyb3VwUmVxdWVzdBIMCgRuYW1lGAEgASgJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESPAoJaG93X29mdGVuGAMgASgOMiQuY29tbW9uLnYxLk5vdGlmaWNhdGlvbkdyb3VwSG93T2Z0ZW5IAYgBARIWCglpc19wdWJsaWMYBCABKAhIAogBAUIOCgxfZGVzY3JpcHRpb25CDAoKX2hvd19vZnRlbkIMCgpfaXNfcHVibGljIloKHVJlYWROb3RpZmljYXRpb25Hcm91cHNSZXF1ZXN0EhEKCWdyb3VwX2lkcxgBIAMoCRIXCgpncm91cF9uYW1lGAIgASgJSACIAQFCDQoLX2dyb3VwX25hbWUi6QEKHlVwZGF0ZU5vdGlmaWNhdGlvbkdyb3VwUmVxdWVzdBIdChVub3RpZmljYXRpb25fZ3JvdXBfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIYCgtkZXNjcmlwdGlvbhgDIAEoCUgAiAEBEjwKCWhvd19vZnRlbhgEIAEoDjIkLmNvbW1vbi52MS5Ob3RpZmljYXRpb25Hcm91cEhvd09mdGVuSAGIAQESFgoJaXNfcHVibGljGAUgASgISAKIAQFCDgoMX2Rlc2NyaXB0aW9uQgwKCl9ob3dfb2Z0ZW5CDAoKX2lzX3B1YmxpYyI/Ch5EZWxldGVOb3RpZmljYXRpb25Hcm91cFJlcXVlc3QSHQoVbm90aWZpY2F0aW9uX2dyb3VwX2lkGAEgASgJIuoDCh5SZWFkTm90aWZpY2F0aW9uR3JvdXBzUmVzcG9uc2USVAoHc3VjY2VzcxgBIAEoCzJBLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25Hcm91cHNSZXNwb25zZS5SZXN1bHRIABI9CgdmYWlsdXJlGAIgASgOMiouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRmFpbHVyZU1lc3NhZ2VIABrMAQoFR3JvdXASHQoVbm90aWZpY2F0aW9uX2dyb3VwX2lkGAEgASgJEgwKBG5hbWUYAiABKAkSGAoLZGVzY3JpcHRpb24YAyABKAlIAIgBARI8Cglob3dfb2Z0ZW4YBCABKA4yJC5jb21tb24udjEuTm90aWZpY2F0aW9uR3JvdXBIb3dPZnRlbkgBiAEBEg0KBXVzZXJzGAUgASgFEhEKCWlzX3B1YmxpYxgGIAEoCEIOCgxfZGVzY3JpcHRpb25CDAoKX2hvd19vZnRlbhpaCgZSZXN1bHQSUAoGZ3JvdXBzGAEgAygLMkAuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbkdyb3Vwc1Jlc3BvbnNlLkdyb3VwQggKBnJlc3VsdCLeAQoZTm90aWZpY2F0aW9uR3JvdXBSZXNwb25zZRJPCgdzdWNjZXNzGAEgASgLMjwuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uR3JvdXBSZXNwb25zZS5SZXN1bHRIABI9CgdmYWlsdXJlGAIgASgOMiouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRmFpbHVyZU1lc3NhZ2VIABonCgZSZXN1bHQSHQoVbm90aWZpY2F0aW9uX2dyb3VwX2lkGAEgASgJQggKBnJlc3VsdCKjAgodQ3JlYXRlTm90aWZpY2F0aW9uVXNlclJlcXVlc3QSDAoEc2x1ZxgBIAEoCRINCgVlbWFpbBgCIAEoCRIOCgZncm91cHMYAyADKAkSEgoFcGhvbmUYBCABKAlIAIgBARIXCgpmaXJzdF9uYW1lGAUgASgJSAGIAQESFgoJbGFzdF9uYW1lGAYgASgJSAKIAQESIwobbW9iaWxlX25vdGlmaWNhdGlvbl9lbmFibGVkGAcgASgIEiIKGmVtYWlsX25vdGlmaWNhdGlvbl9lbmFibGVkGAggASgIEiAKGHNtc19ub3RpZmljYXRpb25fZW5hYmxlZBgJIAEoCEIICgZfcGhvbmVCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZSJYChxSZWFkTm90aWZpY2F0aW9uVXNlcnNSZXF1ZXN0EhAKCHVzZXJfaWRzGAEgAygJEhcKCnVzZXJfZW1haWwYAiABKAlIAIgBAUINCgtfdXNlcl9lbWFpbCKwAgodVXBkYXRlTm90aWZpY2F0aW9uVXNlclJlcXVlc3QSDAoEc2x1ZxgBIAEoCRIcChRub3RpZmljYXRpb25fdXNlcl9pZBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESIwobbW9iaWxlX25vdGlmaWNhdGlvbl9lbmFibGVkGAUgASgIEiIKGmVtYWlsX25vdGlmaWNhdGlvbl9lbmFibGVkGAYgASgIEiAKGHNtc19ub3RpZmljYXRpb25fZW5hYmxlZBgHIAEoCBIZCgxhY2Nlc3NfdG9rZW4YCCABKAlIAogBAUINCgtfZmlyc3RfbmFtZUIMCgpfbGFzdF9uYW1lQg8KDV9hY2Nlc3NfdG9rZW4iagodRGVsZXRlTm90aWZpY2F0aW9uVXNlclJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoCRIMCgRzbHVnGAIgASgJEhkKDGFjY2Vzc190b2tlbhgDIAEoCUgAiAEBQg8KDV9hY2Nlc3NfdG9rZW4i+AEKHVJlYWROb3RpZmljYXRpb25Vc2Vyc1Jlc3BvbnNlElMKB3N1Y2Nlc3MYASABKAsyQC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uVXNlcnNSZXNwb25zZS5SZXN1bHRIABI9CgdmYWlsdXJlGAIgASgOMiouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRmFpbHVyZU1lc3NhZ2VIABo5CgZSZXN1bHQSLwoFdXNlcnMYASADKAsyIC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Vc2VyQggKBnJlc3VsdCKpAgoYTm90aWZpY2F0aW9uVXNlclJlc3BvbnNlEk4KB3N1Y2Nlc3MYASABKAsyOy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Vc2VyUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAASGQoMYWNjZXNzX3Rva2VuGAMgASgJSAGIAQESFAoHdXNlcl9pZBgEIAEoCUgCiAEBGiYKBlJlc3VsdBIcChRub3RpZmljYXRpb25fdXNlcl9pZBgBIAEoCUIICgZyZXN1bHRCDwoNX2FjY2Vzc190b2tlbkIKCghfdXNlcl9pZCJhCiJDcmVhdGVOb3RpZmljYXRpb25Hcm91cFVzZXJSZXF1ZXN0Eh0KFW5vdGlmaWNhdGlvbl9ncm91cF9pZBgBIAEoCRIcChRub3RpZmljYXRpb25fdXNlcl9pZBgCIAEoCSI3CiJSZWFkTm90aWZpY2F0aW9uR3JvdXBVc2Vyc1JlcXVlc3RzEhEKCWdyb3VwX2lkcxgBIAMoCSKFAQoiVXBkYXRlTm90aWZpY2F0aW9uR3JvdXBVc2VyUmVxdWVzdBIiChpub3RpZmljYXRpb25fZ3JvdXBfdXNlcl9pZBgBIAEoCRIdChVub3RpZmljYXRpb25fZ3JvdXBfaWQYAiABKAkSHAoUbm90aWZpY2F0aW9uX3VzZXJfaWQYAyABKAkiSAoiRGVsZXRlTm90aWZpY2F0aW9uR3JvdXBVc2VyUmVxdWVzdBIiChpub3RpZmljYXRpb25fZ3JvdXBfdXNlcl9pZBgBIAEoCSKCAgoiUmVhZE5vdGlmaWNhdGlvbkdyb3VwVXNlcnNSZXNwb25zZRJYCgdzdWNjZXNzGAEgASgLMkUuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbkdyb3VwVXNlcnNSZXNwb25zZS5SZXN1bHRIABI9CgdmYWlsdXJlGAIgASgOMiouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRmFpbHVyZU1lc3NhZ2VIABo5CgZSZXN1bHQSLwoFdXNlcnMYASADKAsyIC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Vc2VyQggKBnJlc3VsdCLrAQodTm90aWZpY2F0aW9uR3JvdXBVc2VyUmVzcG9uc2USUwoHc3VjY2VzcxgBIAEoCzJALmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbkdyb3VwVXNlclJlc3BvbnNlLlJlc3VsdEgAEj0KB2ZhaWx1cmUYAiABKA4yKi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5GYWlsdXJlTWVzc2FnZUgAGiwKBlJlc3VsdBIiChpub3RpZmljYXRpb25fZ3JvdXBfdXNlcl9pZBgBIAEoCUIICgZyZXN1bHQikwQKE05vdGlmaWNhdGlvbk1lc3NhZ2USHwoXbm90aWZpY2F0aW9uX21lc3NhZ2VfaWQYASABKAkSRQoGc3RhdHVzGAIgASgOMjUuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uTWVzc2FnZVN0YXR1cxIrCgdzZW5kX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0aXRsZRgEIAEoCRIVCghzdWJ0aXRsZRgFIAEoCUgAiAEBEhQKB21lc3NhZ2UYBiABKAlIAYgBARIWCglpbWFnZV91cmwYByABKAlIAogBARIVCghvcGVuX3VybBgPIAEoCUgDiAEBEg4KBmdyb3VwcxgIIAMoCRIQCghwcm9kdWN0cxgJIAMoCRINCgV1c2VycxgKIAMoCRIjChttb2JpbGVfbm90aWZpY2F0aW9uX2VuYWJsZWQYCyABKAgSIgoaZW1haWxfbm90aWZpY2F0aW9uX2VuYWJsZWQYDCABKAgSIAoYc21zX25vdGlmaWNhdGlvbl9lbmFibGVkGA0gASgIEhoKDWVycm9yX21lc3NhZ2UYDiABKAlIBIgBAUILCglfc3VidGl0bGVCCgoIX21lc3NhZ2VCDAoKX2ltYWdlX3VybEILCglfb3Blbl91cmxCEAoOX2Vycm9yX21lc3NhZ2Ui0QMKIENyZWF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VSZXF1ZXN0EkUKBnN0YXR1cxgBIAEoDjI1LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbk1lc3NhZ2VTdGF0dXMSKwoHc2VuZF9hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdGl0bGUYAyABKAkSFQoIc3VidGl0bGUYBCABKAlIAIgBARIUCgdtZXNzYWdlGAUgASgJSAGIAQESFgoJaW1hZ2VfdXJsGAYgASgJSAKIAQESFQoIb3Blbl91cmwYDSABKAlIA4gBARIOCgZncm91cHMYByADKAkSEAoIcHJvZHVjdHMYCCADKAkSDQoFdXNlcnMYCSADKAkSIwobbW9iaWxlX25vdGlmaWNhdGlvbl9lbmFibGVkGAogASgIEiIKGmVtYWlsX25vdGlmaWNhdGlvbl9lbmFibGVkGAsgASgIEiAKGHNtc19ub3RpZmljYXRpb25fZW5hYmxlZBgMIAEoCEILCglfc3VidGl0bGVCCgoIX21lc3NhZ2VCDAoKX2ltYWdlX3VybEILCglfb3Blbl91cmwipAIKIkdldFNlbnROb3RpZmljYXRpb25NZXNzYWdlc1JlcXVlc3QSJAoXbm90aWZpY2F0aW9uX21lc3NhZ2VfaWQYASABKAlIAIgBARIzCgpzdGFydF90aW1lGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgBiAEBEjEKCGVuZF90aW1lGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEiAKE2luY2x1ZGVfZXhwb3J0X2RhdGEYBCABKAhIA4gBAUIaChhfbm90aWZpY2F0aW9uX21lc3NhZ2VfaWRCDQoLX3N0YXJ0X3RpbWVCCwoJX2VuZF90aW1lQhYKFF9pbmNsdWRlX2V4cG9ydF9kYXRhIuEDCiNHZXRTZW50Tm90aWZpY2F0aW9uTWVzc2FnZXNSZXNwb25zZRJZCgdzdWNjZXNzGAEgASgLMkYuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0U2VudE5vdGlmaWNhdGlvbk1lc3NhZ2VzUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAAaKAoYTm90aWZpY2F0aW9uTWVzc2FnZVN0YXRzEgwKBHNlbnQYASABKAUa6wEKBlJlc3VsdBJOChVub3RpZmljYXRpb25fbWVzc2FnZXMYASADKAsyLy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlEmcKBXN0YXRzGAIgASgLMlguZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0U2VudE5vdGlmaWNhdGlvbk1lc3NhZ2VzUmVzcG9uc2UuTm90aWZpY2F0aW9uTWVzc2FnZVN0YXRzEhgKC2V4cG9ydF9kYXRhGAMgASgMSACIAQFCDgoMX2V4cG9ydF9kYXRhQggKBnJlc3VsdCJjCh9SZWFkTm90aWZpY2F0aW9uTWVzc2FnZXNSZXF1ZXN0EiQKF25vdGlmaWNhdGlvbl9tZXNzYWdlX2lkGAEgASgJSACIAQFCGgoYX25vdGlmaWNhdGlvbl9tZXNzYWdlX2lkIvwDCiBVcGRhdGVOb3RpZmljYXRpb25NZXNzYWdlUmVxdWVzdBIfChdub3RpZmljYXRpb25fbWVzc2FnZV9pZBgBIAEoCRJFCgZzdGF0dXMYAiABKA4yNS5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlU3RhdHVzEisKB3NlbmRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRpdGxlGAQgASgJEhUKCHN1YnRpdGxlGAUgASgJSACIAQESFAoHbWVzc2FnZRgGIAEoCUgBiAEBEhYKCWltYWdlX3VybBgHIAEoCUgCiAEBEg4KBmdyb3VwcxgIIAMoCRIQCghwcm9kdWN0cxgJIAMoCRINCgV1c2VycxgKIAMoCRIjChttb2JpbGVfbm90aWZpY2F0aW9uX2VuYWJsZWQYCyABKAgSIgoaZW1haWxfbm90aWZpY2F0aW9uX2VuYWJsZWQYDCABKAgSIAoYc21zX25vdGlmaWNhdGlvbl9lbmFibGVkGA0gASgIEhoKDWVycm9yX21lc3NhZ2UYDiABKAlIA4gBAUILCglfc3VidGl0bGVCCgoIX21lc3NhZ2VCDAoKX2ltYWdlX3VybEIQCg5fZXJyb3JfbWVzc2FnZSJDCiBEZWxldGVOb3RpZmljYXRpb25NZXNzYWdlUmVxdWVzdBIfChdub3RpZmljYXRpb25fbWVzc2FnZV9pZBgBIAEoCSKdAgogUmVhZE5vdGlmaWNhdGlvbk1lc3NhZ2VzUmVzcG9uc2USVgoHc3VjY2VzcxgBIAEoCzJDLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25NZXNzYWdlc1Jlc3BvbnNlLlJlc3VsdEgAEj0KB2ZhaWx1cmUYAiABKA4yKi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5GYWlsdXJlTWVzc2FnZUgAGlgKBlJlc3VsdBJOChVub3RpZmljYXRpb25fbWVzc2FnZXMYASADKAsyLy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlQggKBnJlc3VsdCLkAQobTm90aWZpY2F0aW9uTWVzc2FnZVJlc3BvbnNlElEKB3N1Y2Nlc3MYASABKAsyPi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAAaKQoGUmVzdWx0Eh8KF25vdGlmaWNhdGlvbl9tZXNzYWdlX2lkGAEgASgJQggKBnJlc3VsdCKSAgojQ3JlYXRlTm90aWZpY2F0aW9uTWVzc2FnZUpvYlJlcXVlc3QSSAoGc3RhdHVzGAEgASgOMjguZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uTWVzc2FnZUpvYlN0YXR1cxIrCgdzZW50X2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBITCgtjdXN0b21lcl9pZBgDIAEoCRIfChdub3RpZmljYXRpb25fbWVzc2FnZV9pZBgEIAEoCRIQCghwcmlvcml0eRgFIAMoCRIaCg1lcnJvcl9tZXNzYWdlGAYgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UibgoiUmVhZE5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JzUmVxdWVzdBIoChtub3RpZmljYXRpb25fbWVzc2FnZV9qb2JfaWQYASABKAlIAIgBAUIeChxfbm90aWZpY2F0aW9uX21lc3NhZ2Vfam9iX2lkIu8BCiNVcGRhdGVOb3RpZmljYXRpb25NZXNzYWdlSm9iUmVxdWVzdBIjChtub3RpZmljYXRpb25fbWVzc2FnZV9qb2JfaWQYASABKAkSSAoGc3RhdHVzGAIgASgOMjguZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uTWVzc2FnZUpvYlN0YXR1cxIrCgdzZW50X2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIaCg1lcnJvcl9tZXNzYWdlGAQgASgJSACIAQFCEAoOX2Vycm9yX21lc3NhZ2UiSgojRGVsZXRlTm90aWZpY2F0aW9uTWVzc2FnZUpvYlJlcXVlc3QSIwobbm90aWZpY2F0aW9uX21lc3NhZ2Vfam9iX2lkGAEgASgJIvwECiNSZWFkTm90aWZpY2F0aW9uTWVzc2FnZUpvYnNSZXNwb25zZRJZCgdzdWNjZXNzGAEgASgLMkYuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JzUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAAaqgIKFk5vdGlmaWNhdGlvbk1lc3NhZ2VKb2ISIwobbm90aWZpY2F0aW9uX21lc3NhZ2Vfam9iX2lkGAEgASgJEkgKBnN0YXR1cxgCIAEoDjI4LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JTdGF0dXMSKwoHc2VudF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEwoLY3VzdG9tZXJfaWQYBCABKAkSHwoXbm90aWZpY2F0aW9uX21lc3NhZ2VfaWQYBSABKAkSEAoIcHJpb3JpdHkYBiADKAkSGgoNZXJyb3JfbWVzc2FnZRgHIAEoCUgAiAEBQhAKDl9lcnJvcl9tZXNzYWdlGoMBCgZSZXN1bHQSeQoZbm90aWZpY2F0aW9uX21lc3NhZ2Vfam9icxgBIAMoCzJWLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25NZXNzYWdlSm9ic1Jlc3BvbnNlLk5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JCCAoGcmVzdWx0Iu4BCh5Ob3RpZmljYXRpb25NZXNzYWdlSm9iUmVzcG9uc2USVAoHc3VjY2VzcxgBIAEoCzJBLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JSZXNwb25zZS5SZXN1bHRIABI9CgdmYWlsdXJlGAIgASgOMiouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRmFpbHVyZU1lc3NhZ2VIABotCgZSZXN1bHQSIwobbm90aWZpY2F0aW9uX21lc3NhZ2Vfam9iX2lkGAEgASgJQggKBnJlc3VsdCLQAgoEVXNlchIcChRub3RpZmljYXRpb25fdXNlcl9pZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIXCgpmaXJzdF9uYW1lGAMgASgJSACIAQESFgoJbGFzdF9uYW1lGAQgASgJSAGIAQESIwobbW9iaWxlX25vdGlmaWNhdGlvbl9lbmFibGVkGAUgASgIEiIKGmVtYWlsX25vdGlmaWNhdGlvbl9lbmFibGVkGAYgASgIEiAKGHNtc19ub3RpZmljYXRpb25fZW5hYmxlZBgHIAEoCBIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIdChBpc19hcHBfaW5zdGFsbGVkGAkgASgISAKIAQFCDQoLX2ZpcnN0X25hbWVCDAoKX2xhc3RfbmFtZUITChFfaXNfYXBwX2luc3RhbGxlZCI2Ch9SZWFkTm90aWZpY2F0aW9uUHJvZHVjdHNSZXF1ZXN0EhMKC3Byb2R1Y3RfaWRzGAEgAygJIlQKIUdldFByb2plY3RlZFJlY2lwaWVudENvdW50UmVxdWVzdBIOCgZncm91cHMYASADKAkSEAoIcHJvZHVjdHMYAiADKAkSDQoFdXNlcnMYAyADKAkicQoiR2V0UHJvamVjdGVkUmVjaXBpZW50Q291bnRSZXNwb25zZRINCgV0b3RhbBgBIAEoBRITCgtlbWFpbF9jb3VudBgCIAEoBRIRCglzbXNfY291bnQYAyABKAUSFAoMbW9iaWxlX2NvdW50GAQgASgFIqEBChtHZXROb3RpZmljYXRpb25TdGF0c1JlcXVlc3QSMwoKc3RhcnRfdGltZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIxCghlbmRfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBAUINCgtfc3RhcnRfdGltZUILCglfZW5kX3RpbWUi2QUKHEdldE5vdGlmaWNhdGlvblN0YXRzUmVzcG9uc2USUgoHc3VjY2VzcxgBIAEoCzI/LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkdldE5vdGlmaWNhdGlvblN0YXRzUmVzcG9uc2UuUmVzdWx0SAASPQoHZmFpbHVyZRgCIAEoDjIqLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkZhaWx1cmVNZXNzYWdlSAAaZAoPU3RhdHVzQnJlYWtkb3duEg4KBmRyYWZ0cxgBIAEoBRIPCgdwbGFubmVkGAIgASgFEhMKC2luX3Byb2dyZXNzGAMgASgFEgwKBHNlbnQYBCABKAUSDQoFZXJyb3IYBSABKAUaPgoQQ2hhbm5lbEJyZWFrZG93bhIOCgZtb2JpbGUYASABKAUSDQoFZW1haWwYAiABKAUSCwoDc21zGAMgASgFGiwKDVRpbWVsaW5lUG9pbnQSDAoEZGF0ZRgBIAEoCRINCgVjb3VudBgCIAEoBRrHAgoGUmVzdWx0EmIKEHN0YXR1c19icmVha2Rvd24YASABKAsySC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXROb3RpZmljYXRpb25TdGF0c1Jlc3BvbnNlLlN0YXR1c0JyZWFrZG93bhJkChFjaGFubmVsX2JyZWFrZG93bhgCIAEoCzJJLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkdldE5vdGlmaWNhdGlvblN0YXRzUmVzcG9uc2UuQ2hhbm5lbEJyZWFrZG93bhJYCgh0aW1lbGluZRgDIAMoCzJGLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkdldE5vdGlmaWNhdGlvblN0YXRzUmVzcG9uc2UuVGltZWxpbmVQb2ludBIZChF0b3RhbF9zdWJzY3JpYmVycxgEIAEoBUIICgZyZXN1bHQqWQoZTm90aWZpY2F0aW9uTWVzc2FnZVN0YXR1cxIJCgVEUkFGVBAAEgsKB1BMQU5ORUQQARIPCgtJTl9QUk9HUkVTUxACEggKBFNFTlQQAxIJCgVFUlJPUhAEKs4BChxOb3RpZmljYXRpb25NZXNzYWdlSm9iU3RhdHVzEigKJE5PVElGSUNBVElPTl9NRVNTQUdFX0pPQl9TVEFUVVNfVE9ETxAAEi8KK05PVElGSUNBVElPTl9NRVNTQUdFX0pPQl9TVEFUVVNfSU5fUFJPR1JFU1MQARIoCiROT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfU1RBVFVTX1NFTlQQAhIpCiVOT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfU1RBVFVTX0VSUk9SEAMqtw4KDkZhaWx1cmVNZXNzYWdlEhsKF0ZBSUxVUkVfTUVTU0FHRV9VTktOT1dOEAASJQohRkFJTFVSRV9NRVNTQUdFX1BST0pFQ1RfTk9UX0ZPVU5EEAESMgouRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9TRVRUSU5HX05PVF9GT1VORBACEjYKMkZBSUxVUkVfTUVTU0FHRV9DUkVBVEVfTk9USUZJQ0FUSU9OX1NFVFRJTkdfRkFJTEVEEAMSNgoyRkFJTFVSRV9NRVNTQUdFX1VQREFURV9OT1RJRklDQVRJT05fU0VUVElOR19GQUlMRUQQBBI2CjJGQUlMVVJFX01FU1NBR0VfREVMRVRFX05PVElGSUNBVElPTl9TRVRUSU5HX0ZBSUxFRBAFEjAKLEZBSUxVUkVfTUVTU0FHRV9OT1RJRklDQVRJT05fR1JPVVBfTk9UX0ZPVU5EEAYSMQotRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9HUk9VUFNfTk9UX0ZPVU5EEAcSNAowRkFJTFVSRV9NRVNTQUdFX0NSRUFURV9OT1RJRklDQVRJT05fR1JPVVBfRkFJTEVEEAgSNAowRkFJTFVSRV9NRVNTQUdFX1VQREFURV9OT1RJRklDQVRJT05fR1JPVVBfRkFJTEVEEAkSNAowRkFJTFVSRV9NRVNTQUdFX0RFTEVURV9OT1RJRklDQVRJT05fR1JPVVBfRkFJTEVEEAoSLworRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9VU0VSX05PVF9GT1VORBALEjAKLEZBSUxVUkVfTUVTU0FHRV9OT1RJRklDQVRJT05fVVNFUlNfTk9UX0ZPVU5EEAwSMwovRkFJTFVSRV9NRVNTQUdFX0NSRUFURV9OT1RJRklDQVRJT05fVVNFUl9GQUlMRUQQDRIzCi9GQUlMVVJFX01FU1NBR0VfVVBEQVRFX05PVElGSUNBVElPTl9VU0VSX0ZBSUxFRBAOEjMKL0ZBSUxVUkVfTUVTU0FHRV9ERUxFVEVfTk9USUZJQ0FUSU9OX1VTRVJfRkFJTEVEEA8SNQoxRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9HUk9VUF9VU0VSX05PVF9GT1VORBAQEjkKNUZBSUxVUkVfTUVTU0FHRV9DUkVBVEVfTk9USUZJQ0FUSU9OX0dST1VQX1VTRVJfRkFJTEVEEBESOQo1RkFJTFVSRV9NRVNTQUdFX1VQREFURV9OT1RJRklDQVRJT05fR1JPVVBfVVNFUl9GQUlMRUQQEhI5CjVGQUlMVVJFX01FU1NBR0VfREVMRVRFX05PVElGSUNBVElPTl9HUk9VUF9VU0VSX0ZBSUxFRBATEjIKLkZBSUxVUkVfTUVTU0FHRV9OT1RJRklDQVRJT05fTUVTU0FHRV9OT1RfRk9VTkQQFBIzCi9GQUlMVVJFX01FU1NBR0VfTk9USUZJQ0FUSU9OX01FU1NBR0VTX05PVF9GT1VORBAVEjYKMkZBSUxVUkVfTUVTU0FHRV9DUkVBVEVfTk9USUZJQ0FUSU9OX01FU1NBR0VfRkFJTEVEEBYSNgoyRkFJTFVSRV9NRVNTQUdFX1VQREFURV9OT1RJRklDQVRJT05fTUVTU0FHRV9GQUlMRUQQFxI2CjJGQUlMVVJFX01FU1NBR0VfREVMRVRFX05PVElGSUNBVElPTl9NRVNTQUdFX0ZBSUxFRBAYEjYKMkZBSUxVUkVfTUVTU0FHRV9OT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfTk9UX0ZPVU5EEBkSNwozRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9NRVNTQUdFX0pPQlNfTk9UX0ZPVU5EEBoSOgo2RkFJTFVSRV9NRVNTQUdFX0NSRUFURV9OT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfRkFJTEVEEBsSOgo2RkFJTFVSRV9NRVNTQUdFX1VQREFURV9OT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfRkFJTEVEEBwSOgo2RkFJTFVSRV9NRVNTQUdFX0RFTEVURV9OT1RJRklDQVRJT05fTUVTU0FHRV9KT0JfRkFJTEVEEB0SNgoyRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9TRVRUSU5HX0FMUkVBRFlfRVhJU1QQHhI7CjdGQUlMVVJFX01FU1NBR0VfTk9USUZJQ0FUSU9OX1NFVFRJTkdfU0xVR19BTFJFQURZX1RBS0VOEB8SMwovRkFJTFVSRV9NRVNTQUdFX05PVElGSUNBVElPTl9VU0VSX0FMUkVBRFlfRVhJU1QQIBI0CjBGQUlMVVJFX01FU1NBR0VfTk9USUZJQ0FUSU9OX0dST1VQX0FMUkVBRFlfRVhJU1QQITLlJAoUTm90aWZpY2F0aW9uc1NlcnZpY2USkgEKGUNyZWF0ZU5vdGlmaWNhdGlvblNldHRpbmcSPC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5DcmVhdGVOb3RpZmljYXRpb25TZXR0aW5nUmVxdWVzdBo3LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblNldHRpbmdSZXNwb25zZRKSAQoXUmVhZE5vdGlmaWNhdGlvblNldHRpbmcSOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uU2V0dGluZ1JlcXVlc3QaOy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uU2V0dGluZ1Jlc3BvbnNlEpIBChlVcGRhdGVOb3RpZmljYXRpb25TZXR0aW5nEjwuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlTm90aWZpY2F0aW9uU2V0dGluZ1JlcXVlc3QaNy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25TZXR0aW5nUmVzcG9uc2USkgEKGURlbGV0ZU5vdGlmaWNhdGlvblNldHRpbmcSPC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5EZWxldGVOb3RpZmljYXRpb25TZXR0aW5nUmVxdWVzdBo3LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvblNldHRpbmdSZXNwb25zZRKMAQoXQ3JlYXRlTm90aWZpY2F0aW9uR3JvdXASOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5DcmVhdGVOb3RpZmljYXRpb25Hcm91cFJlcXVlc3QaNS5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Hcm91cFJlc3BvbnNlEo8BChZSZWFkTm90aWZpY2F0aW9uR3JvdXBzEjkuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbkdyb3Vwc1JlcXVlc3QaOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uR3JvdXBzUmVzcG9uc2USjAEKF1VwZGF0ZU5vdGlmaWNhdGlvbkdyb3VwEjouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlTm90aWZpY2F0aW9uR3JvdXBSZXF1ZXN0GjUuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uR3JvdXBSZXNwb25zZRKMAQoXRGVsZXRlTm90aWZpY2F0aW9uR3JvdXASOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5EZWxldGVOb3RpZmljYXRpb25Hcm91cFJlcXVlc3QaNS5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Hcm91cFJlc3BvbnNlEokBChZDcmVhdGVOb3RpZmljYXRpb25Vc2VyEjkuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuQ3JlYXRlTm90aWZpY2F0aW9uVXNlclJlcXVlc3QaNC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Vc2VyUmVzcG9uc2USjAEKFVJlYWROb3RpZmljYXRpb25Vc2VycxI4LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25Vc2Vyc1JlcXVlc3QaOS5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uVXNlcnNSZXNwb25zZRKJAQoWVXBkYXRlTm90aWZpY2F0aW9uVXNlchI5LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlVwZGF0ZU5vdGlmaWNhdGlvblVzZXJSZXF1ZXN0GjQuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uVXNlclJlc3BvbnNlEokBChZEZWxldGVOb3RpZmljYXRpb25Vc2VyEjkuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRGVsZXRlTm90aWZpY2F0aW9uVXNlclJlcXVlc3QaNC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Vc2VyUmVzcG9uc2USmAEKG0NyZWF0ZU5vdGlmaWNhdGlvbkdyb3VwVXNlchI+LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkNyZWF0ZU5vdGlmaWNhdGlvbkdyb3VwVXNlclJlcXVlc3QaOS5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25Hcm91cFVzZXJSZXNwb25zZRKcAQoaUmVhZE5vdGlmaWNhdGlvbkdyb3VwVXNlcnMSPi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uR3JvdXBVc2Vyc1JlcXVlc3RzGj4uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbkdyb3VwVXNlcnNSZXNwb25zZRKYAQobVXBkYXRlTm90aWZpY2F0aW9uR3JvdXBVc2VyEj4uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlTm90aWZpY2F0aW9uR3JvdXBVc2VyUmVxdWVzdBo5LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbkdyb3VwVXNlclJlc3BvbnNlEpgBChtEZWxldGVOb3RpZmljYXRpb25Hcm91cFVzZXISPi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5EZWxldGVOb3RpZmljYXRpb25Hcm91cFVzZXJSZXF1ZXN0GjkuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uR3JvdXBVc2VyUmVzcG9uc2USkgEKGUNyZWF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2USPC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5DcmVhdGVOb3RpZmljYXRpb25NZXNzYWdlUmVxdWVzdBo3LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbk1lc3NhZ2VSZXNwb25zZRKVAQoYUmVhZE5vdGlmaWNhdGlvbk1lc3NhZ2VzEjsuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuUmVhZE5vdGlmaWNhdGlvbk1lc3NhZ2VzUmVxdWVzdBo8LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25NZXNzYWdlc1Jlc3BvbnNlEp4BChtHZXRTZW50Tm90aWZpY2F0aW9uTWVzc2FnZXMSPi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXRTZW50Tm90aWZpY2F0aW9uTWVzc2FnZXNSZXF1ZXN0Gj8uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0U2VudE5vdGlmaWNhdGlvbk1lc3NhZ2VzUmVzcG9uc2USkgEKGVVwZGF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2USPC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5VcGRhdGVOb3RpZmljYXRpb25NZXNzYWdlUmVxdWVzdBo3LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLk5vdGlmaWNhdGlvbk1lc3NhZ2VSZXNwb25zZRKSAQoZRGVsZXRlTm90aWZpY2F0aW9uTWVzc2FnZRI8LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkRlbGV0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VSZXF1ZXN0GjcuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uTWVzc2FnZVJlc3BvbnNlEpsBChxDcmVhdGVOb3RpZmljYXRpb25NZXNzYWdlSm9iEj8uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuQ3JlYXRlTm90aWZpY2F0aW9uTWVzc2FnZUpvYlJlcXVlc3QaOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlSm9iUmVzcG9uc2USngEKG1JlYWROb3RpZmljYXRpb25NZXNzYWdlSm9icxI+LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25NZXNzYWdlSm9ic1JlcXVlc3QaPy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5SZWFkTm90aWZpY2F0aW9uTWVzc2FnZUpvYnNSZXNwb25zZRKbAQocVXBkYXRlTm90aWZpY2F0aW9uTWVzc2FnZUpvYhI/LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlVwZGF0ZU5vdGlmaWNhdGlvbk1lc3NhZ2VKb2JSZXF1ZXN0GjouZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuTm90aWZpY2F0aW9uTWVzc2FnZUpvYlJlc3BvbnNlEpsBChxEZWxldGVOb3RpZmljYXRpb25NZXNzYWdlSm9iEj8uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuRGVsZXRlTm90aWZpY2F0aW9uTWVzc2FnZUpvYlJlcXVlc3QaOi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5Ob3RpZmljYXRpb25NZXNzYWdlSm9iUmVzcG9uc2UShQEKGFJlYWROb3RpZmljYXRpb25Qcm9kdWN0cxI7LmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlJlYWROb3RpZmljYXRpb25Qcm9kdWN0c1JlcXVlc3QaLC5kYXNoYm9hcmQucHJvZHVjdC52MS5TZWFyY2hQcm9kdWN0c1Jlc3BvbnNlEp4BChtHZXROb3RpZmljYXRpb25Vc2VyU2V0dGluZ3MSPi5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXROb3RpZmljYXRpb25Vc2VyU2V0dGluZ3NSZXF1ZXN0Gj8uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0Tm90aWZpY2F0aW9uVXNlclNldHRpbmdzUmVzcG9uc2USegoPVmVyaWZ5VXNlckVtYWlsEjIuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuVmVyaWZ5VXNlckVtYWlsUmVxdWVzdBozLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLlZlcmlmeVVzZXJFbWFpbFJlc3BvbnNlEnQKDUdldFVzZXJHcm91cHMSMC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXRVc2VyR3JvdXBzUmVxdWVzdBoxLmRhc2hib2FyZC5ub3RpZmljYXRpb25zLnYxLkdldFVzZXJHcm91cHNSZXNwb25zZRJfChBVcGRhdGVVc2VyR3JvdXBzEjMuZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuVXBkYXRlVXNlckdyb3Vwc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSmwEKGkdldFByb2plY3RlZFJlY2lwaWVudENvdW50Ej0uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0UHJvamVjdGVkUmVjaXBpZW50Q291bnRSZXF1ZXN0Gj4uZGFzaGJvYXJkLm5vdGlmaWNhdGlvbnMudjEuR2V0UHJvamVjdGVkUmVjaXBpZW50Q291bnRSZXNwb25zZRKJAQoUR2V0Tm90aWZpY2F0aW9uU3RhdHMSNy5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXROb3RpZmljYXRpb25TdGF0c1JlcXVlc3QaOC5kYXNoYm9hcmQubm90aWZpY2F0aW9ucy52MS5HZXROb3RpZmljYXRpb25TdGF0c1Jlc3BvbnNlYgZwcm90bzM",[ae,oe,E,r]);var ce=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.PROJECT_NOT_FOUND=1]="PROJECT_NOT_FOUND",e[e.NOTIFICATION_SETTING_NOT_FOUND=2]="NOTIFICATION_SETTING_NOT_FOUND",e[e.CREATE_NOTIFICATION_SETTING_FAILED=3]="CREATE_NOTIFICATION_SETTING_FAILED",e[e.UPDATE_NOTIFICATION_SETTING_FAILED=4]="UPDATE_NOTIFICATION_SETTING_FAILED",e[e.DELETE_NOTIFICATION_SETTING_FAILED=5]="DELETE_NOTIFICATION_SETTING_FAILED",e[e.NOTIFICATION_GROUP_NOT_FOUND=6]="NOTIFICATION_GROUP_NOT_FOUND",e[e.NOTIFICATION_GROUPS_NOT_FOUND=7]="NOTIFICATION_GROUPS_NOT_FOUND",e[e.CREATE_NOTIFICATION_GROUP_FAILED=8]="CREATE_NOTIFICATION_GROUP_FAILED",e[e.UPDATE_NOTIFICATION_GROUP_FAILED=9]="UPDATE_NOTIFICATION_GROUP_FAILED",e[e.DELETE_NOTIFICATION_GROUP_FAILED=10]="DELETE_NOTIFICATION_GROUP_FAILED",e[e.NOTIFICATION_USER_NOT_FOUND=11]="NOTIFICATION_USER_NOT_FOUND",e[e.NOTIFICATION_USERS_NOT_FOUND=12]="NOTIFICATION_USERS_NOT_FOUND",e[e.CREATE_NOTIFICATION_USER_FAILED=13]="CREATE_NOTIFICATION_USER_FAILED",e[e.UPDATE_NOTIFICATION_USER_FAILED=14]="UPDATE_NOTIFICATION_USER_FAILED",e[e.DELETE_NOTIFICATION_USER_FAILED=15]="DELETE_NOTIFICATION_USER_FAILED",e[e.NOTIFICATION_GROUP_USER_NOT_FOUND=16]="NOTIFICATION_GROUP_USER_NOT_FOUND",e[e.CREATE_NOTIFICATION_GROUP_USER_FAILED=17]="CREATE_NOTIFICATION_GROUP_USER_FAILED",e[e.UPDATE_NOTIFICATION_GROUP_USER_FAILED=18]="UPDATE_NOTIFICATION_GROUP_USER_FAILED",e[e.DELETE_NOTIFICATION_GROUP_USER_FAILED=19]="DELETE_NOTIFICATION_GROUP_USER_FAILED",e[e.NOTIFICATION_MESSAGE_NOT_FOUND=20]="NOTIFICATION_MESSAGE_NOT_FOUND",e[e.NOTIFICATION_MESSAGES_NOT_FOUND=21]="NOTIFICATION_MESSAGES_NOT_FOUND",e[e.CREATE_NOTIFICATION_MESSAGE_FAILED=22]="CREATE_NOTIFICATION_MESSAGE_FAILED",e[e.UPDATE_NOTIFICATION_MESSAGE_FAILED=23]="UPDATE_NOTIFICATION_MESSAGE_FAILED",e[e.DELETE_NOTIFICATION_MESSAGE_FAILED=24]="DELETE_NOTIFICATION_MESSAGE_FAILED",e[e.NOTIFICATION_MESSAGE_JOB_NOT_FOUND=25]="NOTIFICATION_MESSAGE_JOB_NOT_FOUND",e[e.NOTIFICATION_MESSAGE_JOBS_NOT_FOUND=26]="NOTIFICATION_MESSAGE_JOBS_NOT_FOUND",e[e.CREATE_NOTIFICATION_MESSAGE_JOB_FAILED=27]="CREATE_NOTIFICATION_MESSAGE_JOB_FAILED",e[e.UPDATE_NOTIFICATION_MESSAGE_JOB_FAILED=28]="UPDATE_NOTIFICATION_MESSAGE_JOB_FAILED",e[e.DELETE_NOTIFICATION_MESSAGE_JOB_FAILED=29]="DELETE_NOTIFICATION_MESSAGE_JOB_FAILED",e[e.NOTIFICATION_SETTING_ALREADY_EXIST=30]="NOTIFICATION_SETTING_ALREADY_EXIST",e[e.NOTIFICATION_SETTING_SLUG_ALREADY_TAKEN=31]="NOTIFICATION_SETTING_SLUG_ALREADY_TAKEN",e[e.NOTIFICATION_USER_ALREADY_EXIST=32]="NOTIFICATION_USER_ALREADY_EXIST",e[e.NOTIFICATION_GROUP_ALREADY_EXIST=33]="NOTIFICATION_GROUP_ALREADY_EXIST",e))(ce||{});var o=se(ne,0);var ie=o.method.createNotificationSetting,de=o.method.readNotificationSetting,le=o.method.updateNotificationSetting,re=o.method.deleteNotificationSetting,ue=o.method.createNotificationGroup,pe=o.method.readNotificationGroups,Re=o.method.updateNotificationGroup,ge=o.method.deleteNotificationGroup,me=o.method.createNotificationUser,be=o.method.readNotificationUsers,Ge=o.method.updateNotificationUser,Ae=o.method.deleteNotificationUser,Ve=o.method.createNotificationGroupUser,he=o.method.readNotificationGroupUsers,Se=o.method.updateNotificationGroupUser,Ze=o.method.deleteNotificationGroupUser,Ne=o.method.createNotificationMessage,We=o.method.readNotificationMessages,Xe=o.method.getSentNotificationMessages,Ye=o.method.updateNotificationMessage,Ee=o.method.deleteNotificationMessage,Be=o.method.createNotificationMessageJob,ye=o.method.readNotificationMessageJobs,Ue=o.method.updateNotificationMessageJob,Fe=o.method.deleteNotificationMessageJob,fe=o.method.readNotificationProducts,Je=o.method.getNotificationUserSettings,Ie=o.method.verifyUserEmail,Ce=o.method.getUserGroups,ve=o.method.updateUserGroups,ke=o.method.getProjectedRecipientCount,xe=o.method.getNotificationStats;var G={};g(G,{addPublicOrderComment:()=>Wt,applePayValidateMerchant:()=>ht,authorizeOneClickPayment:()=>St,clearAppStoreAccountToken:()=>rt,didBuyProduct:()=>nt,getAppStoreAccountToken:()=>ct,getAppStoreEntitlements:()=>dt,getAvailableCountForProduct:()=>Gt,getGuestCatalog:()=>st,getNotificationHistory:()=>bt,getNotificationSettings:()=>pt,getNotificationSettingsDetails:()=>Rt,getOrder:()=>Me,getOrderForTestimonial:()=>Xt,getOrderRetryUrl:()=>Pe,getOrders:()=>Qe,getPreOrderDetails:()=>Vt,getPublicOrderDetails:()=>Nt,getShopProducts:()=>at,getStoreKitCatalog:()=>ut,getTestimonialUploadUrl:()=>Et,isOneClickPaymentAvailable:()=>At,notifyUserAboutProductAvailability:()=>Zt,pushEvent:()=>$e,pushSendDeviceToken:()=>_e,restoreAppStorePurchases:()=>lt,shouldShopProducts:()=>et,shouldShowGuestCatalog:()=>tt,submitTestimonial:()=>Yt,updateGlobalNotificationSettings:()=>gt,updateNotificationSettings:()=>mt,userPanelDeleteAccount:()=>He,userPanelGetAudiobookDetails:()=>Le,userPanelGetAudiobookDetailsDownloadURLs:()=>De,userPanelGetCourseDetails:()=>Oe,userPanelGetFileDetails:()=>we,userPanelGetProducts:()=>je,userPanelGetTicketDetails:()=>qe,userPanelLogin:()=>Ke,userPanelLoginWithCode:()=>ze,userPanelLogout:()=>Te,userPanelResolveProductAccess:()=>ot,verifyAppStorePurchase:()=>it});var Me=t.method.getOrder,Qe=t.method.getOrders,Pe=t.method.getOrderRetryUrl,Ke=t.method.userPanelLogin,ze=t.method.userPanelLoginWithCode,Te=t.method.userPanelLogout,He=t.method.userPanelDeleteAccount,je=t.method.userPanelGetProducts,Le=t.method.userPanelGetAudiobookDetails,De=t.method.userPanelGetAudiobookDetailsDownloadURLs,we=t.method.userPanelGetFileDetails,qe=t.method.userPanelGetTicketDetails,Oe=t.method.userPanelGetCourseDetails,_e=t.method.pushSendDeviceToken,$e=t.method.pushEvent,et=t.method.shouldShopProducts,tt=t.method.shouldShowGuestCatalog,st=t.method.getGuestCatalog,ot=t.method.userPanelResolveProductAccess,at=t.method.getShopProducts,nt=t.method.didBuyProduct,ct=t.method.getAppStoreAccountToken,it=t.method.verifyAppStorePurchase,dt=t.method.getAppStoreEntitlements,lt=t.method.restoreAppStorePurchases,rt=t.method.clearAppStoreAccountToken,ut=t.method.getStoreKitCatalog,pt=t.method.getNotificationSettings,Rt=t.method.getNotificationSettingsDetails,gt=t.method.updateGlobalNotificationSettings,mt=t.method.updateNotificationSettings,bt=t.method.getNotificationHistory,Gt=t.method.getAvailableCountForProduct,At=t.method.isOneClickPaymentAvailable,Vt=t.method.getPreOrderDetails,ht=t.method.applePayValidateMerchant,St=t.method.authorizeOneClickPayment,Zt=t.method.notifyUserAboutProductAvailability,Nt=t.method.getPublicOrderDetails,Wt=t.method.addPublicOrderComment,Xt=t.method.getOrderForTestimonial,Yt=t.method.submitTestimonial,Et=t.method.getTestimonialUploadUrl;var A={};g(A,{createReturnRequest:()=>Jt,exchangePanelSession:()=>Ut,getMyReturn:()=>Ct,getReturnableOrder:()=>ft,listMyReturns:()=>It,listReturnOrders:()=>Ft,startReturnSession:()=>Bt,verifyReturnSession:()=>yt});var Bt=c.method.startReturnSession,yt=c.method.verifyReturnSession,Ut=c.method.exchangePanelSession,Ft=c.method.listReturnOrders,ft=c.method.getReturnableOrder,Jt=c.method.createReturnRequest,It=c.method.listMyReturns,Ct=c.method.getMyReturn;import{jsx as U}from"react/jsx-runtime";var B,V;BigInt.prototype.toJSON=function(){return this.toString()};var uo={publicApi:G,notifications:b,returns:A},po=xt,Ro=kt,zt;function Tt(){return zt??Z}function F(n){return Mt({baseUrl:n+"/api/rpc",useBinaryFormat:!0,interceptors:[S],fetch:async(s,a)=>fetch(s,{...a,keepalive:!1,credentials:"include"})})}var y=new Map;function go(n){let s=y.get(n);return s==null&&(s=F(n),y.set(n,s)),s}var mo=({children:n})=>{let s=Tt();(V==null||B!==s)&&(B=s,V=F(s));let[a]=Kt(()=>new Qt({defaultOptions:{queries:{staleTime:5e3}}}));return U(vt,{transport:V,children:U(Pt,{client:a,children:n})})};import{cva as Ht}from"class-variance-authority";import{Slot as jt}from"radix-ui";import{jsx as Dt}from"react/jsx-runtime";var Lt=Ht("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function So({className:n,variant:s="default",size:a="default",asChild:i=!1,...p}){let R=i?jt.Root:"button";return Dt(R,{"data-slot":"button","data-variant":s,"data-size":a,className:d(Lt({variant:s,size:a,className:n})),...p})}import{jsx as wt}from"react/jsx-runtime";function Xo({className:n,type:s,...a}){return wt("input",{type:s,"data-slot":"input",className:d("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",n),...a})}function qt(n){let s=/^#([0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.exec(n);if(s==null)return;let a=s[1];return a.length<=4&&(a=a.split("").map(i=>i+i).join("")),[parseInt(a.slice(0,2),16),parseInt(a.slice(2,4),16),parseInt(a.slice(4,6),16)]}function Ot(n){let s=/^rgba?\(\s*(\d{1,3})[\s,]+(\d{1,3})[\s,]+(\d{1,3})(?:[\s,/]+[\d.%]+)?\s*\)$/i.exec(n);if(s==null)return;let a=[s[1],s[2],s[3]].map(Number);return a.every(i=>i<=255)?a:void 0}function _t(n){let s=n/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4}function $t(n){let s=n.trim(),a=qt(s)??Ot(s);if(a==null)return;let[i,p,R]=a.map(_t),h=.2126*i+.7152*p+.0722*R,J=1.05/(h+.05),I=(h+.05)/.05;return J>=I?"#ffffff":"#18181b"}function Bo(n){let s=$t(n);return{buttonBackground:n,focusRing:n,...s!=null?{buttonForeground:s}:{}}}import*as f from"react";import{jsx as ts}from"react/jsx-runtime";var es=f.forwardRef(({className:n,...s},a)=>ts("textarea",{className:d("flex min-h-[60px] w-full rounded-md border border-neutral-200 bg-white px-3 py-2 text-sm ring-offset-white placeholder:text-neutral-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 dark:border-neutral-800 dark:bg-neutral-950 dark:ring-offset-neutral-950 dark:placeholder:text-neutral-400 dark:focus-visible:ring-neutral-300",n),ref:a,...s}));es.displayName="Textarea";import{jsx as ss}from"react/jsx-runtime";function Io({className:n,...s}){return ss("div",{"data-slot":"skeleton",className:d("bg-accent animate-pulse rounded-md",n),...s})}export{as as a,ns as b,Bs as c,ys as d,Us as e,t as f,ce as g,L as h,c as i,uo as j,po as k,Ro as l,Tt as m,go as n,mo as o,Lt as p,So as q,Xo as r,$t as s,Bo as t,Io as u,es as v};
|
|
2
|
+
//# sourceMappingURL=chunk-AGYS7Z6G.mjs.map
|