valtech-components 2.0.1008 → 2.0.1010
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/esm2022/lib/components/molecules/date-input/date-input.component.mjs +38 -18
- package/esm2022/lib/components/organisms/about-view/about-view.component.mjs +436 -0
- package/esm2022/lib/components/organisms/about-view/about-view.i18n.mjs +61 -0
- package/esm2022/lib/components/organisms/about-view/about.routes.mjs +36 -0
- package/esm2022/lib/components/organisms/about-view/types.mjs +19 -0
- package/esm2022/lib/components/organisms/account-view/account-view.component.mjs +2 -2
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.component.mjs +385 -0
- package/esm2022/lib/components/organisms/api-keys-modal/api-keys-modal.i18n.mjs +63 -0
- package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.component.mjs +313 -0
- package/esm2022/lib/components/organisms/member-import-modal/member-import-modal.i18n.mjs +63 -0
- package/esm2022/lib/components/organisms/organization-view/organization-view.component.mjs +141 -3
- package/esm2022/lib/components/organisms/organization-view/organization-view.i18n.mjs +21 -1
- package/esm2022/lib/components/templates/auth-background/auth-background.component.mjs +39 -9
- package/esm2022/lib/services/apikeys/api-keys.service.mjs +46 -0
- package/esm2022/lib/services/apikeys/types.mjs +7 -0
- package/esm2022/lib/services/auth/auth.service.mjs +14 -1
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/lib/services/org/org.service.mjs +8 -1
- package/esm2022/lib/services/org/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +7 -1
- package/fesm2022/valtech-components.mjs +1938 -336
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/molecules/date-input/date-input.component.d.ts +16 -0
- package/lib/components/organisms/about-view/about-view.component.d.ts +88 -0
- package/lib/components/organisms/about-view/about-view.i18n.d.ts +14 -0
- package/lib/components/organisms/about-view/about.routes.d.ts +31 -0
- package/lib/components/organisms/about-view/types.d.ts +76 -0
- package/lib/components/organisms/api-keys-modal/api-keys-modal.component.d.ts +44 -0
- package/lib/components/organisms/api-keys-modal/api-keys-modal.i18n.d.ts +6 -0
- package/lib/components/organisms/member-import-modal/member-import-modal.component.d.ts +47 -0
- package/lib/components/organisms/member-import-modal/member-import-modal.i18n.d.ts +6 -0
- package/lib/components/organisms/organization-view/organization-view.component.d.ts +6 -0
- package/lib/components/templates/auth-background/auth-background.component.d.ts +4 -0
- package/lib/services/apikeys/api-keys.service.d.ts +25 -0
- package/lib/services/apikeys/types.d.ts +46 -0
- package/lib/services/auth/auth.service.d.ts +7 -1
- package/lib/services/auth/types.d.ts +23 -0
- package/lib/services/org/org.service.d.ts +6 -1
- package/lib/services/org/types.d.ts +30 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +8 -1
|
@@ -53,6 +53,16 @@ export const ORGANIZATION_VIEW_I18N = {
|
|
|
53
53
|
inviteCtaTitle: '¿Deseas agregar a alguien?',
|
|
54
54
|
inviteCtaHint: 'Invita a usuarios a unirse a tu organización.',
|
|
55
55
|
inviteOpen: 'Invitar',
|
|
56
|
+
importOpen: 'Importar',
|
|
57
|
+
apiKeysOpen: 'Gestionar',
|
|
58
|
+
apiKeysSectionTitle: 'Integraciones (API Keys)',
|
|
59
|
+
apiKeysSectionHint: 'También puedes operar tu organización vía API: crea una Client API Key org-scopeada para integraciones máquina-a-máquina (por ejemplo, dar de alta miembros en masa desde tu propio sistema).',
|
|
60
|
+
apiKeysMoreInfo: 'Más información',
|
|
61
|
+
orgsMoreInfo: 'Más información',
|
|
62
|
+
orgsInfoTitle: '¿Qué son las organizaciones?',
|
|
63
|
+
orgsInfoSubtitle: 'Todo lo que necesitas saber',
|
|
64
|
+
orgsInfoClose: 'Cerrar',
|
|
65
|
+
orgsInfoContent: 'Las organizaciones te permiten separar tus proyectos y datos por empresa, equipo o contexto. Puedes pertenecer a varias organizaciones y cambiar entre ellas en cualquier momento.\n\nCada organización tiene sus propios miembros, roles y permisos. La organización activa determina qué datos ves y qué acciones puedes realizar.\n\nPuedes crear una organización nueva o unirte a una existente mediante invitación.',
|
|
56
66
|
viewMemberCta: 'Ver miembro',
|
|
57
67
|
roleViewer: 'Visor',
|
|
58
68
|
roleEditor: 'Editor',
|
|
@@ -122,6 +132,16 @@ export const ORGANIZATION_VIEW_I18N = {
|
|
|
122
132
|
inviteCtaTitle: 'Want to add someone?',
|
|
123
133
|
inviteCtaHint: 'Invite users to join your organization.',
|
|
124
134
|
inviteOpen: 'Invite',
|
|
135
|
+
importOpen: 'Import',
|
|
136
|
+
apiKeysOpen: 'Manage',
|
|
137
|
+
apiKeysSectionTitle: 'Integrations (API Keys)',
|
|
138
|
+
apiKeysSectionHint: 'You can also operate your organization via API: create an org-scoped Client API Key for machine-to-machine integrations (for example, bulk-provisioning members from your own system).',
|
|
139
|
+
apiKeysMoreInfo: 'More information',
|
|
140
|
+
orgsMoreInfo: 'More information',
|
|
141
|
+
orgsInfoTitle: 'What are organizations?',
|
|
142
|
+
orgsInfoSubtitle: 'Everything you need to know',
|
|
143
|
+
orgsInfoClose: 'Close',
|
|
144
|
+
orgsInfoContent: 'Organizations let you separate your projects and data by company, team, or context. You can belong to multiple organizations and switch between them at any time.\n\nEach organization has its own members, roles, and permissions. The active organization determines what data you see and what actions you can take.\n\nYou can create a new organization or join an existing one via invitation.',
|
|
125
145
|
viewMemberCta: 'View member',
|
|
126
146
|
roleViewer: 'Viewer',
|
|
127
147
|
roleEditor: 'Editor',
|
|
@@ -145,4 +165,4 @@ export const ORGANIZATION_VIEW_I18N = {
|
|
|
145
165
|
membersShowMore: 'Show more',
|
|
146
166
|
},
|
|
147
167
|
};
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLXZpZXcuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvb3JnYW5pemF0aW9uLXZpZXcvb3JnYW5pemF0aW9uLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDdEQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLGNBQWM7UUFDekIsZUFBZSxFQUFFLGlDQUFpQztRQUNsRCxTQUFTLEVBQUUsYUFBYTtRQUN4QixRQUFRLEVBQUUsUUFBUTtRQUNsQixlQUFlLEVBQUUsYUFBYTtRQUM5QixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsU0FBUztRQUNsQixTQUFTLEVBQUUsVUFBVTtRQUNyQixZQUFZLEVBQUUsVUFBVTtRQUN4QixZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsVUFBVSxFQUFFLEtBQUs7UUFDakIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsYUFBYSxFQUFFLHFCQUFxQjtRQUNwQyxXQUFXLEVBQUUsa0NBQWtDO1FBQy9DLFlBQVksRUFBRSxxQ0FBcUM7UUFDbkQsVUFBVSxFQUFFLDBCQUEwQjtRQUN0QyxTQUFTLEVBQUUsOENBQThDO1FBQ3pELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLGNBQWMsRUFBRSw4REFBOEQ7UUFDOUUsWUFBWSxFQUFFLDRCQUE0QjtRQUMxQyxRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsS0FBSztRQUNkLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsWUFBWSxF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QUFzQjtRQUN0QyxhQUFhLEVBQUUseUNBQXlDO1FBQ3hELFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGNBQWMsRUFBRSxhQUFhO1FBQzdCLGlCQUFpQixFQUFFLHFCQUFxQjtRQUN4QyxTQUFTLEVBQ1AsOEhBQThIO1FBQ2hJLGNBQWMsRUFBRSwwQkFBMEI7UUFDMUMsZ0JBQWdCLEVBQUUsUUFBUTtRQUMxQixPQUFPLEVBQUUsS0FBSztRQUNkLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLGFBQWEsRUFBRSxXQUFXO1FBQzFCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLFNBQVMsRUFBRSxPQUFPO1FBQ2xCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGVBQWUsRUFBRSxXQUFXO0tBQzdCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZW1iZWJpZG9zIGVuIGB2YWwtb3JnYW5pemF0aW9uLXZpZXdgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuXG4gKiBlbCBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgU2V0dGluZ3MuT3JnYW5pemF0aW9uYCBwb3IgZGVmYXVsdCkuIFNPTE8gaW5jbHV5ZSBsYXMga2V5cyBxdWUgbGEgdmlzdGEgdXNhLlxuICpcbiAqIFBvcnRhZG8gZGUgYE9SR19JMThOX0NPTlRFTlRgIChzaG93Y2FzZSkgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKi9cbmV4cG9ydCBjb25zdCBPUkdBTklaQVRJT05fVklFV19JMThOOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIHBhZ2VUaXRsZTogJ09yZ2FuaXphY2nDs24nLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ0dlc3Rpb25hIHR1IG9yZ2FuaXphY2nDs24gYWN0aXZhJyxcbiAgICBpbmZvVGl0bGU6ICdJbmZvcm1hY2nDs24nLFxuICAgIGluZm9OYW1lOiAnTm9tYnJlJyxcbiAgICBpbmZvRGVzY3JpcHRpb246ICdEZXNjcmlwY2nDs24nLFxuICAgIGluZm9QbGFuOiAnUGxhbicsXG4gICAgaW5mb1R5cGU6ICdUaXBvJyxcbiAgICBlZGl0Q3RhOiAnRWRpdGFyJyxcbiAgICBzYXZlQ3RhOiAnR3VhcmRhcicsXG4gICAgY2FuY2VsQ3RhOiAnQ2FuY2VsYXInLFxuICAgIG1lbWJlcnNUaXRsZTogJ01pZW1icm9zJyxcbiAgICBtZW1iZXJzRW1wdHk6ICdTaW4gbWllbWJyb3MgYcO6bi4nLFxuICAgIG1lbWJlclJvbGVzOiAnUm9sZXMnLFxuICAgIGludml0ZVRpdGxlOiAnSW52aXRhcicsXG4gICAgaW52aXRlRW1haWw6ICdDb3JyZW8gZWxlY3Ryw7NuaWNvJyxcbiAgICBpbnZpdGVSb2xlOiAnUm9sJyxcbiAgICBpbnZpdGVDdGE6ICdJbnZpdGFyJyxcbiAgICBpbnZpdGVTdWNjZXNzOiAnSW52aXRhY2nDs24gZW52aWFkYS4nLFxuICAgIGludml0ZUVycm9yOiAnTm8gc2UgcHVkbyBlbnZpYXIgbGEgaW52aXRhY2nDs24uJyxcbiAgICBtZW1iZXJzRXJyb3I6ICdObyBzZSBwdWRpZXJvbiBjYXJnYXIgbG9zIG1pZW1icm9zLicsXG4gICAgbGVhdmVUaXRsZTogJ1NhbGlyIGRlIGxhIG9yZ2FuaXphY2nDs24nLFxuICAgIGxlYXZlSGludDogJ0RlamFyw6FzIGRlIHRlbmVyIGFjY2VzbyBhIGVzdGEgb3JnYW5pemFjacOzbi4nLFxuICAgIGxlYXZlQ3RhOiAnU2FsaXInLFxuICAgIGxlYXZlT3duZXJIaW50OiAnRXJlcyBlbCBwcm9waWV0YXJpby4gVHJhbnNmaWVyZSBsYSBwcm9waWVkYWQgYW50ZXMgZGUgc2FsaXIuJyxcbiAgICBsZWF2ZUNvbmZpcm06ICfCv1NhbGlyIGRlIGxhIG9yZ2FuaXphY2nDs24/JyxcbiAgICBwbGFuRnJlZTogJ0dyYXR1aXRvJyxcbiAgICBwbGFuUHJvOiAnUHJvJyxcbiAgICBwbGFuRW50ZXJwcmlzZTogJ0VtcHJlc2EnLFxuICAgIHNhdmVTdWNjZXNzOiAnT3JnYW5pemFjacOzbiBhY3R1YWxpemFkYS4nLFxuICAgIGxlYXZlU3VjY2VzczogJ0hhcyBzYWxpZG8gZGUgbGEgb3JnYW5pemFjacOzbi4nLFxuICAgIGVycm9yVGl0bGU6ICdObyBzZSBwdWRvIGNhcmdhciBsYSBvcmdhbml6YWNpw7NuJyxcbiAgICBvZmZsaW5lVGl0bGU6ICdTaW4gY29uZXhpw7NuJyxcbiAgICBvZmZsaW5lSGludDogJ1ZlcmlmaWNhIHR1IGNvbmV4acOzbiBlIGludGVudGEgZGUgbnVldm8uJyxcbiAgICByZXRyeTogJ1JlaW50ZW50YXInLFxuICAgIHNhdmVFcnJvcjogJ05vIHNlIHB1ZG8gZ3VhcmRhci4gSW50ZW50YSBkZSBudWV2by4nLFxuICAgIGxlYXZlRXJyb3I6ICdObyBzZSBwdWRvIHNhbGlyLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgdHJhbnNmZXJUaXRsZTogJ1RyYW5zZmVyaXIgcHJvcGllZGFkJyxcbiAgICB0cmFuc2ZlckhpbnQ6ICdFbGlnZSB1biBtaWVtYnJvIHBhcmEgdHJhbnNmZXJpcmxlIGxhIHByb3BpZWRhZCBkZSBsYSBvcmdhbml6YWNpw7NuLicsXG4gICAgdHJhbnNmZXJTZWxlY3Q6ICdTZWxlY2Npb25hciBudWV2byBwcm9waWV0YXJpbycsXG4gICAgdHJhbnNmZXJDdGE6ICdUcmFuc2ZlcmlyJyxcbiAgICB0cmFuc2ZlckNvbmZpcm06ICfCv1RyYW5zZmVyaXIgbGEgcHJvcGllZGFkIGEgZXN0ZSBtaWVtYnJvPyBQZXJkZXLDoXMgZWwgcm9sIGRlIHByb3BpZXRhcmlvLicsXG4gICAgdHJhbnNmZXJTdWNjZXNzOiAnUHJvcGllZGFkIHRyYW5zZmVyaWRhLicsXG4gICAgdHJhbnNmZXJFcnJvcjogJ05vIHNlIHB1ZG8gdHJhbnNmZXJpciBsYSBwcm9waWVkYWQuJyxcbiAgICBpbnZpdGVDdGFUaXRsZTogJ8K/RGVzZWFzIGFncmVnYXIgYSBhbGd1aWVuPycsXG4gICAgaW52aXRlQ3RhSGludDogJ0ludml0YSBhIHVzdWFyaW9zIGEgdW5pcnNlIGEgdHUgb3JnYW5pemFjacOzbi4nLFxuICAgIGludml0ZU9wZW46ICdJbnZpdGFyJyxcbiAgICB2aWV3TWVtYmVyQ3RhOiAnVmVyIG1pZW1icm8nLFxuICAgIHJvbGVWaWV3ZXI6ICdWaXNvcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW4nLFxuICAgIHJvbGVTdXBlckFkbWluOiAnU3VwZXIgQWRtaW4nLFxuICAgIHJvbGVzU2VjdGlvblRpdGxlOiAnUm9sZXMgeSBwZXJtaXNvcycsXG4gICAgcm9sZXNIaW50OlxuICAgICAgJ1R1IG9yZ2FuaXphY2nDs24gdGllbmUgcm9sZXMgcXVlIGNvbnRyb2xhbiBsbyBxdWUgY2FkYSBtaWVtYnJvIHB1ZWRlIHZlciB5IGhhY2VyLiBDYWRhIHJvbCBsbGV2YSB1biBjb25qdW50byBkZSBwZXJtaXNvcyBhc29jaWFkb3MuJyxcbiAgICByb2xlc1ZpZXdQZXJtczogJ1ZlciByb2xlcyB5IHBlcm1pc29zJyxcbiAgICByb2xlc1N5c3RlbUJhZGdlOiAnU2lzdGVtYScsXG4gICAgcGVybUFsbDogJ1RvZG8nLFxuICAgIHBlcm1Vc2VyczogJ1VzdWFyaW9zJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRvcycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnUGxhbnRpbGxhcycsXG4gICAgcGVybVJlYWQ6ICdMZWVyJyxcbiAgICBwZXJtV3JpdGU6ICdFc2NyaWJpcicsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWFyJyxcbiAgICBwZXJtRGVsZXRlOiAnRWxpbWluYXInLFxuICAgIHBlcm1NYW5hZ2U6ICdHZXN0aW9uYXInLFxuICAgIG1lbWJlcnNTaG93TW9yZTogJ1ZlciBtw6FzJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdPcmdhbml6YXRpb24nLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ01hbmFnZSB5b3VyIGFjdGl2ZSBvcmdhbml6YXRpb24nLFxuICAgIGluZm9UaXRsZTogJ0luZm9ybWF0aW9uJyxcbiAgICBpbmZvTmFtZTogJ05hbWUnLFxuICAgIGluZm9EZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICBpbmZvUGxhbjogJ1BsYW4nLFxuICAgIGluZm9UeXBlOiAnVHlwZScsXG4gICAgZWRpdEN0YTogJ0VkaXQnLFxuICAgIHNhdmVDdGE6ICdTYXZlJyxcbiAgICBjYW5jZWxDdGE6ICdDYW5jZWwnLFxuICAgIG1lbWJlcnNUaXRsZTogJ01lbWJlcnMnLFxuICAgIG1lbWJlcnNFbXB0eTogJ05vIG1lbWJlcnMgeWV0LicsXG4gICAgbWVtYmVyUm9sZXM6ICdSb2xlcycsXG4gICAgaW52aXRlVGl0bGU6ICdJbnZpdGUnLFxuICAgIGludml0ZUVtYWlsOiAnRW1haWwgYWRkcmVzcycsXG4gICAgaW52aXRlUm9sZTogJ1JvbGUnLFxuICAgIGludml0ZUN0YTogJ0ludml0ZScsXG4gICAgaW52aXRlU3VjY2VzczogJ0ludml0YXRpb24gc2VudC4nLFxuICAgIGludml0ZUVycm9yOiAnQ291bGQgbm90IHNlbmQgaW52aXRhdGlvbi4nLFxuICAgIG1lbWJlcnNFcnJvcjogJ0NvdWxkIG5vdCBsb2FkIG1lbWJlcnMuJyxcbiAgICBsZWF2ZVRpdGxlOiAnTGVhdmUgb3JnYW5pemF0aW9uJyxcbiAgICBsZWF2ZUhpbnQ6ICdZb3Ugd2lsbCBsb3NlIGFjY2VzcyB0byB0aGlzIG9yZ2FuaXphdGlvbi4nLFxuICAgIGxlYXZlQ3RhOiAnTGVhdmUnLFxuICAgIGxlYXZlT3duZXJIaW50OiAnWW91IGFyZSB0aGUgb3duZXIuIFRyYW5zZmVyIG93bmVyc2hpcCBiZWZvcmUgbGVhdmluZy4nLFxuICAgIGxlYXZlQ29uZmlybTogJ0xlYXZlIHRoaXMgb3JnYW5pemF0aW9uPycsXG4gICAgcGxhbkZyZWU6ICdGcmVlJyxcbiAgICBwbGFuUHJvOiAnUHJvJyxcbiAgICBwbGFuRW50ZXJwcmlzZTogJ0VudGVycHJpc2UnLFxuICAgIHNhdmVTdWNjZXNzOiAnT3JnYW5pemF0aW9uIHVwZGF0ZWQuJyxcbiAgICBsZWF2ZVN1Y2Nlc3M6ICdZb3UgaGF2ZSBsZWZ0IHRoZSBvcmdhbml6YXRpb24uJyxcbiAgICBlcnJvclRpdGxlOiAnQ291bGQgbm90IGxvYWQgb3JnYW5pemF0aW9uJyxcbiAgICBvZmZsaW5lVGl0bGU6ICdObyBjb25uZWN0aW9uJyxcbiAgICBvZmZsaW5lSGludDogJ0NoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluLicsXG4gICAgcmV0cnk6ICdSZXRyeScsXG4gICAgc2F2ZUVycm9yOiAnQ291bGQgbm90IHNhdmUuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICBsZWF2ZUVycm9yOiAnQ291bGQgbm90IGxlYXZlLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgdHJhbnNmZXJUaXRsZTogJ1RyYW5zZmVyIG93bmVyc2hpcCcsXG4gICAgdHJhbnNmZXJIaW50OiAnQ2hvb3NlIGEgbWVtYmVyIHRvIHRyYW5zZmVyIG93bmVyc2hpcCBvZiB0aGlzIG9yZ2FuaXphdGlvbi4nLFxuICAgIHRyYW5zZmVyU2VsZWN0OiAnU2VsZWN0IG5ldyBvd25lcicsXG4gICAgdHJhbnNmZXJDdGE6ICdUcmFuc2ZlcicsXG4gICAgdHJhbnNmZXJDb25maXJtOiAnVHJhbnNmZXIgb3duZXJzaGlwIHRvIHRoaXMgbWVtYmVyPyBZb3Ugd2lsbCBsb3NlIHRoZSBvd25lciByb2xlLicsXG4gICAgdHJhbnNmZXJTdWNjZXNzOiAnT3duZXJzaGlwIHRyYW5zZmVycmVkLicsXG4gICAgdHJhbnNmZXJFcnJvcjogJ0NvdWxkIG5vdCB0cmFuc2ZlciBvd25lcnNoaXAuJyxcbiAgICBpbnZpdGVDdGFUaXRsZTogJ1dhbnQgdG8gYWRkIHNvbWVvbmU/JyxcbiAgICBpbnZpdGVDdGFIaW50OiAnSW52aXRlIHVzZXJzIHRvIGpvaW4geW91ciBvcmdhbml6YXRpb24uJyxcbiAgICBpbnZpdGVPcGVuOiAnSW52aXRlJyxcbiAgICB2aWV3TWVtYmVyQ3RhOiAnVmlldyBtZW1iZXInLFxuICAgIHJvbGVWaWV3ZXI6ICdWaWV3ZXInLFxuICAgIHJvbGVFZGl0b3I6ICdFZGl0b3InLFxuICAgIHJvbGVBZG1pbjogJ0FkbWluJyxcbiAgICByb2xlU3VwZXJBZG1pbjogJ1N1cGVyIEFkbWluJyxcbiAgICByb2xlc1NlY3Rpb25UaXRsZTogJ1JvbGVzICYgcGVybWlzc2lvbnMnLFxuICAgIHJvbGVzSGludDpcbiAgICAgICdZb3VyIG9yZ2FuaXphdGlvbiBoYXMgcm9sZXMgdGhhdCBjb250cm9sIHdoYXQgZWFjaCBtZW1iZXIgY2FuIHNlZSBhbmQgZG8uIEVhY2ggcm9sZSBjYXJyaWVzIGEgc2V0IG9mIGFzc29jaWF0ZWQgcGVybWlzc2lvbnMuJyxcbiAgICByb2xlc1ZpZXdQZXJtczogJ1ZpZXcgcm9sZXMgJiBwZXJtaXNzaW9ucycsXG4gICAgcm9sZXNTeXN0ZW1CYWRnZTogJ1N5c3RlbScsXG4gICAgcGVybUFsbDogJ0FsbCcsXG4gICAgcGVybVVzZXJzOiAnVXNlcnMnLFxuICAgIHBlcm1Eb2N1bWVudHM6ICdEb2N1bWVudHMnLFxuICAgIHBlcm1Sb2xlczogJ1JvbGVzJyxcbiAgICBwZXJtTWVkaWE6ICdNZWRpYScsXG4gICAgcGVybVRlbXBsYXRlczogJ1RlbXBsYXRlcycsXG4gICAgcGVybVJlYWQ6ICdSZWFkJyxcbiAgICBwZXJtV3JpdGU6ICdXcml0ZScsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWF0ZScsXG4gICAgcGVybURlbGV0ZTogJ0RlbGV0ZScsXG4gICAgcGVybU1hbmFnZTogJ01hbmFnZScsXG4gICAgbWVtYmVyc1Nob3dNb3JlOiAnU2hvdyBtb3JlJyxcbiAgfSxcbn07XG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pemF0aW9uLXZpZXcuaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvb3JnYW5pemF0aW9uLXZpZXcvb3JnYW5pemF0aW9uLXZpZXcuaTE4bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBcUI7SUFDdEQsRUFBRSxFQUFFO1FBQ0YsU0FBUyxFQUFFLGNBQWM7UUFDekIsZUFBZSxFQUFFLGlDQUFpQztRQUNsRCxTQUFTLEVBQUUsYUFBYTtRQUN4QixRQUFRLEVBQUUsUUFBUTtRQUNsQixlQUFlLEVBQUUsYUFBYTtRQUM5QixRQUFRLEVBQUUsTUFBTTtRQUNoQixRQUFRLEVBQUUsTUFBTTtRQUNoQixPQUFPLEVBQUUsUUFBUTtRQUNqQixPQUFPLEVBQUUsU0FBUztRQUNsQixTQUFTLEVBQUUsVUFBVTtRQUNyQixZQUFZLEVBQUUsVUFBVTtRQUN4QixZQUFZLEVBQUUsbUJBQW1CO1FBQ2pDLFdBQVcsRUFBRSxPQUFPO1FBQ3BCLFdBQVcsRUFBRSxTQUFTO1FBQ3RCLFdBQVcsRUFBRSxvQkFBb0I7UUFDakMsVUFBVSxFQUFFLEtBQUs7UUFDakIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsYUFBYSxFQUFFLHFCQUFxQjtRQUNwQyxXQUFXLEVBQUUsa0NBQWtDO1FBQy9DLFlBQVksRUFBRSxxQ0FBcUM7UUFDbkQsVUFBVSxFQUFFLDBCQUEwQjtRQUN0QyxTQUFTLEVBQUUsOENBQThDO1FBQ3pELFFBQVEsRUFBRSxPQUFPO1FBQ2pCLGNBQWMsRUFBRSw4REFBOEQ7UUFDOUUsWUFBWSxFQUFFLDRCQUE0QjtRQUMxQyxRQUFRLEVBQUUsVUFBVTtRQUNwQixPQUFPLEVBQUUsS0FBSztRQUNkLGNBQWMsRUFBRSxTQUFTO1FBQ3pCLFdBQVcsRUFBRSwyQkFBMkI7UUFDeEMsWUFBWSxF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Q3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLFVBQVUsRUFBRSxRQUFRO1FBQ3BCLGVBQWUsRUFBRSxXQUFXO0tBQzdCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExhbmd1YWdlc0NvbnRlbnQgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pMThuL3R5cGVzJztcblxuLyoqXG4gKiBEZWZhdWx0cyBpMThuIChlcy9lbikgZW1iZWJpZG9zIGVuIGB2YWwtb3JnYW5pemF0aW9uLXZpZXdgLiBBdXRvLXJlZ2lzdHJhZG9zIGVuXG4gKiBlbCBjb25zdHJ1Y3RvciBkZWwgY29tcG9uZW50ZSBzaSBlbCBjb25zdW1lciBubyBwcm92ZXnDsyBlbCBuYW1lc3BhY2VcbiAqIChgU2V0dGluZ3MuT3JnYW5pemF0aW9uYCBwb3IgZGVmYXVsdCkuIFNPTE8gaW5jbHV5ZSBsYXMga2V5cyBxdWUgbGEgdmlzdGEgdXNhLlxuICpcbiAqIFBvcnRhZG8gZGUgYE9SR19JMThOX0NPTlRFTlRgIChzaG93Y2FzZSkgYmFqbyBlbCBwcm9jZXNvIGRlIEFEUi0wMjEuXG4gKi9cbmV4cG9ydCBjb25zdCBPUkdBTklaQVRJT05fVklFV19JMThOOiBMYW5ndWFnZXNDb250ZW50ID0ge1xuICBlczoge1xuICAgIHBhZ2VUaXRsZTogJ09yZ2FuaXphY2nDs24nLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ0dlc3Rpb25hIHR1IG9yZ2FuaXphY2nDs24gYWN0aXZhJyxcbiAgICBpbmZvVGl0bGU6ICdJbmZvcm1hY2nDs24nLFxuICAgIGluZm9OYW1lOiAnTm9tYnJlJyxcbiAgICBpbmZvRGVzY3JpcHRpb246ICdEZXNjcmlwY2nDs24nLFxuICAgIGluZm9QbGFuOiAnUGxhbicsXG4gICAgaW5mb1R5cGU6ICdUaXBvJyxcbiAgICBlZGl0Q3RhOiAnRWRpdGFyJyxcbiAgICBzYXZlQ3RhOiAnR3VhcmRhcicsXG4gICAgY2FuY2VsQ3RhOiAnQ2FuY2VsYXInLFxuICAgIG1lbWJlcnNUaXRsZTogJ01pZW1icm9zJyxcbiAgICBtZW1iZXJzRW1wdHk6ICdTaW4gbWllbWJyb3MgYcO6bi4nLFxuICAgIG1lbWJlclJvbGVzOiAnUm9sZXMnLFxuICAgIGludml0ZVRpdGxlOiAnSW52aXRhcicsXG4gICAgaW52aXRlRW1haWw6ICdDb3JyZW8gZWxlY3Ryw7NuaWNvJyxcbiAgICBpbnZpdGVSb2xlOiAnUm9sJyxcbiAgICBpbnZpdGVDdGE6ICdJbnZpdGFyJyxcbiAgICBpbnZpdGVTdWNjZXNzOiAnSW52aXRhY2nDs24gZW52aWFkYS4nLFxuICAgIGludml0ZUVycm9yOiAnTm8gc2UgcHVkbyBlbnZpYXIgbGEgaW52aXRhY2nDs24uJyxcbiAgICBtZW1iZXJzRXJyb3I6ICdObyBzZSBwdWRpZXJvbiBjYXJnYXIgbG9zIG1pZW1icm9zLicsXG4gICAgbGVhdmVUaXRsZTogJ1NhbGlyIGRlIGxhIG9yZ2FuaXphY2nDs24nLFxuICAgIGxlYXZlSGludDogJ0RlamFyw6FzIGRlIHRlbmVyIGFjY2VzbyBhIGVzdGEgb3JnYW5pemFjacOzbi4nLFxuICAgIGxlYXZlQ3RhOiAnU2FsaXInLFxuICAgIGxlYXZlT3duZXJIaW50OiAnRXJlcyBlbCBwcm9waWV0YXJpby4gVHJhbnNmaWVyZSBsYSBwcm9waWVkYWQgYW50ZXMgZGUgc2FsaXIuJyxcbiAgICBsZWF2ZUNvbmZpcm06ICfCv1NhbGlyIGRlIGxhIG9yZ2FuaXphY2nDs24/JyxcbiAgICBwbGFuRnJlZTogJ0dyYXR1aXRvJyxcbiAgICBwbGFuUHJvOiAnUHJvJyxcbiAgICBwbGFuRW50ZXJwcmlzZTogJ0VtcHJlc2EnLFxuICAgIHNhdmVTdWNjZXNzOiAnT3JnYW5pemFjacOzbiBhY3R1YWxpemFkYS4nLFxuICAgIGxlYXZlU3VjY2VzczogJ0hhcyBzYWxpZG8gZGUgbGEgb3JnYW5pemFjacOzbi4nLFxuICAgIGVycm9yVGl0bGU6ICdObyBzZSBwdWRvIGNhcmdhciBsYSBvcmdhbml6YWNpw7NuJyxcbiAgICBvZmZsaW5lVGl0bGU6ICdTaW4gY29uZXhpw7NuJyxcbiAgICBvZmZsaW5lSGludDogJ1ZlcmlmaWNhIHR1IGNvbmV4acOzbiBlIGludGVudGEgZGUgbnVldm8uJyxcbiAgICByZXRyeTogJ1JlaW50ZW50YXInLFxuICAgIHNhdmVFcnJvcjogJ05vIHNlIHB1ZG8gZ3VhcmRhci4gSW50ZW50YSBkZSBudWV2by4nLFxuICAgIGxlYXZlRXJyb3I6ICdObyBzZSBwdWRvIHNhbGlyLiBJbnRlbnRhIGRlIG51ZXZvLicsXG4gICAgdHJhbnNmZXJUaXRsZTogJ1RyYW5zZmVyaXIgcHJvcGllZGFkJyxcbiAgICB0cmFuc2ZlckhpbnQ6ICdFbGlnZSB1biBtaWVtYnJvIHBhcmEgdHJhbnNmZXJpcmxlIGxhIHByb3BpZWRhZCBkZSBsYSBvcmdhbml6YWNpw7NuLicsXG4gICAgdHJhbnNmZXJTZWxlY3Q6ICdTZWxlY2Npb25hciBudWV2byBwcm9waWV0YXJpbycsXG4gICAgdHJhbnNmZXJDdGE6ICdUcmFuc2ZlcmlyJyxcbiAgICB0cmFuc2ZlckNvbmZpcm06ICfCv1RyYW5zZmVyaXIgbGEgcHJvcGllZGFkIGEgZXN0ZSBtaWVtYnJvPyBQZXJkZXLDoXMgZWwgcm9sIGRlIHByb3BpZXRhcmlvLicsXG4gICAgdHJhbnNmZXJTdWNjZXNzOiAnUHJvcGllZGFkIHRyYW5zZmVyaWRhLicsXG4gICAgdHJhbnNmZXJFcnJvcjogJ05vIHNlIHB1ZG8gdHJhbnNmZXJpciBsYSBwcm9waWVkYWQuJyxcbiAgICBpbnZpdGVDdGFUaXRsZTogJ8K/RGVzZWFzIGFncmVnYXIgYSBhbGd1aWVuPycsXG4gICAgaW52aXRlQ3RhSGludDogJ0ludml0YSBhIHVzdWFyaW9zIGEgdW5pcnNlIGEgdHUgb3JnYW5pemFjacOzbi4nLFxuICAgIGludml0ZU9wZW46ICdJbnZpdGFyJyxcbiAgICBpbXBvcnRPcGVuOiAnSW1wb3J0YXInLFxuICAgIGFwaUtleXNPcGVuOiAnR2VzdGlvbmFyJyxcbiAgICBhcGlLZXlzU2VjdGlvblRpdGxlOiAnSW50ZWdyYWNpb25lcyAoQVBJIEtleXMpJyxcbiAgICBhcGlLZXlzU2VjdGlvbkhpbnQ6XG4gICAgICAnVGFtYmnDqW4gcHVlZGVzIG9wZXJhciB0dSBvcmdhbml6YWNpw7NuIHbDrWEgQVBJOiBjcmVhIHVuYSBDbGllbnQgQVBJIEtleSBvcmctc2NvcGVhZGEgcGFyYSBpbnRlZ3JhY2lvbmVzIG3DoXF1aW5hLWEtbcOhcXVpbmEgKHBvciBlamVtcGxvLCBkYXIgZGUgYWx0YSBtaWVtYnJvcyBlbiBtYXNhIGRlc2RlIHR1IHByb3BpbyBzaXN0ZW1hKS4nLFxuICAgIGFwaUtleXNNb3JlSW5mbzogJ03DoXMgaW5mb3JtYWNpw7NuJyxcbiAgICBvcmdzTW9yZUluZm86ICdNw6FzIGluZm9ybWFjacOzbicsXG4gICAgb3Jnc0luZm9UaXRsZTogJ8K/UXXDqSBzb24gbGFzIG9yZ2FuaXphY2lvbmVzPycsXG4gICAgb3Jnc0luZm9TdWJ0aXRsZTogJ1RvZG8gbG8gcXVlIG5lY2VzaXRhcyBzYWJlcicsXG4gICAgb3Jnc0luZm9DbG9zZTogJ0NlcnJhcicsXG4gICAgb3Jnc0luZm9Db250ZW50OlxuICAgICAgJ0xhcyBvcmdhbml6YWNpb25lcyB0ZSBwZXJtaXRlbiBzZXBhcmFyIHR1cyBwcm95ZWN0b3MgeSBkYXRvcyBwb3IgZW1wcmVzYSwgZXF1aXBvIG8gY29udGV4dG8uIFB1ZWRlcyBwZXJ0ZW5lY2VyIGEgdmFyaWFzIG9yZ2FuaXphY2lvbmVzIHkgY2FtYmlhciBlbnRyZSBlbGxhcyBlbiBjdWFscXVpZXIgbW9tZW50by5cXG5cXG5DYWRhIG9yZ2FuaXphY2nDs24gdGllbmUgc3VzIHByb3Bpb3MgbWllbWJyb3MsIHJvbGVzIHkgcGVybWlzb3MuIExhIG9yZ2FuaXphY2nDs24gYWN0aXZhIGRldGVybWluYSBxdcOpIGRhdG9zIHZlcyB5IHF1w6kgYWNjaW9uZXMgcHVlZGVzIHJlYWxpemFyLlxcblxcblB1ZWRlcyBjcmVhciB1bmEgb3JnYW5pemFjacOzbiBudWV2YSBvIHVuaXJ0ZSBhIHVuYSBleGlzdGVudGUgbWVkaWFudGUgaW52aXRhY2nDs24uJyxcbiAgICB2aWV3TWVtYmVyQ3RhOiAnVmVyIG1pZW1icm8nLFxuICAgIHJvbGVWaWV3ZXI6ICdWaXNvcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW4nLFxuICAgIHJvbGVTdXBlckFkbWluOiAnU3VwZXIgQWRtaW4nLFxuICAgIHJvbGVzU2VjdGlvblRpdGxlOiAnUm9sZXMgeSBwZXJtaXNvcycsXG4gICAgcm9sZXNIaW50OlxuICAgICAgJ1R1IG9yZ2FuaXphY2nDs24gdGllbmUgcm9sZXMgcXVlIGNvbnRyb2xhbiBsbyBxdWUgY2FkYSBtaWVtYnJvIHB1ZWRlIHZlciB5IGhhY2VyLiBDYWRhIHJvbCBsbGV2YSB1biBjb25qdW50byBkZSBwZXJtaXNvcyBhc29jaWFkb3MuJyxcbiAgICByb2xlc1ZpZXdQZXJtczogJ1ZlciByb2xlcyB5IHBlcm1pc29zJyxcbiAgICByb2xlc1N5c3RlbUJhZGdlOiAnU2lzdGVtYScsXG4gICAgcGVybUFsbDogJ1RvZG8nLFxuICAgIHBlcm1Vc2VyczogJ1VzdWFyaW9zJyxcbiAgICBwZXJtRG9jdW1lbnRzOiAnRG9jdW1lbnRvcycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnUGxhbnRpbGxhcycsXG4gICAgcGVybVJlYWQ6ICdMZWVyJyxcbiAgICBwZXJtV3JpdGU6ICdFc2NyaWJpcicsXG4gICAgcGVybUNyZWF0ZTogJ0NyZWFyJyxcbiAgICBwZXJtRGVsZXRlOiAnRWxpbWluYXInLFxuICAgIHBlcm1NYW5hZ2U6ICdHZXN0aW9uYXInLFxuICAgIG1lbWJlcnNTaG93TW9yZTogJ1ZlciBtw6FzJyxcbiAgfSxcbiAgZW46IHtcbiAgICBwYWdlVGl0bGU6ICdPcmdhbml6YXRpb24nLFxuICAgIHBhZ2VEZXNjcmlwdGlvbjogJ01hbmFnZSB5b3VyIGFjdGl2ZSBvcmdhbml6YXRpb24nLFxuICAgIGluZm9UaXRsZTogJ0luZm9ybWF0aW9uJyxcbiAgICBpbmZvTmFtZTogJ05hbWUnLFxuICAgIGluZm9EZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uJyxcbiAgICBpbmZvUGxhbjogJ1BsYW4nLFxuICAgIGluZm9UeXBlOiAnVHlwZScsXG4gICAgZWRpdEN0YTogJ0VkaXQnLFxuICAgIHNhdmVDdGE6ICdTYXZlJyxcbiAgICBjYW5jZWxDdGE6ICdDYW5jZWwnLFxuICAgIG1lbWJlcnNUaXRsZTogJ01lbWJlcnMnLFxuICAgIG1lbWJlcnNFbXB0eTogJ05vIG1lbWJlcnMgeWV0LicsXG4gICAgbWVtYmVyUm9sZXM6ICdSb2xlcycsXG4gICAgaW52aXRlVGl0bGU6ICdJbnZpdGUnLFxuICAgIGludml0ZUVtYWlsOiAnRW1haWwgYWRkcmVzcycsXG4gICAgaW52aXRlUm9sZTogJ1JvbGUnLFxuICAgIGludml0ZUN0YTogJ0ludml0ZScsXG4gICAgaW52aXRlU3VjY2VzczogJ0ludml0YXRpb24gc2VudC4nLFxuICAgIGludml0ZUVycm9yOiAnQ291bGQgbm90IHNlbmQgaW52aXRhdGlvbi4nLFxuICAgIG1lbWJlcnNFcnJvcjogJ0NvdWxkIG5vdCBsb2FkIG1lbWJlcnMuJyxcbiAgICBsZWF2ZVRpdGxlOiAnTGVhdmUgb3JnYW5pemF0aW9uJyxcbiAgICBsZWF2ZUhpbnQ6ICdZb3Ugd2lsbCBsb3NlIGFjY2VzcyB0byB0aGlzIG9yZ2FuaXphdGlvbi4nLFxuICAgIGxlYXZlQ3RhOiAnTGVhdmUnLFxuICAgIGxlYXZlT3duZXJIaW50OiAnWW91IGFyZSB0aGUgb3duZXIuIFRyYW5zZmVyIG93bmVyc2hpcCBiZWZvcmUgbGVhdmluZy4nLFxuICAgIGxlYXZlQ29uZmlybTogJ0xlYXZlIHRoaXMgb3JnYW5pemF0aW9uPycsXG4gICAgcGxhbkZyZWU6ICdGcmVlJyxcbiAgICBwbGFuUHJvOiAnUHJvJyxcbiAgICBwbGFuRW50ZXJwcmlzZTogJ0VudGVycHJpc2UnLFxuICAgIHNhdmVTdWNjZXNzOiAnT3JnYW5pemF0aW9uIHVwZGF0ZWQuJyxcbiAgICBsZWF2ZVN1Y2Nlc3M6ICdZb3UgaGF2ZSBsZWZ0IHRoZSBvcmdhbml6YXRpb24uJyxcbiAgICBlcnJvclRpdGxlOiAnQ291bGQgbm90IGxvYWQgb3JnYW5pemF0aW9uJyxcbiAgICBvZmZsaW5lVGl0bGU6ICdObyBjb25uZWN0aW9uJyxcbiAgICBvZmZsaW5lSGludDogJ0NoZWNrIHlvdXIgY29ubmVjdGlvbiBhbmQgdHJ5IGFnYWluLicsXG4gICAgcmV0cnk6ICdSZXRyeScsXG4gICAgc2F2ZUVycm9yOiAnQ291bGQgbm90IHNhdmUuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICBsZWF2ZUVycm9yOiAnQ291bGQgbm90IGxlYXZlLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgdHJhbnNmZXJUaXRsZTogJ1RyYW5zZmVyIG93bmVyc2hpcCcsXG4gICAgdHJhbnNmZXJIaW50OiAnQ2hvb3NlIGEgbWVtYmVyIHRvIHRyYW5zZmVyIG93bmVyc2hpcCBvZiB0aGlzIG9yZ2FuaXphdGlvbi4nLFxuICAgIHRyYW5zZmVyU2VsZWN0OiAnU2VsZWN0IG5ldyBvd25lcicsXG4gICAgdHJhbnNmZXJDdGE6ICdUcmFuc2ZlcicsXG4gICAgdHJhbnNmZXJDb25maXJtOiAnVHJhbnNmZXIgb3duZXJzaGlwIHRvIHRoaXMgbWVtYmVyPyBZb3Ugd2lsbCBsb3NlIHRoZSBvd25lciByb2xlLicsXG4gICAgdHJhbnNmZXJTdWNjZXNzOiAnT3duZXJzaGlwIHRyYW5zZmVycmVkLicsXG4gICAgdHJhbnNmZXJFcnJvcjogJ0NvdWxkIG5vdCB0cmFuc2ZlciBvd25lcnNoaXAuJyxcbiAgICBpbnZpdGVDdGFUaXRsZTogJ1dhbnQgdG8gYWRkIHNvbWVvbmU/JyxcbiAgICBpbnZpdGVDdGFIaW50OiAnSW52aXRlIHVzZXJzIHRvIGpvaW4geW91ciBvcmdhbml6YXRpb24uJyxcbiAgICBpbnZpdGVPcGVuOiAnSW52aXRlJyxcbiAgICBpbXBvcnRPcGVuOiAnSW1wb3J0JyxcbiAgICBhcGlLZXlzT3BlbjogJ01hbmFnZScsXG4gICAgYXBpS2V5c1NlY3Rpb25UaXRsZTogJ0ludGVncmF0aW9ucyAoQVBJIEtleXMpJyxcbiAgICBhcGlLZXlzU2VjdGlvbkhpbnQ6XG4gICAgICAnWW91IGNhbiBhbHNvIG9wZXJhdGUgeW91ciBvcmdhbml6YXRpb24gdmlhIEFQSTogY3JlYXRlIGFuIG9yZy1zY29wZWQgQ2xpZW50IEFQSSBLZXkgZm9yIG1hY2hpbmUtdG8tbWFjaGluZSBpbnRlZ3JhdGlvbnMgKGZvciBleGFtcGxlLCBidWxrLXByb3Zpc2lvbmluZyBtZW1iZXJzIGZyb20geW91ciBvd24gc3lzdGVtKS4nLFxuICAgIGFwaUtleXNNb3JlSW5mbzogJ01vcmUgaW5mb3JtYXRpb24nLFxuICAgIG9yZ3NNb3JlSW5mbzogJ01vcmUgaW5mb3JtYXRpb24nLFxuICAgIG9yZ3NJbmZvVGl0bGU6ICdXaGF0IGFyZSBvcmdhbml6YXRpb25zPycsXG4gICAgb3Jnc0luZm9TdWJ0aXRsZTogJ0V2ZXJ5dGhpbmcgeW91IG5lZWQgdG8ga25vdycsXG4gICAgb3Jnc0luZm9DbG9zZTogJ0Nsb3NlJyxcbiAgICBvcmdzSW5mb0NvbnRlbnQ6XG4gICAgICAnT3JnYW5pemF0aW9ucyBsZXQgeW91IHNlcGFyYXRlIHlvdXIgcHJvamVjdHMgYW5kIGRhdGEgYnkgY29tcGFueSwgdGVhbSwgb3IgY29udGV4dC4gWW91IGNhbiBiZWxvbmcgdG8gbXVsdGlwbGUgb3JnYW5pemF0aW9ucyBhbmQgc3dpdGNoIGJldHdlZW4gdGhlbSBhdCBhbnkgdGltZS5cXG5cXG5FYWNoIG9yZ2FuaXphdGlvbiBoYXMgaXRzIG93biBtZW1iZXJzLCByb2xlcywgYW5kIHBlcm1pc3Npb25zLiBUaGUgYWN0aXZlIG9yZ2FuaXphdGlvbiBkZXRlcm1pbmVzIHdoYXQgZGF0YSB5b3Ugc2VlIGFuZCB3aGF0IGFjdGlvbnMgeW91IGNhbiB0YWtlLlxcblxcbllvdSBjYW4gY3JlYXRlIGEgbmV3IG9yZ2FuaXphdGlvbiBvciBqb2luIGFuIGV4aXN0aW5nIG9uZSB2aWEgaW52aXRhdGlvbi4nLFxuICAgIHZpZXdNZW1iZXJDdGE6ICdWaWV3IG1lbWJlcicsXG4gICAgcm9sZVZpZXdlcjogJ1ZpZXdlcicsXG4gICAgcm9sZUVkaXRvcjogJ0VkaXRvcicsXG4gICAgcm9sZUFkbWluOiAnQWRtaW4nLFxuICAgIHJvbGVTdXBlckFkbWluOiAnU3VwZXIgQWRtaW4nLFxuICAgIHJvbGVzU2VjdGlvblRpdGxlOiAnUm9sZXMgJiBwZXJtaXNzaW9ucycsXG4gICAgcm9sZXNIaW50OlxuICAgICAgJ1lvdXIgb3JnYW5pemF0aW9uIGhhcyByb2xlcyB0aGF0IGNvbnRyb2wgd2hhdCBlYWNoIG1lbWJlciBjYW4gc2VlIGFuZCBkby4gRWFjaCByb2xlIGNhcnJpZXMgYSBzZXQgb2YgYXNzb2NpYXRlZCBwZXJtaXNzaW9ucy4nLFxuICAgIHJvbGVzVmlld1Blcm1zOiAnVmlldyByb2xlcyAmIHBlcm1pc3Npb25zJyxcbiAgICByb2xlc1N5c3RlbUJhZGdlOiAnU3lzdGVtJyxcbiAgICBwZXJtQWxsOiAnQWxsJyxcbiAgICBwZXJtVXNlcnM6ICdVc2VycycsXG4gICAgcGVybURvY3VtZW50czogJ0RvY3VtZW50cycsXG4gICAgcGVybVJvbGVzOiAnUm9sZXMnLFxuICAgIHBlcm1NZWRpYTogJ01lZGlhJyxcbiAgICBwZXJtVGVtcGxhdGVzOiAnVGVtcGxhdGVzJyxcbiAgICBwZXJtUmVhZDogJ1JlYWQnLFxuICAgIHBlcm1Xcml0ZTogJ1dyaXRlJyxcbiAgICBwZXJtQ3JlYXRlOiAnQ3JlYXRlJyxcbiAgICBwZXJtRGVsZXRlOiAnRGVsZXRlJyxcbiAgICBwZXJtTWFuYWdlOiAnTWFuYWdlJyxcbiAgICBtZW1iZXJzU2hvd01vcmU6ICdTaG93IG1vcmUnLFxuICB9LFxufTtcbiJdfQ==
|
|
@@ -44,7 +44,7 @@ export class AuthBackgroundComponent {
|
|
|
44
44
|
this.config = computed(() => {
|
|
45
45
|
const props = this._props();
|
|
46
46
|
return {
|
|
47
|
-
waveCount: props.waveCount ??
|
|
47
|
+
waveCount: props.waveCount ?? 16,
|
|
48
48
|
waveColors: props.waveColors ?? this.defaultColors,
|
|
49
49
|
showGrain: props.showGrain !== false,
|
|
50
50
|
showGlass: props.showGlass !== false,
|
|
@@ -61,9 +61,13 @@ export class AuthBackgroundComponent {
|
|
|
61
61
|
const newWaves = Array.from({ length: count }, (_, i) => {
|
|
62
62
|
// Distribuir uniforme a lo largo del viewBox (0..800) — sin huecos arriba
|
|
63
63
|
const y = ((i + 0.5) / count) * 800;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
64
|
+
// Tiers (look "aurora"): pocas hero gruesas y luminosas, algunas mid, el
|
|
65
|
+
// resto tenues de fondo. Acentos de marca en las hero + alguna suelta.
|
|
66
|
+
const isHero = i % 5 === 0;
|
|
67
|
+
const isMedium = !isHero && i % 2 === 0;
|
|
68
|
+
const accent = isHero || i % 7 === 3;
|
|
69
|
+
// Hero más amplias para cintas que "respiran"; el resto, contenidas.
|
|
70
|
+
const amplitude = isHero ? 22 + Math.random() * 18 : 10 + Math.random() * 16;
|
|
67
71
|
// Frecuencia ENTERA (ciclos completos sobre el ancho 1440). Imprescindible
|
|
68
72
|
// para el loop seamless: con freq entero, path(x) === path(x ± 1440), así
|
|
69
73
|
// el translateX de una vuelta (1440px) calza exacto y NO hay salto/corte.
|
|
@@ -81,8 +85,10 @@ export class AuthBackgroundComponent {
|
|
|
81
85
|
id: i,
|
|
82
86
|
path,
|
|
83
87
|
color,
|
|
84
|
-
thickness:
|
|
85
|
-
opacity:
|
|
88
|
+
thickness: isHero ? 2.2 + Math.random() * 0.8 : isMedium ? 1 : 0.5,
|
|
89
|
+
opacity: isHero ? 0.55 : isMedium ? 0.3 : 0.16,
|
|
90
|
+
glow: isHero,
|
|
91
|
+
accent,
|
|
86
92
|
// Drift vertical sutil (no "equalizer"): da vida sin saltos.
|
|
87
93
|
bob: 4 + Math.random() * 10,
|
|
88
94
|
// Flujo horizontal continuo. Duraciones variadas = parallax/profundidad.
|
|
@@ -105,6 +111,16 @@ export class AuthBackgroundComponent {
|
|
|
105
111
|
}
|
|
106
112
|
<div class="wave-bg">
|
|
107
113
|
<svg class="waves" viewBox="0 0 1440 800" preserveAspectRatio="none">
|
|
114
|
+
<defs>
|
|
115
|
+
<!-- Halo: blur por debajo del trazo nítido = cinta luminosa. -->
|
|
116
|
+
<filter id="wave-glow" x="-10%" y="-60%" width="120%" height="220%">
|
|
117
|
+
<feGaussianBlur stdDeviation="2.6" result="b" />
|
|
118
|
+
<feMerge>
|
|
119
|
+
<feMergeNode in="b" />
|
|
120
|
+
<feMergeNode in="SourceGraphic" />
|
|
121
|
+
</feMerge>
|
|
122
|
+
</filter>
|
|
123
|
+
</defs>
|
|
108
124
|
@for (wave of waves(); track wave.id) {
|
|
109
125
|
<path
|
|
110
126
|
[attr.d]="wave.path"
|
|
@@ -112,6 +128,8 @@ export class AuthBackgroundComponent {
|
|
|
112
128
|
[attr.stroke-width]="wave.thickness"
|
|
113
129
|
[class.travel-left]="wave.travelDirection === 'left'"
|
|
114
130
|
[class.travel-right]="wave.travelDirection === 'right'"
|
|
131
|
+
[class.glow]="wave.glow"
|
|
132
|
+
[class.accent]="wave.accent"
|
|
115
133
|
[style.opacity]="wave.opacity"
|
|
116
134
|
[style.--bob]="wave.bob + 'px'"
|
|
117
135
|
[style.--travel-duration]="wave.travelDuration + 's'"
|
|
@@ -125,7 +143,7 @@ export class AuthBackgroundComponent {
|
|
|
125
143
|
<ng-content></ng-content>
|
|
126
144
|
</div>
|
|
127
145
|
</section>
|
|
128
|
-
`, isInline: true, styles: [":host{display:block;--auth-bg-start: #ffffff;--auth-bg-mid: #f8f9fa;--auth-bg-end: #f0f0f0;--auth-glass-bg: rgba(255, 255, 255, .3);--auth-grain-opacity: .035;--auth-wave-color: var(--ion-color-primary, #6366f1)}:host-context(body.dark),:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--auth-bg-start: #0f0f1a;--auth-bg-mid: #1a1a2e;--auth-bg-end: #16213e;--auth-glass-bg: rgba(0, 0, 0, .3);--auth-grain-opacity: .05;--auth-wave-color: var(--ion-color-primary, #818cf8)}.auth-background{position:relative;display:flex;align-items:center;padding:0;background:linear-gradient(135deg,var(--auth-bg-start) 0%,var(--auth-bg-mid) 50%,var(--auth-bg-end) 100%);overflow:hidden}.grain{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--auth-grain-opacity);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E\")}.glass-layer{position:absolute;inset:0;pointer-events:none;z-index:1;background:var(--auth-glass-bg);backdrop-filter:blur(3px) saturate(120%);-webkit-backdrop-filter:blur(3px) saturate(120%)}.wave-bg{position:absolute;inset:0;pointer-events:none;z-index:0;transition:filter .3s ease}:host-context(body.dark) .wave-bg,:host-context(.dark) .wave-bg,:host-context(.ion-palette-dark) .wave-bg,:host-context(html.ion-palette-dark) .wave-bg,:host-context([data-theme=\"dark\"]) .wave-bg{filter:invert(1) opacity(.6)}.waves{width:100%;height:100%;overflow:visible}.waves path{fill:none;will-change:transform;animation:wave-flow-right var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.travel-left{animation:wave-flow-left var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}@keyframes wave-flow-right{0%{transform:translate(0)}25%{transform:translate(-360px,calc(var(--bob, 0px) * -1))}50%{transform:translate(-720px)}75%{transform:translate(-1080px,var(--bob, 0px))}to{transform:translate(-1440px)}}@keyframes wave-flow-left{0%{transform:translate(0)}25%{transform:translate(360px,var(--bob, 0px))}50%{transform:translate(720px)}75%{transform:translate(1080px,calc(var(--bob, 0px) * -1))}to{transform:translate(1440px)}}@media (prefers-reduced-motion: reduce){.waves path{animation:none}}.content-layer{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
146
|
+
`, isInline: true, styles: [":host{display:block;--auth-bg-start: #ffffff;--auth-bg-mid: #f8f9fa;--auth-bg-end: #f0f0f0;--auth-glass-bg: rgba(255, 255, 255, .3);--auth-grain-opacity: .035;--auth-wave-color: var(--ion-color-primary, #6366f1)}:host-context(body.dark),:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--auth-bg-start: #0f0f1a;--auth-bg-mid: #1a1a2e;--auth-bg-end: #16213e;--auth-glass-bg: rgba(0, 0, 0, .3);--auth-grain-opacity: .05;--auth-wave-color: var(--ion-color-primary, #818cf8)}.auth-background{position:relative;display:flex;align-items:center;padding:0;background:linear-gradient(135deg,var(--auth-bg-start) 0%,var(--auth-bg-mid) 50%,var(--auth-bg-end) 100%);overflow:hidden}.grain{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--auth-grain-opacity);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E\")}.glass-layer{position:absolute;inset:0;pointer-events:none;z-index:1;background:var(--auth-glass-bg);backdrop-filter:blur(3px) saturate(120%);-webkit-backdrop-filter:blur(3px) saturate(120%)}.wave-bg{position:absolute;inset:0;pointer-events:none;z-index:0;transition:filter .3s ease}:host-context(body.dark) .wave-bg,:host-context(.dark) .wave-bg,:host-context(.ion-palette-dark) .wave-bg,:host-context(html.ion-palette-dark) .wave-bg,:host-context([data-theme=\"dark\"]) .wave-bg{filter:invert(1) opacity(.6)}.waves{width:100%;height:100%;overflow:visible;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%)}.waves path{fill:none;stroke-linecap:round;will-change:transform;animation:wave-flow-right var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.travel-left{animation:wave-flow-left var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.accent{stroke:var(--auth-wave-color)}.waves path.glow{filter:url(#wave-glow)}@keyframes wave-flow-right{0%{transform:translate(0)}25%{transform:translate(-360px,calc(var(--bob, 0px) * -1))}50%{transform:translate(-720px)}75%{transform:translate(-1080px,var(--bob, 0px))}to{transform:translate(-1440px)}}@keyframes wave-flow-left{0%{transform:translate(0)}25%{transform:translate(360px,var(--bob, 0px))}50%{transform:translate(720px)}75%{transform:translate(1080px,calc(var(--bob, 0px) * -1))}to{transform:translate(1440px)}}@media (prefers-reduced-motion: reduce){.waves path{animation:none}}.content-layer{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
129
147
|
}
|
|
130
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuthBackgroundComponent, decorators: [{
|
|
131
149
|
type: Component,
|
|
@@ -139,6 +157,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
139
157
|
}
|
|
140
158
|
<div class="wave-bg">
|
|
141
159
|
<svg class="waves" viewBox="0 0 1440 800" preserveAspectRatio="none">
|
|
160
|
+
<defs>
|
|
161
|
+
<!-- Halo: blur por debajo del trazo nítido = cinta luminosa. -->
|
|
162
|
+
<filter id="wave-glow" x="-10%" y="-60%" width="120%" height="220%">
|
|
163
|
+
<feGaussianBlur stdDeviation="2.6" result="b" />
|
|
164
|
+
<feMerge>
|
|
165
|
+
<feMergeNode in="b" />
|
|
166
|
+
<feMergeNode in="SourceGraphic" />
|
|
167
|
+
</feMerge>
|
|
168
|
+
</filter>
|
|
169
|
+
</defs>
|
|
142
170
|
@for (wave of waves(); track wave.id) {
|
|
143
171
|
<path
|
|
144
172
|
[attr.d]="wave.path"
|
|
@@ -146,6 +174,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
146
174
|
[attr.stroke-width]="wave.thickness"
|
|
147
175
|
[class.travel-left]="wave.travelDirection === 'left'"
|
|
148
176
|
[class.travel-right]="wave.travelDirection === 'right'"
|
|
177
|
+
[class.glow]="wave.glow"
|
|
178
|
+
[class.accent]="wave.accent"
|
|
149
179
|
[style.opacity]="wave.opacity"
|
|
150
180
|
[style.--bob]="wave.bob + 'px'"
|
|
151
181
|
[style.--travel-duration]="wave.travelDuration + 's'"
|
|
@@ -159,8 +189,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
159
189
|
<ng-content></ng-content>
|
|
160
190
|
</div>
|
|
161
191
|
</section>
|
|
162
|
-
`, styles: [":host{display:block;--auth-bg-start: #ffffff;--auth-bg-mid: #f8f9fa;--auth-bg-end: #f0f0f0;--auth-glass-bg: rgba(255, 255, 255, .3);--auth-grain-opacity: .035;--auth-wave-color: var(--ion-color-primary, #6366f1)}:host-context(body.dark),:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--auth-bg-start: #0f0f1a;--auth-bg-mid: #1a1a2e;--auth-bg-end: #16213e;--auth-glass-bg: rgba(0, 0, 0, .3);--auth-grain-opacity: .05;--auth-wave-color: var(--ion-color-primary, #818cf8)}.auth-background{position:relative;display:flex;align-items:center;padding:0;background:linear-gradient(135deg,var(--auth-bg-start) 0%,var(--auth-bg-mid) 50%,var(--auth-bg-end) 100%);overflow:hidden}.grain{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--auth-grain-opacity);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E\")}.glass-layer{position:absolute;inset:0;pointer-events:none;z-index:1;background:var(--auth-glass-bg);backdrop-filter:blur(3px) saturate(120%);-webkit-backdrop-filter:blur(3px) saturate(120%)}.wave-bg{position:absolute;inset:0;pointer-events:none;z-index:0;transition:filter .3s ease}:host-context(body.dark) .wave-bg,:host-context(.dark) .wave-bg,:host-context(.ion-palette-dark) .wave-bg,:host-context(html.ion-palette-dark) .wave-bg,:host-context([data-theme=\"dark\"]) .wave-bg{filter:invert(1) opacity(.6)}.waves{width:100%;height:100%;overflow:visible}.waves path{fill:none;will-change:transform;animation:wave-flow-right var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.travel-left{animation:wave-flow-left var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}@keyframes wave-flow-right{0%{transform:translate(0)}25%{transform:translate(-360px,calc(var(--bob, 0px) * -1))}50%{transform:translate(-720px)}75%{transform:translate(-1080px,var(--bob, 0px))}to{transform:translate(-1440px)}}@keyframes wave-flow-left{0%{transform:translate(0)}25%{transform:translate(360px,var(--bob, 0px))}50%{transform:translate(720px)}75%{transform:translate(1080px,calc(var(--bob, 0px) * -1))}to{transform:translate(1440px)}}@media (prefers-reduced-motion: reduce){.waves path{animation:none}}.content-layer{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center}\n"] }]
|
|
192
|
+
`, styles: [":host{display:block;--auth-bg-start: #ffffff;--auth-bg-mid: #f8f9fa;--auth-bg-end: #f0f0f0;--auth-glass-bg: rgba(255, 255, 255, .3);--auth-grain-opacity: .035;--auth-wave-color: var(--ion-color-primary, #6366f1)}:host-context(body.dark),:host-context(.dark),:host-context(.ion-palette-dark),:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--auth-bg-start: #0f0f1a;--auth-bg-mid: #1a1a2e;--auth-bg-end: #16213e;--auth-glass-bg: rgba(0, 0, 0, .3);--auth-grain-opacity: .05;--auth-wave-color: var(--ion-color-primary, #818cf8)}.auth-background{position:relative;display:flex;align-items:center;padding:0;background:linear-gradient(135deg,var(--auth-bg-start) 0%,var(--auth-bg-mid) 50%,var(--auth-bg-end) 100%);overflow:hidden}.grain{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--auth-grain-opacity);background-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.5' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E\")}.glass-layer{position:absolute;inset:0;pointer-events:none;z-index:1;background:var(--auth-glass-bg);backdrop-filter:blur(3px) saturate(120%);-webkit-backdrop-filter:blur(3px) saturate(120%)}.wave-bg{position:absolute;inset:0;pointer-events:none;z-index:0;transition:filter .3s ease}:host-context(body.dark) .wave-bg,:host-context(.dark) .wave-bg,:host-context(.ion-palette-dark) .wave-bg,:host-context(html.ion-palette-dark) .wave-bg,:host-context([data-theme=\"dark\"]) .wave-bg{filter:invert(1) opacity(.6)}.waves{width:100%;height:100%;overflow:visible;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 16%,#000 84%,transparent 100%)}.waves path{fill:none;stroke-linecap:round;will-change:transform;animation:wave-flow-right var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.travel-left{animation:wave-flow-left var(--travel-duration, 18s) linear var(--travel-delay, 0s) infinite}.waves path.accent{stroke:var(--auth-wave-color)}.waves path.glow{filter:url(#wave-glow)}@keyframes wave-flow-right{0%{transform:translate(0)}25%{transform:translate(-360px,calc(var(--bob, 0px) * -1))}50%{transform:translate(-720px)}75%{transform:translate(-1080px,var(--bob, 0px))}to{transform:translate(-1440px)}}@keyframes wave-flow-left{0%{transform:translate(0)}25%{transform:translate(360px,var(--bob, 0px))}50%{transform:translate(720px)}75%{transform:translate(1080px,calc(var(--bob, 0px) * -1))}to{transform:translate(1440px)}}@media (prefers-reduced-motion: reduce){.waves path{animation:none}}.content-layer{position:relative;z-index:2;width:100%;height:100%;display:flex;align-items:center}\n"] }]
|
|
163
193
|
}], ctorParameters: () => [], propDecorators: { props: [{
|
|
164
194
|
type: Input
|
|
165
195
|
}] } });
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvYXV0aC1iYWNrZ3JvdW5kL2F1dGgtYmFja2dyb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBZ0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBMkxILE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsSUFDSSxLQUFLLENBQUMsS0FBNkI7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBa0JEO1FBM0JRLFdBQU0sR0FBRyxNQUFNLENBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBVzVDLGtCQUFhLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLGdCQUFXLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPO2dCQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxJ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QUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtnQkFDM0IseUVBQXlFO2dCQUN6RSx3REFBd0Q7Z0JBQ3hELGNBQWMsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7Z0JBQ3ZDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFO2dCQUNoQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFFLE9BQWlCLENBQUMsQ0FBQyxDQUFFLE1BQWdCO2FBQ3RFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7K0dBN0VVLHVCQUF1QjttR0FBdkIsdUJBQXVCLDJHQXRMeEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThCVCx3bUZBL0JTLFlBQVk7OzRGQXVMWCx1QkFBdUI7a0JBMUxuQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJUO3dEQTRKRyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBzaWduYWwsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQXV0aEJhY2tncm91bmRNZXRhZGF0YSB9IGZyb20gJy4vdHlwZXMnO1xuXG5pbnRlcmZhY2UgV2F2ZURhdGEge1xuICBpZDogbnVtYmVyO1xuICBwYXRoOiBzdHJpbmc7XG4gIGNvbG9yOiBzdHJpbmc7XG4gIHRoaWNrbmVzczogbnVtYmVyO1xuICBvcGFjaXR5OiBudW1iZXI7XG4gIC8qKiBBbXBsaXR1ZCBkZWwgZHJpZnQgdmVydGljYWwgc3V0aWwgKHB4KSBkdXJhbnRlIGVsIGZsdWpvLiAqL1xuICBib2I6IG51bWJlcjtcbiAgdHJhdmVsRHVyYXRpb246IG51bWJlcjtcbiAgdHJhdmVsRGVsYXk6IG51bWJlcjtcbiAgdHJhdmVsRGlyZWN0aW9uOiAnbGVmdCcgfCAncmlnaHQnO1xufVxuXG4vKipcbiAqIHZhbC1hdXRoLWJhY2tncm91bmRcbiAqXG4gKiBBIHZpc3VhbGx5IHN0cmlraW5nIGJhY2tncm91bmQgY29tcG9uZW50IGZvciBhdXRoZW50aWNhdGlvbiBwYWdlcy5cbiAqIEZlYXR1cmVzIGFuaW1hdGVkIHdhdmUgcGF0dGVybnMsIGdyYWluIHRleHR1cmUsIGFuZCBnbGFzc21vcnBoaXNtIGVmZmVjdHMuXG4gKiBTdXBwb3J0cyBkYXJrIG1vZGUgYXV0b21hdGljYWxseSB2aWEgQ1NTIHZhcmlhYmxlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1hdXRoLWJhY2tncm91bmQ+XG4gKiAgIDxkaXYgY2xhc3M9XCJteS1jb250ZW50XCI+XG4gKiAgICAgPGgxPldlbGNvbWU8L2gxPlxuICogICAgIDx2YWwtbG9naW4gW3Byb3BzXT1cImxvZ2luUHJvcHNcIiAvPlxuICogICA8L2Rpdj5cbiAqIDwvdmFsLWF1dGgtYmFja2dyb3VuZD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBjb25maWd1cmF0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWF1dGgtYmFja2dyb3VuZCBbcHJvcHNdPVwie1xuICogICB3YXZlQ291bnQ6IDMwLFxuICogICBzaG93R3JhaW46IGZhbHNlLFxuICogICBtaW5IZWlnaHQ6ICcxMDB2aCdcbiAqIH1cIj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj4uLi48L2Rpdj5cbiAqIDwvdmFsLWF1dGgtYmFja2dyb3VuZD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXV0aC1iYWNrZ3JvdW5kJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhdXRoLWJhY2tncm91bmRcIiBbc3R5bGUubWluLWhlaWdodF09XCJjb25maWcoKS5taW5IZWlnaHRcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkuc2hvd0dyYWluKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmFpblwiPjwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5zaG93R2xhc3MpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdsYXNzLWxheWVyXCI+PC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwid2F2ZS1iZ1wiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwid2F2ZXNcIiB2aWV3Qm94PVwiMCAwIDE0NDAgODAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cbiAgICAgICAgICBAZm9yICh3YXZlIG9mIHdhdmVzKCk7IHRyYWNrIHdhdmUuaWQpIHtcbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIFthdHRyLmRdPVwid2F2ZS5wYXRoXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cIndhdmUuY29sb3JcIlxuICAgICAgICAgICAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwid2F2ZS50aGlja25lc3NcIlxuICAgICAgICAgICAgICBbY2xhc3MudHJhdmVsLWxlZnRdPVwid2F2ZS50cmF2ZWxEaXJlY3Rpb24gPT09ICdsZWZ0J1wiXG4gICAgICAgICAgICAgIFtjbGFzcy50cmF2ZWwtcmlnaHRdPVwid2F2ZS50cmF2ZWxEaXJlY3Rpb24gPT09ICdyaWdodCdcIlxuICAgICAgICAgICAgICBbc3R5bGUub3BhY2l0eV09XCJ3YXZlLm9wYWNpdHlcIlxuICAgICAgICAgICAgICBbc3R5bGUuLS1ib2JdPVwid2F2ZS5ib2IgKyAncHgnXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tdHJhdmVsLWR1cmF0aW9uXT1cIndhdmUudHJhdmVsRHVyYXRpb24gKyAncydcIlxuICAgICAgICAgICAgICBbc3R5bGUuLS10cmF2ZWwtZGVsYXldPVwid2F2ZS50cmF2ZWxEZWxheSArICdzJ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtbGF5ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICAvKiBUaGVtZSB2YXJpYWJsZXMgLSBMaWdodCBtb2RlIChkZWZhdWx0KSAqL1xuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLS1hdXRoLWJnLXN0YXJ0OiAjZmZmZmZmO1xuICAgICAgICAtLWF1dGgtYmctbWlkOiAjZjhmOWZhO1xuICAgICAgICAtLWF1dGgtYmctZW5kOiAjZjBmMGYwO1xuICAgICAgICAtLWF1dGgtZ2xhc3MtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgICAgLS1hdXRoLWdyYWluLW9wYWNpdHk6IDAuMDM1O1xuICAgICAgICAtLWF1dGgtd2F2ZS1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM2MzY2ZjEpO1xuICAgICAgfVxuXG4gICAgICAvKiBEYXJrIG1vZGUgLSBDbGFzcy1iYXNlZCBPTkxZIChUaGVtZVNlcnZpY2UgdG9nZ2xlcyBib2R5LmRhcmsvaHRtbC5pb24tcGFsZXR0ZS1kYXJrKS5cbiAgICAgICAgIE5vIEBtZWRpYSBwcmVmZXJzLWNvbG9yLXNjaGVtZSDigJQgcGlzYWJhIGVsIG1hbnVhbCB0b2dnbGUgZGVsIHVzZXIuICovXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSB7XG4gICAgICAgIC0tYXV0aC1iZy1zdGFydDogIzBmMGYxYTtcbiAgICAgICAgLS1hdXRoLWJnLW1pZDogIzFhMWEyZTtcbiAgICAgICAgLS1hdXRoLWJnLWVuZDogIzE2MjEzZTtcbiAgICAgICAgLS1hdXRoLWdsYXNzLWJnOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIC0tYXV0aC1ncmFpbi1vcGFjaXR5OiAwLjA1O1xuICAgICAgICAtLWF1dGgtd2F2ZS1jb2xvcjogdmFyKC0taW9uLWNvbG9yLXByaW1hcnksICM4MThjZjgpO1xuICAgICAgfVxuXG4gICAgICAuYXV0aC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1hdXRoLWJnLXN0YXJ0KSAwJSwgdmFyKC0tYXV0aC1iZy1taWQpIDUwJSwgdmFyKC0tYXV0aC1iZy1lbmQpIDEwMCUpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAuZ3JhaW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgb3BhY2l0eTogdmFyKC0tYXV0aC1ncmFpbi1vcGFjaXR5KTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMjU2IDI1NicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2ZpbHRlciBpZD0nbm9pc2UnJTNFJTNDZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC41JyBudW1PY3RhdmVzPScyJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8lM0UlM0MvZmlsdGVyJTNFJTNDcmVjdCB3aWR0aD0nMTAwJTI1JyBoZWlnaHQ9JzEwMCUyNScgZmlsdGVyPSd1cmwoJTIzbm9pc2UpJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgfVxuXG4gICAgICAuZ2xhc3MtbGF5ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYXV0aC1nbGFzcy1iZyk7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpIHNhdHVyYXRlKDEyMCUpO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpIHNhdHVyYXRlKDEyMCUpO1xuICAgICAgfVxuXG4gICAgICAud2F2ZS1iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4zcyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAvKiBJbnZlcnQgd2F2ZXMgZW4gZGFyayDigJQgY2xhc3MtYmFzZWQgb25seSAoVGhlbWVTZXJ2aWNlIHRvZ2dsZSkuICovXG4gICAgICA6aG9zdC1jb250ZXh0KGJvZHkuZGFyaykgLndhdmUtYmcsXG4gICAgICA6aG9zdC1jb250ZXh0KC5kYXJrKSAud2F2ZS1iZyxcbiAgICAgIDpob3N0LWNvbnRleHQoLmlvbi1wYWxldHRlLWRhcmspIC53YXZlLWJnLFxuICAgICAgOmhvc3QtY29udGV4dChodG1sLmlvbi1wYWxldHRlLWRhcmspIC53YXZlLWJnLFxuICAgICAgOmhvc3QtY29udGV4dChbZGF0YS10aGVtZT0nZGFyayddKSAud2F2ZS1iZyB7XG4gICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpIG9wYWNpdHkoMC42KTtcbiAgICAgIH1cblxuICAgICAgLndhdmVzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG5cbiAgICAgIC8qIFVuYSBzb2xhIGFuaW1hY2nDs24gcG9yIHBhdGggKHRyYW5zbGF0ZSBYK1kgY29tYmluYWRvcykgcGFyYSBubyB0ZW5lciBkb3NcbiAgICAgICAgIGtleWZyYW1lcyBwZWxlYW5kbyBwb3IgbGEgbWlzbWEgcHJvcGllZGFkIHRyYW5zZm9ybS4gRWwgbG9vcCBlcyBzZWFtbGVzczpcbiAgICAgICAgIFggcmVjb3JyZSBleGFjdGFtZW50ZSB1bmEgdnVlbHRhICgxNDQwcHgpIHNvYnJlIHVuIHBhdGggcGVyacOzZGljbywgYXPDrSBlbFxuICAgICAgICAgcmVpbmljaW8gZGVsIGNpY2xvIGVzIGludmlzaWJsZS4gKi9cbiAgICAgIC53YXZlcyBwYXRoIHtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgYW5pbWF0aW9uOiB3YXZlLWZsb3ctcmlnaHQgdmFyKC0tdHJhdmVsLWR1cmF0aW9uLCAxOHMpIGxpbmVhciB2YXIoLS10cmF2ZWwtZGVsYXksIDBzKSBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgLndhdmVzIHBhdGgudHJhdmVsLWxlZnQge1xuICAgICAgICBhbmltYXRpb246IHdhdmUtZmxvdy1sZWZ0IHZhcigtLXRyYXZlbC1kdXJhdGlvbiwgMThzKSBsaW5lYXIgdmFyKC0tdHJhdmVsLWRlbGF5LCAwcykgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIC8qIEZsdWpvIGNvbnRpbnVvIHkgc2VhbWxlc3MuIFggcmVjb3JyZSB1bmEgdnVlbHRhIGNvbXBsZXRhICgxNDQwcHgpIGVuXG4gICAgICAgICBwYXNvcyBsaW5lYWxlcyBjb25zdGFudGVzIOKGkiB2ZWxvY2lkYWQgdW5pZm9ybWUgeSwgcG9yIGxhIHBlcmlvZGljaWRhZFxuICAgICAgICAgZGVsIHBhdGgsIGVsIHNhbHRvIGRlIDEwMCXihpIwJSBlcyBpbnZpc2libGUuIFkgaGFjZSB1biBkcmlmdCBzdXRpbCBxdWVcbiAgICAgICAgIHZ1ZWx2ZSBhIDAgYWwgY2VycmFyIGVsIGNpY2xvIChzaW4gZXF1YWxpemVyLCBzaW4gc2FsdG9zKS4gKi9cbiAgICAgIEBrZXlmcmFtZXMgd2F2ZS1mbG93LXJpZ2h0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDI1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTM2MHB4LCBjYWxjKHZhcigtLWJvYiwgMHB4KSAqIC0xKSk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzIwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEwODBweCwgdmFyKC0tYm9iLCAwcHgpKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTQ0MHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAa2V5ZnJhbWVzIHdhdmUtZmxvdy1sZWZ0IHtcbiAgICAgICAgMCUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICB9XG4gICAgICAgIDI1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMzYwcHgsIHZhcigtLWJvYiwgMHB4KSk7XG4gICAgICAgIH1cbiAgICAgICAgNTAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg3MjBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgNzUlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDgwcHgsIGNhbGModmFyKC0tYm9iLCAwcHgpICogLTEpKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxNDQwcHgsIDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFJlZHVjZWQgbW90aW9uIOKAlCBrZWVwIHdhdmVzIHN0aWxsICovXG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAud2F2ZXMgcGF0aCB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LWxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhCYWNrZ3JvdW5kQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBfcHJvcHMgPSBzaWduYWw8QXV0aEJhY2tncm91bmRNZXRhZGF0YT4oe30pO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBwcm9wcyh2YWx1ZTogQXV0aEJhY2tncm91bmRNZXRhZGF0YSkge1xuICAgIHRoaXMuX3Byb3BzLnNldCh2YWx1ZSk7XG4gICAgdGhpcy5yZWdlbmVyYXRlV2F2ZXMoKTtcbiAgfVxuICBnZXQgcHJvcHMoKTogQXV0aEJhY2tncm91bmRNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb3BzKCk7XG4gIH1cblxuICBwcml2YXRlIGRlZmF1bHRDb2xvcnMgPSBbJyNlMGUwZTAnLCAnI2JkYmRiZCcsICcjOWU5ZTllJywgJyM3NTc1NzUnLCAnIzYxNjE2MScsICcjNDI0MjQyJ107XG4gIHByaXZhdGUgd2F2ZXNTaWduYWwgPSBzaWduYWw8V2F2ZURhdGFbXT4oW10pO1xuXG4gIGNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMuX3Byb3BzKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdhdmVDb3VudDogcHJvcHMud2F2ZUNvdW50ID8/IDQ1LFxuICAgICAgd2F2ZUNvbG9yczogcHJvcHMud2F2ZUNvbG9ycyA/PyB0aGlzLmRlZmF1bHRDb2xvcnMsXG4gICAgICBzaG93R3JhaW46IHByb3BzLnNob3dHcmFpbiAhPT0gZmFsc2UsXG4gICAgICBzaG93R2xhc3M6IHByb3BzLnNob3dHbGFzcyAhPT0gZmFsc2UsXG4gICAgICBtaW5IZWlnaHQ6IHByb3BzLm1pbkhlaWdodCA/PyAnY2FsYygxMDB2aCAtIDEyMHB4KScsXG4gICAgfTtcbiAgfSk7XG5cbiAgd2F2ZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLndhdmVzU2lnbmFsKCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucmVnZW5lcmF0ZVdhdmVzKCk7XG4gIH1cblxuICBwcml2YXRlIHJlZ2VuZXJhdGVXYXZlcygpOiB2b2lkIHtcbiAgICBjb25zdCBjZmcgPSB0aGlzLmNvbmZpZygpO1xuICAgIGNvbnN0IGNvbG9ycyA9IGNmZy53YXZlQ29sb3JzO1xuICAgIGNvbnN0IGNvdW50ID0gY2ZnLndhdmVDb3VudDtcblxuICAgIGNvbnN0IG5ld1dhdmVzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogY291bnQgfSwgKF8sIGkpID0+IHtcbiAgICAgIC8vIERpc3RyaWJ1aXIgdW5pZm9ybWUgYSBsbyBsYXJnbyBkZWwgdmlld0JveCAoMC4uODAwKSDigJQgc2luIGh1ZWNvcyBhcnJpYmFcbiAgICAgIGNvbnN0IHkgPSAoKGkgKyAwLjUpIC8gY291bnQpICogODAwO1xuICAgICAgY29uc3QgaXNUaGljayA9IGkgJSA1ID09PSAwO1xuICAgICAgY29uc3QgaXNNZWRpdW0gPSBpICUgMyA9PT0gMCAmJiAhaXNUaGljaztcblxuICAgICAgY29uc3QgYW1wbGl0dWRlID0gMTAgKyBNYXRoLnJhbmRvbSgpICogMjA7XG4gICAgICAvLyBGcmVjdWVuY2lhIEVOVEVSQSAoY2ljbG9zIGNvbXBsZXRvcyBzb2JyZSBlbCBhbmNobyAxNDQwKS4gSW1wcmVzY2luZGlibGVcbiAgICAgIC8vIHBhcmEgZWwgbG9vcCBzZWFtbGVzczogY29uIGZyZXEgZW50ZXJvLCBwYXRoKHgpID09PSBwYXRoKHggwrEgMTQ0MCksIGFzw61cbiAgICAgIC8vIGVsIHRyYW5zbGF0ZVggZGUgdW5hIHZ1ZWx0YSAoMTQ0MHB4KSBjYWx6YSBleGFjdG8geSBOTyBoYXkgc2FsdG8vY29ydGUuXG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSAxICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMyk7IC8vIDEgfCAyIHwgM1xuICAgICAgY29uc3QgcGhhc2UgPSBNYXRoLnJhbmRvbSgpICogTWF0aC5QSSAqIDI7XG5cbiAgICAgIC8vIFBhdGggZXh0ZW5kaWRvIGEgLTE0ODAgLi4gMjkyMCAo4omlIHVuYSB2dWVsdGEgZGUgYmxlZWQgYSBjYWRhIGxhZG8pIHBhcmFcbiAgICAgIC8vIHF1ZSBlbCBkZXNwbGF6YW1pZW50byBkZSDCsTE0NDBweCBudW5jYSBkZWplIGVsIHZpZXdCb3ggc2luIG9uZGEuXG4gICAgICBsZXQgcGF0aCA9IGBNLTE0ODAsJHt5fWA7XG4gICAgICBmb3IgKGxldCB4ID0gLTE0ODA7IHggPD0gMjkyMDsgeCArPSA0MCkge1xuICAgICAgICBjb25zdCB3YXZlWSA9IHkgKyBhbXBsaXR1ZGUgKiBNYXRoLnNpbigoeCAvIDE0NDApICogTWF0aC5QSSAqIGZyZXF1ZW5jeSAqIDIgKyBwaGFzZSk7XG4gICAgICAgIHBhdGggKz0gYCBMJHt4fSwke3dhdmVZLnRvRml4ZWQoMSl9YDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sb3IgPSBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogaSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIHRoaWNrbmVzczogaXNUaGljayA/IDEuMiA6IGlzTWVkaXVtID8gMC43IDogMC4zLFxuICAgICAgICBvcGFjaXR5OiBpc1RoaWNrID8gMC41IDogaXNNZWRpdW0gPyAwLjQgOiAwLjMsXG4gICAgICAgIC8vIERyaWZ0IHZlcnRpY2FsIHN1dGlsIChubyBcImVxdWFsaXplclwiKTogZGEgdmlkYSBzaW4gc2FsdG9zLlxuICAgICAgICBib2I6IDQgKyBNYXRoLnJhbmRvbSgpICogMTAsXG4gICAgICAgIC8vIEZsdWpvIGhvcml6b250YWwgY29udGludW8uIER1cmFjaW9uZXMgdmFyaWFkYXMgPSBwYXJhbGxheC9wcm9mdW5kaWRhZC5cbiAgICAgICAgLy8gZGVsYXkgbmVnYXRpdm8gZGVzaW5jcm9uaXphIGVsIGFycmFucXVlIGRlIGNhZGEgY2FwYS5cbiAgICAgICAgdHJhdmVsRHVyYXRpb246IDE0ICsgTWF0aC5yYW5kb20oKSAqIDIyLFxuICAgICAgICB0cmF2ZWxEZWxheTogLU1hdGgucmFuZG9tKCkgKiAzMCxcbiAgICAgICAgdHJhdmVsRGlyZWN0aW9uOiBpICUgMiA9PT0gMCA/ICgncmlnaHQnIGFzIGNvbnN0KSA6ICgnbGVmdCcgYXMgY29uc3QpLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMud2F2ZXNTaWduYWwuc2V0KG5ld1dhdmVzKTtcbiAgfVxufVxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvYXV0aC1iYWNrZ3JvdW5kL2F1dGgtYmFja2dyb3VuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBb0IvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBc05ILE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsSUFDSSxLQUFLLENBQUMsS0FBNkI7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBa0JEO1FBM0JRLFdBQU0sR0FBRyxNQUFNLENBQXlCLEVBQUUsQ0FBQyxDQUFDO1FBVzVDLGtCQUFhLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25GLGdCQUFXLEdBQUcsTUFBTSxDQUFhLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLFdBQU0sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPO2dCQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxJ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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBdXRoQmFja2dyb3VuZE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmludGVyZmFjZSBXYXZlRGF0YSB7XG4gIGlkOiBudW1iZXI7XG4gIHBhdGg6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgdGhpY2tuZXNzOiBudW1iZXI7XG4gIG9wYWNpdHk6IG51bWJlcjtcbiAgLyoqIEFtcGxpdHVkIGRlbCBkcmlmdCB2ZXJ0aWNhbCBzdXRpbCAocHgpIGR1cmFudGUgZWwgZmx1am8uICovXG4gIGJvYjogbnVtYmVyO1xuICAvKiogT25kYSBcImhlcm9cIjogdHJhem8gZ3J1ZXNvIGNvbiBoYWxvIChnbG93KS4gKi9cbiAgZ2xvdzogYm9vbGVhbjtcbiAgLyoqIFVzYSBlbCBjb2xvciBkZSBtYXJjYSAodmFyIC0tYXV0aC13YXZlLWNvbG9yKSBlbiB2ZXogZGVsIGdyaXMuICovXG4gIGFjY2VudDogYm9vbGVhbjtcbiAgdHJhdmVsRHVyYXRpb246IG51bWJlcjtcbiAgdHJhdmVsRGVsYXk6IG51bWJlcjtcbiAgdHJhdmVsRGlyZWN0aW9uOiAnbGVmdCcgfCAncmlnaHQnO1xufVxuXG4vKipcbiAqIHZhbC1hdXRoLWJhY2tncm91bmRcbiAqXG4gKiBBIHZpc3VhbGx5IHN0cmlraW5nIGJhY2tncm91bmQgY29tcG9uZW50IGZvciBhdXRoZW50aWNhdGlvbiBwYWdlcy5cbiAqIEZlYXR1cmVzIGFuaW1hdGVkIHdhdmUgcGF0dGVybnMsIGdyYWluIHRleHR1cmUsIGFuZCBnbGFzc21vcnBoaXNtIGVmZmVjdHMuXG4gKiBTdXBwb3J0cyBkYXJrIG1vZGUgYXV0b21hdGljYWxseSB2aWEgQ1NTIHZhcmlhYmxlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZVxuICogYGBgaHRtbFxuICogPHZhbC1hdXRoLWJhY2tncm91bmQ+XG4gKiAgIDxkaXYgY2xhc3M9XCJteS1jb250ZW50XCI+XG4gKiAgICAgPGgxPldlbGNvbWU8L2gxPlxuICogICAgIDx2YWwtbG9naW4gW3Byb3BzXT1cImxvZ2luUHJvcHNcIiAvPlxuICogICA8L2Rpdj5cbiAqIDwvdmFsLWF1dGgtYmFja2dyb3VuZD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlIEN1c3RvbSBjb25maWd1cmF0aW9uXG4gKiBgYGBodG1sXG4gKiA8dmFsLWF1dGgtYmFja2dyb3VuZCBbcHJvcHNdPVwie1xuICogICB3YXZlQ291bnQ6IDMwLFxuICogICBzaG93R3JhaW46IGZhbHNlLFxuICogICBtaW5IZWlnaHQ6ICcxMDB2aCdcbiAqIH1cIj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIj4uLi48L2Rpdj5cbiAqIDwvdmFsLWF1dGgtYmFja2dyb3VuZD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWwtYXV0aC1iYWNrZ3JvdW5kJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJhdXRoLWJhY2tncm91bmRcIiBbc3R5bGUubWluLWhlaWdodF09XCJjb25maWcoKS5taW5IZWlnaHRcIj5cbiAgICAgIEBpZiAoY29uZmlnKCkuc2hvd0dyYWluKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmFpblwiPjwvZGl2PlxuICAgICAgfVxuICAgICAgQGlmIChjb25maWcoKS5zaG93R2xhc3MpIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImdsYXNzLWxheWVyXCI+PC9kaXY+XG4gICAgICB9XG4gICAgICA8ZGl2IGNsYXNzPVwid2F2ZS1iZ1wiPlxuICAgICAgICA8c3ZnIGNsYXNzPVwid2F2ZXNcIiB2aWV3Qm94PVwiMCAwIDE0NDAgODAwXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cIm5vbmVcIj5cbiAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDwhLS0gSGFsbzogYmx1ciBwb3IgZGViYWpvIGRlbCB0cmF6byBuw610aWRvID0gY2ludGEgbHVtaW5vc2EuIC0tPlxuICAgICAgICAgICAgPGZpbHRlciBpZD1cIndhdmUtZ2xvd1wiIHg9XCItMTAlXCIgeT1cIi02MCVcIiB3aWR0aD1cIjEyMCVcIiBoZWlnaHQ9XCIyMjAlXCI+XG4gICAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XCIyLjZcIiByZXN1bHQ9XCJiXCIgLz5cbiAgICAgICAgICAgICAgPGZlTWVyZ2U+XG4gICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPVwiYlwiIC8+XG4gICAgICAgICAgICAgICAgPGZlTWVyZ2VOb2RlIGluPVwiU291cmNlR3JhcGhpY1wiIC8+XG4gICAgICAgICAgICAgIDwvZmVNZXJnZT5cbiAgICAgICAgICAgIDwvZmlsdGVyPlxuICAgICAgICAgIDwvZGVmcz5cbiAgICAgICAgICBAZm9yICh3YXZlIG9mIHdhdmVzKCk7IHRyYWNrIHdhdmUuaWQpIHtcbiAgICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICAgIFthdHRyLmRdPVwid2F2ZS5wYXRoXCJcbiAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cIndhdmUuY29sb3JcIlxuICAgICAgICAgICAgICBbYXR0ci5zdHJva2Utd2lkdGhdPVwid2F2ZS50aGlja25lc3NcIlxuICAgICAgICAgICAgICBbY2xhc3MudHJhdmVsLWxlZnRdPVwid2F2ZS50cmF2ZWxEaXJlY3Rpb24gPT09ICdsZWZ0J1wiXG4gICAgICAgICAgICAgIFtjbGFzcy50cmF2ZWwtcmlnaHRdPVwid2F2ZS50cmF2ZWxEaXJlY3Rpb24gPT09ICdyaWdodCdcIlxuICAgICAgICAgICAgICBbY2xhc3MuZ2xvd109XCJ3YXZlLmdsb3dcIlxuICAgICAgICAgICAgICBbY2xhc3MuYWNjZW50XT1cIndhdmUuYWNjZW50XCJcbiAgICAgICAgICAgICAgW3N0eWxlLm9wYWNpdHldPVwid2F2ZS5vcGFjaXR5XCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tYm9iXT1cIndhdmUuYm9iICsgJ3B4J1wiXG4gICAgICAgICAgICAgIFtzdHlsZS4tLXRyYXZlbC1kdXJhdGlvbl09XCJ3YXZlLnRyYXZlbER1cmF0aW9uICsgJ3MnXCJcbiAgICAgICAgICAgICAgW3N0eWxlLi0tdHJhdmVsLWRlbGF5XT1cIndhdmUudHJhdmVsRGVsYXkgKyAncydcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LWxheWVyXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2VjdGlvbj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgLyogVGhlbWUgdmFyaWFibGVzIC0gTGlnaHQgbW9kZSAoZGVmYXVsdCkgKi9cbiAgICAgIDpob3N0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC0tYXV0aC1iZy1zdGFydDogI2ZmZmZmZjtcbiAgICAgICAgLS1hdXRoLWJnLW1pZDogI2Y4ZjlmYTtcbiAgICAgICAgLS1hdXRoLWJnLWVuZDogI2YwZjBmMDtcbiAgICAgICAgLS1hdXRoLWdsYXNzLWJnOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gICAgICAgIC0tYXV0aC1ncmFpbi1vcGFjaXR5OiAwLjAzNTtcbiAgICAgICAgLS1hdXRoLXdhdmUtY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjNjM2NmYxKTtcbiAgICAgIH1cblxuICAgICAgLyogRGFyayBtb2RlIC0gQ2xhc3MtYmFzZWQgT05MWSAoVGhlbWVTZXJ2aWNlIHRvZ2dsZXMgYm9keS5kYXJrL2h0bWwuaW9uLXBhbGV0dGUtZGFyaykuXG4gICAgICAgICBObyBAbWVkaWEgcHJlZmVycy1jb2xvci1zY2hlbWUg4oCUIHBpc2FiYSBlbCBtYW51YWwgdG9nZ2xlIGRlbCB1c2VyLiAqL1xuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspLFxuICAgICAgOmhvc3QtY29udGV4dCguZGFyayksXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkge1xuICAgICAgICAtLWF1dGgtYmctc3RhcnQ6ICMwZjBmMWE7XG4gICAgICAgIC0tYXV0aC1iZy1taWQ6ICMxYTFhMmU7XG4gICAgICAgIC0tYXV0aC1iZy1lbmQ6ICMxNjIxM2U7XG4gICAgICAgIC0tYXV0aC1nbGFzcy1iZzogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICAtLWF1dGgtZ3JhaW4tb3BhY2l0eTogMC4wNTtcbiAgICAgICAgLS1hdXRoLXdhdmUtY29sb3I6IHZhcigtLWlvbi1jb2xvci1wcmltYXJ5LCAjODE4Y2Y4KTtcbiAgICAgIH1cblxuICAgICAgLmF1dGgtYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYXV0aC1iZy1zdGFydCkgMCUsIHZhcigtLWF1dGgtYmctbWlkKSA1MCUsIHZhcigtLWF1dGgtYmctZW5kKSAxMDAlKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLmdyYWluIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIG9wYWNpdHk6IHZhcigtLWF1dGgtZ3JhaW4tb3BhY2l0eSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDI1NiAyNTYnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NmaWx0ZXIgaWQ9J25vaXNlJyUzRSUzQ2ZlVHVyYnVsZW5jZSB0eXBlPSdmcmFjdGFsTm9pc2UnIGJhc2VGcmVxdWVuY3k9JzAuNScgbnVtT2N0YXZlcz0nMicgc3RpdGNoVGlsZXM9J3N0aXRjaCcvJTNFJTNDL2ZpbHRlciUzRSUzQ3JlY3Qgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnIGZpbHRlcj0ndXJsKCUyM25vaXNlKScvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgIH1cblxuICAgICAgLmdsYXNzLWxheWVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWF1dGgtZ2xhc3MtYmcpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KSBzYXR1cmF0ZSgxMjAlKTtcbiAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KSBzYXR1cmF0ZSgxMjAlKTtcbiAgICAgIH1cblxuICAgICAgLndhdmUtYmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcbiAgICAgIH1cblxuICAgICAgLyogSW52ZXJ0IHdhdmVzIGVuIGRhcmsg4oCUIGNsYXNzLWJhc2VkIG9ubHkgKFRoZW1lU2VydmljZSB0b2dnbGUpLiAqL1xuICAgICAgOmhvc3QtY29udGV4dChib2R5LmRhcmspIC53YXZlLWJnLFxuICAgICAgOmhvc3QtY29udGV4dCguZGFyaykgLndhdmUtYmcsXG4gICAgICA6aG9zdC1jb250ZXh0KC5pb24tcGFsZXR0ZS1kYXJrKSAud2F2ZS1iZyxcbiAgICAgIDpob3N0LWNvbnRleHQoaHRtbC5pb24tcGFsZXR0ZS1kYXJrKSAud2F2ZS1iZyxcbiAgICAgIDpob3N0LWNvbnRleHQoW2RhdGEtdGhlbWU9J2RhcmsnXSkgLndhdmUtYmcge1xuICAgICAgICBmaWx0ZXI6IGludmVydCgxKSBvcGFjaXR5KDAuNik7XG4gICAgICB9XG5cbiAgICAgIC53YXZlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAvKiBEZXN2YW5lY2UgbGFzIGNpbnRhcyBoYWNpYSBsb3MgYm9yZGVzIGxhdGVyYWxlczogZW5tYXJjYSBlbCBjZW50cm9cbiAgICAgICAgICAgKGxvb2sgcHJlbWl1bSkgeSwgZGUgcGFzbywgZXNjb25kZSBjdWFscXVpZXIgY29zdHVyYSBkZWwgbG9vcC4gKi9cbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCAjMDAwIDE2JSwgIzAwMCA4NCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50IDAlLCAjMDAwIDE2JSwgIzAwMCA4NCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAvKiBVbmEgc29sYSBhbmltYWNpw7NuIHBvciBwYXRoICh0cmFuc2xhdGUgWCtZIGNvbWJpbmFkb3MpIHBhcmEgbm8gdGVuZXIgZG9zXG4gICAgICAgICBrZXlmcmFtZXMgcGVsZWFuZG8gcG9yIGxhIG1pc21hIHByb3BpZWRhZCB0cmFuc2Zvcm0uIEVsIGxvb3AgZXMgc2VhbWxlc3M6XG4gICAgICAgICBYIHJlY29ycmUgZXhhY3RhbWVudGUgdW5hIHZ1ZWx0YSAoMTQ0MHB4KSBzb2JyZSB1biBwYXRoIHBlcmnDs2RpY28sIGFzw60gZWxcbiAgICAgICAgIHJlaW5pY2lvIGRlbCBjaWNsbyBlcyBpbnZpc2libGUuICovXG4gICAgICAud2F2ZXMgcGF0aCB7XG4gICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgYW5pbWF0aW9uOiB3YXZlLWZsb3ctcmlnaHQgdmFyKC0tdHJhdmVsLWR1cmF0aW9uLCAxOHMpIGxpbmVhciB2YXIoLS10cmF2ZWwtZGVsYXksIDBzKSBpbmZpbml0ZTtcbiAgICAgIH1cblxuICAgICAgLndhdmVzIHBhdGgudHJhdmVsLWxlZnQge1xuICAgICAgICBhbmltYXRpb246IHdhdmUtZmxvdy1sZWZ0IHZhcigtLXRyYXZlbC1kdXJhdGlvbiwgMThzKSBsaW5lYXIgdmFyKC0tdHJhdmVsLWRlbGF5LCAwcykgaW5maW5pdGU7XG4gICAgICB9XG5cbiAgICAgIC8qIEFjZW50byBkZSBtYXJjYSAodGhlbWVhIGNsYXJvL29zY3VybyB2w61hIGxhIHZhcikuICovXG4gICAgICAud2F2ZXMgcGF0aC5hY2NlbnQge1xuICAgICAgICBzdHJva2U6IHZhcigtLWF1dGgtd2F2ZS1jb2xvcik7XG4gICAgICB9XG5cbiAgICAgIC8qIENpbnRhcyBoZXJvIGNvbiBoYWxvIGx1bWlub3NvLiAqL1xuICAgICAgLndhdmVzIHBhdGguZ2xvdyB7XG4gICAgICAgIGZpbHRlcjogdXJsKCN3YXZlLWdsb3cpO1xuICAgICAgfVxuXG4gICAgICAvKiBGbHVqbyBjb250aW51byB5IHNlYW1sZXNzLiBYIHJlY29ycmUgdW5hIHZ1ZWx0YSBjb21wbGV0YSAoMTQ0MHB4KSBlblxuICAgICAgICAgcGFzb3MgbGluZWFsZXMgY29uc3RhbnRlcyDihpIgdmVsb2NpZGFkIHVuaWZvcm1lIHksIHBvciBsYSBwZXJpb2RpY2lkYWRcbiAgICAgICAgIGRlbCBwYXRoLCBlbCBzYWx0byBkZSAxMDAl4oaSMCUgZXMgaW52aXNpYmxlLiBZIGhhY2UgdW4gZHJpZnQgc3V0aWwgcXVlXG4gICAgICAgICB2dWVsdmUgYSAwIGFsIGNlcnJhciBlbCBjaWNsbyAoc2luIGVxdWFsaXplciwgc2luIHNhbHRvcykuICovXG4gICAgICBAa2V5ZnJhbWVzIHdhdmUtZmxvdy1yaWdodCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAyNSUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zNjBweCwgY2FsYyh2YXIoLS1ib2IsIDBweCkgKiAtMSkpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTcyMHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgICA3NSUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMDgwcHgsIHZhcigtLWJvYiwgMHB4KSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE0NDBweCwgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB3YXZlLWZsb3ctbGVmdCB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICAyNSUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDM2MHB4LCB2YXIoLS1ib2IsIDBweCkpO1xuICAgICAgICB9XG4gICAgICAgIDUwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNzIwcHgsIDApO1xuICAgICAgICB9XG4gICAgICAgIDc1JSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTA4MHB4LCBjYWxjKHZhcigtLWJvYiwgMHB4KSAqIC0xKSk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTQ0MHB4LCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiBSZWR1Y2VkIG1vdGlvbiDigJQga2VlcCB3YXZlcyBzdGlsbCAqL1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLndhdmVzIHBhdGgge1xuICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGVudC1sYXllciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBdXRoQmFja2dyb3VuZENvbXBvbmVudCB7XG4gIHByaXZhdGUgX3Byb3BzID0gc2lnbmFsPEF1dGhCYWNrZ3JvdW5kTWV0YWRhdGE+KHt9KTtcblxuICBASW5wdXQoKVxuICBzZXQgcHJvcHModmFsdWU6IEF1dGhCYWNrZ3JvdW5kTWV0YWRhdGEpIHtcbiAgICB0aGlzLl9wcm9wcy5zZXQodmFsdWUpO1xuICAgIHRoaXMucmVnZW5lcmF0ZVdhdmVzKCk7XG4gIH1cbiAgZ2V0IHByb3BzKCk6IEF1dGhCYWNrZ3JvdW5kTWV0YWRhdGEge1xuICAgIHJldHVybiB0aGlzLl9wcm9wcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZhdWx0Q29sb3JzID0gWycjZTBlMGUwJywgJyNiZGJkYmQnLCAnIzllOWU5ZScsICcjNzU3NTc1JywgJyM2MTYxNjEnLCAnIzQyNDI0MiddO1xuICBwcml2YXRlIHdhdmVzU2lnbmFsID0gc2lnbmFsPFdhdmVEYXRhW10+KFtdKTtcblxuICBjb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLl9wcm9wcygpO1xuICAgIHJldHVybiB7XG4gICAgICB3YXZlQ291bnQ6IHByb3BzLndhdmVDb3VudCA/PyAxNixcbiAgICAgIHdhdmVDb2xvcnM6IHByb3BzLndhdmVDb2xvcnMgPz8gdGhpcy5kZWZhdWx0Q29sb3JzLFxuICAgICAgc2hvd0dyYWluOiBwcm9wcy5zaG93R3JhaW4gIT09IGZhbHNlLFxuICAgICAgc2hvd0dsYXNzOiBwcm9wcy5zaG93R2xhc3MgIT09IGZhbHNlLFxuICAgICAgbWluSGVpZ2h0OiBwcm9wcy5taW5IZWlnaHQgPz8gJ2NhbGMoMTAwdmggLSAxMjBweCknLFxuICAgIH07XG4gIH0pO1xuXG4gIHdhdmVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy53YXZlc1NpZ25hbCgpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnJlZ2VuZXJhdGVXYXZlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdlbmVyYXRlV2F2ZXMoKTogdm9pZCB7XG4gICAgY29uc3QgY2ZnID0gdGhpcy5jb25maWcoKTtcbiAgICBjb25zdCBjb2xvcnMgPSBjZmcud2F2ZUNvbG9ycztcbiAgICBjb25zdCBjb3VudCA9IGNmZy53YXZlQ291bnQ7XG5cbiAgICBjb25zdCBuZXdXYXZlcyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IGNvdW50IH0sIChfLCBpKSA9PiB7XG4gICAgICAvLyBEaXN0cmlidWlyIHVuaWZvcm1lIGEgbG8gbGFyZ28gZGVsIHZpZXdCb3ggKDAuLjgwMCkg4oCUIHNpbiBodWVjb3MgYXJyaWJhXG4gICAgICBjb25zdCB5ID0gKChpICsgMC41KSAvIGNvdW50KSAqIDgwMDtcbiAgICAgIC8vIFRpZXJzIChsb29rIFwiYXVyb3JhXCIpOiBwb2NhcyBoZXJvIGdydWVzYXMgeSBsdW1pbm9zYXMsIGFsZ3VuYXMgbWlkLCBlbFxuICAgICAgLy8gcmVzdG8gdGVudWVzIGRlIGZvbmRvLiBBY2VudG9zIGRlIG1hcmNhIGVuIGxhcyBoZXJvICsgYWxndW5hIHN1ZWx0YS5cbiAgICAgIGNvbnN0IGlzSGVybyA9IGkgJSA1ID09PSAwO1xuICAgICAgY29uc3QgaXNNZWRpdW0gPSAhaXNIZXJvICYmIGkgJSAyID09PSAwO1xuICAgICAgY29uc3QgYWNjZW50ID0gaXNIZXJvIHx8IGkgJSA3ID09PSAzO1xuXG4gICAgICAvLyBIZXJvIG3DoXMgYW1wbGlhcyBwYXJhIGNpbnRhcyBxdWUgXCJyZXNwaXJhblwiOyBlbCByZXN0bywgY29udGVuaWRhcy5cbiAgICAgIGNvbnN0IGFtcGxpdHVkZSA9IGlzSGVybyA/IDIyICsgTWF0aC5yYW5kb20oKSAqIDE4IDogMTAgKyBNYXRoLnJhbmRvbSgpICogMTY7XG4gICAgICAvLyBGcmVjdWVuY2lhIEVOVEVSQSAoY2ljbG9zIGNvbXBsZXRvcyBzb2JyZSBlbCBhbmNobyAxNDQwKS4gSW1wcmVzY2luZGlibGVcbiAgICAgIC8vIHBhcmEgZWwgbG9vcCBzZWFtbGVzczogY29uIGZyZXEgZW50ZXJvLCBwYXRoKHgpID09PSBwYXRoKHggwrEgMTQ0MCksIGFzw61cbiAgICAgIC8vIGVsIHRyYW5zbGF0ZVggZGUgdW5hIHZ1ZWx0YSAoMTQ0MHB4KSBjYWx6YSBleGFjdG8geSBOTyBoYXkgc2FsdG8vY29ydGUuXG4gICAgICBjb25zdCBmcmVxdWVuY3kgPSAxICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMyk7IC8vIDEgfCAyIHwgM1xuICAgICAgY29uc3QgcGhhc2UgPSBNYXRoLnJhbmRvbSgpICogTWF0aC5QSSAqIDI7XG5cbiAgICAgIC8vIFBhdGggZXh0ZW5kaWRvIGEgLTE0ODAgLi4gMjkyMCAo4omlIHVuYSB2dWVsdGEgZGUgYmxlZWQgYSBjYWRhIGxhZG8pIHBhcmFcbiAgICAgIC8vIHF1ZSBlbCBkZXNwbGF6YW1pZW50byBkZSDCsTE0NDBweCBudW5jYSBkZWplIGVsIHZpZXdCb3ggc2luIG9uZGEuXG4gICAgICBsZXQgcGF0aCA9IGBNLTE0ODAsJHt5fWA7XG4gICAgICBmb3IgKGxldCB4ID0gLTE0ODA7IHggPD0gMjkyMDsgeCArPSA0MCkge1xuICAgICAgICBjb25zdCB3YXZlWSA9IHkgKyBhbXBsaXR1ZGUgKiBNYXRoLnNpbigoeCAvIDE0NDApICogTWF0aC5QSSAqIGZyZXF1ZW5jeSAqIDIgKyBwaGFzZSk7XG4gICAgICAgIHBhdGggKz0gYCBMJHt4fSwke3dhdmVZLnRvRml4ZWQoMSl9YDtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY29sb3IgPSBjb2xvcnNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY29sb3JzLmxlbmd0aCldO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogaSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgY29sb3IsXG4gICAgICAgIHRoaWNrbmVzczogaXNIZXJvID8gMi4yICsgTWF0aC5yYW5kb20oKSAqIDAuOCA6IGlzTWVkaXVtID8gMSA6IDAuNSxcbiAgICAgICAgb3BhY2l0eTogaXNIZXJvID8gMC41NSA6IGlzTWVkaXVtID8gMC4zIDogMC4xNixcbiAgICAgICAgZ2xvdzogaXNIZXJvLFxuICAgICAgICBhY2NlbnQsXG4gICAgICAgIC8vIERyaWZ0IHZlcnRpY2FsIHN1dGlsIChubyBcImVxdWFsaXplclwiKTogZGEgdmlkYSBzaW4gc2FsdG9zLlxuICAgICAgICBib2I6IDQgKyBNYXRoLnJhbmRvbSgpICogMTAsXG4gICAgICAgIC8vIEZsdWpvIGhvcml6b250YWwgY29udGludW8uIER1cmFjaW9uZXMgdmFyaWFkYXMgPSBwYXJhbGxheC9wcm9mdW5kaWRhZC5cbiAgICAgICAgLy8gZGVsYXkgbmVnYXRpdm8gZGVzaW5jcm9uaXphIGVsIGFycmFucXVlIGRlIGNhZGEgY2FwYS5cbiAgICAgICAgdHJhdmVsRHVyYXRpb246IDE0ICsgTWF0aC5yYW5kb20oKSAqIDIyLFxuICAgICAgICB0cmF2ZWxEZWxheTogLU1hdGgucmFuZG9tKCkgKiAzMCxcbiAgICAgICAgdHJhdmVsRGlyZWN0aW9uOiBpICUgMiA9PT0gMCA/ICgncmlnaHQnIGFzIGNvbnN0KSA6ICgnbGVmdCcgYXMgY29uc3QpLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMud2F2ZXNTaWduYWwuc2V0KG5ld1dhdmVzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Injectable, Inject } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { VALTECH_AUTH_CONFIG } from '../auth/config';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
/**
|
|
7
|
+
* Cliente HTTP de Client API Keys org-scopeadas (ADR-023). La org activa se
|
|
8
|
+
* resuelve en backend desde el JWT, así que el path no la incluye.
|
|
9
|
+
*/
|
|
10
|
+
export class ApiKeyService {
|
|
11
|
+
constructor(config, http) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.http = http;
|
|
14
|
+
}
|
|
15
|
+
get baseUrl() {
|
|
16
|
+
return `${this.config.apiUrl}/org/api-keys`;
|
|
17
|
+
}
|
|
18
|
+
/** Lista las API keys de la org activa. */
|
|
19
|
+
list() {
|
|
20
|
+
return this.http.get(`${this.baseUrl}/`).pipe(map(r => r.keys ?? []));
|
|
21
|
+
}
|
|
22
|
+
/** Crea una API key. La respuesta incluye el secreto (se muestra UNA vez). */
|
|
23
|
+
create(req) {
|
|
24
|
+
return this.http.post(`${this.baseUrl}/`, req);
|
|
25
|
+
}
|
|
26
|
+
/** Revoca (elimina) una API key por id. */
|
|
27
|
+
revoke(keyId) {
|
|
28
|
+
return this.http.delete(`${this.baseUrl}/${keyId}`);
|
|
29
|
+
}
|
|
30
|
+
/** Catálogo de permisos asignables a una key. */
|
|
31
|
+
availablePermissions() {
|
|
32
|
+
return this.http
|
|
33
|
+
.get(`${this.baseUrl}/permissions`)
|
|
34
|
+
.pipe(map(r => r.permissions ?? []));
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiKeyService, deps: [{ token: VALTECH_AUTH_CONFIG }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiKeyService, providedIn: 'root' }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiKeyService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{ providedIn: 'root' }]
|
|
42
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
43
|
+
type: Inject,
|
|
44
|
+
args: [VALTECH_AUTH_CONFIG]
|
|
45
|
+
}] }, { type: i1.HttpClient }] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLWtleXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvYXBpa2V5cy9hcGkta2V5cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBV3JEOzs7R0FHRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ3VDLE1BQXlCLEVBQ3RELElBQWdCO1FBRGEsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDdEQsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosSUFBWSxPQUFPO1FBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sZUFBZSxDQUFDO0lBQzlDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsSUFBSTtRQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQXNCLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM3RixDQUFDO0lBRUQsOEVBQThFO0lBQzlFLE1BQU0sQ0FBQyxHQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUF1QixHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLE1BQU0sQ0FBQyxLQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxpREFBaUQ7SUFDakQsb0JBQW9CO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQUk7YUFDYixHQUFHLENBQStCLEdBQUcsSUFBSSxDQUFDLE9BQU8sY0FBYyxDQUFDO2FBQ2hFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0E5QlUsYUFBYSxrQkFFZCxtQkFBbUI7bUhBRmxCLGFBQWEsY0FEQSxNQUFNOzs0RkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQUc3QixNQUFNOzJCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVkFMVEVDSF9BVVRIX0NPTkZJRyB9IGZyb20gJy4uL2F1dGgvY29uZmlnJztcbmltcG9ydCB7IFZhbHRlY2hBdXRoQ29uZmlnIH0gZnJvbSAnLi4vYXV0aC90eXBlcyc7XG5pbXBvcnQge1xuICBBdmFpbGFibGVQZXJtaXNzaW9uc1Jlc3BvbnNlLFxuICBDbGllbnRBcGlLZXksXG4gIENyZWF0ZUFwaUtleVJlcXVlc3QsXG4gIENyZWF0ZUFwaUtleVJlc3BvbnNlLFxuICBMaXN0QXBpS2V5c1Jlc3BvbnNlLFxuICBSZXZva2VBcGlLZXlSZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQ2xpZW50ZSBIVFRQIGRlIENsaWVudCBBUEkgS2V5cyBvcmctc2NvcGVhZGFzIChBRFItMDIzKS4gTGEgb3JnIGFjdGl2YSBzZVxuICogcmVzdWVsdmUgZW4gYmFja2VuZCBkZXNkZSBlbCBKV1QsIGFzw60gcXVlIGVsIHBhdGggbm8gbGEgaW5jbHV5ZS5cbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBcGlLZXlTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChWQUxURUNIX0FVVEhfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogVmFsdGVjaEF1dGhDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge31cblxuICBwcml2YXRlIGdldCBiYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuY29uZmlnLmFwaVVybH0vb3JnL2FwaS1rZXlzYDtcbiAgfVxuXG4gIC8qKiBMaXN0YSBsYXMgQVBJIGtleXMgZGUgbGEgb3JnIGFjdGl2YS4gKi9cbiAgbGlzdCgpOiBPYnNlcnZhYmxlPENsaWVudEFwaUtleVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TGlzdEFwaUtleXNSZXNwb25zZT4oYCR7dGhpcy5iYXNlVXJsfS9gKS5waXBlKG1hcChyID0+IHIua2V5cyA/PyBbXSkpO1xuICB9XG5cbiAgLyoqIENyZWEgdW5hIEFQSSBrZXkuIExhIHJlc3B1ZXN0YSBpbmNsdXllIGVsIHNlY3JldG8gKHNlIG11ZXN0cmEgVU5BIHZleikuICovXG4gIGNyZWF0ZShyZXE6IENyZWF0ZUFwaUtleVJlcXVlc3QpOiBPYnNlcnZhYmxlPENyZWF0ZUFwaUtleVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUFwaUtleVJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L2AsIHJlcSk7XG4gIH1cblxuICAvKiogUmV2b2NhIChlbGltaW5hKSB1bmEgQVBJIGtleSBwb3IgaWQuICovXG4gIHJldm9rZShrZXlJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZXZva2VBcGlLZXlSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlPFJldm9rZUFwaUtleVJlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9LyR7a2V5SWR9YCk7XG4gIH1cblxuICAvKiogQ2F0w6Fsb2dvIGRlIHBlcm1pc29zIGFzaWduYWJsZXMgYSB1bmEga2V5LiAqL1xuICBhdmFpbGFibGVQZXJtaXNzaW9ucygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxBdmFpbGFibGVQZXJtaXNzaW9uc1Jlc3BvbnNlPihgJHt0aGlzLmJhc2VVcmx9L3Blcm1pc3Npb25zYClcbiAgICAgIC5waXBlKG1hcChyID0+IHIucGVybWlzc2lvbnMgPz8gW10pKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos de Client API Keys org-scopeadas (ADR-023). Contrato espejo de
|
|
3
|
+
* `lambdas/org` `/org/api-keys/*`. El orgID se resuelve del JWT (ActiveOrgID),
|
|
4
|
+
* no va en el path.
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2FwaWtleXMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGlwb3MgZGUgQ2xpZW50IEFQSSBLZXlzIG9yZy1zY29wZWFkYXMgKEFEUi0wMjMpLiBDb250cmF0byBlc3Blam8gZGVcbiAqIGBsYW1iZGFzL29yZ2AgYC9vcmcvYXBpLWtleXMvKmAuIEVsIG9yZ0lEIHNlIHJlc3VlbHZlIGRlbCBKV1QgKEFjdGl2ZU9yZ0lEKSxcbiAqIG5vIHZhIGVuIGVsIHBhdGguXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDbGllbnRBcGlLZXkge1xuICBrZXlJZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZ2FuaXphdGlvbklkOiBzdHJpbmc7XG4gIHN0YXR1czogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIHJhdGVMaW1pdD86IG51bWJlcjtcbiAgZXhwaXJlc0F0Pzogc3RyaW5nO1xuICBhbGxvd2VkSXBzPzogc3RyaW5nW107XG4gIGNyZWF0ZWRCeTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgbGFzdFVzZWRBdD86IHN0cmluZztcbn1cblxuLyoqIFNvbG8gZW4gbGEgcmVzcHVlc3RhIGRlIGNyZWFjacOzbjogZWwgc2VjcmV0byBzZSBtdWVzdHJhIFVOQSB2ZXouICovXG5leHBvcnQgaW50ZXJmYWNlIENsaWVudEFwaUtleVdpdGhTZWNyZXQgZXh0ZW5kcyBDbGllbnRBcGlLZXkge1xuICBzZWNyZXQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVBcGlLZXlSZXF1ZXN0IHtcbiAgbmFtZTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIHJhdGVMaW1pdD86IG51bWJlcjtcbiAgZXhwaXJlc0luRGF5cz86IG51bWJlcjtcbiAgYWxsb3dlZElwcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUFwaUtleVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAga2V5OiBDbGllbnRBcGlLZXlXaXRoU2VjcmV0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RBcGlLZXlzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBrZXlzOiBDbGllbnRBcGlLZXlbXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJsZVBlcm1pc3Npb25zUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmV2b2tlQXBpS2V5UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG4iXX0=
|