@ngxi/codex 0.9.0 → 0.10.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.
@@ -0,0 +1,1641 @@
1
+ import { Component, input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CodexAlignJustifyIcon {
4
+ viewBox = input("0 0 24 24");
5
+ width = input("1em");
6
+ height = input("1em");
7
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignJustifyIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAlignJustifyIcon, isStandalone: true, selector: "svg[codexAlignJustifyIcon],svg[codex-align-justify-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 7H6m12 10H6m12-5H6"></svg:path>`, isInline: true });
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignJustifyIcon, decorators: [{
11
+ type: Component,
12
+ args: [{
13
+ standalone: true,
14
+ selector: 'svg[codexAlignJustifyIcon],svg[codex-align-justify-icon]',
15
+ host: {
16
+ role: 'img',
17
+ '[attr.viewBox]': 'viewBox()',
18
+ '[attr.width]': 'width()',
19
+ '[attr.height]': 'height()',
20
+ },
21
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 7H6m12 10H6m12-5H6"></svg:path>`,
22
+ }]
23
+ }] });
24
+ export class CodexBoldIcon {
25
+ viewBox = input("0 0 24 24");
26
+ width = input("1em");
27
+ height = input("1em");
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBoldIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexBoldIcon, isStandalone: true, selector: "svg[codexBoldIcon],svg[codex-bold-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 12V7.1a.1.1 0 0 1 .1-.1h1.3c1.1 0 3.6.1 3.6 2.5c0 0 0 2.5-3 2.5m-2 0v4.8c0 .11.09.2.2.2h3.3c1.5 0 2.5-1 2.5-2.5c0-2.795-4-2.5-4-2.5m-2 0h2"></svg:path>`, isInline: true });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBoldIcon, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ standalone: true,
35
+ selector: 'svg[codexBoldIcon],svg[codex-bold-icon]',
36
+ host: {
37
+ role: 'img',
38
+ '[attr.viewBox]': 'viewBox()',
39
+ '[attr.width]': 'width()',
40
+ '[attr.height]': 'height()',
41
+ },
42
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 12V7.1a.1.1 0 0 1 .1-.1h1.3c1.1 0 3.6.1 3.6 2.5c0 0 0 2.5-3 2.5m-2 0v4.8c0 .11.09.2.2.2h3.3c1.5 0 2.5-1 2.5-2.5c0-2.795-4-2.5-4-2.5m-2 0h2"></svg:path>`,
43
+ }]
44
+ }] });
45
+ export class CodexAlignRightIcon {
46
+ viewBox = input("0 0 24 24");
47
+ width = input("1em");
48
+ height = input("1em");
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignRightIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAlignRightIcon, isStandalone: true, selector: "svg[codexAlignRightIcon],svg[codex-align-right-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 7H7m12 10H7m12-5h-8"></svg:path>`, isInline: true });
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignRightIcon, decorators: [{
53
+ type: Component,
54
+ args: [{
55
+ standalone: true,
56
+ selector: 'svg[codexAlignRightIcon],svg[codex-align-right-icon]',
57
+ host: {
58
+ role: 'img',
59
+ '[attr.viewBox]': 'viewBox()',
60
+ '[attr.width]': 'width()',
61
+ '[attr.height]': 'height()',
62
+ },
63
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 7H7m12 10H7m12-5h-8"></svg:path>`,
64
+ }]
65
+ }] });
66
+ export class CodexBracketsIcon {
67
+ viewBox = input("0 0 24 24");
68
+ width = input("1em");
69
+ height = input("1em");
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBracketsIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexBracketsIcon, isStandalone: true, selector: "svg[codexBracketsIcon],svg[codex-brackets-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 8l-4 4l4 4m6-8l4 4l-4 4"></svg:path>`, isInline: true });
72
+ }
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBracketsIcon, decorators: [{
74
+ type: Component,
75
+ args: [{
76
+ standalone: true,
77
+ selector: 'svg[codexBracketsIcon],svg[codex-brackets-icon]',
78
+ host: {
79
+ role: 'img',
80
+ '[attr.viewBox]': 'viewBox()',
81
+ '[attr.width]': 'width()',
82
+ '[attr.height]': 'height()',
83
+ },
84
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9 8l-4 4l4 4m6-8l4 4l-4 4"></svg:path>`,
85
+ }]
86
+ }] });
87
+ export class CodexBracketsVerticalIcon {
88
+ viewBox = input("0 0 20 20");
89
+ width = input("1em");
90
+ height = input("1em");
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBracketsVerticalIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexBracketsVerticalIcon, isStandalone: true, selector: "svg[codexBracketsVerticalIcon],svg[codex-brackets-vertical-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M13.333 7.5L10 4.167L6.667 7.5m6.666 5L10 15.833L6.667 12.5"></svg:path>`, isInline: true });
93
+ }
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexBracketsVerticalIcon, decorators: [{
95
+ type: Component,
96
+ args: [{
97
+ standalone: true,
98
+ selector: 'svg[codexBracketsVerticalIcon],svg[codex-brackets-vertical-icon]',
99
+ host: {
100
+ role: 'img',
101
+ '[attr.viewBox]': 'viewBox()',
102
+ '[attr.width]': 'width()',
103
+ '[attr.height]': 'height()',
104
+ },
105
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.6" d="M13.333 7.5L10 4.167L6.667 7.5m6.666 5L10 15.833L6.667 12.5"></svg:path>`,
106
+ }]
107
+ }] });
108
+ export class CodexCheckIcon {
109
+ viewBox = input("0 0 24 24");
110
+ width = input("1em");
111
+ height = input("1em");
112
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCheckIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
113
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexCheckIcon, isStandalone: true, selector: "svg[codexCheckIcon],svg[codex-check-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 12l3.488 3.837a.2.2 0 0 0 .296 0L17 9"></svg:path>`, isInline: true });
114
+ }
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCheckIcon, decorators: [{
116
+ type: Component,
117
+ args: [{
118
+ standalone: true,
119
+ selector: 'svg[codexCheckIcon],svg[codex-check-icon]',
120
+ host: {
121
+ role: 'img',
122
+ '[attr.viewBox]': 'viewBox()',
123
+ '[attr.width]': 'width()',
124
+ '[attr.height]': 'height()',
125
+ },
126
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 12l3.488 3.837a.2.2 0 0 0 .296 0L17 9"></svg:path>`,
127
+ }]
128
+ }] });
129
+ export class CodexAlignCenterIcon {
130
+ viewBox = input("0 0 24 24");
131
+ width = input("1em");
132
+ height = input("1em");
133
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignCenterIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
134
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAlignCenterIcon, isStandalone: true, selector: "svg[codexAlignCenterIcon],svg[codex-align-center-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 7H6m12 10H6m10-5H8"></svg:path>`, isInline: true });
135
+ }
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignCenterIcon, decorators: [{
137
+ type: Component,
138
+ args: [{
139
+ standalone: true,
140
+ selector: 'svg[codexAlignCenterIcon],svg[codex-align-center-icon]',
141
+ host: {
142
+ role: 'img',
143
+ '[attr.viewBox]': 'viewBox()',
144
+ '[attr.width]': 'width()',
145
+ '[attr.height]': 'height()',
146
+ },
147
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 7H6m12 10H6m10-5H8"></svg:path>`,
148
+ }]
149
+ }] });
150
+ export class CodexChevronLeftIcon {
151
+ viewBox = input("0 0 24 24");
152
+ width = input("1em");
153
+ height = input("1em");
154
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronLeftIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
155
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexChevronLeftIcon, isStandalone: true, selector: "svg[codexChevronLeftIcon],svg[codex-chevron-left-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m14.5 17.5l-4.859-4.859a.2.2 0 0 1 0-.282L14.5 7.5"></svg:path>`, isInline: true });
156
+ }
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronLeftIcon, decorators: [{
158
+ type: Component,
159
+ args: [{
160
+ standalone: true,
161
+ selector: 'svg[codexChevronLeftIcon],svg[codex-chevron-left-icon]',
162
+ host: {
163
+ role: 'img',
164
+ '[attr.viewBox]': 'viewBox()',
165
+ '[attr.width]': 'width()',
166
+ '[attr.height]': 'height()',
167
+ },
168
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m14.5 17.5l-4.859-4.859a.2.2 0 0 1 0-.282L14.5 7.5"></svg:path>`,
169
+ }]
170
+ }] });
171
+ export class CodexAlignLeftIcon {
172
+ viewBox = input("0 0 24 24");
173
+ width = input("1em");
174
+ height = input("1em");
175
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignLeftIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
176
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAlignLeftIcon, isStandalone: true, selector: "svg[codexAlignLeftIcon],svg[codex-align-left-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M17 7H5m12 10H5m8-5H5"></svg:path>`, isInline: true });
177
+ }
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAlignLeftIcon, decorators: [{
179
+ type: Component,
180
+ args: [{
181
+ standalone: true,
182
+ selector: 'svg[codexAlignLeftIcon],svg[codex-align-left-icon]',
183
+ host: {
184
+ role: 'img',
185
+ '[attr.viewBox]': 'viewBox()',
186
+ '[attr.width]': 'width()',
187
+ '[attr.height]': 'height()',
188
+ },
189
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M17 7H5m12 10H5m8-5H5"></svg:path>`,
190
+ }]
191
+ }] });
192
+ export class CodexChevronDownIcon {
193
+ viewBox = input("0 0 24 24");
194
+ width = input("1em");
195
+ height = input("1em");
196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronDownIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
197
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexChevronDownIcon, isStandalone: true, selector: "svg[codexChevronDownIcon],svg[codex-chevron-down-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 10l4.859 4.859a.2.2 0 0 0 .282 0L17 10"></svg:path>`, isInline: true });
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronDownIcon, decorators: [{
200
+ type: Component,
201
+ args: [{
202
+ standalone: true,
203
+ selector: 'svg[codexChevronDownIcon],svg[codex-chevron-down-icon]',
204
+ host: {
205
+ role: 'img',
206
+ '[attr.viewBox]': 'viewBox()',
207
+ '[attr.width]': 'width()',
208
+ '[attr.height]': 'height()',
209
+ },
210
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 10l4.859 4.859a.2.2 0 0 0 .282 0L17 10"></svg:path>`,
211
+ }]
212
+ }] });
213
+ export class CodexAddBorderIcon {
214
+ viewBox = input("0 0 24 24");
215
+ width = input("1em");
216
+ height = input("1em");
217
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAddBorderIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
218
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAddBorderIcon, isStandalone: true, selector: "svg[codexAddBorderIcon],svg[codex-add-border-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" stroke-linejoin="round" d="M18.992 9.5h.01M14.5 5h.01"></svg:path><svg:path stroke-linecap="round" d="M14.625 5H15a4 4 0 0 1 4 4v.375"></svg:path><svg:path d="M9.375 5H9a4 4 0 0 0-4 4v.375"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.373 5h.01M5 9.5h.01"></svg:path><svg:path d="M9.375 19H9a4 4 0 0 1-4-4v-.375"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.373 19h.01M5 14.55h.01"></svg:path><svg:path stroke-linecap="round" d="M16 13v3m0 3v-3m3 0h-3m0 0h-3"></svg:path></svg:g>`, isInline: true });
219
+ }
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAddBorderIcon, decorators: [{
221
+ type: Component,
222
+ args: [{
223
+ standalone: true,
224
+ selector: 'svg[codexAddBorderIcon],svg[codex-add-border-icon]',
225
+ host: {
226
+ role: 'img',
227
+ '[attr.viewBox]': 'viewBox()',
228
+ '[attr.width]': 'width()',
229
+ '[attr.height]': 'height()',
230
+ },
231
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" stroke-linejoin="round" d="M18.992 9.5h.01M14.5 5h.01"></svg:path><svg:path stroke-linecap="round" d="M14.625 5H15a4 4 0 0 1 4 4v.375"></svg:path><svg:path d="M9.375 5H9a4 4 0 0 0-4 4v.375"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.373 5h.01M5 9.5h.01"></svg:path><svg:path d="M9.375 19H9a4 4 0 0 1-4-4v-.375"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.373 19h.01M5 14.55h.01"></svg:path><svg:path stroke-linecap="round" d="M16 13v3m0 3v-3m3 0h-3m0 0h-3"></svg:path></svg:g>`,
232
+ }]
233
+ }] });
234
+ export class CodexChecklistIcon {
235
+ viewBox = input("0 0 24 24");
236
+ width = input("1em");
237
+ height = input("1em");
238
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChecklistIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
239
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexChecklistIcon, isStandalone: true, selector: "svg[codexChecklistIcon],svg[codex-checklist-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" d="m9.2 12l1.859 1.859a.2.2 0 0 0 .282 0L14.7 10.5"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`, isInline: true });
240
+ }
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChecklistIcon, decorators: [{
242
+ type: Component,
243
+ args: [{
244
+ standalone: true,
245
+ selector: 'svg[codexChecklistIcon],svg[codex-checklist-icon]',
246
+ host: {
247
+ role: 'img',
248
+ '[attr.viewBox]': 'viewBox()',
249
+ '[attr.width]': 'width()',
250
+ '[attr.height]': 'height()',
251
+ },
252
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" d="m9.2 12l1.859 1.859a.2.2 0 0 0 .282 0L14.7 10.5"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`,
253
+ }]
254
+ }] });
255
+ export class CodexChevronUpIcon {
256
+ viewBox = input("0 0 24 24");
257
+ width = input("1em");
258
+ height = input("1em");
259
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronUpIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
260
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexChevronUpIcon, isStandalone: true, selector: "svg[codexChevronUpIcon],svg[codex-chevron-up-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 15l4.859-4.859a.2.2 0 0 1 .282 0L17 15"></svg:path>`, isInline: true });
261
+ }
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronUpIcon, decorators: [{
263
+ type: Component,
264
+ args: [{
265
+ standalone: true,
266
+ selector: 'svg[codexChevronUpIcon],svg[codex-chevron-up-icon]',
267
+ host: {
268
+ role: 'img',
269
+ '[attr.viewBox]': 'viewBox()',
270
+ '[attr.width]': 'width()',
271
+ '[attr.height]': 'height()',
272
+ },
273
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m7 15l4.859-4.859a.2.2 0 0 1 .282 0L17 15"></svg:path>`,
274
+ }]
275
+ }] });
276
+ export class CodexClipboardIcon {
277
+ viewBox = input("0 0 24 24");
278
+ width = input("1em");
279
+ height = input("1em");
280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexClipboardIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexClipboardIcon, isStandalone: true, selector: "svg[codexClipboardIcon],svg[codex-clipboard-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.429 7H7.714c-.454 0-.89.158-1.212.44A1.41 1.41 0 0 0 6 8.5v9c0 .398.18.78.502 1.06c.322.282.758.44 1.212.44h8.572c.454 0 .89-.158 1.212-.44A1.41 1.41 0 0 0 18 17.5v-9c0-.398-.18-.78-.502-1.06A1.85 1.85 0 0 0 16.286 7H14.57"></svg:path><svg:rect width="5.158" height="3.368" x="9.421" y="5" rx="1.5"></svg:rect></svg:g>`, isInline: true });
282
+ }
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexClipboardIcon, decorators: [{
284
+ type: Component,
285
+ args: [{
286
+ standalone: true,
287
+ selector: 'svg[codexClipboardIcon],svg[codex-clipboard-icon]',
288
+ host: {
289
+ role: 'img',
290
+ '[attr.viewBox]': 'viewBox()',
291
+ '[attr.width]': 'width()',
292
+ '[attr.height]': 'height()',
293
+ },
294
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path stroke-linecap="round" stroke-linejoin="round" d="M9.429 7H7.714c-.454 0-.89.158-1.212.44A1.41 1.41 0 0 0 6 8.5v9c0 .398.18.78.502 1.06c.322.282.758.44 1.212.44h8.572c.454 0 .89-.158 1.212-.44A1.41 1.41 0 0 0 18 17.5v-9c0-.398-.18-.78-.502-1.06A1.85 1.85 0 0 0 16.286 7H14.57"></svg:path><svg:rect width="5.158" height="3.368" x="9.421" y="5" rx="1.5"></svg:rect></svg:g>`,
295
+ }]
296
+ }] });
297
+ export class CodexCollapseIcon {
298
+ viewBox = input("0 0 24 24");
299
+ width = input("1em");
300
+ height = input("1em");
301
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCollapseIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
302
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexCollapseIcon, isStandalone: true, selector: "svg[codexCollapseIcon],svg[codex-collapse-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m7 9l3 3m0 0l-3 3m3-3H4m13-3l-3 3m0 0l3 3m-3-3h6"></svg:path>`, isInline: true });
303
+ }
304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCollapseIcon, decorators: [{
305
+ type: Component,
306
+ args: [{
307
+ standalone: true,
308
+ selector: 'svg[codexCollapseIcon],svg[codex-collapse-icon]',
309
+ host: {
310
+ role: 'img',
311
+ '[attr.viewBox]': 'viewBox()',
312
+ '[attr.width]': 'width()',
313
+ '[attr.height]': 'height()',
314
+ },
315
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m7 9l3 3m0 0l-3 3m3-3H4m13-3l-3 3m0 0l3 3m-3-3h6"></svg:path>`,
316
+ }]
317
+ }] });
318
+ export class CodexCrossIcon {
319
+ viewBox = input("0 0 24 24");
320
+ width = input("1em");
321
+ height = input("1em");
322
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCrossIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
323
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexCrossIcon, isStandalone: true, selector: "svg[codexCrossIcon],svg[codex-cross-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m8 8l4 4m0 0l4 4m-4-4l4-4m-4 4l-4 4"></svg:path>`, isInline: true });
324
+ }
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCrossIcon, decorators: [{
326
+ type: Component,
327
+ args: [{
328
+ standalone: true,
329
+ selector: 'svg[codexCrossIcon],svg[codex-cross-icon]',
330
+ host: {
331
+ role: 'img',
332
+ '[attr.viewBox]': 'viewBox()',
333
+ '[attr.width]': 'width()',
334
+ '[attr.height]': 'height()',
335
+ },
336
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m8 8l4 4m0 0l4 4m-4-4l4-4m-4 4l-4 4"></svg:path>`,
337
+ }]
338
+ }] });
339
+ export class CodexCurlyBracketsIcon {
340
+ viewBox = input("0 0 24 24");
341
+ width = input("1em");
342
+ height = input("1em");
343
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCurlyBracketsIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
344
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexCurlyBracketsIcon, isStandalone: true, selector: "svg[codexCurlyBracketsIcon],svg[codex-curly-brackets-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 17c-2 0-2-1.746-2-3.5L5.5 12L7 10.5C7 8.746 7 7 9 7m6 10c2 0 2-1.746 2-3.5l1.5-1.5l-1.5-1.5C17 8.746 17 7 15 7"></svg:path>`, isInline: true });
345
+ }
346
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCurlyBracketsIcon, decorators: [{
347
+ type: Component,
348
+ args: [{
349
+ standalone: true,
350
+ selector: 'svg[codexCurlyBracketsIcon],svg[codex-curly-brackets-icon]',
351
+ host: {
352
+ role: 'img',
353
+ '[attr.viewBox]': 'viewBox()',
354
+ '[attr.width]': 'width()',
355
+ '[attr.height]': 'height()',
356
+ },
357
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 17c-2 0-2-1.746-2-3.5L5.5 12L7 10.5C7 8.746 7 7 9 7m6 10c2 0 2-1.746 2-3.5l1.5-1.5l-1.5-1.5C17 8.746 17 7 15 7"></svg:path>`,
358
+ }]
359
+ }] });
360
+ export class CodexDelimiterIcon {
361
+ viewBox = input("0 0 24 24");
362
+ width = input("1em");
363
+ height = input("1em");
364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDelimiterIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
365
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDelimiterIcon, isStandalone: true, selector: "svg[codexDelimiterIcon],svg[codex-delimiter-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 12h4m4 0h4"></svg:path>`, isInline: true });
366
+ }
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDelimiterIcon, decorators: [{
368
+ type: Component,
369
+ args: [{
370
+ standalone: true,
371
+ selector: 'svg[codexDelimiterIcon],svg[codex-delimiter-icon]',
372
+ host: {
373
+ role: 'img',
374
+ '[attr.viewBox]': 'viewBox()',
375
+ '[attr.width]': 'width()',
376
+ '[attr.height]': 'height()',
377
+ },
378
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 12h4m4 0h4"></svg:path>`,
379
+ }]
380
+ }] });
381
+ export class CodexDirectionDownRightIcon {
382
+ viewBox = input("0 0 24 24");
383
+ width = input("1em");
384
+ height = input("1em");
385
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionDownRightIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
386
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDirectionDownRightIcon, isStandalone: true, selector: "svg[codexDirectionDownRightIcon],svg[codex-direction-down-right-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.883 9.167l3.334 3.333m0 0l-3.334 3.333m3.334-3.333H10.05a3.333 3.333 0 0 1-3.333-3.333"></svg:path>`, isInline: true });
387
+ }
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionDownRightIcon, decorators: [{
389
+ type: Component,
390
+ args: [{
391
+ standalone: true,
392
+ selector: 'svg[codexDirectionDownRightIcon],svg[codex-direction-down-right-icon]',
393
+ host: {
394
+ role: 'img',
395
+ '[attr.viewBox]': 'viewBox()',
396
+ '[attr.width]': 'width()',
397
+ '[attr.height]': 'height()',
398
+ },
399
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.883 9.167l3.334 3.333m0 0l-3.334 3.333m3.334-3.333H10.05a3.333 3.333 0 0 1-3.333-3.333"></svg:path>`,
400
+ }]
401
+ }] });
402
+ export class CodexDirectionLeftDownIcon {
403
+ viewBox = input("0 0 24 24");
404
+ width = input("1em");
405
+ height = input("1em");
406
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionLeftDownIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
407
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDirectionLeftDownIcon, isStandalone: true, selector: "svg[codexDirectionLeftDownIcon],svg[codex-direction-left-down-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.917 14.917l-3.334 3.333m0 0L8.25 14.917m3.333 3.333v-8.167a3.333 3.333 0 0 1 3.334-3.333"></svg:path>`, isInline: true });
408
+ }
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionLeftDownIcon, decorators: [{
410
+ type: Component,
411
+ args: [{
412
+ standalone: true,
413
+ selector: 'svg[codexDirectionLeftDownIcon],svg[codex-direction-left-down-icon]',
414
+ host: {
415
+ role: 'img',
416
+ '[attr.viewBox]': 'viewBox()',
417
+ '[attr.width]': 'width()',
418
+ '[attr.height]': 'height()',
419
+ },
420
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.917 14.917l-3.334 3.333m0 0L8.25 14.917m3.333 3.333v-8.167a3.333 3.333 0 0 1 3.334-3.333"></svg:path>`,
421
+ }]
422
+ }] });
423
+ export class CodexDirectionRightDownIcon {
424
+ viewBox = input("0 0 24 24");
425
+ width = input("1em");
426
+ height = input("1em");
427
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionRightDownIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
428
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDirectionRightDownIcon, isStandalone: true, selector: "svg[codexDirectionRightDownIcon],svg[codex-direction-right-down-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9.133 14.917l3.334 3.333m0 0l3.333-3.333m-3.333 3.333v-8.167A3.333 3.333 0 0 0 9.133 6.75"></svg:path>`, isInline: true });
429
+ }
430
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionRightDownIcon, decorators: [{
431
+ type: Component,
432
+ args: [{
433
+ standalone: true,
434
+ selector: 'svg[codexDirectionRightDownIcon],svg[codex-direction-right-down-icon]',
435
+ host: {
436
+ role: 'img',
437
+ '[attr.viewBox]': 'viewBox()',
438
+ '[attr.width]': 'width()',
439
+ '[attr.height]': 'height()',
440
+ },
441
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m9.133 14.917l3.334 3.333m0 0l3.333-3.333m-3.333 3.333v-8.167A3.333 3.333 0 0 0 9.133 6.75"></svg:path>`,
442
+ }]
443
+ }] });
444
+ export class CodexDirectionUpRightIcon {
445
+ viewBox = input("0 0 24 24");
446
+ width = input("1em");
447
+ height = input("1em");
448
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionUpRightIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
449
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDirectionUpRightIcon, isStandalone: true, selector: "svg[codexDirectionUpRightIcon],svg[codex-direction-up-right-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.883 15.833l3.334-3.333m0 0l-3.334-3.333m3.334 3.333H10.05a3.333 3.333 0 0 0-3.333 3.333"></svg:path>`, isInline: true });
450
+ }
451
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDirectionUpRightIcon, decorators: [{
452
+ type: Component,
453
+ args: [{
454
+ standalone: true,
455
+ selector: 'svg[codexDirectionUpRightIcon],svg[codex-direction-up-right-icon]',
456
+ host: {
457
+ role: 'img',
458
+ '[attr.viewBox]': 'viewBox()',
459
+ '[attr.width]': 'width()',
460
+ '[attr.height]': 'height()',
461
+ },
462
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m14.883 15.833l3.334-3.333m0 0l-3.334-3.333m3.334 3.333H10.05a3.333 3.333 0 0 0-3.333 3.333"></svg:path>`,
463
+ }]
464
+ }] });
465
+ export class CodexDotCircleIcon {
466
+ viewBox = input("0 0 24 24");
467
+ width = input("1em");
468
+ height = input("1em");
469
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDotCircleIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
470
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexDotCircleIcon, isStandalone: true, selector: "svg[codexDotCircleIcon],svg[codex-dot-circle-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:circle cx="12" cy="12" r="4" fill="none" stroke="currentColor" stroke-width="2"></svg:circle>`, isInline: true });
471
+ }
472
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexDotCircleIcon, decorators: [{
473
+ type: Component,
474
+ args: [{
475
+ standalone: true,
476
+ selector: 'svg[codexDotCircleIcon],svg[codex-dot-circle-icon]',
477
+ host: {
478
+ role: 'img',
479
+ '[attr.viewBox]': 'viewBox()',
480
+ '[attr.width]': 'width()',
481
+ '[attr.height]': 'height()',
482
+ },
483
+ template: `<svg:circle cx="12" cy="12" r="4" fill="none" stroke="currentColor" stroke-width="2"></svg:circle>`,
484
+ }]
485
+ }] });
486
+ export class CodexEtcHorisontalIcon {
487
+ viewBox = input("0 0 24 24");
488
+ width = input("1em");
489
+ height = input("1em");
490
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexEtcHorisontalIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
491
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexEtcHorisontalIcon, isStandalone: true, selector: "svg[codexEtcHorisontalIcon],svg[codex-etc-horisontal-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M7.305 11.995v.01m4.7-.01v.01m4.7-.01v.01"></svg:path>`, isInline: true });
492
+ }
493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexEtcHorisontalIcon, decorators: [{
494
+ type: Component,
495
+ args: [{
496
+ standalone: true,
497
+ selector: 'svg[codexEtcHorisontalIcon],svg[codex-etc-horisontal-icon]',
498
+ host: {
499
+ role: 'img',
500
+ '[attr.viewBox]': 'viewBox()',
501
+ '[attr.width]': 'width()',
502
+ '[attr.height]': 'height()',
503
+ },
504
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M7.305 11.995v.01m4.7-.01v.01m4.7-.01v.01"></svg:path>`,
505
+ }]
506
+ }] });
507
+ export class CodexEtcVerticalIcon {
508
+ viewBox = input("0 0 24 24");
509
+ width = input("1em");
510
+ height = input("1em");
511
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexEtcVerticalIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
512
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexEtcVerticalIcon, isStandalone: true, selector: "svg[codexEtcVerticalIcon],svg[codex-etc-vertical-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M12.01 7.3H12m.01 4.7H12m.01 4.7H12"></svg:path>`, isInline: true });
513
+ }
514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexEtcVerticalIcon, decorators: [{
515
+ type: Component,
516
+ args: [{
517
+ standalone: true,
518
+ selector: 'svg[codexEtcVerticalIcon],svg[codex-etc-vertical-icon]',
519
+ host: {
520
+ role: 'img',
521
+ '[attr.viewBox]': 'viewBox()',
522
+ '[attr.width]': 'width()',
523
+ '[attr.height]': 'height()',
524
+ },
525
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M12.01 7.3H12m.01 4.7H12m.01 4.7H12"></svg:path>`,
526
+ }]
527
+ }] });
528
+ export class CodexFileIcon {
529
+ viewBox = input("0 0 24 24");
530
+ width = input("1em");
531
+ height = input("1em");
532
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexFileIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
533
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexFileIcon, isStandalone: true, selector: "svg[codexFileIcon],svg[codex-file-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.324 8.436L9.495 12.19c-.364.36-.564.852-.556 1.369a2 2 0 0 0 .6 1.387c.375.371.88.584 1.403.593a1.92 1.92 0 0 0 1.386-.55l3.828-3.754a3.75 3.75 0 0 0 1.112-2.738a4 4 0 0 0-1.198-2.775a4.1 4.1 0 0 0-2.808-1.185a3.85 3.85 0 0 0-2.77 1.098L6.661 9.39a5.63 5.63 0 0 0-1.667 4.107a6 6 0 0 0 1.798 4.161a6.15 6.15 0 0 0 4.21 1.778a5.77 5.77 0 0 0 4.157-1.646l3.829-3.756"></svg:path>`, isInline: true });
534
+ }
535
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexFileIcon, decorators: [{
536
+ type: Component,
537
+ args: [{
538
+ standalone: true,
539
+ selector: 'svg[codexFileIcon],svg[codex-file-icon]',
540
+ host: {
541
+ role: 'img',
542
+ '[attr.viewBox]': 'viewBox()',
543
+ '[attr.width]': 'width()',
544
+ '[attr.height]': 'height()',
545
+ },
546
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.324 8.436L9.495 12.19c-.364.36-.564.852-.556 1.369a2 2 0 0 0 .6 1.387c.375.371.88.584 1.403.593a1.92 1.92 0 0 0 1.386-.55l3.828-3.754a3.75 3.75 0 0 0 1.112-2.738a4 4 0 0 0-1.198-2.775a4.1 4.1 0 0 0-2.808-1.185a3.85 3.85 0 0 0-2.77 1.098L6.661 9.39a5.63 5.63 0 0 0-1.667 4.107a6 6 0 0 0 1.798 4.161a6.15 6.15 0 0 0 4.21 1.778a5.77 5.77 0 0 0 4.157-1.646l3.829-3.756"></svg:path>`,
547
+ }]
548
+ }] });
549
+ export class CodexGiftIcon {
550
+ viewBox = input("0 0 24 24");
551
+ width = input("1em");
552
+ height = input("1em");
553
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexGiftIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
554
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexGiftIcon, isStandalone: true, selector: "svg[codexGiftIcon],svg[codex-gift-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="12" height="6" x="6" y="13" rx="2"></svg:rect><svg:path d="M12 9v10m-7-8a2 2 0 0 1 2-2h10a2 2 0 1 1 0 4H7a2 2 0 0 1-2-2Zm11-2c0-1.105 0-3-2-3s-2 1.895-2 3c0-1.105 0-3-2-3S8 7.895 8 9"></svg:path></svg:g>`, isInline: true });
555
+ }
556
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexGiftIcon, decorators: [{
557
+ type: Component,
558
+ args: [{
559
+ standalone: true,
560
+ selector: 'svg[codexGiftIcon],svg[codex-gift-icon]',
561
+ host: {
562
+ role: 'img',
563
+ '[attr.viewBox]': 'viewBox()',
564
+ '[attr.width]': 'width()',
565
+ '[attr.height]': 'height()',
566
+ },
567
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="12" height="6" x="6" y="13" rx="2"></svg:rect><svg:path d="M12 9v10m-7-8a2 2 0 0 1 2-2h10a2 2 0 1 1 0 4H7a2 2 0 0 1-2-2Zm11-2c0-1.105 0-3-2-3s-2 1.895-2 3c0-1.105 0-3-2-3S8 7.895 8 9"></svg:path></svg:g>`,
568
+ }]
569
+ }] });
570
+ export class CodexGlobeIcon {
571
+ viewBox = input("0 0 24 24");
572
+ width = input("1em");
573
+ height = input("1em");
574
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexGlobeIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
575
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexGlobeIcon, isStandalone: true, selector: "svg[codexGlobeIcon],svg[codex-globe-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M18 12a6 6 0 0 1-12 0m12 0a6 6 0 0 0-12 0m12 0H6m5.7-6s-2 1.638-2 6c0 4.9 2 6 2 6m.6-12s2 1.638 2 6c0 4.9-2 6-2 6"></svg:path>`, isInline: true });
576
+ }
577
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexGlobeIcon, decorators: [{
578
+ type: Component,
579
+ args: [{
580
+ standalone: true,
581
+ selector: 'svg[codexGlobeIcon],svg[codex-globe-icon]',
582
+ host: {
583
+ role: 'img',
584
+ '[attr.viewBox]': 'viewBox()',
585
+ '[attr.width]': 'width()',
586
+ '[attr.height]': 'height()',
587
+ },
588
+ template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M18 12a6 6 0 0 1-12 0m12 0a6 6 0 0 0-12 0m12 0H6m5.7-6s-2 1.638-2 6c0 4.9 2 6 2 6m.6-12s2 1.638 2 6c0 4.9-2 6-2 6"></svg:path>`,
589
+ }]
590
+ }] });
591
+ export class CodexH1Icon {
592
+ viewBox = input("0 0 24 24");
593
+ width = input("1em");
594
+ height = input("1em");
595
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH1Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
596
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH1Icon, isStandalone: true, selector: "svg[codexH1Icon],svg[codex-h1-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m7 5v-6.786a.1.1 0 0 0-.164-.077L16 12.5"></svg:path>`, isInline: true });
597
+ }
598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH1Icon, decorators: [{
599
+ type: Component,
600
+ args: [{
601
+ standalone: true,
602
+ selector: 'svg[codexH1Icon],svg[codex-h1-icon]',
603
+ host: {
604
+ role: 'img',
605
+ '[attr.viewBox]': 'viewBox()',
606
+ '[attr.width]': 'width()',
607
+ '[attr.height]': 'height()',
608
+ },
609
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m7 5v-6.786a.1.1 0 0 0-.164-.077L16 12.5"></svg:path>`,
610
+ }]
611
+ }] });
612
+ export class CodexH2Icon {
613
+ viewBox = input("0 0 24 24");
614
+ width = input("1em");
615
+ height = input("1em");
616
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH2Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
617
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH2Icon, isStandalone: true, selector: "svg[codexH2Icon],svg[codex-h2-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4-1c0-1 3-1.5 3 1c0 1.977-2.932 2-2.999 4.898A.1.1 0 0 0 16.1 17h3.2"></svg:path>`, isInline: true });
618
+ }
619
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH2Icon, decorators: [{
620
+ type: Component,
621
+ args: [{
622
+ standalone: true,
623
+ selector: 'svg[codexH2Icon],svg[codex-h2-icon]',
624
+ host: {
625
+ role: 'img',
626
+ '[attr.viewBox]': 'viewBox()',
627
+ '[attr.width]': 'width()',
628
+ '[attr.height]': 'height()',
629
+ },
630
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4-1c0-1 3-1.5 3 1c0 1.977-2.932 2-2.999 4.898A.1.1 0 0 0 16.1 17h3.2"></svg:path>`,
631
+ }]
632
+ }] });
633
+ export class CodexH3Icon {
634
+ viewBox = input("0 0 24 24");
635
+ width = input("1em");
636
+ height = input("1em");
637
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH3Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
638
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH3Icon, isStandalone: true, selector: "svg[codexH3Icon],svg[codex-h3-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4-1c0-.5.832-1 1.6-1s1.9.311 1.9 1.5a1.535 1.535 0 0 1-.952 1.482c-.01.004-.008.023.002.024c.261.04 1.45.3 1.45 1.794c0 1.2-.5 2.2-2.2 2.2c0 0-1.8 0-1.8-.7"></svg:path>`, isInline: true });
639
+ }
640
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH3Icon, decorators: [{
641
+ type: Component,
642
+ args: [{
643
+ standalone: true,
644
+ selector: 'svg[codexH3Icon],svg[codex-h3-icon]',
645
+ host: {
646
+ role: 'img',
647
+ '[attr.viewBox]': 'viewBox()',
648
+ '[attr.width]': 'width()',
649
+ '[attr.height]': 'height()',
650
+ },
651
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4-1c0-.5.832-1 1.6-1s1.9.311 1.9 1.5a1.535 1.535 0 0 1-.952 1.482c-.01.004-.008.023.002.024c.261.04 1.45.3 1.45 1.794c0 1.2-.5 2.2-2.2 2.2c0 0-1.8 0-1.8-.7"></svg:path>`,
652
+ }]
653
+ }] });
654
+ export class CodexH4Icon {
655
+ viewBox = input("0 0 24 24");
656
+ width = input("1em");
657
+ height = input("1em");
658
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH4Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
659
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH4Icon, isStandalone: true, selector: "svg[codexH4Icon],svg[codex-h4-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m6-2l-2.717 4.851a.1.1 0 0 0 .087.149h4.83M19 17v-3.4"></svg:path>`, isInline: true });
660
+ }
661
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH4Icon, decorators: [{
662
+ type: Component,
663
+ args: [{
664
+ standalone: true,
665
+ selector: 'svg[codexH4Icon],svg[codex-h4-icon]',
666
+ host: {
667
+ role: 'img',
668
+ '[attr.viewBox]': 'viewBox()',
669
+ '[attr.width]': 'width()',
670
+ '[attr.height]': 'height()',
671
+ },
672
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m6-2l-2.717 4.851a.1.1 0 0 0 .087.149h4.83M19 17v-3.4"></svg:path>`,
673
+ }]
674
+ }] });
675
+ export class CodexH5Icon {
676
+ viewBox = input("0 0 24 24");
677
+ width = input("1em");
678
+ height = input("1em");
679
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH5Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
680
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH5Icon, isStandalone: true, selector: "svg[codexH5Icon],svg[codex-h5-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4 3.9s.377 1.1 1.8 1.1c1.7 0 2.2-1.38 2.2-2.3c0-1.968-2.326-2.651-3.837-1.71c-.069.043-.163-.005-.163-.087V10.1a.1.1 0 0 1 .1-.1h3.7"></svg:path>`, isInline: true });
681
+ }
682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH5Icon, decorators: [{
683
+ type: Component,
684
+ args: [{
685
+ standalone: true,
686
+ selector: 'svg[codexH5Icon],svg[codex-h5-icon]',
687
+ host: {
688
+ role: 'img',
689
+ '[attr.viewBox]': 'viewBox()',
690
+ '[attr.width]': 'width()',
691
+ '[attr.height]': 'height()',
692
+ },
693
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m4 3.9s.377 1.1 1.8 1.1c1.7 0 2.2-1.38 2.2-2.3c0-1.968-2.326-2.651-3.837-1.71c-.069.043-.163-.005-.163-.087V10.1a.1.1 0 0 1 .1-.1h3.7"></svg:path>`,
694
+ }]
695
+ }] });
696
+ export class CodexH6Icon {
697
+ viewBox = input("0 0 24 24");
698
+ width = input("1em");
699
+ height = input("1em");
700
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH6Icon, deps: [], target: i0.ɵɵFactoryTarget.Component });
701
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexH6Icon, isStandalone: true, selector: "svg[codexH6Icon],svg[codex-h6-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m7.5-2c-3 .5-3.5 3.329-3.5 5m0 0v0a2 2 0 0 0 2 2h.325c1 0 1.994-.65 1.927-1.65C20.062 12.497 16 12.662 16 15Z"></svg:path>`, isInline: true });
702
+ }
703
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexH6Icon, decorators: [{
704
+ type: Component,
705
+ args: [{
706
+ standalone: true,
707
+ selector: 'svg[codexH6Icon],svg[codex-h6-icon]',
708
+ host: {
709
+ role: 'img',
710
+ '[attr.viewBox]': 'viewBox()',
711
+ '[attr.width]': 'width()',
712
+ '[attr.height]': 'height()',
713
+ },
714
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5m7.5-2c-3 .5-3.5 3.329-3.5 5m0 0v0a2 2 0 0 0 2 2h.325c1 0 1.994-.65 1.927-1.65C20.062 12.497 16 12.662 16 15Z"></svg:path>`,
715
+ }]
716
+ }] });
717
+ export class CodexHeadingIcon {
718
+ viewBox = input("0 0 24 24");
719
+ width = input("1em");
720
+ height = input("1em");
721
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHeadingIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
722
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexHeadingIcon, isStandalone: true, selector: "svg[codexHeadingIcon],svg[codex-heading-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5"></svg:path>`, isInline: true });
723
+ }
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHeadingIcon, decorators: [{
725
+ type: Component,
726
+ args: [{
727
+ standalone: true,
728
+ selector: 'svg[codexHeadingIcon],svg[codex-heading-icon]',
729
+ host: {
730
+ role: 'img',
731
+ '[attr.viewBox]': 'viewBox()',
732
+ '[attr.width]': 'width()',
733
+ '[attr.height]': 'height()',
734
+ },
735
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 7v5m0 5v-5m0 0h6m0-5v5m0 5v-5"></svg:path>`,
736
+ }]
737
+ }] });
738
+ export class CodexHeartIcon {
739
+ viewBox = input("0 0 24 24");
740
+ width = input("1em");
741
+ height = input("1em");
742
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHeartIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
743
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexHeartIcon, isStandalone: true, selector: "svg[codexHeartIcon],svg[codex-heart-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M6.6 7.5c-1.325 1.325-1.4 3.1 0 4.8s5.6 5.6 5.6 5.6s4.3-3.9 5.6-5.6s1.325-3.475 0-4.8a3.394 3.394 0 0 0-4.8 0l-.8.8l-.8-.8a3.394 3.394 0 0 0-4.8 0Z"></svg:path>`, isInline: true });
744
+ }
745
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHeartIcon, decorators: [{
746
+ type: Component,
747
+ args: [{
748
+ standalone: true,
749
+ selector: 'svg[codexHeartIcon],svg[codex-heart-icon]',
750
+ host: {
751
+ role: 'img',
752
+ '[attr.viewBox]': 'viewBox()',
753
+ '[attr.width]': 'width()',
754
+ '[attr.height]': 'height()',
755
+ },
756
+ template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M6.6 7.5c-1.325 1.325-1.4 3.1 0 4.8s5.6 5.6 5.6 5.6s4.3-3.9 5.6-5.6s1.325-3.475 0-4.8a3.394 3.394 0 0 0-4.8 0l-.8.8l-.8-.8a3.394 3.394 0 0 0-4.8 0Z"></svg:path>`,
757
+ }]
758
+ }] });
759
+ export class CodexHiddenIcon {
760
+ viewBox = input("0 0 24 24");
761
+ width = input("1em");
762
+ height = input("1em");
763
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHiddenIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
764
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexHiddenIcon, isStandalone: true, selector: "svg[codexHiddenIcon],svg[codex-hidden-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M6.778 6L18.5 17.722M10.687 10A2.342 2.342 0 1 0 14 13.314"></svg:path><svg:path d="M13 7c4 4.167 7 4.17 7 4.67s-1 1.5-1 1.5M8.242 8.81q-.973.628-1.84 1.615c-.698.794-1.047 1.191-1.047 1.945s.35 1.151 1.047 1.945Q8.793 17.037 12 17.037q1.665 0 3.111-.735"></svg:path></svg:g>`, isInline: true });
765
+ }
766
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHiddenIcon, decorators: [{
767
+ type: Component,
768
+ args: [{
769
+ standalone: true,
770
+ selector: 'svg[codexHiddenIcon],svg[codex-hidden-icon]',
771
+ host: {
772
+ role: 'img',
773
+ '[attr.viewBox]': 'viewBox()',
774
+ '[attr.width]': 'width()',
775
+ '[attr.height]': 'height()',
776
+ },
777
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M6.778 6L18.5 17.722M10.687 10A2.342 2.342 0 1 0 14 13.314"></svg:path><svg:path d="M13 7c4 4.167 7 4.17 7 4.67s-1 1.5-1 1.5M8.242 8.81q-.973.628-1.84 1.615c-.698.794-1.047 1.191-1.047 1.945s.35 1.151 1.047 1.945Q8.793 17.037 12 17.037q1.665 0 3.111-.735"></svg:path></svg:g>`,
778
+ }]
779
+ }] });
780
+ export class CodexHtmlIcon {
781
+ viewBox = input("0 0 24 24");
782
+ width = input("1em");
783
+ height = input("1em");
784
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHtmlIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
785
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexHtmlIcon, isStandalone: true, selector: "svg[codexHtmlIcon],svg[codex-html-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M16.695 5a2 2 0 0 1 1.98 2.282l-1.249 8.784a2 2 0 0 1-1.365 1.621l-3.446 1.114a2 2 0 0 1-1.23 0l-3.446-1.114a2 2 0 0 1-1.365-1.621l-1.25-8.784A2 2 0 0 1 7.305 5z"></svg:path><svg:path d="M15 8.4H9l.429 3.394h5.142l-.214 1.485l-.214 1.485L12 15.4l-2.143-.636l-.086-.425"></svg:path></svg:g>`, isInline: true });
786
+ }
787
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexHtmlIcon, decorators: [{
788
+ type: Component,
789
+ args: [{
790
+ standalone: true,
791
+ selector: 'svg[codexHtmlIcon],svg[codex-html-icon]',
792
+ host: {
793
+ role: 'img',
794
+ '[attr.viewBox]': 'viewBox()',
795
+ '[attr.width]': 'width()',
796
+ '[attr.height]': 'height()',
797
+ },
798
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M16.695 5a2 2 0 0 1 1.98 2.282l-1.249 8.784a2 2 0 0 1-1.365 1.621l-3.446 1.114a2 2 0 0 1-1.23 0l-3.446-1.114a2 2 0 0 1-1.365-1.621l-1.25-8.784A2 2 0 0 1 7.305 5z"></svg:path><svg:path d="M15 8.4H9l.429 3.394h5.142l-.214 1.485l-.214 1.485L12 15.4l-2.143-.636l-.086-.425"></svg:path></svg:g>`,
799
+ }]
800
+ }] });
801
+ export class CodexInstagramIcon {
802
+ viewBox = input("0 0 24 24");
803
+ width = input("1em");
804
+ height = input("1em");
805
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexInstagramIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
806
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexInstagramIcon, isStandalone: true, selector: "svg[codexInstagramIcon],svg[codex-instagram-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M15.9 8.1v.01"></svg:path><svg:circle cx="12" cy="12" r="3"></svg:circle></svg:g>`, isInline: true });
807
+ }
808
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexInstagramIcon, decorators: [{
809
+ type: Component,
810
+ args: [{
811
+ standalone: true,
812
+ selector: 'svg[codexInstagramIcon],svg[codex-instagram-icon]',
813
+ host: {
814
+ role: 'img',
815
+ '[attr.viewBox]': 'viewBox()',
816
+ '[attr.width]': 'width()',
817
+ '[attr.height]': 'height()',
818
+ },
819
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M15.9 8.1v.01"></svg:path><svg:circle cx="12" cy="12" r="3"></svg:circle></svg:g>`,
820
+ }]
821
+ }] });
822
+ export class CodexItalicIcon {
823
+ viewBox = input("0 0 24 24");
824
+ width = input("1em");
825
+ height = input("1em");
826
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexItalicIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
827
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexItalicIcon, isStandalone: true, selector: "svg[codexItalicIcon],svg[codex-italic-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M13.34 10c-.918 2.734-2.34 7-2.34 7m3.21-10h-.01"></svg:path>`, isInline: true });
828
+ }
829
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexItalicIcon, decorators: [{
830
+ type: Component,
831
+ args: [{
832
+ standalone: true,
833
+ selector: 'svg[codexItalicIcon],svg[codex-italic-icon]',
834
+ host: {
835
+ role: 'img',
836
+ '[attr.viewBox]': 'viewBox()',
837
+ '[attr.width]': 'width()',
838
+ '[attr.height]': 'height()',
839
+ },
840
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M13.34 10c-.918 2.734-2.34 7-2.34 7m3.21-10h-.01"></svg:path>`,
841
+ }]
842
+ }] });
843
+ export class CodexLinkIcon {
844
+ viewBox = input("0 0 24 24");
845
+ width = input("1em");
846
+ height = input("1em");
847
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLinkIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
848
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexLinkIcon, isStandalone: true, selector: "svg[codexLinkIcon],svg[codex-link-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path d="m7.7 12.6l-.021.02a2.795 2.795 0 0 0-.044 4.005v0a2.795 2.795 0 0 0 3.936.006l1.455-1.438a3 3 0 0 0 .34-3.866l-.146-.207"></svg:path><svg:path d="m16.22 11.12l.136-.14c.933-.953.992-2.46.135-3.483v0a2.597 2.597 0 0 0-3.664-.32L11.39 8.386a3 3 0 0 0-.301 4.3l.031.034"></svg:path></svg:g>`, isInline: true });
849
+ }
850
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLinkIcon, decorators: [{
851
+ type: Component,
852
+ args: [{
853
+ standalone: true,
854
+ selector: 'svg[codexLinkIcon],svg[codex-link-icon]',
855
+ host: {
856
+ role: 'img',
857
+ '[attr.viewBox]': 'viewBox()',
858
+ '[attr.width]': 'width()',
859
+ '[attr.height]': 'height()',
860
+ },
861
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path d="m7.7 12.6l-.021.02a2.795 2.795 0 0 0-.044 4.005v0a2.795 2.795 0 0 0 3.936.006l1.455-1.438a3 3 0 0 0 .34-3.866l-.146-.207"></svg:path><svg:path d="m16.22 11.12l.136-.14c.933-.953.992-2.46.135-3.483v0a2.597 2.597 0 0 0-3.664-.32L11.39 8.386a3 3 0 0 0-.301 4.3l.031.034"></svg:path></svg:g>`,
862
+ }]
863
+ }] });
864
+ export class CodexLinkedinIcon {
865
+ viewBox = input("0 0 24 24");
866
+ width = input("1em");
867
+ height = input("1em");
868
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLinkedinIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
869
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexLinkedinIcon, isStandalone: true, selector: "svg[codexLinkedinIcon],svg[codex-linkedin-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M9 11.4v4m0-6.7v.01m3 2.69v.6m0 3.4V12m0 0c2-.5 3-.639 3 .5v2.9"></svg:path></svg:g>`, isInline: true });
870
+ }
871
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLinkedinIcon, decorators: [{
872
+ type: Component,
873
+ args: [{
874
+ standalone: true,
875
+ selector: 'svg[codexLinkedinIcon],svg[codex-linkedin-icon]',
876
+ host: {
877
+ role: 'img',
878
+ '[attr.viewBox]': 'viewBox()',
879
+ '[attr.width]': 'width()',
880
+ '[attr.height]': 'height()',
881
+ },
882
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M9 11.4v4m0-6.7v.01m3 2.69v.6m0 3.4V12m0 0c2-.5 3-.639 3 .5v2.9"></svg:path></svg:g>`,
883
+ }]
884
+ }] });
885
+ export class CodexListBulletedIcon {
886
+ viewBox = input("0 0 24 24");
887
+ width = input("1em");
888
+ height = input("1em");
889
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexListBulletedIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
890
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexListBulletedIcon, isStandalone: true, selector: "svg[codexListBulletedIcon],svg[codex-list-bulleted-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 7h10M9 12h10M9 17h10M5 17h-.01M5 12h-.01M5 7h-.01"></svg:path>`, isInline: true });
891
+ }
892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexListBulletedIcon, decorators: [{
893
+ type: Component,
894
+ args: [{
895
+ standalone: true,
896
+ selector: 'svg[codexListBulletedIcon],svg[codex-list-bulleted-icon]',
897
+ host: {
898
+ role: 'img',
899
+ '[attr.viewBox]': 'viewBox()',
900
+ '[attr.width]': 'width()',
901
+ '[attr.height]': 'height()',
902
+ },
903
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M9 7h10M9 12h10M9 17h10M5 17h-.01M5 12h-.01M5 7h-.01"></svg:path>`,
904
+ }]
905
+ }] });
906
+ export class CodexListNumberedIcon {
907
+ viewBox = input("0 0 24 24");
908
+ width = input("1em");
909
+ height = input("1em");
910
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexListNumberedIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
911
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexListNumberedIcon, isStandalone: true, selector: "svg[codexListNumberedIcon],svg[codex-list-numbered-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 7h7m-7 5h7m-7 5h7M7.8 14V7.214a.1.1 0 0 0-.164-.077L4.8 9.5"></svg:path>`, isInline: true });
912
+ }
913
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexListNumberedIcon, decorators: [{
914
+ type: Component,
915
+ args: [{
916
+ standalone: true,
917
+ selector: 'svg[codexListNumberedIcon],svg[codex-list-numbered-icon]',
918
+ host: {
919
+ role: 'img',
920
+ '[attr.viewBox]': 'viewBox()',
921
+ '[attr.width]': 'width()',
922
+ '[attr.height]': 'height()',
923
+ },
924
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 7h7m-7 5h7m-7 5h7M7.8 14V7.214a.1.1 0 0 0-.164-.077L4.8 9.5"></svg:path>`,
925
+ }]
926
+ }] });
927
+ export class CodexLoaderIcon {
928
+ viewBox = input("0 0 24 24");
929
+ width = input("1em");
930
+ height = input("1em");
931
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLoaderIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
932
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexLoaderIcon, isStandalone: true, selector: "svg[codexLoaderIcon],svg[codex-loader-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 6.99998C9.1747 6.99987 6.99997 9.24998 7 12C7.00003 14.55 9.02119 17 12 17C14.7712 17 17 14.75 17 12"><svg:animatetransform attributeName="transform" attributeType="XML" dur="560ms" from="0,12,12" repeatCount="indefinite" to="360,12,12" type="rotate"></svg:animatetransform></svg:path>`, isInline: true });
933
+ }
934
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexLoaderIcon, decorators: [{
935
+ type: Component,
936
+ args: [{
937
+ standalone: true,
938
+ selector: 'svg[codexLoaderIcon],svg[codex-loader-icon]',
939
+ host: {
940
+ role: 'img',
941
+ '[attr.viewBox]': 'viewBox()',
942
+ '[attr.width]': 'width()',
943
+ '[attr.height]': 'height()',
944
+ },
945
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 6.99998C9.1747 6.99987 6.99997 9.24998 7 12C7.00003 14.55 9.02119 17 12 17C14.7712 17 17 14.75 17 12"><svg:animatetransform attributeName="transform" attributeType="XML" dur="560ms" from="0,12,12" repeatCount="indefinite" to="360,12,12" type="rotate"></svg:animatetransform></svg:path>`,
946
+ }]
947
+ }] });
948
+ export class CodexMarkerIcon {
949
+ viewBox = input("0 0 24 24");
950
+ width = input("1em");
951
+ height = input("1em");
952
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMarkerIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
953
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexMarkerIcon, isStandalone: true, selector: "svg[codexMarkerIcon],svg[codex-marker-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="m11.354 9.318l1.414-1.414a2 2 0 1 1 2.828 2.828l-1.414 1.414m-2.828-2.828l-3.387 3.386a4 4 0 0 0-1.094 2.044l-.175.877a1 1 0 0 0 1.177 1.177l.877-.175a4 4 0 0 0 2.044-1.094l3.386-3.387m-2.828-2.828l2.828 2.828"></svg:path><svg:path stroke-linecap="round" d="M15 17h4"></svg:path></svg:g>`, isInline: true });
954
+ }
955
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMarkerIcon, decorators: [{
956
+ type: Component,
957
+ args: [{
958
+ standalone: true,
959
+ selector: 'svg[codexMarkerIcon],svg[codex-marker-icon]',
960
+ host: {
961
+ role: 'img',
962
+ '[attr.viewBox]': 'viewBox()',
963
+ '[attr.width]': 'width()',
964
+ '[attr.height]': 'height()',
965
+ },
966
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="m11.354 9.318l1.414-1.414a2 2 0 1 1 2.828 2.828l-1.414 1.414m-2.828-2.828l-3.387 3.386a4 4 0 0 0-1.094 2.044l-.175.877a1 1 0 0 0 1.177 1.177l.877-.175a4 4 0 0 0 2.044-1.094l3.386-3.387m-2.828-2.828l2.828 2.828"></svg:path><svg:path stroke-linecap="round" d="M15 17h4"></svg:path></svg:g>`,
967
+ }]
968
+ }] });
969
+ export class CodexMenuIcon {
970
+ viewBox = input("0 0 24 24");
971
+ width = input("1em");
972
+ height = input("1em");
973
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMenuIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
974
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexMenuIcon, isStandalone: true, selector: "svg[codexMenuIcon],svg[codex-menu-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M9.41 7.3H9.4m5.2 0h-.01M9.31 12H9.3m5.3 0h-.01m-5.18 4.7H9.4m5.2 0h-.01"></svg:path>`, isInline: true });
975
+ }
976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMenuIcon, decorators: [{
977
+ type: Component,
978
+ args: [{
979
+ standalone: true,
980
+ selector: 'svg[codexMenuIcon],svg[codex-menu-icon]',
981
+ host: {
982
+ role: 'img',
983
+ '[attr.viewBox]': 'viewBox()',
984
+ '[attr.width]': 'width()',
985
+ '[attr.height]': 'height()',
986
+ },
987
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M9.41 7.3H9.4m5.2 0h-.01M9.31 12H9.3m5.3 0h-.01m-5.18 4.7H9.4m5.2 0h-.01"></svg:path>`,
988
+ }]
989
+ }] });
990
+ export class CodexMenuSmallIcon {
991
+ viewBox = input("0 0 24 24");
992
+ width = input("1em");
993
+ height = input("1em");
994
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMenuSmallIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
995
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexMenuSmallIcon, isStandalone: true, selector: "svg[codexMenuSmallIcon],svg[codex-menu-small-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M9.41 9.66H9.4m5.2 0h-.01m-5.28 4.7H9.3m5.3 0h-.01"></svg:path>`, isInline: true });
996
+ }
997
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexMenuSmallIcon, decorators: [{
998
+ type: Component,
999
+ args: [{
1000
+ standalone: true,
1001
+ selector: 'svg[codexMenuSmallIcon],svg[codex-menu-small-icon]',
1002
+ host: {
1003
+ role: 'img',
1004
+ '[attr.viewBox]': 'viewBox()',
1005
+ '[attr.width]': 'width()',
1006
+ '[attr.height]': 'height()',
1007
+ },
1008
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2.6" d="M9.41 9.66H9.4m5.2 0h-.01m-5.28 4.7H9.3m5.3 0h-.01"></svg:path>`,
1009
+ }]
1010
+ }] });
1011
+ export class CodexPictureIcon {
1012
+ viewBox = input("0 0 24 24");
1013
+ width = input("1em");
1014
+ height = input("1em");
1015
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPictureIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1016
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexPictureIcon, isStandalone: true, selector: "svg[codexPictureIcon],svg[codex-picture-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" stroke-linejoin="round" d="m5.14 15.32l3.55-3.754A1.75 1.75 0 0 1 9.969 11c.479 0 .938.204 1.277.566L15.387 16m-1.806-1.934l1.432-1.533a1.75 1.75 0 0 1 1.277-.566c.48 0 .939.204 1.277.566l1.274 1.43m-5.063-4.63h.009"></svg:path></svg:g>`, isInline: true });
1017
+ }
1018
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPictureIcon, decorators: [{
1019
+ type: Component,
1020
+ args: [{
1021
+ standalone: true,
1022
+ selector: 'svg[codexPictureIcon],svg[codex-picture-icon]',
1023
+ host: {
1024
+ role: 'img',
1025
+ '[attr.viewBox]': 'viewBox()',
1026
+ '[attr.width]': 'width()',
1027
+ '[attr.height]': 'height()',
1028
+ },
1029
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" stroke-linejoin="round" d="m5.14 15.32l3.55-3.754A1.75 1.75 0 0 1 9.969 11c.479 0 .938.204 1.277.566L15.387 16m-1.806-1.934l1.432-1.533a1.75 1.75 0 0 1 1.277-.566c.48 0 .939.204 1.277.566l1.274 1.43m-5.063-4.63h.009"></svg:path></svg:g>`,
1030
+ }]
1031
+ }] });
1032
+ export class CodexPlayIcon {
1033
+ viewBox = input("0 0 24 24");
1034
+ width = input("1em");
1035
+ height = input("1em");
1036
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPlayIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1037
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexPlayIcon, isStandalone: true, selector: "svg[codexPlayIcon],svg[codex-play-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 10.56v2.88a1.3 1.3 0 0 0 2.021 1.081l2.16-1.44a1.3 1.3 0 0 0-.001-2.163L12.021 9.48A1.3 1.3 0 0 0 10 10.561Z"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`, isInline: true });
1038
+ }
1039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPlayIcon, decorators: [{
1040
+ type: Component,
1041
+ args: [{
1042
+ standalone: true,
1043
+ selector: 'svg[codexPlayIcon],svg[codex-play-icon]',
1044
+ host: {
1045
+ role: 'img',
1046
+ '[attr.viewBox]': 'viewBox()',
1047
+ '[attr.width]': 'width()',
1048
+ '[attr.height]': 'height()',
1049
+ },
1050
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 10.56v2.88a1.3 1.3 0 0 0 2.021 1.081l2.16-1.44a1.3 1.3 0 0 0-.001-2.163L12.021 9.48A1.3 1.3 0 0 0 10 10.561Z"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`,
1051
+ }]
1052
+ }] });
1053
+ export class CodexPlusIcon {
1054
+ viewBox = input("0 0 24 24");
1055
+ width = input("1em");
1056
+ height = input("1em");
1057
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPlusIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1058
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexPlusIcon, isStandalone: true, selector: "svg[codexPlusIcon],svg[codex-plus-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 7v5m0 5v-5m5 0h-5m0 0H7"></svg:path>`, isInline: true });
1059
+ }
1060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexPlusIcon, decorators: [{
1061
+ type: Component,
1062
+ args: [{
1063
+ standalone: true,
1064
+ selector: 'svg[codexPlusIcon],svg[codex-plus-icon]',
1065
+ host: {
1066
+ role: 'img',
1067
+ '[attr.viewBox]': 'viewBox()',
1068
+ '[attr.width]': 'width()',
1069
+ '[attr.height]': 'height()',
1070
+ },
1071
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M12 7v5m0 5v-5m5 0h-5m0 0H7"></svg:path>`,
1072
+ }]
1073
+ }] });
1074
+ export class CodexQuestionIcon {
1075
+ viewBox = input("0 0 24 24");
1076
+ width = input("1em");
1077
+ height = input("1em");
1078
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexQuestionIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1079
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexQuestionIcon, isStandalone: true, selector: "svg[codexQuestionIcon],svg[codex-question-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M12 15.52v-.01m-1.998-5.533C10.157 9.019 11 8.5 12 8.5s1.686.672 1.87 1.207c.183.535.144 1.344-.363 1.809s-.773.316-1.229.8a1.8 1.8 0 0 0-.278.432"></svg:path></svg:g>`, isInline: true });
1080
+ }
1081
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexQuestionIcon, decorators: [{
1082
+ type: Component,
1083
+ args: [{
1084
+ standalone: true,
1085
+ selector: 'svg[codexQuestionIcon],svg[codex-question-icon]',
1086
+ host: {
1087
+ role: 'img',
1088
+ '[attr.viewBox]': 'viewBox()',
1089
+ '[attr.width]': 'width()',
1090
+ '[attr.height]': 'height()',
1091
+ },
1092
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M12 15.52v-.01m-1.998-5.533C10.157 9.019 11 8.5 12 8.5s1.686.672 1.87 1.207c.183.535.144 1.344-.363 1.809s-.773.316-1.229.8a1.8 1.8 0 0 0-.278.432"></svg:path></svg:g>`,
1093
+ }]
1094
+ }] });
1095
+ export class CodexQuoteIcon {
1096
+ viewBox = input("0 0 24 24");
1097
+ width = input("1em");
1098
+ height = input("1em");
1099
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexQuoteIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1100
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexQuoteIcon, isStandalone: true, selector: "svg[codexQuoteIcon],svg[codex-quote-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 10.818H9c-.198 0-.391-.053-.556-.153a.93.93 0 0 1-.368-.408a.83.83 0 0 1-.057-.525a.9.9 0 0 1 .274-.466c.14-.127.318-.213.512-.249c.194-.035.395-.017.578.052a1 1 0 0 1 .448.335c.11.15.169.325.169.505v2.273c0 .482-.21.944-.586 1.285A2.1 2.1 0 0 1 8 14m8-3.182h-1c-.198 0-.391-.053-.556-.153a.93.93 0 0 1-.368-.408a.83.83 0 0 1-.057-.525a.9.9 0 0 1 .274-.466c.14-.127.318-.213.512-.249c.194-.035.395-.017.578.052a1 1 0 0 1 .449.335a.85.85 0 0 1 .168.505v2.273c0 .482-.21.944-.586 1.285A2.1 2.1 0 0 1 14 14"></svg:path>`, isInline: true });
1101
+ }
1102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexQuoteIcon, decorators: [{
1103
+ type: Component,
1104
+ args: [{
1105
+ standalone: true,
1106
+ selector: 'svg[codexQuoteIcon],svg[codex-quote-icon]',
1107
+ host: {
1108
+ role: 'img',
1109
+ '[attr.viewBox]': 'viewBox()',
1110
+ '[attr.width]': 'width()',
1111
+ '[attr.height]': 'height()',
1112
+ },
1113
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 10.818H9c-.198 0-.391-.053-.556-.153a.93.93 0 0 1-.368-.408a.83.83 0 0 1-.057-.525a.9.9 0 0 1 .274-.466c.14-.127.318-.213.512-.249c.194-.035.395-.017.578.052a1 1 0 0 1 .448.335c.11.15.169.325.169.505v2.273c0 .482-.21.944-.586 1.285A2.1 2.1 0 0 1 8 14m8-3.182h-1c-.198 0-.391-.053-.556-.153a.93.93 0 0 1-.368-.408a.83.83 0 0 1-.057-.525a.9.9 0 0 1 .274-.466c.14-.127.318-.213.512-.249c.194-.035.395-.017.578.052a1 1 0 0 1 .449.335a.85.85 0 0 1 .168.505v2.273c0 .482-.21.944-.586 1.285A2.1 2.1 0 0 1 14 14"></svg:path>`,
1114
+ }]
1115
+ }] });
1116
+ export class CodexRedoIcon {
1117
+ viewBox = input("0 0 24 24");
1118
+ width = input("1em");
1119
+ height = input("1em");
1120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexRedoIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1121
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexRedoIcon, isStandalone: true, selector: "svg[codexRedoIcon],svg[codex-redo-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.667 13.667L18 10.333L14.667 7M18 10.333H8.833a3.333 3.333 0 0 0 0 6.667h.834"></svg:path>`, isInline: true });
1122
+ }
1123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexRedoIcon, decorators: [{
1124
+ type: Component,
1125
+ args: [{
1126
+ standalone: true,
1127
+ selector: 'svg[codexRedoIcon],svg[codex-redo-icon]',
1128
+ host: {
1129
+ role: 'img',
1130
+ '[attr.viewBox]': 'viewBox()',
1131
+ '[attr.width]': 'width()',
1132
+ '[attr.height]': 'height()',
1133
+ },
1134
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.667 13.667L18 10.333L14.667 7M18 10.333H8.833a3.333 3.333 0 0 0 0 6.667h.834"></svg:path>`,
1135
+ }]
1136
+ }] });
1137
+ export class CodexRemoveBackgroundIcon {
1138
+ viewBox = input("0 0 24 24");
1139
+ width = input("1em");
1140
+ height = input("1em");
1141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexRemoveBackgroundIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexRemoveBackgroundIcon, isStandalone: true, selector: "svg[codexRemoveBackgroundIcon],svg[codex-remove-background-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path stroke-linejoin="round" d="M11 19c-1.864 0-2.796 0-3.53-.305a4 4 0 0 1-2.166-2.164C5 15.796 5 14.864 5 13v-1c0-2.809 0-4.213.674-5.222a4 4 0 0 1 1.104-1.104C7.787 5 9.19 5 12 5h1.5c1.396 0 2.093 0 2.661.172a4 4 0 0 1 2.667 2.667C19 8.407 19 9.104 19 10.5v0"></svg:path><svg:path d="M19.119 14.879L16.997 17m-2.121 2.121L16.997 17m2.122 2.121L16.997 17m0 0l-2.121-2.121"></svg:path><svg:path stroke-linejoin="round" d="m6.5 17.5l11-11m1.492 4h.01m-8.01 8.5h.01M5 13l8-8"></svg:path></svg:g>`, isInline: true });
1143
+ }
1144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexRemoveBackgroundIcon, decorators: [{
1145
+ type: Component,
1146
+ args: [{
1147
+ standalone: true,
1148
+ selector: 'svg[codexRemoveBackgroundIcon],svg[codex-remove-background-icon]',
1149
+ host: {
1150
+ role: 'img',
1151
+ '[attr.viewBox]': 'viewBox()',
1152
+ '[attr.width]': 'width()',
1153
+ '[attr.height]': 'height()',
1154
+ },
1155
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path stroke-linejoin="round" d="M11 19c-1.864 0-2.796 0-3.53-.305a4 4 0 0 1-2.166-2.164C5 15.796 5 14.864 5 13v-1c0-2.809 0-4.213.674-5.222a4 4 0 0 1 1.104-1.104C7.787 5 9.19 5 12 5h1.5c1.396 0 2.093 0 2.661.172a4 4 0 0 1 2.667 2.667C19 8.407 19 9.104 19 10.5v0"></svg:path><svg:path d="M19.119 14.879L16.997 17m-2.121 2.121L16.997 17m2.122 2.121L16.997 17m0 0l-2.121-2.121"></svg:path><svg:path stroke-linejoin="round" d="m6.5 17.5l11-11m1.492 4h.01m-8.01 8.5h.01M5 13l8-8"></svg:path></svg:g>`,
1156
+ }]
1157
+ }] });
1158
+ export class CodexReplaceIcon {
1159
+ viewBox = input("0 0 24 24");
1160
+ width = input("1em");
1161
+ height = input("1em");
1162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexReplaceIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1163
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexReplaceIcon, isStandalone: true, selector: "svg[codexReplaceIcon],svg[codex-replace-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M11.5 17.5L5 11m0 0v4.5M5 11h4.5m3-4.5L19 13m0 0V8.5m0 4.5h-4.5"></svg:path>`, isInline: true });
1164
+ }
1165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexReplaceIcon, decorators: [{
1166
+ type: Component,
1167
+ args: [{
1168
+ standalone: true,
1169
+ selector: 'svg[codexReplaceIcon],svg[codex-replace-icon]',
1170
+ host: {
1171
+ role: 'img',
1172
+ '[attr.viewBox]': 'viewBox()',
1173
+ '[attr.width]': 'width()',
1174
+ '[attr.height]': 'height()',
1175
+ },
1176
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M11.5 17.5L5 11m0 0v4.5M5 11h4.5m3-4.5L19 13m0 0V8.5m0 4.5h-4.5"></svg:path>`,
1177
+ }]
1178
+ }] });
1179
+ export class CodexSaveIcon {
1180
+ viewBox = input("0 0 24 24");
1181
+ width = input("1em");
1182
+ height = input("1em");
1183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexSaveIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1184
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexSaveIcon, isStandalone: true, selector: "svg[codexSaveIcon],svg[codex-save-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="m15.078 5.626l.537-.843l-.537.843c.348.222.661.528 1.493 1.36l.707-.708l-.707.707l.954.954c.31.31.425.426.524.543a4 4 0 0 1 .938 2.264c.012.153.013.316.013.754v.5c0 1.417 0 2.419-.065 3.203c-.063.772-.182 1.243-.371 1.613a4 4 0 0 1-1.748 1.748c-.37.189-.841.308-1.613.371C14.419 19 13.417 19 12 19s-2.419 0-3.203-.065c-.771-.063-1.243-.182-1.613-.371a4 4 0 0 1-1.748-1.748c-.189-.37-.308-.841-.371-1.613C5 14.419 5 13.417 5 12v-.222c0-1.31 0-2.238.056-2.965c.054-.716.157-1.156.319-1.504a4 4 0 0 1 1.934-1.934c.348-.162.788-.265 1.504-.32C9.54 5.002 10.467 5 11.778 5c1.176 0 1.614.006 2.017.095c.455.1.89.28 1.283.531Z"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M12 15a2 2 0 1 0 0-4a2 2 0 0 0 0 4m2-9.5V7a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V5.2"></svg:path></svg:g>`, isInline: true });
1185
+ }
1186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexSaveIcon, decorators: [{
1187
+ type: Component,
1188
+ args: [{
1189
+ standalone: true,
1190
+ selector: 'svg[codexSaveIcon],svg[codex-save-icon]',
1191
+ host: {
1192
+ role: 'img',
1193
+ '[attr.viewBox]': 'viewBox()',
1194
+ '[attr.width]': 'width()',
1195
+ '[attr.height]': 'height()',
1196
+ },
1197
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="m15.078 5.626l.537-.843l-.537.843c.348.222.661.528 1.493 1.36l.707-.708l-.707.707l.954.954c.31.31.425.426.524.543a4 4 0 0 1 .938 2.264c.012.153.013.316.013.754v.5c0 1.417 0 2.419-.065 3.203c-.063.772-.182 1.243-.371 1.613a4 4 0 0 1-1.748 1.748c-.37.189-.841.308-1.613.371C14.419 19 13.417 19 12 19s-2.419 0-3.203-.065c-.771-.063-1.243-.182-1.613-.371a4 4 0 0 1-1.748-1.748c-.189-.37-.308-.841-.371-1.613C5 14.419 5 13.417 5 12v-.222c0-1.31 0-2.238.056-2.965c.054-.716.157-1.156.319-1.504a4 4 0 0 1 1.934-1.934c.348-.162.788-.265 1.504-.32C9.54 5.002 10.467 5 11.778 5c1.176 0 1.614.006 2.017.095c.455.1.89.28 1.283.531Z"></svg:path><svg:path stroke-linecap="round" stroke-linejoin="round" d="M12 15a2 2 0 1 0 0-4a2 2 0 0 0 0 4m2-9.5V7a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V5.2"></svg:path></svg:g>`,
1198
+ }]
1199
+ }] });
1200
+ export class CodexSearchIcon {
1201
+ viewBox = input("0 0 24 24");
1202
+ width = input("1em");
1203
+ height = input("1em");
1204
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexSearchIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1205
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexSearchIcon, isStandalone: true, selector: "svg[codexSearchIcon],svg[codex-search-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:circle cx="10.5" cy="10.5" r="5.5"></svg:circle><svg:path stroke-linecap="round" d="M15.414 15L19 18.586"></svg:path></svg:g>`, isInline: true });
1206
+ }
1207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexSearchIcon, decorators: [{
1208
+ type: Component,
1209
+ args: [{
1210
+ standalone: true,
1211
+ selector: 'svg[codexSearchIcon],svg[codex-search-icon]',
1212
+ host: {
1213
+ role: 'img',
1214
+ '[attr.viewBox]': 'viewBox()',
1215
+ '[attr.width]': 'width()',
1216
+ '[attr.height]': 'height()',
1217
+ },
1218
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:circle cx="10.5" cy="10.5" r="5.5"></svg:circle><svg:path stroke-linecap="round" d="M15.414 15L19 18.586"></svg:path></svg:g>`,
1219
+ }]
1220
+ }] });
1221
+ export class CodexStarIcon {
1222
+ viewBox = input("0 0 24 24");
1223
+ width = input("1em");
1224
+ height = input("1em");
1225
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStarIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1226
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexStarIcon, isStandalone: true, selector: "svg[codexStarIcon],svg[codex-star-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M11.82 6.044a.2.2 0 0 1 .36 0l1.798 3.741a.2.2 0 0 0 .153.112l4.114.553a.2.2 0 0 1 .111.343l-3.003 2.865a.2.2 0 0 0-.058.18l.745 4.084a.2.2 0 0 1-.292.212L12 16.112l-3.748 2.022a.2.2 0 0 1-.292-.212l.745-4.083a.2.2 0 0 0-.058-.18l-3.003-2.866a.2.2 0 0 1 .111-.343l4.114-.553a.2.2 0 0 0 .153-.112z"></svg:path>`, isInline: true });
1227
+ }
1228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStarIcon, decorators: [{
1229
+ type: Component,
1230
+ args: [{
1231
+ standalone: true,
1232
+ selector: 'svg[codexStarIcon],svg[codex-star-icon]',
1233
+ host: {
1234
+ role: 'img',
1235
+ '[attr.viewBox]': 'viewBox()',
1236
+ '[attr.width]': 'width()',
1237
+ '[attr.height]': 'height()',
1238
+ },
1239
+ template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M11.82 6.044a.2.2 0 0 1 .36 0l1.798 3.741a.2.2 0 0 0 .153.112l4.114.553a.2.2 0 0 1 .111.343l-3.003 2.865a.2.2 0 0 0-.058.18l.745 4.084a.2.2 0 0 1-.292.212L12 16.112l-3.748 2.022a.2.2 0 0 1-.292-.212l.745-4.083a.2.2 0 0 0-.058-.18l-3.003-2.866a.2.2 0 0 1 .111-.343l4.114-.553a.2.2 0 0 0 .153-.112z"></svg:path>`,
1240
+ }]
1241
+ }] });
1242
+ export class CodexStretchIcon {
1243
+ viewBox = input("0 0 24 24");
1244
+ width = input("1em");
1245
+ height = input("1em");
1246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStretchIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1247
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexStretchIcon, isStandalone: true, selector: "svg[codexStretchIcon],svg[codex-stretch-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m17 9l3 3l-3 3m-3-3h6M7 9l-3 3l3 3m-3-3h6"></svg:path>`, isInline: true });
1248
+ }
1249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStretchIcon, decorators: [{
1250
+ type: Component,
1251
+ args: [{
1252
+ standalone: true,
1253
+ selector: 'svg[codexStretchIcon],svg[codex-stretch-icon]',
1254
+ host: {
1255
+ role: 'img',
1256
+ '[attr.viewBox]': 'viewBox()',
1257
+ '[attr.width]': 'width()',
1258
+ '[attr.height]': 'height()',
1259
+ },
1260
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m17 9l3 3l-3 3m-3-3h6M7 9l-3 3l3 3m-3-3h6"></svg:path>`,
1261
+ }]
1262
+ }] });
1263
+ export class CodexStrikethroughIcon {
1264
+ viewBox = input("0 0 24 24");
1265
+ width = input("1em");
1266
+ height = input("1em");
1267
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStrikethroughIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1268
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexStrikethroughIcon, isStandalone: true, selector: "svg[codexStrikethroughIcon],svg[codex-strikethrough-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.5 8.5c-1-1.5-3.565-1.835-4.747-.703A2.4 2.4 0 0 0 9 9.54c0 .654.27 1.28.753 1.742c1.23 1.179 3.264.265 4.494 1.443c.482.463.753 1.09.753 1.742c0 .654-.27 1.28-.753 1.743C12.866 17.532 10 17.5 9 16m-3-4h12"></svg:path>`, isInline: true });
1269
+ }
1270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexStrikethroughIcon, decorators: [{
1271
+ type: Component,
1272
+ args: [{
1273
+ standalone: true,
1274
+ selector: 'svg[codexStrikethroughIcon],svg[codex-strikethrough-icon]',
1275
+ host: {
1276
+ role: 'img',
1277
+ '[attr.viewBox]': 'viewBox()',
1278
+ '[attr.width]': 'width()',
1279
+ '[attr.height]': 'height()',
1280
+ },
1281
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.5 8.5c-1-1.5-3.565-1.835-4.747-.703A2.4 2.4 0 0 0 9 9.54c0 .654.27 1.28.753 1.742c1.23 1.179 3.264.265 4.494 1.443c.482.463.753 1.09.753 1.742c0 .654-.27 1.28-.753 1.743C12.866 17.532 10 17.5 9 16m-3-4h12"></svg:path>`,
1282
+ }]
1283
+ }] });
1284
+ export class CodexTableIcon {
1285
+ viewBox = input("0 0 24 24");
1286
+ width = input("1em");
1287
+ height = input("1em");
1288
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1289
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTableIcon, isStandalone: true, selector: "svg[codexTableIcon],svg[codex-table-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 5v13.5M5 10h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`, isInline: true });
1290
+ }
1291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableIcon, decorators: [{
1292
+ type: Component,
1293
+ args: [{
1294
+ standalone: true,
1295
+ selector: 'svg[codexTableIcon],svg[codex-table-icon]',
1296
+ host: {
1297
+ role: 'img',
1298
+ '[attr.viewBox]': 'viewBox()',
1299
+ '[attr.width]': 'width()',
1300
+ '[attr.height]': 'height()',
1301
+ },
1302
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 5v13.5M5 10h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`,
1303
+ }]
1304
+ }] });
1305
+ export class CodexTableWithHeadingsIcon {
1306
+ viewBox = input("0 0 24 24");
1307
+ width = input("1em");
1308
+ height = input("1em");
1309
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableWithHeadingsIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1310
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTableWithHeadingsIcon, isStandalone: true, selector: "svg[codexTableWithHeadingsIcon],svg[codex-table-with-headings-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M5 10h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`, isInline: true });
1311
+ }
1312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableWithHeadingsIcon, decorators: [{
1313
+ type: Component,
1314
+ args: [{
1315
+ standalone: true,
1316
+ selector: 'svg[codexTableWithHeadingsIcon],svg[codex-table-with-headings-icon]',
1317
+ host: {
1318
+ role: 'img',
1319
+ '[attr.viewBox]': 'viewBox()',
1320
+ '[attr.width]': 'width()',
1321
+ '[attr.height]': 'height()',
1322
+ },
1323
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M5 10h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`,
1324
+ }]
1325
+ }] });
1326
+ export class CodexTableWithoutHeadingsIcon {
1327
+ viewBox = input("0 0 24 24");
1328
+ width = input("1em");
1329
+ height = input("1em");
1330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableWithoutHeadingsIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1331
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTableWithoutHeadingsIcon, isStandalone: true, selector: "svg[codexTableWithoutHeadingsIcon],svg[codex-table-without-headings-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 5v13.5M14 5v13.5M5 10h14M5 14h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`, isInline: true });
1332
+ }
1333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTableWithoutHeadingsIcon, decorators: [{
1334
+ type: Component,
1335
+ args: [{
1336
+ standalone: true,
1337
+ selector: 'svg[codexTableWithoutHeadingsIcon],svg[codex-table-without-headings-icon]',
1338
+ host: {
1339
+ role: 'img',
1340
+ '[attr.viewBox]': 'viewBox()',
1341
+ '[attr.width]': 'width()',
1342
+ '[attr.height]': 'height()',
1343
+ },
1344
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 5v13.5M14 5v13.5M5 10h14M5 14h14"></svg:path><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect></svg:g>`,
1345
+ }]
1346
+ }] });
1347
+ export class CodexTextIcon {
1348
+ viewBox = input("0 0 24 24");
1349
+ width = input("1em");
1350
+ height = input("1em");
1351
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTextIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1352
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTextIcon, isStandalone: true, selector: "svg[codexTextIcon],svg[codex-text-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8 9V7.2c0-.11.09-.2.2-.2H12m4 2V7.2a.2.2 0 0 0-.2-.2H12m0 0v10m0 0h-2m2 0h2"></svg:path>`, isInline: true });
1353
+ }
1354
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTextIcon, decorators: [{
1355
+ type: Component,
1356
+ args: [{
1357
+ standalone: true,
1358
+ selector: 'svg[codexTextIcon],svg[codex-text-icon]',
1359
+ host: {
1360
+ role: 'img',
1361
+ '[attr.viewBox]': 'viewBox()',
1362
+ '[attr.width]': 'width()',
1363
+ '[attr.height]': 'height()',
1364
+ },
1365
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8 9V7.2c0-.11.09-.2.2-.2H12m4 2V7.2a.2.2 0 0 0-.2-.2H12m0 0v10m0 0h-2m2 0h2"></svg:path>`,
1366
+ }]
1367
+ }] });
1368
+ export class CodexTranslateIcon {
1369
+ viewBox = input("0 0 24 24");
1370
+ width = input("1em");
1371
+ height = input("1em");
1372
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTranslateIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1373
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTranslateIcon, isStandalone: true, selector: "svg[codexTranslateIcon],svg[codex-translate-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path d="M7 17c1-2.5 5-5 6-8"></svg:path><svg:path d="M8.5 11s1.5 3 4 4M6 7.7h10m-5 0v-2M14.5 18l.714-2m0 0l1.702-4.765a.355.355 0 0 1 .668 0L19.286 16m-4.072 0h4.072M20 18l-.714-2"></svg:path></svg:g>`, isInline: true });
1374
+ }
1375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTranslateIcon, decorators: [{
1376
+ type: Component,
1377
+ args: [{
1378
+ standalone: true,
1379
+ selector: 'svg[codexTranslateIcon],svg[codex-translate-icon]',
1380
+ host: {
1381
+ role: 'img',
1382
+ '[attr.viewBox]': 'viewBox()',
1383
+ '[attr.width]': 'width()',
1384
+ '[attr.height]': 'height()',
1385
+ },
1386
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path d="M7 17c1-2.5 5-5 6-8"></svg:path><svg:path d="M8.5 11s1.5 3 4 4M6 7.7h10m-5 0v-2M14.5 18l.714-2m0 0l1.702-4.765a.355.355 0 0 1 .668 0L19.286 16m-4.072 0h4.072M20 18l-.714-2"></svg:path></svg:g>`,
1387
+ }]
1388
+ }] });
1389
+ export class CodexTrashIcon {
1390
+ viewBox = input("0 0 24 24");
1391
+ width = input("1em");
1392
+ height = input("1em");
1393
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTrashIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1394
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTrashIcon, isStandalone: true, selector: "svg[codexTrashIcon],svg[codex-trash-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.133 7.723q.435.06.867.128m-.867-.128l-.906 9.68c-.037.434-.254.84-.607 1.136a2.02 2.02 0 0 1-1.297.461H8.677c-.48 0-.944-.164-1.297-.46a1.67 1.67 0 0 1-.607-1.138l-.906-9.679m12.266 0a45 45 0 0 0-2.951-.305m-9.315.305q-.435.06-.867.127m.867-.127a45 45 0 0 1 2.951-.305m6.364 0a45.5 45.5 0 0 0-6.364 0m6.364 0c0-2.114-1.455-3.07-3.182-3.07S8.818 5.44 8.818 7.418M10.5 15.5L10 11m4 0l-.5 4.5"></svg:path>`, isInline: true });
1395
+ }
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTrashIcon, decorators: [{
1397
+ type: Component,
1398
+ args: [{
1399
+ standalone: true,
1400
+ selector: 'svg[codexTrashIcon],svg[codex-trash-icon]',
1401
+ host: {
1402
+ role: 'img',
1403
+ '[attr.viewBox]': 'viewBox()',
1404
+ '[attr.width]': 'width()',
1405
+ '[attr.height]': 'height()',
1406
+ },
1407
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.133 7.723q.435.06.867.128m-.867-.128l-.906 9.68c-.037.434-.254.84-.607 1.136a2.02 2.02 0 0 1-1.297.461H8.677c-.48 0-.944-.164-1.297-.46a1.67 1.67 0 0 1-.607-1.138l-.906-9.679m12.266 0a45 45 0 0 0-2.951-.305m-9.315.305q-.435.06-.867.127m.867-.127a45 45 0 0 1 2.951-.305m6.364 0a45.5 45.5 0 0 0-6.364 0m6.364 0c0-2.114-1.455-3.07-3.182-3.07S8.818 5.44 8.818 7.418M10.5 15.5L10 11m4 0l-.5 4.5"></svg:path>`,
1408
+ }]
1409
+ }] });
1410
+ export class CodexTwitterIcon {
1411
+ viewBox = input("0 0 24 24");
1412
+ width = input("1em");
1413
+ height = input("1em");
1414
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTwitterIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1415
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexTwitterIcon, isStandalone: true, selector: "svg[codexTwitterIcon],svg[codex-twitter-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="2" d="M16.79 7.877C17.5 8 18.5 8 18.5 8s-1 1.5-1 2c1 8.5-6 10.5-12 6.5c1.5.171 2.546.016 3.752-.898C7.995 15.58 5.365 13.603 5 12.5c1.5.5 3-.5 3-.5c-1.479-.955-3.07-2.759-2.025-4.492a8.25 8.25 0 0 0 5.92 2.902c-.675-2.802 3.027-4.457 4.894-2.533Z"></svg:path>`, isInline: true });
1416
+ }
1417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexTwitterIcon, decorators: [{
1418
+ type: Component,
1419
+ args: [{
1420
+ standalone: true,
1421
+ selector: 'svg[codexTwitterIcon],svg[codex-twitter-icon]',
1422
+ host: {
1423
+ role: 'img',
1424
+ '[attr.viewBox]': 'viewBox()',
1425
+ '[attr.width]': 'width()',
1426
+ '[attr.height]': 'height()',
1427
+ },
1428
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="2" d="M16.79 7.877C17.5 8 18.5 8 18.5 8s-1 1.5-1 2c1 8.5-6 10.5-12 6.5c1.5.171 2.546.016 3.752-.898C7.995 15.58 5.365 13.603 5 12.5c1.5.5 3-.5 3-.5c-1.479-.955-3.07-2.759-2.025-4.492a8.25 8.25 0 0 0 5.92 2.902c-.675-2.802 3.027-4.457 4.894-2.533Z"></svg:path>`,
1429
+ }]
1430
+ }] });
1431
+ export class CodexUnderlineIcon {
1432
+ viewBox = input("0 0 24 24");
1433
+ width = input("1em");
1434
+ height = input("1em");
1435
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUnderlineIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1436
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexUnderlineIcon, isStandalone: true, selector: "svg[codexUnderlineIcon],svg[codex-underline-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7.5v4a3 3 0 0 0 6 0v-4M7.714 18h8.572"></svg:path>`, isInline: true });
1437
+ }
1438
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUnderlineIcon, decorators: [{
1439
+ type: Component,
1440
+ args: [{
1441
+ standalone: true,
1442
+ selector: 'svg[codexUnderlineIcon],svg[codex-underline-icon]',
1443
+ host: {
1444
+ role: 'img',
1445
+ '[attr.viewBox]': 'viewBox()',
1446
+ '[attr.width]': 'width()',
1447
+ '[attr.height]': 'height()',
1448
+ },
1449
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7.5v4a3 3 0 0 0 6 0v-4M7.714 18h8.572"></svg:path>`,
1450
+ }]
1451
+ }] });
1452
+ export class CodexUndoIcon {
1453
+ viewBox = input("0 0 24 24");
1454
+ width = input("1em");
1455
+ height = input("1em");
1456
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUndoIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1457
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexUndoIcon, isStandalone: true, selector: "svg[codexUndoIcon],svg[codex-undo-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.333 13.667L6 10.333L9.333 7M6 10.333h9.167a3.333 3.333 0 0 1 0 6.667h-.834"></svg:path>`, isInline: true });
1458
+ }
1459
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUndoIcon, decorators: [{
1460
+ type: Component,
1461
+ args: [{
1462
+ standalone: true,
1463
+ selector: 'svg[codexUndoIcon],svg[codex-undo-icon]',
1464
+ host: {
1465
+ role: 'img',
1466
+ '[attr.viewBox]': 'viewBox()',
1467
+ '[attr.width]': 'width()',
1468
+ '[attr.height]': 'height()',
1469
+ },
1470
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.333 13.667L6 10.333L9.333 7M6 10.333h9.167a3.333 3.333 0 0 1 0 6.667h-.834"></svg:path>`,
1471
+ }]
1472
+ }] });
1473
+ export class CodexUnlinkIcon {
1474
+ viewBox = input("0 0 24 24");
1475
+ width = input("1em");
1476
+ height = input("1em");
1477
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUnlinkIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1478
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexUnlinkIcon, isStandalone: true, selector: "svg[codexUnlinkIcon],svg[codex-unlink-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M15.78 11.5s.273-.304.77-.828c.894-.943.92-2.424.028-3.37v0a2.404 2.404 0 0 0-3.45-.051L11.88 8.5m-3.635 3.888s-.273.304-.77.828c-.894.944-.92 2.425-.028 3.37v0c.93.987 2.49 1.01 3.449.052l1.25-1.25m5.634-.285l-1.183-.16a1 1 0 0 0-1.134.954l-.043 1.185m-9.03-8.05l1.194.035a1 1 0 0 0 1.027-1.07l-.084-1.183m3.587 5.386l-.414-.414"></svg:path>`, isInline: true });
1479
+ }
1480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUnlinkIcon, decorators: [{
1481
+ type: Component,
1482
+ args: [{
1483
+ standalone: true,
1484
+ selector: 'svg[codexUnlinkIcon],svg[codex-unlink-icon]',
1485
+ host: {
1486
+ role: 'img',
1487
+ '[attr.viewBox]': 'viewBox()',
1488
+ '[attr.width]': 'width()',
1489
+ '[attr.height]': 'height()',
1490
+ },
1491
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M15.78 11.5s.273-.304.77-.828c.894-.943.92-2.424.028-3.37v0a2.404 2.404 0 0 0-3.45-.051L11.88 8.5m-3.635 3.888s-.273.304-.77.828c-.894.944-.92 2.425-.028 3.37v0c.93.987 2.49 1.01 3.449.052l1.25-1.25m5.634-.285l-1.183-.16a1 1 0 0 0-1.134.954l-.043 1.185m-9.03-8.05l1.194.035a1 1 0 0 0 1.027-1.07l-.084-1.183m3.587 5.386l-.414-.414"></svg:path>`,
1492
+ }]
1493
+ }] });
1494
+ export class CodexUserIcon {
1495
+ viewBox = input("0 0 24 24");
1496
+ width = input("1em");
1497
+ height = input("1em");
1498
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUserIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1499
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexUserIcon, isStandalone: true, selector: "svg[codexUserIcon],svg[codex-user-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M12 10c.714 0 1.239-.434 1.54-.885c.304-.457.46-1.03.46-1.615c0-.584-.156-1.158-.46-1.615C13.238 5.435 12.714 5 12 5s-1.239.434-1.54.885c-.304.457-.46 1.03-.46 1.615c0 .584.156 1.158.46 1.615c.301.45.825.885 1.54.885Z"></svg:path><svg:ellipse cx="12" cy="16" rx="3" ry="5" transform="rotate(-90 12 16)"></svg:ellipse></svg:g>`, isInline: true });
1500
+ }
1501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUserIcon, decorators: [{
1502
+ type: Component,
1503
+ args: [{
1504
+ standalone: true,
1505
+ selector: 'svg[codexUserIcon],svg[codex-user-icon]',
1506
+ host: {
1507
+ role: 'img',
1508
+ '[attr.viewBox]': 'viewBox()',
1509
+ '[attr.width]': 'width()',
1510
+ '[attr.height]': 'height()',
1511
+ },
1512
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M12 10c.714 0 1.239-.434 1.54-.885c.304-.457.46-1.03.46-1.615c0-.584-.156-1.158-.46-1.615C13.238 5.435 12.714 5 12 5s-1.239.434-1.54.885c-.304.457-.46 1.03-.46 1.615c0 .584.156 1.158.46 1.615c.301.45.825.885 1.54.885Z"></svg:path><svg:ellipse cx="12" cy="16" rx="3" ry="5" transform="rotate(-90 12 16)"></svg:ellipse></svg:g>`,
1513
+ }]
1514
+ }] });
1515
+ export class CodexUsersGroupIcon {
1516
+ viewBox = input("0 0 24 24");
1517
+ width = input("1em");
1518
+ height = input("1em");
1519
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUsersGroupIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1520
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexUsersGroupIcon, isStandalone: true, selector: "svg[codexUsersGroupIcon],svg[codex-users-group-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 10c.714 0 1.239-.434 1.54-.885c.304-.457.46-1.03.46-1.615c0-.584-.156-1.158-.46-1.615C11.238 5.435 10.714 5 10 5s-1.239.434-1.54.885C8.157 6.342 8 6.915 8 7.5c0 .584.156 1.158.46 1.615c.301.45.825.885 1.54.885Z"></svg:path><svg:ellipse cx="10" cy="16" rx="3" ry="5" transform="rotate(-90 10 16)"></svg:ellipse><svg:path stroke-linecap="round" d="M15.556 10.222a1.778 1.778 0 1 0 0-3.555M17.5 13c3.5 1.5 3 5 .5 5.5"></svg:path></svg:g>`, isInline: true });
1521
+ }
1522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexUsersGroupIcon, decorators: [{
1523
+ type: Component,
1524
+ args: [{
1525
+ standalone: true,
1526
+ selector: 'svg[codexUsersGroupIcon],svg[codex-users-group-icon]',
1527
+ host: {
1528
+ role: 'img',
1529
+ '[attr.viewBox]': 'viewBox()',
1530
+ '[attr.width]': 'width()',
1531
+ '[attr.height]': 'height()',
1532
+ },
1533
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:path d="M10 10c.714 0 1.239-.434 1.54-.885c.304-.457.46-1.03.46-1.615c0-.584-.156-1.158-.46-1.615C11.238 5.435 10.714 5 10 5s-1.239.434-1.54.885C8.157 6.342 8 6.915 8 7.5c0 .584.156 1.158.46 1.615c.301.45.825.885 1.54.885Z"></svg:path><svg:ellipse cx="10" cy="16" rx="3" ry="5" transform="rotate(-90 10 16)"></svg:ellipse><svg:path stroke-linecap="round" d="M15.556 10.222a1.778 1.778 0 1 0 0-3.555M17.5 13c3.5 1.5 3 5 .5 5.5"></svg:path></svg:g>`,
1534
+ }]
1535
+ }] });
1536
+ export class CodexWarningIcon {
1537
+ viewBox = input("0 0 24 24");
1538
+ width = input("1em");
1539
+ height = input("1em");
1540
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexWarningIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1541
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexWarningIcon, isStandalone: true, selector: "svg[codexWarningIcon],svg[codex-warning-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M12 9v3m0 3.02v-.01"></svg:path></svg:g>`, isInline: true });
1542
+ }
1543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexWarningIcon, decorators: [{
1544
+ type: Component,
1545
+ args: [{
1546
+ standalone: true,
1547
+ selector: 'svg[codexWarningIcon],svg[codex-warning-icon]',
1548
+ host: {
1549
+ role: 'img',
1550
+ '[attr.viewBox]': 'viewBox()',
1551
+ '[attr.width]': 'width()',
1552
+ '[attr.height]': 'height()',
1553
+ },
1554
+ template: `<svg:g fill="none" stroke="currentColor" stroke-width="2"><svg:rect width="14" height="14" x="5" y="5" rx="4"></svg:rect><svg:path stroke-linecap="round" d="M12 9v3m0 3.02v-.01"></svg:path></svg:g>`,
1555
+ }]
1556
+ }] });
1557
+ export class CodexCopyIcon {
1558
+ viewBox = input("0 0 24 24");
1559
+ width = input("1em");
1560
+ height = input("1em");
1561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCopyIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1562
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexCopyIcon, isStandalone: true, selector: "svg[codexCopyIcon],svg[codex-copy-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M17.25 8.5h-7a1.75 1.75 0 0 0-1.75 1.75v7c0 .966.784 1.75 1.75 1.75h7A1.75 1.75 0 0 0 19 17.25v-7a1.75 1.75 0 0 0-1.75-1.75"></svg:path><svg:path d="M15.5 8.5V6.75A1.75 1.75 0 0 0 13.75 5h-7A1.75 1.75 0 0 0 5 6.75v7a1.75 1.75 0 0 0 1.75 1.75H8.5M12 12h3.5M12 15.5h3.5"></svg:path></svg:g>`, isInline: true });
1563
+ }
1564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexCopyIcon, decorators: [{
1565
+ type: Component,
1566
+ args: [{
1567
+ standalone: true,
1568
+ selector: 'svg[codexCopyIcon],svg[codex-copy-icon]',
1569
+ host: {
1570
+ role: 'img',
1571
+ '[attr.viewBox]': 'viewBox()',
1572
+ '[attr.width]': 'width()',
1573
+ '[attr.height]': 'height()',
1574
+ },
1575
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><svg:path d="M17.25 8.5h-7a1.75 1.75 0 0 0-1.75 1.75v7c0 .966.784 1.75 1.75 1.75h7A1.75 1.75 0 0 0 19 17.25v-7a1.75 1.75 0 0 0-1.75-1.75"></svg:path><svg:path d="M15.5 8.5V6.75A1.75 1.75 0 0 0 13.75 5h-7A1.75 1.75 0 0 0 5 6.75v7a1.75 1.75 0 0 0 1.75 1.75H8.5M12 12h3.5M12 15.5h3.5"></svg:path></svg:g>`,
1576
+ }]
1577
+ }] });
1578
+ export class CodexAddBackgroundIcon {
1579
+ viewBox = input("0 0 24 24");
1580
+ width = input("1em");
1581
+ height = input("1em");
1582
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAddBackgroundIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1583
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexAddBackgroundIcon, isStandalone: true, selector: "svg[codexAddBackgroundIcon],svg[codex-add-background-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path stroke-linejoin="round" d="M11 19c-1.864 0-2.796 0-3.53-.305a4 4 0 0 1-2.166-2.164C5 15.796 5 14.864 5 13v-1c0-2.809 0-4.213.674-5.222a4 4 0 0 1 1.104-1.104C7.787 5 9.19 5 12 5h1.5c1.396 0 2.093 0 2.661.172a4 4 0 0 1 2.667 2.667C19 8.407 19 9.104 19 10.5v0"></svg:path><svg:path d="M16 13v3m0 3v-3m3 0h-3m0 0h-3"></svg:path><svg:path stroke-linejoin="round" d="m6.5 17.5l11-11m1.492 4h.01m-8.01 8.5h.01M5 13l8-8"></svg:path></svg:g>`, isInline: true });
1584
+ }
1585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexAddBackgroundIcon, decorators: [{
1586
+ type: Component,
1587
+ args: [{
1588
+ standalone: true,
1589
+ selector: 'svg[codexAddBackgroundIcon],svg[codex-add-background-icon]',
1590
+ host: {
1591
+ role: 'img',
1592
+ '[attr.viewBox]': 'viewBox()',
1593
+ '[attr.width]': 'width()',
1594
+ '[attr.height]': 'height()',
1595
+ },
1596
+ template: `<svg:g fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2"><svg:path stroke-linejoin="round" d="M11 19c-1.864 0-2.796 0-3.53-.305a4 4 0 0 1-2.166-2.164C5 15.796 5 14.864 5 13v-1c0-2.809 0-4.213.674-5.222a4 4 0 0 1 1.104-1.104C7.787 5 9.19 5 12 5h1.5c1.396 0 2.093 0 2.661.172a4 4 0 0 1 2.667 2.667C19 8.407 19 9.104 19 10.5v0"></svg:path><svg:path d="M16 13v3m0 3v-3m3 0h-3m0 0h-3"></svg:path><svg:path stroke-linejoin="round" d="m6.5 17.5l11-11m1.492 4h.01m-8.01 8.5h.01M5 13l8-8"></svg:path></svg:g>`,
1597
+ }]
1598
+ }] });
1599
+ export class CodexColorIcon {
1600
+ viewBox = input("0 0 24 24");
1601
+ width = input("1em");
1602
+ height = input("1em");
1603
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexColorIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1604
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexColorIcon, isStandalone: true, selector: "svg[codexColorIcon],svg[codex-color-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M5.243 11.408a3 3 0 0 1 .878-2.165l3.536-3.536a1 1 0 0 1 1.414 0l4.95 4.95a1 1 0 0 1 .292.75m-11.07 0a3 3 0 0 0 .878 2.078L8 15.364m-2.757-3.956h6.714m4.356 0a1 1 0 0 1-.292.663l-3.536 3.536a3 3 0 0 1-4.242 0L8 15.364m8.313-3.956h-4.356M8 15.364l3.957-3.956M20 17.462c0 .85-.672 1.538-1.5 1.538s-1.5-.689-1.5-1.538s.9-1.847 1.5-2.462c.6.615 1.5 1.612 1.5 2.462Z"></svg:path>`, isInline: true });
1605
+ }
1606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexColorIcon, decorators: [{
1607
+ type: Component,
1608
+ args: [{
1609
+ standalone: true,
1610
+ selector: 'svg[codexColorIcon],svg[codex-color-icon]',
1611
+ host: {
1612
+ role: 'img',
1613
+ '[attr.viewBox]': 'viewBox()',
1614
+ '[attr.width]': 'width()',
1615
+ '[attr.height]': 'height()',
1616
+ },
1617
+ template: `<svg:path fill="none" stroke="currentColor" stroke-width="2" d="M5.243 11.408a3 3 0 0 1 .878-2.165l3.536-3.536a1 1 0 0 1 1.414 0l4.95 4.95a1 1 0 0 1 .292.75m-11.07 0a3 3 0 0 0 .878 2.078L8 15.364m-2.757-3.956h6.714m4.356 0a1 1 0 0 1-.292.663l-3.536 3.536a3 3 0 0 1-4.242 0L8 15.364m8.313-3.956h-4.356M8 15.364l3.957-3.956M20 17.462c0 .85-.672 1.538-1.5 1.538s-1.5-.689-1.5-1.538s.9-1.847 1.5-2.462c.6.615 1.5 1.612 1.5 2.462Z"></svg:path>`,
1618
+ }]
1619
+ }] });
1620
+ export class CodexChevronRightIcon {
1621
+ viewBox = input("0 0 24 24");
1622
+ width = input("1em");
1623
+ height = input("1em");
1624
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronRightIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
1625
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: CodexChevronRightIcon, isStandalone: true, selector: "svg[codexChevronRightIcon],svg[codex-chevron-right-icon]", inputs: { viewBox: { classPropertyName: "viewBox", publicName: "viewBox", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "img" }, properties: { "attr.viewBox": "viewBox()", "attr.width": "width()", "attr.height": "height()" } }, ngImport: i0, template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m9.583 17.5l4.858-4.859a.2.2 0 0 0 0-.282L9.583 7.5"></svg:path>`, isInline: true });
1626
+ }
1627
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: CodexChevronRightIcon, decorators: [{
1628
+ type: Component,
1629
+ args: [{
1630
+ standalone: true,
1631
+ selector: 'svg[codexChevronRightIcon],svg[codex-chevron-right-icon]',
1632
+ host: {
1633
+ role: 'img',
1634
+ '[attr.viewBox]': 'viewBox()',
1635
+ '[attr.width]': 'width()',
1636
+ '[attr.height]': 'height()',
1637
+ },
1638
+ template: `<svg:path fill="none" stroke="currentColor" stroke-linecap="round" stroke-width="2" d="m9.583 17.5l4.858-4.859a.2.2 0 0 0 0-.282L9.583 7.5"></svg:path>`,
1639
+ }]
1640
+ }] });
1641
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmstMC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jaHVua3MvY2h1bmstMC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQTs7QUFhaEQsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixPQUFPLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzVCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDcEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTt3R0FIbkIscUJBQXFCOzRGQUFyQixxQkFBcUIsMm5CQUZ0Qiw0SEFBNEg7OzRGQUUzSCxxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsS0FBSzt3QkFDWCxnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3QixjQUFjLEVBQUUsU0FBUzt3QkFDekIsZUFBZSxFQUFFLFVBQVU7cUJBQzVCO29CQUNELFFBQVEsRUFBRSw0SEFBNEg7aUJBQ3ZJOztBQWtCRCxNQUFNLE9BQU8sYUFBYTtJQUNmLE9BQU8sR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDNUIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNwQixNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO3dHQUhuQixhQUFhOzRGQUFiLGFBQWEsMG1CQUZkLG1QQUFtUDs7NEZBRWxQLGFBQWE7a0JBWHpCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5Q0FBeUM7b0JBQ25ELElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsS0FBSzt3QkFDWCxnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3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S0FBSyxDQUFDLENBQUE7SUFDcEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTt3R0FIbkIscUJBQXFCOzRGQUFyQixxQkFBcUIsMm5CQUZ0Qix5SkFBeUo7OzRGQUV4SixxQkFBcUI7a0JBWGpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwwREFBMEQ7b0JBQ3BFLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsS0FBSzt3QkFDWCxnQkFBZ0IsRUFBRSxXQUFXO3dCQUM3QixjQUFjLEVBQUUsU0FBUzt3QkFDekIsZUFBZSxFQUFFLFVBQVU7cUJBQzVCO29CQUNELFFBQVEsRUFBRSx5SkFBeUo7aUJBQ3BLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEFsaWduSnVzdGlmeUljb25dLHN2Z1tjb2RleC1hbGlnbi1qdXN0aWZ5LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xOCA3SDZtMTIgMTBINm0xMi01SDZcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4QWxpZ25KdXN0aWZ5SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEJvbGRJY29uXSxzdmdbY29kZXgtYm9sZC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNOSAxMlY3LjFhLjEuMSAwIDAgMSAuMS0uMWgxLjNjMS4xIDAgMy42LjEgMy42IDIuNWMwIDAgMCAyLjUtMyAyLjVtLTIgMHY0LjhjMCAuMTEuMDkuMi4yLjJoMy4zYzEuNSAwIDIuNS0xIDIuNS0yLjVjMC0yLjc5NS00LTIuNS00LTIuNW0tMiAwaDJcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4Qm9sZEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhBbGlnblJpZ2h0SWNvbl0sc3ZnW2NvZGV4LWFsaWduLXJpZ2h0LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xOSA3SDdtMTIgMTBIN20xMi01aC04XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleEFsaWduUmlnaHRJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4QnJhY2tldHNJY29uXSxzdmdbY29kZXgtYnJhY2tldHMtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJtOSA4bC00IDRsNCA0bTYtOGw0IDRsLTQgNFwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhCcmFja2V0c0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhCcmFja2V0c1ZlcnRpY2FsSWNvbl0sc3ZnW2NvZGV4LWJyYWNrZXRzLXZlcnRpY2FsLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjEuNlwiIGQ9XCJNMTMuMzMzIDcuNUwxMCA0LjE2N0w2LjY2NyA3LjVtNi42NjYgNUwxMCAxNS44MzNMNi42NjcgMTIuNVwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhCcmFja2V0c1ZlcnRpY2FsSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyMCAyMFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleENoZWNrSWNvbl0sc3ZnW2NvZGV4LWNoZWNrLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm03IDEybDMuNDg4IDMuODM3YS4yLjIgMCAwIDAgLjI5NiAwTDE3IDlcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4Q2hlY2tJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4QWxpZ25DZW50ZXJJY29uXSxzdmdbY29kZXgtYWxpZ24tY2VudGVyLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xOCA3SDZtMTIgMTBINm0xMC01SDhcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4QWxpZ25DZW50ZXJJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4Q2hldnJvbkxlZnRJY29uXSxzdmdbY29kZXgtY2hldnJvbi1sZWZ0LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm0xNC41IDE3LjVsLTQuODU5LTQuODU5YS4yLjIgMCAwIDEgMC0uMjgyTDE0LjUgNy41XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleENoZXZyb25MZWZ0SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEFsaWduTGVmdEljb25dLHN2Z1tjb2RleC1hbGlnbi1sZWZ0LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xNyA3SDVtMTIgMTBINW04LTVINVwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhBbGlnbkxlZnRJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4Q2hldnJvbkRvd25JY29uXSxzdmdbY29kZXgtY2hldnJvbi1kb3duLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm03IDEwbDQuODU5IDQuODU5YS4yLjIgMCAwIDAgLjI4MiAwTDE3IDEwXCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleENoZXZyb25Eb3duSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEFkZEJvcmRlckljb25dLHN2Z1tjb2RleC1hZGQtYm9yZGVyLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk0xOC45OTIgOS41aC4wMU0xNC41IDVoLjAxXCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTQuNjI1IDVIMTVhNCA0IDAgMCAxIDQgNHYuMzc1XCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggZD1cIk05LjM3NSA1SDlhNCA0IDAgMCAwLTQgNHYuMzc1XCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIk05LjM3MyA1aC4wMU01IDkuNWguMDFcIj48L3N2ZzpwYXRoPjxzdmc6cGF0aCBkPVwiTTkuMzc1IDE5SDlhNCA0IDAgMCAxLTQtNHYtLjM3NVwiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIGQ9XCJNOS4zNzMgMTloLjAxTTUgMTQuNTVoLjAxXCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTYgMTN2M20wIDN2LTNtMyAwaC0zbTAgMGgtM1wiPjwvc3ZnOnBhdGg+PC9zdmc6Zz5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleEFkZEJvcmRlckljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDaGVja2xpc3RJY29uXSxzdmdbY29kZXgtY2hlY2tsaXN0LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJtOS4yIDEybDEuODU5IDEuODU5YS4yLjIgMCAwIDAgLjI4MiAwTDE0LjcgMTAuNVwiPjwvc3ZnOnBhdGg+PHN2ZzpyZWN0IHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHg9XCI1XCIgeT1cIjVcIiByeD1cIjRcIj48L3N2ZzpyZWN0Pjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhDaGVja2xpc3RJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4Q2hldnJvblVwSWNvbl0sc3ZnW2NvZGV4LWNoZXZyb24tdXAtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwibTcgMTVsNC44NTktNC44NTlhLjIuMiAwIDAgMSAuMjgyIDBMMTcgMTVcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4Q2hldnJvblVwSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleENsaXBib2FyZEljb25dLHN2Z1tjb2RleC1jbGlwYm9hcmQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTkuNDI5IDdINy43MTRjLS40NTQgMC0uODkuMTU4LTEuMjEyLjQ0QTEuNDEgMS40MSAwIDAgMCA2IDguNXY5YzAgLjM5OC4xOC43OC41MDIgMS4wNmMuMzIyLjI4Mi43NTguNDQgMS4yMTIuNDRoOC41NzJjLjQ1NCAwIC44OS0uMTU4IDEuMjEyLS40NEExLjQxIDEuNDEgMCAwIDAgMTggMTcuNXYtOWMwLS4zOTgtLjE4LS43OC0uNTAyLTEuMDZBMS44NSAxLjg1IDAgMCAwIDE2LjI4NiA3SDE0LjU3XCI+PC9zdmc6cGF0aD48c3ZnOnJlY3Qgd2lkdGg9XCI1LjE1OFwiIGhlaWdodD1cIjMuMzY4XCIgeD1cIjkuNDIxXCIgeT1cIjVcIiByeD1cIjEuNVwiPjwvc3ZnOnJlY3Q+PC9zdmc6Zz5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleENsaXBib2FyZEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDb2xsYXBzZUljb25dLHN2Z1tjb2RleC1jb2xsYXBzZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm03IDlsMyAzbTAgMGwtMyAzbTMtM0g0bTEzLTNsLTMgM20wIDBsMyAzbS0zLTNoNlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhDb2xsYXBzZUljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDcm9zc0ljb25dLHN2Z1tjb2RleC1jcm9zcy1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJtOCA4bDQgNG0wIDBsNCA0bS00LTRsNC00bS00IDRsLTQgNFwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhDcm9zc0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDdXJseUJyYWNrZXRzSWNvbl0sc3ZnW2NvZGV4LWN1cmx5LWJyYWNrZXRzLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTkgMTdjLTIgMC0yLTEuNzQ2LTItMy41TDUuNSAxMkw3IDEwLjVDNyA4Ljc0NiA3IDcgOSA3bTYgMTBjMiAwIDItMS43NDYgMi0zLjVsMS41LTEuNWwtMS41LTEuNUMxNyA4Ljc0NiAxNyA3IDE1IDdcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4Q3VybHlCcmFja2V0c0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhEZWxpbWl0ZXJJY29uXSxzdmdbY29kZXgtZGVsaW1pdGVyLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk02IDEyaDRtNCAwaDRcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4RGVsaW1pdGVySWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleERpcmVjdGlvbkRvd25SaWdodEljb25dLHN2Z1tjb2RleC1kaXJlY3Rpb24tZG93bi1yaWdodC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm0xNC44ODMgOS4xNjdsMy4zMzQgMy4zMzNtMCAwbC0zLjMzNCAzLjMzM20zLjMzNC0zLjMzM0gxMC4wNWEzLjMzMyAzLjMzMyAwIDAgMS0zLjMzMy0zLjMzM1wiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhEaXJlY3Rpb25Eb3duUmlnaHRJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4RGlyZWN0aW9uTGVmdERvd25JY29uXSxzdmdbY29kZXgtZGlyZWN0aW9uLWxlZnQtZG93bi1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm0xNC45MTcgMTQuOTE3bC0zLjMzNCAzLjMzM20wIDBMOC4yNSAxNC45MTdtMy4zMzMgMy4zMzN2LTguMTY3YTMuMzMzIDMuMzMzIDAgMCAxIDMuMzM0LTMuMzMzXCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleERpcmVjdGlvbkxlZnREb3duSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleERpcmVjdGlvblJpZ2h0RG93bkljb25dLHN2Z1tjb2RleC1kaXJlY3Rpb24tcmlnaHQtZG93bi1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIm05LjEzMyAxNC45MTdsMy4zMzQgMy4zMzNtMCAwbDMuMzMzLTMuMzMzbS0zLjMzMyAzLjMzM3YtOC4xNjdBMy4zMzMgMy4zMzMgMCAwIDAgOS4xMzMgNi43NVwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhEaXJlY3Rpb25SaWdodERvd25JY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4RGlyZWN0aW9uVXBSaWdodEljb25dLHN2Z1tjb2RleC1kaXJlY3Rpb24tdXAtcmlnaHQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJtMTQuODgzIDE1LjgzM2wzLjMzNC0zLjMzM20wIDBsLTMuMzM0LTMuMzMzbTMuMzM0IDMuMzMzSDEwLjA1YTMuMzMzIDMuMzMzIDAgMCAwLTMuMzMzIDMuMzMzXCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleERpcmVjdGlvblVwUmlnaHRJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4RG90Q2lyY2xlSWNvbl0sc3ZnW2NvZGV4LWRvdC1jaXJjbGUtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpjaXJjbGUgY3g9XCIxMlwiIGN5PVwiMTJcIiByPVwiNFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjwvc3ZnOmNpcmNsZT5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleERvdENpcmNsZUljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhFdGNIb3Jpc29udGFsSWNvbl0sc3ZnW2NvZGV4LWV0Yy1ob3Jpc29udGFsLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjZcIiBkPVwiTTcuMzA1IDExLjk5NXYuMDFtNC43LS4wMXYuMDFtNC43LS4wMXYuMDFcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4RXRjSG9yaXNvbnRhbEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhFdGNWZXJ0aWNhbEljb25dLHN2Z1tjb2RleC1ldGMtdmVydGljYWwtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuNlwiIGQ9XCJNMTIuMDEgNy4zSDEybS4wMSA0LjdIMTJtLjAxIDQuN0gxMlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhFdGNWZXJ0aWNhbEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhGaWxlSWNvbl0sc3ZnW2NvZGV4LWZpbGUtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNMTMuMzI0IDguNDM2TDkuNDk1IDEyLjE5Yy0uMzY0LjM2LS41NjQuODUyLS41NTYgMS4zNjlhMiAyIDAgMCAwIC42IDEuMzg3Yy4zNzUuMzcxLjg4LjU4NCAxLjQwMy41OTNhMS45MiAxLjkyIDAgMCAwIDEuMzg2LS41NWwzLjgyOC0zLjc1NGEzLjc1IDMuNzUgMCAwIDAgMS4xMTItMi43MzhhNCA0IDAgMCAwLTEuMTk4LTIuNzc1YTQuMSA0LjEgMCAwIDAtMi44MDgtMS4xODVhMy44NSAzLjg1IDAgMCAwLTIuNzcgMS4wOThMNi42NjEgOS4zOWE1LjYzIDUuNjMgMCAwIDAtMS42NjcgNC4xMDdhNiA2IDAgMCAwIDEuNzk4IDQuMTYxYTYuMTUgNi4xNSAwIDAgMCA0LjIxIDEuNzc4YTUuNzcgNS43NyAwIDAgMCA0LjE1Ny0xLjY0NmwzLjgyOS0zLjc1NlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhGaWxlSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEdpZnRJY29uXSxzdmdbY29kZXgtZ2lmdC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCI2XCIgeD1cIjZcIiB5PVwiMTNcIiByeD1cIjJcIj48L3N2ZzpyZWN0Pjxzdmc6cGF0aCBkPVwiTTEyIDl2MTBtLTctOGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDEgMSAwIDRIN2EyIDIgMCAwIDEtMi0yWm0xMS0yYzAtMS4xMDUgMC0zLTItM3MtMiAxLjg5NS0yIDNjMC0xLjEwNSAwLTMtMi0zUzggNy44OTUgOCA5XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4R2lmdEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhHbG9iZUljb25dLHN2Z1tjb2RleC1nbG9iZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xOCAxMmE2IDYgMCAwIDEtMTIgMG0xMiAwYTYgNiAwIDAgMC0xMiAwbTEyIDBINm01LjctNnMtMiAxLjYzOC0yIDZjMCA0LjkgMiA2IDIgNm0uNi0xMnMyIDEuNjM4IDIgNmMwIDQuOS0yIDYtMiA2XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleEdsb2JlSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEgxSWNvbl0sc3ZnW2NvZGV4LWgxLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk02IDd2NW0wIDV2LTVtMCAwaDZtMC01djVtMCA1di01bTcgNXYtNi43ODZhLjEuMSAwIDAgMC0uMTY0LS4wNzdMMTYgMTIuNVwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhIMUljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhIMkljb25dLHN2Z1tjb2RleC1oMi1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNNiA3djVtMCA1di01bTAgMGg2bTAtNXY1bTAgNXYtNW00LTFjMC0xIDMtMS41IDMgMWMwIDEuOTc3LTIuOTMyIDItMi45OTkgNC44OThBLjEuMSAwIDAgMCAxNi4xIDE3aDMuMlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhIMkljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhIM0ljb25dLHN2Z1tjb2RleC1oMy1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNNiA3djVtMCA1di01bTAgMGg2bTAtNXY1bTAgNXYtNW00LTFjMC0uNS44MzItMSAxLjYtMXMxLjkuMzExIDEuOSAxLjVhMS41MzUgMS41MzUgMCAwIDEtLjk1MiAxLjQ4MmMtLjAxLjAwNC0uMDA4LjAyMy4wMDIuMDI0Yy4yNjEuMDQgMS40NS4zIDEuNDUgMS43OTRjMCAxLjItLjUgMi4yLTIuMiAyLjJjMCAwLTEuOCAwLTEuOC0uN1wiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhIM0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhINEljb25dLHN2Z1tjb2RleC1oNC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNNiA3djVtMCA1di01bTAgMGg2bTAtNXY1bTAgNXYtNW02LTJsLTIuNzE3IDQuODUxYS4xLjEgMCAwIDAgLjA4Ny4xNDloNC44M00xOSAxN3YtMy40XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleEg0SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEg1SWNvbl0sc3ZnW2NvZGV4LWg1LWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk02IDd2NW0wIDV2LTVtMCAwaDZtMC01djVtMCA1di01bTQgMy45cy4zNzcgMS4xIDEuOCAxLjFjMS43IDAgMi4yLTEuMzggMi4yLTIuM2MwLTEuOTY4LTIuMzI2LTIuNjUxLTMuODM3LTEuNzFjLS4wNjkuMDQzLS4xNjMtLjAwNS0uMTYzLS4wODdWMTAuMWEuMS4xIDAgMCAxIC4xLS4xaDMuN1wiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhINUljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhINkljb25dLHN2Z1tjb2RleC1oNi1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNNiA3djVtMCA1di01bTAgMGg2bTAtNXY1bTAgNXYtNW03LjUtMmMtMyAuNS0zLjUgMy4zMjktMy41IDVtMCAwdjBhMiAyIDAgMCAwIDIgMmguMzI1YzEgMCAxLjk5NC0uNjUgMS45MjctMS42NUMyMC4wNjIgMTIuNDk3IDE2IDEyLjY2MiAxNiAxNVpcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4SDZJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4SGVhZGluZ0ljb25dLHN2Z1tjb2RleC1oZWFkaW5nLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk05IDd2NW0wIDV2LTVtMCAwaDZtMC01djVtMCA1di01XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleEhlYWRpbmdJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4SGVhcnRJY29uXSxzdmdbY29kZXgtaGVhcnQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNNi42IDcuNWMtMS4zMjUgMS4zMjUtMS40IDMuMSAwIDQuOHM1LjYgNS42IDUuNiA1LjZzNC4zLTMuOSA1LjYtNS42czEuMzI1LTMuNDc1IDAtNC44YTMuMzk0IDMuMzk0IDAgMCAwLTQuOCAwbC0uOC44bC0uOC0uOGEzLjM5NCAzLjM5NCAwIDAgMC00LjggMFpcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4SGVhcnRJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4SGlkZGVuSWNvbl0sc3ZnW2NvZGV4LWhpZGRlbi1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpwYXRoIGQ9XCJNNi43NzggNkwxOC41IDE3LjcyMk0xMC42ODcgMTBBMi4zNDIgMi4zNDIgMCAxIDAgMTQgMTMuMzE0XCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggZD1cIk0xMyA3YzQgNC4xNjcgNyA0LjE3IDcgNC42N3MtMSAxLjUtMSAxLjVNOC4yNDIgOC44MXEtLjk3My42MjgtMS44NCAxLjYxNWMtLjY5OC43OTQtMS4wNDcgMS4xOTEtMS4wNDcgMS45NDVzLjM1IDEuMTUxIDEuMDQ3IDEuOTQ1UTguNzkzIDE3LjAzNyAxMiAxNy4wMzdxMS42NjUgMCAzLjExMS0uNzM1XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4SGlkZGVuSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEh0bWxJY29uXSxzdmdbY29kZXgtaHRtbC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpwYXRoIGQ9XCJNMTYuNjk1IDVhMiAyIDAgMCAxIDEuOTggMi4yODJsLTEuMjQ5IDguNzg0YTIgMiAwIDAgMS0xLjM2NSAxLjYyMWwtMy40NDYgMS4xMTRhMiAyIDAgMCAxLTEuMjMgMGwtMy40NDYtMS4xMTRhMiAyIDAgMCAxLTEuMzY1LTEuNjIxbC0xLjI1LTguNzg0QTIgMiAwIDAgMSA3LjMwNSA1elwiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIGQ9XCJNMTUgOC40SDlsLjQyOSAzLjM5NGg1LjE0MmwtLjIxNCAxLjQ4NWwtLjIxNCAxLjQ4NUwxMiAxNS40bC0yLjE0My0uNjM2bC0uMDg2LS40MjVcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhIdG1sSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEluc3RhZ3JhbUljb25dLHN2Z1tjb2RleC1pbnN0YWdyYW0taWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cmVjdCB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB4PVwiNVwiIHk9XCI1XCIgcng9XCI0XCI+PC9zdmc6cmVjdD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTUuOSA4LjF2LjAxXCI+PC9zdmc6cGF0aD48c3ZnOmNpcmNsZSBjeD1cIjEyXCIgY3k9XCIxMlwiIHI9XCIzXCI+PC9zdmc6Y2lyY2xlPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhJbnN0YWdyYW1JY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4SXRhbGljSWNvbl0sc3ZnW2NvZGV4LWl0YWxpYy1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNMTMuMzQgMTBjLS45MTggMi43MzQtMi4zNCA3LTIuMzQgN20zLjIxLTEwaC0uMDFcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4SXRhbGljSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleExpbmtJY29uXSxzdmdbY29kZXgtbGluay1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cGF0aCBkPVwibTcuNyAxMi42bC0uMDIxLjAyYTIuNzk1IDIuNzk1IDAgMCAwLS4wNDQgNC4wMDV2MGEyLjc5NSAyLjc5NSAwIDAgMCAzLjkzNi4wMDZsMS40NTUtMS40MzhhMyAzIDAgMCAwIC4zNC0zLjg2NmwtLjE0Ni0uMjA3XCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggZD1cIm0xNi4yMiAxMS4xMmwuMTM2LS4xNGMuOTMzLS45NTMuOTkyLTIuNDYuMTM1LTMuNDgzdjBhMi41OTcgMi41OTcgMCAwIDAtMy42NjQtLjMyTDExLjM5IDguMzg2YTMgMyAwIDAgMC0uMzAxIDQuM2wuMDMxLjAzNFwiPjwvc3ZnOnBhdGg+PC9zdmc6Zz5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleExpbmtJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4TGlua2VkaW5JY29uXSxzdmdbY29kZXgtbGlua2VkaW4taWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cmVjdCB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB4PVwiNVwiIHk9XCI1XCIgcng9XCI0XCI+PC9zdmc6cmVjdD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNOSAxMS40djRtMC02Ljd2LjAxbTMgMi42OXYuNm0wIDMuNFYxMm0wIDBjMi0uNSAzLS42MzkgMyAuNXYyLjlcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhMaW5rZWRpbkljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhMaXN0QnVsbGV0ZWRJY29uXSxzdmdbY29kZXgtbGlzdC1idWxsZXRlZC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNOSA3aDEwTTkgMTJoMTBNOSAxN2gxME01IDE3aC0uMDFNNSAxMmgtLjAxTTUgN2gtLjAxXCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleExpc3RCdWxsZXRlZEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhMaXN0TnVtYmVyZWRJY29uXSxzdmdbY29kZXgtbGlzdC1udW1iZXJlZC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNMTIgN2g3bS03IDVoN20tNyA1aDdNNy44IDE0VjcuMjE0YS4xLjEgMCAwIDAtLjE2NC0uMDc3TDQuOCA5LjVcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4TGlzdE51bWJlcmVkSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleExvYWRlckljb25dLHN2Z1tjb2RleC1sb2FkZXItaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTEyIDYuOTk5OThDOS4xNzQ3IDYuOTk5ODcgNi45OTk5NyA5LjI0OTk4IDcgMTJDNy4wMDAwMyAxNC41NSA5LjAyMTE5IDE3IDEyIDE3QzE0Ljc3MTIgMTcgMTcgMTQuNzUgMTcgMTJcIj48c3ZnOmFuaW1hdGV0cmFuc2Zvcm0gYXR0cmlidXRlTmFtZT1cInRyYW5zZm9ybVwiIGF0dHJpYnV0ZVR5cGU9XCJYTUxcIiBkdXI9XCI1NjBtc1wiIGZyb209XCIwLDEyLDEyXCIgcmVwZWF0Q291bnQ9XCJpbmRlZmluaXRlXCIgdG89XCIzNjAsMTIsMTJcIiB0eXBlPVwicm90YXRlXCI+PC9zdmc6YW5pbWF0ZXRyYW5zZm9ybT48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4TG9hZGVySWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleE1hcmtlckljb25dLHN2Z1tjb2RleC1tYXJrZXItaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cGF0aCBkPVwibTExLjM1NCA5LjMxOGwxLjQxNC0xLjQxNGEyIDIgMCAxIDEgMi44MjggMi44MjhsLTEuNDE0IDEuNDE0bS0yLjgyOC0yLjgyOGwtMy4zODcgMy4zODZhNCA0IDAgMCAwLTEuMDk0IDIuMDQ0bC0uMTc1Ljg3N2ExIDEgMCAwIDAgMS4xNzcgMS4xNzdsLjg3Ny0uMTc1YTQgNCAwIDAgMCAyLjA0NC0xLjA5NGwzLjM4Ni0zLjM4N20tMi44MjgtMi44MjhsMi44MjggMi44MjhcIj48L3N2ZzpwYXRoPjxzdmc6cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgZD1cIk0xNSAxN2g0XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4TWFya2VySWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleE1lbnVJY29uXSxzdmdbY29kZXgtbWVudS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi42XCIgZD1cIk05LjQxIDcuM0g5LjRtNS4yIDBoLS4wMU05LjMxIDEySDkuM201LjMgMGgtLjAxbS01LjE4IDQuN0g5LjRtNS4yIDBoLS4wMVwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhNZW51SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleE1lbnVTbWFsbEljb25dLHN2Z1tjb2RleC1tZW51LXNtYWxsLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjZcIiBkPVwiTTkuNDEgOS42Nkg5LjRtNS4yIDBoLS4wMW0tNS4yOCA0LjdIOS4zbTUuMyAwaC0uMDFcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4TWVudVNtYWxsSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFBpY3R1cmVJY29uXSxzdmdbY29kZXgtcGljdHVyZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpyZWN0IHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHg9XCI1XCIgeT1cIjVcIiByeD1cIjRcIj48L3N2ZzpyZWN0Pjxzdmc6cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwibTUuMTQgMTUuMzJsMy41NS0zLjc1NEExLjc1IDEuNzUgMCAwIDEgOS45NjkgMTFjLjQ3OSAwIC45MzguMjA0IDEuMjc3LjU2NkwxNS4zODcgMTZtLTEuODA2LTEuOTM0bDEuNDMyLTEuNTMzYTEuNzUgMS43NSAwIDAgMSAxLjI3Ny0uNTY2Yy40OCAwIC45MzkuMjA0IDEuMjc3LjU2NmwxLjI3NCAxLjQzbS01LjA2My00LjYzaC4wMDlcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhQaWN0dXJlSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFBsYXlJY29uXSxzdmdbY29kZXgtcGxheS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpwYXRoIGQ9XCJNMTAgMTAuNTZ2Mi44OGExLjMgMS4zIDAgMCAwIDIuMDIxIDEuMDgxbDIuMTYtMS40NGExLjMgMS4zIDAgMCAwLS4wMDEtMi4xNjNMMTIuMDIxIDkuNDhBMS4zIDEuMyAwIDAgMCAxMCAxMC41NjFaXCI+PC9zdmc6cGF0aD48c3ZnOnJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgeD1cIjVcIiB5PVwiNVwiIHJ4PVwiNFwiPjwvc3ZnOnJlY3Q+PC9zdmc6Zz5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleFBsYXlJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4UGx1c0ljb25dLHN2Z1tjb2RleC1wbHVzLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xMiA3djVtMCA1di01bTUgMGgtNW0wIDBIN1wiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhQbHVzSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFF1ZXN0aW9uSWNvbl0sc3ZnW2NvZGV4LXF1ZXN0aW9uLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnJlY3Qgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgeD1cIjVcIiB5PVwiNVwiIHJ4PVwiNFwiPjwvc3ZnOnJlY3Q+PHN2ZzpwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBkPVwiTTEyIDE1LjUydi0uMDFtLTEuOTk4LTUuNTMzQzEwLjE1NyA5LjAxOSAxMSA4LjUgMTIgOC41czEuNjg2LjY3MiAxLjg3IDEuMjA3Yy4xODMuNTM1LjE0NCAxLjM0NC0uMzYzIDEuODA5cy0uNzczLjMxNi0xLjIyOS44YTEuOCAxLjggMCAwIDAtLjI3OC40MzJcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhRdWVzdGlvbkljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhRdW90ZUljb25dLHN2Z1tjb2RleC1xdW90ZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xMCAxMC44MThIOWMtLjE5OCAwLS4zOTEtLjA1My0uNTU2LS4xNTNhLjkzLjkzIDAgMCAxLS4zNjgtLjQwOGEuODMuODMgMCAwIDEtLjA1Ny0uNTI1YS45LjkgMCAwIDEgLjI3NC0uNDY2Yy4xNC0uMTI3LjMxOC0uMjEzLjUxMi0uMjQ5Yy4xOTQtLjAzNS4zOTUtLjAxNy41NzguMDUyYTEgMSAwIDAgMSAuNDQ4LjMzNWMuMTEuMTUuMTY5LjMyNS4xNjkuNTA1djIuMjczYzAgLjQ4Mi0uMjEuOTQ0LS41ODYgMS4yODVBMi4xIDIuMSAwIDAgMSA4IDE0bTgtMy4xODJoLTFjLS4xOTggMC0uMzkxLS4wNTMtLjU1Ni0uMTUzYS45My45MyAwIDAgMS0uMzY4LS40MDhhLjgzLjgzIDAgMCAxLS4wNTctLjUyNWEuOS45IDAgMCAxIC4yNzQtLjQ2NmMuMTQtLjEyNy4zMTgtLjIxMy41MTItLjI0OWMuMTk0LS4wMzUuMzk1LS4wMTcuNTc4LjA1MmExIDEgMCAwIDEgLjQ0OS4zMzVhLjg1Ljg1IDAgMCAxIC4xNjguNTA1djIuMjczYzAgLjQ4Mi0uMjEuOTQ0LS41ODYgMS4yODVBMi4xIDIuMSAwIDAgMSAxNCAxNFwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhRdW90ZUljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhSZWRvSWNvbl0sc3ZnW2NvZGV4LXJlZG8taWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNMTQuNjY3IDEzLjY2N0wxOCAxMC4zMzNMMTQuNjY3IDdNMTggMTAuMzMzSDguODMzYTMuMzMzIDMuMzMzIDAgMCAwIDAgNi42NjdoLjgzNFwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhSZWRvSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFJlbW92ZUJhY2tncm91bmRJY29uXSxzdmdbY29kZXgtcmVtb3ZlLWJhY2tncm91bmQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTExIDE5Yy0xLjg2NCAwLTIuNzk2IDAtMy41My0uMzA1YTQgNCAwIDAgMS0yLjE2Ni0yLjE2NEM1IDE1Ljc5NiA1IDE0Ljg2NCA1IDEzdi0xYzAtMi44MDkgMC00LjIxMy42NzQtNS4yMjJhNCA0IDAgMCAxIDEuMTA0LTEuMTA0QzcuNzg3IDUgOS4xOSA1IDEyIDVoMS41YzEuMzk2IDAgMi4wOTMgMCAyLjY2MS4xNzJhNCA0IDAgMCAxIDIuNjY3IDIuNjY3QzE5IDguNDA3IDE5IDkuMTA0IDE5IDEwLjV2MFwiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIGQ9XCJNMTkuMTE5IDE0Ljg3OUwxNi45OTcgMTdtLTIuMTIxIDIuMTIxTDE2Ljk5NyAxN20yLjEyMiAyLjEyMUwxNi45OTcgMTdtMCAwbC0yLjEyMS0yLjEyMVwiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIm02LjUgMTcuNWwxMS0xMW0xLjQ5MiA0aC4wMW0tOC4wMSA4LjVoLjAxTTUgMTNsOC04XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4UmVtb3ZlQmFja2dyb3VuZEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhSZXBsYWNlSWNvbl0sc3ZnW2NvZGV4LXJlcGxhY2UtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTExLjUgMTcuNUw1IDExbTAgMHY0LjVNNSAxMWg0LjVtMy00LjVMMTkgMTNtMCAwVjguNW0wIDQuNWgtNC41XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleFJlcGxhY2VJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4U2F2ZUljb25dLHN2Z1tjb2RleC1zYXZlLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggZD1cIm0xNS4wNzggNS42MjZsLjUzNy0uODQzbC0uNTM3Ljg0M2MuMzQ4LjIyMi42NjEuNTI4IDEuNDkzIDEuMzZsLjcwNy0uNzA4bC0uNzA3LjcwN2wuOTU0Ljk1NGMuMzEuMzEuNDI1LjQyNi41MjQuNTQzYTQgNCAwIDAgMSAuOTM4IDIuMjY0Yy4wMTIuMTUzLjAxMy4zMTYuMDEzLjc1NHYuNWMwIDEuNDE3IDAgMi40MTktLjA2NSAzLjIwM2MtLjA2My43NzItLjE4MiAxLjI0My0uMzcxIDEuNjEzYTQgNCAwIDAgMS0xLjc0OCAxLjc0OGMtLjM3LjE4OS0uODQxLjMwOC0xLjYxMy4zNzFDMTQuNDE5IDE5IDEzLjQxNyAxOSAxMiAxOXMtMi40MTkgMC0zLjIwMy0uMDY1Yy0uNzcxLS4wNjMtMS4yNDMtLjE4Mi0xLjYxMy0uMzcxYTQgNCAwIDAgMS0xLjc0OC0xLjc0OGMtLjE4OS0uMzctLjMwOC0uODQxLS4zNzEtMS42MTNDNSAxNC40MTkgNSAxMy40MTcgNSAxMnYtLjIyMmMwLTEuMzEgMC0yLjIzOC4wNTYtMi45NjVjLjA1NC0uNzE2LjE1Ny0xLjE1Ni4zMTktMS41MDRhNCA0IDAgMCAxIDEuOTM0LTEuOTM0Yy4zNDgtLjE2Mi43ODgtLjI2NSAxLjUwNC0uMzJDOS41NCA1LjAwMiAxMC40NjcgNSAxMS43NzggNWMxLjE3NiAwIDEuNjE0LjAwNiAyLjAxNy4wOTVjLjQ1NS4xLjg5LjI4IDEuMjgzLjUzMVpcIj48L3N2ZzpwYXRoPjxzdmc6cGF0aCBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTEyIDE1YTIgMiAwIDEgMCAwLTRhMiAyIDAgMCAwIDAgNG0yLTkuNVY3YTEgMSAwIDAgMS0xIDFoLTJhMSAxIDAgMCAxLTEtMVY1LjJcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhTYXZlSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFNlYXJjaEljb25dLHN2Z1tjb2RleC1zZWFyY2gtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6Y2lyY2xlIGN4PVwiMTAuNVwiIGN5PVwiMTAuNVwiIHI9XCI1LjVcIj48L3N2ZzpjaXJjbGU+PHN2ZzpwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBkPVwiTTE1LjQxNCAxNUwxOSAxOC41ODZcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhTZWFyY2hJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4U3Rhckljb25dLHN2Z1tjb2RleC1zdGFyLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTExLjgyIDYuMDQ0YS4yLjIgMCAwIDEgLjM2IDBsMS43OTggMy43NDFhLjIuMiAwIDAgMCAuMTUzLjExMmw0LjExNC41NTNhLjIuMiAwIDAgMSAuMTExLjM0M2wtMy4wMDMgMi44NjVhLjIuMiAwIDAgMC0uMDU4LjE4bC43NDUgNC4wODRhLjIuMiAwIDAgMS0uMjkyLjIxMkwxMiAxNi4xMTJsLTMuNzQ4IDIuMDIyYS4yLjIgMCAwIDEtLjI5Mi0uMjEybC43NDUtNC4wODNhLjIuMiAwIDAgMC0uMDU4LS4xOGwtMy4wMDMtMi44NjZhLjIuMiAwIDAgMSAuMTExLS4zNDNsNC4xMTQtLjU1M2EuMi4yIDAgMCAwIC4xNTMtLjExMnpcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4U3Rhckljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhTdHJldGNoSWNvbl0sc3ZnW2NvZGV4LXN0cmV0Y2gtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJtMTcgOWwzIDNsLTMgM20tMy0zaDZNNyA5bC0zIDNsMyAzbS0zLTNoNlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhTdHJldGNoSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFN0cmlrZXRocm91Z2hJY29uXSxzdmdbY29kZXgtc3RyaWtldGhyb3VnaC1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk0xNC41IDguNWMtMS0xLjUtMy41NjUtMS44MzUtNC43NDctLjcwM0EyLjQgMi40IDAgMCAwIDkgOS41NGMwIC42NTQuMjcgMS4yOC43NTMgMS43NDJjMS4yMyAxLjE3OSAzLjI2NC4yNjUgNC40OTQgMS40NDNjLjQ4Mi40NjMuNzUzIDEuMDkuNzUzIDEuNzQyYzAgLjY1NC0uMjcgMS4yOC0uNzUzIDEuNzQzQzEyLjg2NiAxNy41MzIgMTAgMTcuNSA5IDE2bS0zLTRoMTJcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4U3RyaWtldGhyb3VnaEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhUYWJsZUljb25dLHN2Z1tjb2RleC10YWJsZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpwYXRoIGQ9XCJNMTAgNXYxMy41TTUgMTBoMTRcIj48L3N2ZzpwYXRoPjxzdmc6cmVjdCB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB4PVwiNVwiIHk9XCI1XCIgcng9XCI0XCI+PC9zdmc6cmVjdD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4VGFibGVJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4VGFibGVXaXRoSGVhZGluZ3NJY29uXSxzdmdbY29kZXgtdGFibGUtd2l0aC1oZWFkaW5ncy1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOmcgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCI+PHN2ZzpwYXRoIGQ9XCJNNSAxMGgxNFwiPjwvc3ZnOnBhdGg+PHN2ZzpyZWN0IHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHg9XCI1XCIgeT1cIjVcIiByeD1cIjRcIj48L3N2ZzpyZWN0Pjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhUYWJsZVdpdGhIZWFkaW5nc0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhUYWJsZVdpdGhvdXRIZWFkaW5nc0ljb25dLHN2Z1tjb2RleC10YWJsZS13aXRob3V0LWhlYWRpbmdzLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggZD1cIk0xMCA1djEzLjVNMTQgNXYxMy41TTUgMTBoMTRNNSAxNGgxNFwiPjwvc3ZnOnBhdGg+PHN2ZzpyZWN0IHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHg9XCI1XCIgeT1cIjVcIiByeD1cIjRcIj48L3N2ZzpyZWN0Pjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhUYWJsZVdpdGhvdXRIZWFkaW5nc0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhUZXh0SWNvbl0sc3ZnW2NvZGV4LXRleHQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTggOVY3LjJjMC0uMTEuMDktLjIuMi0uMkgxMm00IDJWNy4yYS4yLjIgMCAwIDAtLjItLjJIMTJtMCAwdjEwbTAgMGgtMm0yIDBoMlwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhUZXh0SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFRyYW5zbGF0ZUljb25dLHN2Z1tjb2RleC10cmFuc2xhdGUtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggZD1cIk03IDE3YzEtMi41IDUtNSA2LThcIj48L3N2ZzpwYXRoPjxzdmc6cGF0aCBkPVwiTTguNSAxMXMxLjUgMyA0IDRNNiA3LjdoMTBtLTUgMHYtMk0xNC41IDE4bC43MTQtMm0wIDBsMS43MDItNC43NjVhLjM1NS4zNTUgMCAwIDEgLjY2OCAwTDE5LjI4NiAxNm0tNC4wNzIgMGg0LjA3Mk0yMCAxOGwtLjcxNC0yXCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4VHJhbnNsYXRlSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFRyYXNoSWNvbl0sc3ZnW2NvZGV4LXRyYXNoLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6cGF0aCBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTE4LjEzMyA3LjcyM3EuNDM1LjA2Ljg2Ny4xMjhtLS44NjctLjEyOGwtLjkwNiA5LjY4Yy0uMDM3LjQzNC0uMjU0Ljg0LS42MDcgMS4xMzZhMi4wMiAyLjAyIDAgMCAxLTEuMjk3LjQ2MUg4LjY3N2MtLjQ4IDAtLjk0NC0uMTY0LTEuMjk3LS40NmExLjY3IDEuNjcgMCAwIDEtLjYwNy0xLjEzOGwtLjkwNi05LjY3OW0xMi4yNjYgMGE0NSA0NSAwIDAgMC0yLjk1MS0uMzA1bS05LjMxNS4zMDVxLS40MzUuMDYtLjg2Ny4xMjdtLjg2Ny0uMTI3YTQ1IDQ1IDAgMCAxIDIuOTUxLS4zMDVtNi4zNjQgMGE0NS41IDQ1LjUgMCAwIDAtNi4zNjQgMG02LjM2NCAwYzAtMi4xMTQtMS40NTUtMy4wNy0zLjE4Mi0zLjA3UzguODE4IDUuNDQgOC44MTggNy40MThNMTAuNSAxNS41TDEwIDExbTQgMGwtLjUgNC41XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleFRyYXNoSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFR3aXR0ZXJJY29uXSxzdmdbY29kZXgtdHdpdHRlci1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTE2Ljc5IDcuODc3QzE3LjUgOCAxOC41IDggMTguNSA4cy0xIDEuNS0xIDJjMSA4LjUtNiAxMC41LTEyIDYuNWMxLjUuMTcxIDIuNTQ2LjAxNiAzLjc1Mi0uODk4QzcuOTk1IDE1LjU4IDUuMzY1IDEzLjYwMyA1IDEyLjVjMS41LjUgMy0uNSAzLS41Yy0xLjQ3OS0uOTU1LTMuMDctMi43NTktMi4wMjUtNC40OTJhOC4yNSA4LjI1IDAgMCAwIDUuOTIgMi45MDJjLS42NzUtMi44MDIgMy4wMjctNC40NTcgNC44OTQtMi41MzNaXCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleFR3aXR0ZXJJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4VW5kZXJsaW5lSWNvbl0sc3ZnW2NvZGV4LXVuZGVybGluZS1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk05IDcuNXY0YTMgMyAwIDAgMCA2IDB2LTRNNy43MTQgMThoOC41NzJcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4VW5kZXJsaW5lSWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleFVuZG9JY29uXSxzdmdbY29kZXgtdW5kby1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk05LjMzMyAxMy42NjdMNiAxMC4zMzNMOS4zMzMgN002IDEwLjMzM2g5LjE2N2EzLjMzMyAzLjMzMyAwIDAgMSAwIDYuNjY3aC0uODM0XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleFVuZG9JY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4VW5saW5rSWNvbl0sc3ZnW2NvZGV4LXVubGluay1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIGQ9XCJNMTUuNzggMTEuNXMuMjczLS4zMDQuNzctLjgyOGMuODk0LS45NDMuOTItMi40MjQuMDI4LTMuMzd2MGEyLjQwNCAyLjQwNCAwIDAgMC0zLjQ1LS4wNTFMMTEuODggOC41bS0zLjYzNSAzLjg4OHMtLjI3My4zMDQtLjc3LjgyOGMtLjg5NC45NDQtLjkyIDIuNDI1LS4wMjggMy4zN3YwYy45My45ODcgMi40OSAxLjAxIDMuNDQ5LjA1MmwxLjI1LTEuMjVtNS42MzQtLjI4NWwtMS4xODMtLjE2YTEgMSAwIDAgMC0xLjEzNC45NTRsLS4wNDMgMS4xODVtLTkuMDMtOC4wNWwxLjE5NC4wMzVhMSAxIDAgMCAwIDEuMDI3LTEuMDdsLS4wODQtMS4xODNtMy41ODcgNS4zODZsLS40MTQtLjQxNFwiPjwvc3ZnOnBhdGg+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhVbmxpbmtJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4VXNlckljb25dLHN2Z1tjb2RleC11c2VyLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggZD1cIk0xMiAxMGMuNzE0IDAgMS4yMzktLjQzNCAxLjU0LS44ODVjLjMwNC0uNDU3LjQ2LTEuMDMuNDYtMS42MTVjMC0uNTg0LS4xNTYtMS4xNTgtLjQ2LTEuNjE1QzEzLjIzOCA1LjQzNSAxMi43MTQgNSAxMiA1cy0xLjIzOS40MzQtMS41NC44ODVjLS4zMDQuNDU3LS40NiAxLjAzLS40NiAxLjYxNWMwIC41ODQuMTU2IDEuMTU4LjQ2IDEuNjE1Yy4zMDEuNDUuODI1Ljg4NSAxLjU0Ljg4NVpcIj48L3N2ZzpwYXRoPjxzdmc6ZWxsaXBzZSBjeD1cIjEyXCIgY3k9XCIxNlwiIHJ4PVwiM1wiIHJ5PVwiNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtOTAgMTIgMTYpXCI+PC9zdmc6ZWxsaXBzZT48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4VXNlckljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhVc2Vyc0dyb3VwSWNvbl0sc3ZnW2NvZGV4LXVzZXJzLWdyb3VwLWljb25dJyxcbiAgaG9zdDoge1xuICAgIHJvbGU6ICdpbWcnLFxuICAgICdbYXR0ci52aWV3Qm94XSc6ICd2aWV3Qm94KCknLFxuICAgICdbYXR0ci53aWR0aF0nOiAnd2lkdGgoKScsXG4gICAgJ1thdHRyLmhlaWdodF0nOiAnaGVpZ2h0KCknLFxuICB9LFxuICB0ZW1wbGF0ZTogYDxzdmc6ZyBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggZD1cIk0xMCAxMGMuNzE0IDAgMS4yMzktLjQzNCAxLjU0LS44ODVjLjMwNC0uNDU3LjQ2LTEuMDMuNDYtMS42MTVjMC0uNTg0LS4xNTYtMS4xNTgtLjQ2LTEuNjE1QzExLjIzOCA1LjQzNSAxMC43MTQgNSAxMCA1cy0xLjIzOS40MzQtMS41NC44ODVDOC4xNTcgNi4zNDIgOCA2LjkxNSA4IDcuNWMwIC41ODQuMTU2IDEuMTU4LjQ2IDEuNjE1Yy4zMDEuNDUuODI1Ljg4NSAxLjU0Ljg4NVpcIj48L3N2ZzpwYXRoPjxzdmc6ZWxsaXBzZSBjeD1cIjEwXCIgY3k9XCIxNlwiIHJ4PVwiM1wiIHJ5PVwiNVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtOTAgMTAgMTYpXCI+PC9zdmc6ZWxsaXBzZT48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTUuNTU2IDEwLjIyMmExLjc3OCAxLjc3OCAwIDEgMCAwLTMuNTU1TTE3LjUgMTNjMy41IDEuNSAzIDUgLjUgNS41XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4VXNlcnNHcm91cEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhXYXJuaW5nSWNvbl0sc3ZnW2NvZGV4LXdhcm5pbmctaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cmVjdCB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB4PVwiNVwiIHk9XCI1XCIgcng9XCI0XCI+PC9zdmc6cmVjdD48c3ZnOnBhdGggc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIGQ9XCJNMTIgOXYzbTAgMy4wMnYtLjAxXCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4V2FybmluZ0ljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDb3B5SWNvbl0sc3ZnW2NvZGV4LWNvcHktaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiPjxzdmc6cGF0aCBkPVwiTTE3LjI1IDguNWgtN2ExLjc1IDEuNzUgMCAwIDAtMS43NSAxLjc1djdjMCAuOTY2Ljc4NCAxLjc1IDEuNzUgMS43NWg3QTEuNzUgMS43NSAwIDAgMCAxOSAxNy4yNXYtN2ExLjc1IDEuNzUgMCAwIDAtMS43NS0xLjc1XCI+PC9zdmc6cGF0aD48c3ZnOnBhdGggZD1cIk0xNS41IDguNVY2Ljc1QTEuNzUgMS43NSAwIDAgMCAxMy43NSA1aC03QTEuNzUgMS43NSAwIDAgMCA1IDYuNzV2N2ExLjc1IDEuNzUgMCAwIDAgMS43NSAxLjc1SDguNU0xMiAxMmgzLjVNMTIgMTUuNWgzLjVcIj48L3N2ZzpwYXRoPjwvc3ZnOmc+YCxcbn0pXG5leHBvcnQgY2xhc3MgQ29kZXhDb3B5SWNvbiB7XG4gIHJlYWRvbmx5IHZpZXdCb3ggPSBpbnB1dChcIjAgMCAyNCAyNFwiKVxuICByZWFkb25seSB3aWR0aCA9IGlucHV0KFwiMWVtXCIpXG4gIHJlYWRvbmx5IGhlaWdodCA9IGlucHV0KFwiMWVtXCIpXG59XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3N2Z1tjb2RleEFkZEJhY2tncm91bmRJY29uXSxzdmdbY29kZXgtYWRkLWJhY2tncm91bmQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpnIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIj48c3ZnOnBhdGggc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBkPVwiTTExIDE5Yy0xLjg2NCAwLTIuNzk2IDAtMy41My0uMzA1YTQgNCAwIDAgMS0yLjE2Ni0yLjE2NEM1IDE1Ljc5NiA1IDE0Ljg2NCA1IDEzdi0xYzAtMi44MDkgMC00LjIxMy42NzQtNS4yMjJhNCA0IDAgMCAxIDEuMTA0LTEuMTA0QzcuNzg3IDUgOS4xOSA1IDEyIDVoMS41YzEuMzk2IDAgMi4wOTMgMCAyLjY2MS4xNzJhNCA0IDAgMCAxIDIuNjY3IDIuNjY3QzE5IDguNDA3IDE5IDkuMTA0IDE5IDEwLjV2MFwiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIGQ9XCJNMTYgMTN2M20wIDN2LTNtMyAwaC0zbTAgMGgtM1wiPjwvc3ZnOnBhdGg+PHN2ZzpwYXRoIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgZD1cIm02LjUgMTcuNWwxMS0xMW0xLjQ5MiA0aC4wMW0tOC4wMSA4LjVoLjAxTTUgMTNsOC04XCI+PC9zdmc6cGF0aD48L3N2ZzpnPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4QWRkQmFja2dyb3VuZEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdzdmdbY29kZXhDb2xvckljb25dLHN2Z1tjb2RleC1jb2xvci1pY29uXScsXG4gIGhvc3Q6IHtcbiAgICByb2xlOiAnaW1nJyxcbiAgICAnW2F0dHIudmlld0JveF0nOiAndmlld0JveCgpJyxcbiAgICAnW2F0dHIud2lkdGhdJzogJ3dpZHRoKCknLFxuICAgICdbYXR0ci5oZWlnaHRdJzogJ2hlaWdodCgpJyxcbiAgfSxcbiAgdGVtcGxhdGU6IGA8c3ZnOnBhdGggZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgZD1cIk01LjI0MyAxMS40MDhhMyAzIDAgMCAxIC44NzgtMi4xNjVsMy41MzYtMy41MzZhMSAxIDAgMCAxIDEuNDE0IDBsNC45NSA0Ljk1YTEgMSAwIDAgMSAuMjkyLjc1bS0xMS4wNyAwYTMgMyAwIDAgMCAuODc4IDIuMDc4TDggMTUuMzY0bS0yLjc1Ny0zLjk1Nmg2LjcxNG00LjM1NiAwYTEgMSAwIDAgMS0uMjkyLjY2M2wtMy41MzYgMy41MzZhMyAzIDAgMCAxLTQuMjQyIDBMOCAxNS4zNjRtOC4zMTMtMy45NTZoLTQuMzU2TTggMTUuMzY0bDMuOTU3LTMuOTU2TTIwIDE3LjQ2MmMwIC44NS0uNjcyIDEuNTM4LTEuNSAxLjUzOHMtMS41LS42ODktMS41LTEuNTM4cy45LTEuODQ3IDEuNS0yLjQ2MmMuNi42MTUgMS41IDEuNjEyIDEuNSAyLjQ2MlpcIj48L3N2ZzpwYXRoPmAsXG59KVxuZXhwb3J0IGNsYXNzIENvZGV4Q29sb3JJY29uIHtcbiAgcmVhZG9ubHkgdmlld0JveCA9IGlucHV0KFwiMCAwIDI0IDI0XCIpXG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQoXCIxZW1cIilcbiAgcmVhZG9ubHkgaGVpZ2h0ID0gaW5wdXQoXCIxZW1cIilcbn1cblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnc3ZnW2NvZGV4Q2hldnJvblJpZ2h0SWNvbl0sc3ZnW2NvZGV4LWNoZXZyb24tcmlnaHQtaWNvbl0nLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ2ltZycsXG4gICAgJ1thdHRyLnZpZXdCb3hdJzogJ3ZpZXdCb3goKScsXG4gICAgJ1thdHRyLndpZHRoXSc6ICd3aWR0aCgpJyxcbiAgICAnW2F0dHIuaGVpZ2h0XSc6ICdoZWlnaHQoKScsXG4gIH0sXG4gIHRlbXBsYXRlOiBgPHN2ZzpwYXRoIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwibTkuNTgzIDE3LjVsNC44NTgtNC44NTlhLjIuMiAwIDAgMCAwLS4yODJMOS41ODMgNy41XCI+PC9zdmc6cGF0aD5gLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RleENoZXZyb25SaWdodEljb24ge1xuICByZWFkb25seSB2aWV3Qm94ID0gaW5wdXQoXCIwIDAgMjQgMjRcIilcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dChcIjFlbVwiKVxuICByZWFkb25seSBoZWlnaHQgPSBpbnB1dChcIjFlbVwiKVxufVxuIl19