GenerateBlocks - Version 1.0

Version Description

  • Initial release
Download this release

Release Info

Developer edge22
Plugin Icon 128x128 GenerateBlocks
Version 1.0
Comparing to
See all releases

Version 1.0

.gitattributes ADDED
@@ -0,0 +1,2 @@
 
 
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
.gitignore ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ node_modules
2
+ .DS_Store
3
+ .editorconfig
4
+ .eslintignore
5
+ .eslintrc.json
6
+ package-lock.json
7
+ package.json
8
+ phpcs.xml
9
+ ## Uncomment line below if you prefer to
10
+ ## keep compiled files out of version control
11
+ # dist/
assets/css/dashboard.css ADDED
@@ -0,0 +1,289 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .gblocks-dashboard-wrap {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ }
5
+
6
+ .gblocks-dashboard-header {
7
+ background: #fff;
8
+ border-bottom: 1px solid #e2e4e7;
9
+ padding: 40px 0 0;
10
+ text-align: center;
11
+ }
12
+
13
+ .gblocks-dashboard-header h1 {
14
+ font-size: 25px;
15
+ font-weight: 600;
16
+ padding-bottom: 0;
17
+ margin-bottom: 20px;
18
+ }
19
+
20
+ .gblocks-logo {
21
+ margin-bottom: 20px;
22
+ display: flex;
23
+ align-items: center;
24
+ justify-content: center;
25
+ }
26
+
27
+ .gblocks-version {
28
+ font-size: 10px;
29
+ padding: 2px 5px;
30
+ background: rgba(0,0,0,0.1);
31
+ display: block;
32
+ margin-left: 5px;
33
+ margin-bottom: 2px;
34
+ font-weight: normal;
35
+ border-radius: 2px;
36
+ }
37
+
38
+ .gblocks-navigation {
39
+ background: #fff;
40
+ display: flex;
41
+ justify-content: center;
42
+ }
43
+
44
+ .gblocks-navigation a {
45
+ padding: 0.5rem 1rem 1rem;
46
+ display: inline-flex;
47
+ color: inherit;
48
+ text-decoration: none;
49
+ }
50
+
51
+ .gblocks-navigation a.active {
52
+ font-weight: 600;
53
+ box-shadow: inset 0 -3px #007cba;
54
+ }
55
+
56
+ .gblocks-sub-navigation {
57
+ display: flex;
58
+ justify-content: center;
59
+ margin-top: 10px;
60
+ }
61
+
62
+ .gblocks-sub-navigation a.button {
63
+ margin: 4px;
64
+ }
65
+
66
+ .gblocks-dashboard-intro-content {
67
+ padding: 60px;
68
+ font-size: 22px;
69
+ line-height: 1.8;
70
+ text-align: center;
71
+ margin: 0 auto;
72
+ }
73
+
74
+ .gblocks-dashboard-intro-image {
75
+ width: 50%;
76
+ text-align: center;
77
+ }
78
+
79
+ .gblocks-dashboard-blocks {
80
+ display: flex;
81
+ flex-wrap: wrap;
82
+ justify-content: center;
83
+ max-width: 1300px;
84
+ margin-left: auto;
85
+ margin-right: auto;
86
+ }
87
+
88
+ .gblocks-block {
89
+ padding: 40px;
90
+ background: #fff;
91
+ background-image: linear-gradient(180deg, #fff 50%, rgba(0,0,0,0.02));
92
+ display: flex;
93
+ flex-direction: column;
94
+ width: 21%;
95
+ box-sizing: border-box;
96
+ margin: 0 2% 4%;
97
+ border-bottom: 2px solid #ddd;
98
+ border-right: 2px solid #ddd;
99
+ }
100
+
101
+ .gblocks-block svg {
102
+ width: 75px;
103
+ height: 75px;
104
+ color: #006eb7;
105
+ }
106
+
107
+ .gblocks-block > *:last-child {
108
+ margin-bottom: 0;
109
+ }
110
+
111
+ .gblocks-block h3 {
112
+ margin-top: 30px;
113
+ font-size: 20px;
114
+ }
115
+
116
+ .gblocks-block p {
117
+ font-size: 15px;
118
+ margin: 0 0 2em;
119
+ }
120
+
121
+ .gblocks-button {
122
+ margin-top: auto;
123
+ background: #fff;
124
+ border: 1px solid;
125
+ flex-grow: 0;
126
+ padding: 15px 20px;
127
+ text-decoration: none;
128
+ color: #000;
129
+ font-size: 20px;
130
+ align-self: flex-start;
131
+ transition: color 500ms ease;
132
+ }
133
+
134
+ .gblocks-generatepress {
135
+ background: #fff;
136
+ padding: 60px;
137
+ }
138
+
139
+ .gblocks-inside-generatepress {
140
+ display: flex;
141
+ max-width: 1200px;
142
+ margin: 0 auto;
143
+ align-items: center;
144
+ }
145
+
146
+ .gblocks-generatepress-content {
147
+ width: 50%;
148
+ }
149
+
150
+ .gblocks-generatepress-content h2 {
151
+ font-size: 40px;
152
+ line-height: 1.5em;
153
+ font-weight: 300;
154
+ margin-top: 0;
155
+ }
156
+
157
+ .gblocks-generatepress-content p {
158
+ font-size: 17px;
159
+ line-height: 1.8;
160
+ }
161
+
162
+ .gblocks-generatepress-content .stats {
163
+ display: flex;
164
+ font-size: 15px;
165
+ line-height: 1.6;
166
+ margin-top: 20px;
167
+ margin-bottom: 20px;
168
+ }
169
+
170
+ .gblocks-generatepress-content .stats > * {
171
+ padding-right: 30px;
172
+ }
173
+
174
+ .gblocks-generatepress-content .stats strong {
175
+ font-size: 20px;
176
+ }
177
+
178
+ .gblocks-generatepress-image {
179
+ width: 50%;
180
+ display: flex;
181
+ align-items: center;
182
+ justify-content: center;
183
+ }
184
+
185
+ .gblocks-generatepress-content .gblocks-button {
186
+ color: #006eb7;
187
+ display: inline-block;
188
+ margin-top: 10px;
189
+ }
190
+
191
+ .gblocks-generatepress-content .gblocks-button:hover {
192
+ color: #000;
193
+ }
194
+
195
+ .gblocks-settings-content {
196
+ padding: 60px;
197
+ max-width: 800px;
198
+ margin-left: auto;
199
+ margin-right: auto;
200
+ }
201
+
202
+ #generateblocks-regenerate-css-files-button {
203
+ display: flex;
204
+ align-items: center;
205
+ }
206
+
207
+ .generateblocks-button-spinner:before {
208
+ font: normal 20px/.5 dashicons;
209
+ speak: none;
210
+ content: "\f463";
211
+ padding-right: 3px;
212
+ }
213
+
214
+ .generateblocks-button-spinner.loading:before {
215
+ -webkit-animation: rotation 1s infinite linear;
216
+ animation: rotation 1s infinite linear;
217
+ }
218
+
219
+ .generateblocks-button-spinner.success:before {
220
+ content: "\f147";
221
+ color: #46b450;
222
+ }
223
+
224
+ .gblocks-getting-started {
225
+ padding: 0 60px 60px;
226
+ text-align: center;
227
+ }
228
+
229
+ .gblocks-getting-started img {
230
+ display: block;
231
+ margin: 0 auto;
232
+ }
233
+
234
+ .gblocks-getting-started p {
235
+ font-size: 20px;
236
+ max-width: 450px;
237
+ margin: 0 auto;
238
+ }
239
+
240
+ .gblocks-getting-started p:first-child:before {
241
+ content: "";
242
+ display: block;
243
+ height: 1px;
244
+ width: 150px;
245
+ background: #d8e2e4;
246
+ margin: 0 auto 40px;
247
+ }
248
+
249
+ .settings_page_generateblocks #wpcontent,
250
+ .settings_page_generateblocks-settings #wpcontent {
251
+ padding-left: 0;
252
+ }
253
+
254
+ @media (max-width: 1180px){
255
+ .gblocks-inside-generatepress {
256
+ flex-wrap: wrap;
257
+ }
258
+
259
+ .gblocks-generatepress-content {
260
+ width: 100%;
261
+ }
262
+
263
+ .gblocks-generatepress-image {
264
+ width: 100%;
265
+ order: -1;
266
+ }
267
+ }
268
+
269
+ @media (max-width: 1000px) {
270
+ .gblocks-block {
271
+ width: 46%;
272
+ margin: 0 2% 4%;
273
+ }
274
+ }
275
+
276
+ @media (max-width: 520px) {
277
+ .gblocks-block {
278
+ width: 96%;
279
+ margin: 1% 2%;
280
+ }
281
+
282
+ .gblocks-getting-started img {
283
+ max-width: 100%;
284
+ }
285
+
286
+ .gblocks-generatepress-content .stats {
287
+ flex-wrap: wrap;
288
+ }
289
+ }
assets/images/add-blocks.png ADDED
Binary file
assets/images/gb-logo-black.svg ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!-- Generator: Adobe Illustrator 24.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
3
+ <svg version="1.1" id="Layer_10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
4
+ viewBox="0 0 300 83.093" style="enable-background:new 0 0 300 83.093;" xml:space="preserve">
5
+ <style type="text/css">
6
+ .st0{fill:#111111;}
7
+ </style>
8
+ <g>
9
+ <path class="st0" d="M100.756,41.161v8.645c-1.027,0.938-3.567,2.63-8.132,2.63c-6.771,0-11.427-4.807-11.427-10.913
10
+ c0-6.076,4.656-10.883,11.548-10.883c4.414,0,6.651,1.572,7.437,2.086l-2.207,4.021c-0.514-0.302-2.267-1.33-5.079-1.33
11
+ c-3.809,0-6.438,2.357-6.438,6.107c0,3.779,2.871,6.378,6.469,6.378c1.21,0,2.267-0.212,3.144-0.664v-6.076H100.756z"/>
12
+ <path class="st0" d="M117.604,46.139h-10.224c0.545,1.186,1.859,2.083,3.718,2.083c2.147,0,3.173-1.058,3.685-1.442l2.019,3.621
13
+ c-0.769,0.737-2.692,2.051-6.282,2.051c-4.712,0-8.237-3.365-8.237-7.66s3.269-7.661,7.821-7.661c4.647,0,7.564,3.398,7.564,7.821
14
+ C117.668,45.498,117.604,46.139,117.604,46.139z M107.347,43.094h5.512c-0.224-1.186-1.25-2.019-2.564-2.019
15
+ C108.853,41.075,107.796,41.684,107.347,43.094z"/>
16
+ <path class="st0" d="M134.715,44.023v8.141h-5.064v-7.403c0-1.859-1.09-3.077-2.661-3.077c-1.666,0-2.82,1.186-2.82,3.077v7.403
17
+ h-5.064V37.421h3.525l0.192,2.371c0.898-1.507,2.693-2.661,5.385-2.661C132.215,37.132,134.715,39.793,134.715,44.023z"/>
18
+ <path class="st0" d="M151.418,46.139h-10.224c0.545,1.186,1.859,2.083,3.718,2.083c2.147,0,3.173-1.058,3.685-1.442l2.019,3.621
19
+ c-0.769,0.737-2.692,2.051-6.282,2.051c-4.712,0-8.237-3.365-8.237-7.66s3.269-7.661,7.821-7.661c4.647,0,7.564,3.398,7.564,7.821
20
+ C151.482,45.498,151.418,46.139,151.418,46.139z M141.162,43.094h5.512c-0.224-1.186-1.25-2.019-2.564-2.019
21
+ C142.668,41.075,141.61,41.684,141.162,43.094z"/>
22
+ <path class="st0" d="M163.475,37.26l-0.416,5.032c-0.449-0.192-0.801-0.32-1.539-0.32c-1.987,0-3.429,1.09-3.429,3.141v7.051
23
+ h-5.064V37.421h4.167l0.192,2.692c0.48-1.73,2.371-2.981,4.744-2.981C162.609,37.132,163.058,37.164,163.475,37.26z"/>
24
+ <path class="st0" d="M179.885,37.421v14.743h-4.488l-0.192-1.731c-1.058,1.154-2.5,2.019-4.423,2.019
25
+ c-4.102,0-7.051-3.301-7.051-7.66s3.109-7.661,7.211-7.661c1.635,0,2.981,0.545,4.038,1.347l0.192-1.058H179.885z M175.045,44.793
26
+ c-0.032-1.795-1.186-3.077-3.109-3.077c-1.827,0-3.109,1.314-3.109,3.077c0,1.73,1.282,3.077,3.109,3.077
27
+ C173.859,47.87,175.077,46.523,175.045,44.793z"/>
28
+ <path class="st0" d="M184.317,46.427v-4.743h-2.98v-4.263h3.141v-5.064h4.903v5.064h5.16v4.263h-5.16v4.134
29
+ c0,1.538,1.058,2.051,2.276,2.051c1.09,0,1.826-0.449,2.211-0.673l1.73,3.75c-0.64,0.448-2.179,1.506-5.16,1.506
30
+ C186.562,52.452,184.317,50.305,184.317,46.427z"/>
31
+ <path class="st0" d="M210.774,46.139H200.55c0.545,1.186,1.859,2.083,3.718,2.083c2.147,0,3.173-1.058,3.685-1.442l2.019,3.621
32
+ c-0.769,0.737-2.692,2.051-6.282,2.051c-4.712,0-8.237-3.365-8.237-7.66s3.269-7.661,7.821-7.661c4.647,0,7.564,3.398,7.564,7.821
33
+ C210.838,45.498,210.774,46.139,210.774,46.139z M200.518,43.094h5.512c-0.224-1.186-1.25-2.019-2.564-2.019
34
+ C202.024,41.075,200.966,41.684,200.518,43.094z"/>
35
+ <g>
36
+ <path class="st0" d="M229.763,46.058c0,3.779-2.449,6.107-8.344,6.107h-8.827V30.913h8.434c5.653,0,7.951,2.388,7.951,5.441
37
+ c0,2.298-1.269,3.93-3.144,4.595C228.403,41.583,229.763,43.609,229.763,46.058z M220.966,35.085h-3.416v4.414h3.416
38
+ c2.237,0,3.144-0.786,3.144-2.207C224.11,35.931,223.203,35.085,220.966,35.085z M224.805,45.755c0-1.511-1.088-2.327-3.476-2.327
39
+ h-3.779v4.564h3.9C223.808,47.992,224.805,47.116,224.805,45.755z"/>
40
+ <path class="st0" d="M231.47,30.913h5.064v21.252h-5.064V30.913z"/>
41
+ <path class="st0" d="M238.108,44.793c0-4.359,3.59-7.661,8.109-7.661c4.487,0,8.077,3.302,8.077,7.661s-3.59,7.66-8.077,7.66
42
+ C241.698,52.452,238.108,49.151,238.108,44.793z M249.198,44.793c0-1.667-1.218-3.077-2.981-3.077
43
+ c-1.795,0-3.013,1.41-3.013,3.077c0,1.666,1.218,3.077,3.013,3.077C247.98,47.87,249.198,46.459,249.198,44.793z"/>
44
+ <path class="st0" d="M255.448,44.793c0-4.295,3.493-7.661,8.173-7.661c3.141,0,4.84,1.154,5.608,1.667l-1.986,3.878
45
+ c-0.545-0.385-1.507-0.962-3.013-0.962c-2.18,0-3.59,1.282-3.59,3.077s1.41,3.077,3.59,3.077c1.506,0,2.468-0.577,3.013-0.962
46
+ l1.954,3.782c-0.769,0.512-2.435,1.762-5.576,1.762C258.942,52.452,255.448,49.087,255.448,44.793z"/>
47
+ <path class="st0" d="M280.43,52.164l-4.743-5.608v5.608h-5.064V30.913h5.064V43.03l4.455-5.608h6.25l-6.154,6.986l6.667,7.757
48
+ H280.43z"/>
49
+ <path class="st0" d="M286.411,50.529l2.019-3.685c1.09,0.801,3.045,1.634,5.032,1.634c0.801,0,1.186-0.224,1.186-0.705
50
+ c0-0.545-0.705-0.737-2.275-1.09c-2.179-0.481-5.321-1.539-5.321-4.68c0-2.981,2.564-4.872,6.475-4.872
51
+ c2.596,0,5.096,0.769,6.474,1.731l-1.955,3.686c-1.218-0.801-2.981-1.443-4.551-1.443c-0.833,0-1.218,0.224-1.218,0.705
52
+ c0,0.512,0.704,0.673,2.66,1.09c1.795,0.384,4.936,1.154,4.936,4.551c0,2.917-2.275,5-7.019,5
53
+ C290.257,52.452,287.853,51.587,286.411,50.529z"/>
54
+ </g>
55
+ </g>
56
+ <g>
57
+ <path class="st0" d="M9.241,43.703v-8.78v-8.78c0-0.022,0.007-0.043,0.019-0.06s0.03-0.031,0.05-0.038l8.984-3.197l8.984-3.197
58
+ l13.383-4.762l13.383-4.762c0.021-0.007,0.038-0.021,0.05-0.038c0.012-0.017,0.019-0.038,0.019-0.06V5.068V0.104
59
+ c0-0.036-0.018-0.067-0.044-0.085c-0.026-0.019-0.061-0.025-0.095-0.013L36.007,6.399l-17.969,6.393l-8.984,3.197l-8.984,3.197
60
+ c-0.021,0.007-0.038,0.021-0.05,0.038S0,19.262,0,19.284v8.78v8.78v8.817v8.817v8.743v8.743c0,0.036,0.018,0.067,0.044,0.085
61
+ c0.026,0.019,0.061,0.025,0.095,0.013l4.516-1.607l4.516-1.607c0.021-0.007,0.038-0.021,0.05-0.038s0.019-0.038,0.019-0.06v-3.706
62
+ v-3.706V52.52V43.703z"/>
63
+ <path class="st0" d="M33.102,41.428l17.969-6.393l17.969-6.393c0.021-0.007,0.038-0.021,0.05-0.038
64
+ c0.012-0.017,0.019-0.038,0.019-0.06v-8.706v-8.706c0-0.036-0.018-0.067-0.044-0.085c-0.026-0.019-0.061-0.025-0.095-0.013
65
+ l-17.969,6.393l-17.969,6.393l-8.984,3.197l-8.984,3.197c-0.021,0.007-0.038,0.021-0.05,0.038c-0.012,0.017-0.019,0.038-0.019,0.06
66
+ v8.78v8.78v8.817v8.817v8.743v8.743c0,0.036,0.018,0.067,0.044,0.085c0.026,0.019,0.061,0.025,0.095,0.013l8.949-3.184l8.949-3.184
67
+ l9.019-3.209l9.019-3.209l8.984-3.197l8.984-3.197c0.021-0.007,0.038-0.021,0.05-0.038c0.012-0.017,0.019-0.038,0.019-0.06v-8.78
68
+ v-8.78v-4.334v-4.334c0-0.036-0.018-0.067-0.044-0.085s-0.061-0.025-0.095-0.013l-8.915,3.172l-8.915,3.172
69
+ c-0.021,0.007-0.038,0.021-0.05,0.038s-0.019,0.038-0.019,0.06v4.335v4.335c0,0.022-0.007,0.043-0.019,0.06s-0.03,0.031-0.05,0.038
70
+ l-8.915,3.172l-8.915,3.172c-0.034,0.012-0.069,0.006-0.095-0.013c-0.026-0.019-0.044-0.049-0.044-0.085v-8.706v-8.706
71
+ c0-0.022,0.007-0.043,0.019-0.06S33.081,41.435,33.102,41.428z"/>
72
+ </g>
73
+ </svg>
assets/images/generatepress-sites.png ADDED
Binary file
assets/images/generatepress.svg ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg viewBox="0 0 254 48" xmlns="http://www.w3.org/2000/svg">
3
+ <path transform="translate(60.047 12.047)" d="m19.002 19.605c-2.0067 1.4662-4.5361 2.1993-7.5881 2.1993-3.3864 0-6.1353-0.9739-8.2466-2.9219-2.1113-1.9479-3.1669-4.5975-3.1669-7.9488 0-3.3094 1.0974-5.959 3.2924-7.9488 2.2158-1.9898 5.0169-2.9847 8.4033-2.9847 2.3831 0 4.4421 0.43986 6.1771 1.3196v4.8384c-2.0068-1.152-4.0658-1.728-6.1771-1.728-1.9858 0-3.5641 0.59695-4.7347 1.7908-1.1706 1.1729-1.7559 2.7439-1.7559 4.7127 0 1.9898 0.57485 3.5712 1.7246 4.7442 1.1497 1.1729 2.7175 1.7594 4.7034 1.7594 0.8989 0 1.7873-0.1362 2.6653-0.4084v-3.9902h-3.4178v-4.1157h8.1211v10.682z" fill="#1B212B"/>
4
+ <path transform="translate(60.047 12.047)" d="m34.618 20.642c-1.087 0.7122-2.7488 1.0683-4.9855 1.0683-2.613 0-4.6512-0.7541-6.1144-2.2621-1.4424-1.5291-2.1636-3.4875-2.1636-5.8752 0-2.5344 0.7003-4.5138 2.1009-5.9381 1.4214-1.4452 3.1669-2.1679 5.2364-2.1679 2.1322 0 3.8149 0.62837 5.0483 1.8851 1.2333 1.2358 1.85 3.0894 1.85 5.561 0 0.4817-0.0836 1.3091-0.2509 2.482h-9.344c0.3135 0.8797 0.857 1.5604 1.6305 2.0422 0.7734 0.4817 1.7037 0.7226 2.7907 0.7226 1.6096 0 3.0101-0.4503 4.2016-1.351v3.833zm-5.7381-11.688c-0.7316 0-1.3796 0.27229-1.944 0.81688-0.5644 0.52364-0.9407 1.309-1.1288 2.3563h5.5186v-0.377c-0.1464-1.8642-0.9616-2.7962-2.4458-2.7962z" fill="#1B212B"/>
5
+ <path transform="translate(60.047 12.047)" d="m52.811 21.553h-4.578v-9.4883c0-0.9426-0.2195-1.6547-0.6584-2.1364-0.439-0.50269-1.0557-0.75404-1.85-0.75404-0.8362 0-1.5365 0.33513-2.1009 1.0054-0.5435 0.6493-0.8152 1.6337-0.8152 2.9533v8.4201h-4.578v-15.929h4.578v2.702c0.3971-0.87971 1.0034-1.5709 1.8186-2.0736 0.8362-0.52364 1.8291-0.78546 2.9788-0.78546 1.6305 0 2.9057 0.49222 3.8254 1.4767 0.9198 0.96349 1.3797 2.3878 1.3797 4.2729v10.337z" fill="#1B212B"/>
6
+ <path transform="translate(60.047 12.047)" d="m68.272 20.642c-1.087 0.7122-2.7488 1.0683-4.9855 1.0683-2.613 0-4.6511-0.7541-6.1144-2.2621-1.4424-1.5291-2.1636-3.4875-2.1636-5.8752 0-2.5344 0.7003-4.5138 2.1009-5.9381 1.4214-1.4452 3.1669-2.1679 5.2364-2.1679 2.1322 0 3.815 0.62837 5.0483 1.8851 1.2333 1.2358 1.85 3.0894 1.85 5.561 0 0.4817-0.0836 1.3091-0.2509 2.482h-9.344c0.3136 0.8797 0.8571 1.5604 1.6305 2.0422 0.7734 0.4817 1.7037 0.7226 2.7907 0.7226 1.6096 0 3.0101-0.4503 4.2016-1.351v3.833zm-5.7381-11.688c-0.7316 0-1.3796 0.27229-1.944 0.81688-0.5644 0.52364-0.9407 1.309-1.1288 2.3563h5.5186v-0.377c-0.1463-1.8642-0.9616-2.7962-2.4458-2.7962z" fill="#1B212B"/>
7
+ <path transform="translate(60.047 12.047)" d="m76.431 21.553h-4.5779l0.0313-15.929h4.5466v2.9533c0.2927-0.9216 0.7735-1.6547 1.4424-2.1993 0.6898-0.56553 1.4842-0.84829 2.383-0.84829 0.5017 0 0.8989 0.04189 1.1916 0.12567v4.3357c-0.5017-0.2304-1.0766-0.3456-1.7246-0.3456-0.9825 0-1.7768 0.36652-2.3831 1.0996-0.6062 0.7122-0.9093 1.6652-0.9093 2.8591v7.9488z" fill="#1B212B"/>
8
+ <path transform="translate(60.047 12.047)" d="m88.695 18.411c0.648 0 1.1497-0.199 1.5051-0.597s0.533-0.9425 0.533-1.6337v-1.1625h-1.4737c-0.7734 0-1.3692 0.1676-1.7873 0.5027-0.418 0.3351-0.6271 0.7645-0.6271 1.2881 0 1.0682 0.6167 1.6024 1.85 1.6024zm2.2576 1.1938c-0.6689 1.3615-1.9858 2.0422-3.9508 2.0422-1.5469 0-2.7593-0.4398-3.6373-1.3195-0.857-0.8797-1.2855-1.9794-1.2855-3.2989 0-1.5291 0.5539-2.7125 1.6618-3.5503 1.1288-0.8588 2.7907-1.2881 4.9856-1.2881h2.0067v-1.0997c0-1.3405-0.8884-2.0108-2.6652-2.0108-1.7141 0-3.3028 0.48175-4.7661 1.4452v-4.1158c1.2543-0.71215 3.0624-1.0682 5.4246-1.0682 2.2576 0 3.9404 0.49222 5.0483 1.4767 1.1079 0.96349 1.6618 2.4716 1.6618 4.5242v10.211h-4.4839v-1.948z" fill="#1B212B"/>
9
+ <path transform="translate(60.047 12.047)" d="m107.68 21.207c-0.774 0.3351-1.819 0.5027-3.136 0.5027-3.616 0-5.4245-1.8118-5.4245-5.4354v-7.289h-2.2889v-3.3618h2.2889v-3.7702h4.5775v3.7702h3.7v3.3618h-3.7v7.3204c0 0.5656 0.157 0.9949 0.471 1.2882 0.334 0.2932 0.763 0.4398 1.285 0.4398 0.837 0 1.579-0.2094 2.227-0.6283v3.8016z" fill="#1B212B"/>
10
+ <path transform="translate(60.047 12.047)" d="m122.35 20.642c-1.087 0.7122-2.749 1.0683-4.985 1.0683-2.613 0-4.652-0.7541-6.115-2.2621-1.442-1.5291-2.163-3.4875-2.163-5.8752 0-2.5344 0.7-4.5138 2.1-5.9381 1.422-1.4452 3.167-2.1679 5.237-2.1679 2.132 0 3.815 0.62837 5.048 1.8851 1.233 1.2358 1.85 3.0894 1.85 5.561 0 0.4817-0.083 1.3091-0.251 2.482h-9.344c0.314 0.8797 0.857 1.5604 1.631 2.0422 0.773 0.4817 1.703 0.7226 2.79 0.7226 1.61 0 3.011-0.4503 4.202-1.351v3.833zm-5.738-11.688c-0.732 0-1.38 0.27229-1.944 0.81688-0.564 0.52364-0.941 1.309-1.129 2.3563h5.519v-0.377c-0.147-1.8642-0.962-2.7962-2.446-2.7962z" fill="#1B212B"/>
11
+ <path transform="translate(60.047 12.047)" d="m133.4 14.704h-2.446v6.8492h-4.829v-21.176h7.275c2.341 0 4.233 0.65978 5.675 1.9793 1.463 1.3196 2.195 2.9952 2.195 5.0269 0 2.325-0.763 4.1262-2.289 5.4039-1.505 1.2777-3.365 1.9165-5.581 1.9165zm-0.565-10.462h-1.881v6.6292h1.599c2.55 0 3.826-1.1625 3.826-3.4874 0-2.0945-1.182-3.1418-3.544-3.1418z" fill="#1B212B"/>
12
+ <path transform="translate(60.047 12.047)" d="m147.55 21.553h-4.578l0.032-15.929h4.546v2.9533c0.293-0.9216 0.774-1.6547 1.443-2.1993 0.689-0.56553 1.484-0.84829 2.383-0.84829 0.501 0 0.898 0.04189 1.191 0.12567v4.3357c-0.502-0.2304-1.076-0.3456-1.724-0.3456-0.983 0-1.777 0.36652-2.384 1.0996-0.606 0.7122-0.909 1.6652-0.909 2.8591v7.9488z" fill="#1B212B"/>
13
+ <path transform="translate(60.047 12.047)" d="m166.46 20.642c-1.087 0.7122-2.748 1.0683-4.985 1.0683-2.613 0-4.651-0.7541-6.115-2.2621-1.442-1.5291-2.163-3.4875-2.163-5.8752 0-2.5344 0.7-4.5138 2.101-5.9381 1.421-1.4452 3.167-2.1679 5.236-2.1679 2.132 0 3.815 0.62837 5.048 1.8851 1.234 1.2358 1.85 3.0894 1.85 5.561 0 0.4817-0.083 1.3091-0.25 2.482h-9.344c0.313 0.8797 0.857 1.5604 1.63 2.0422 0.773 0.4817 1.704 0.7226 2.791 0.7226 1.609 0 3.01-0.4503 4.201-1.351v3.833zm-5.738-11.688c-0.731 0-1.379 0.27229-1.944 0.81688-0.564 0.52364-0.94 1.309-1.129 2.3563h5.519v-0.377c-0.146-1.8642-0.962-2.7962-2.446-2.7962z" fill="#1B212B"/>
14
+ <path transform="translate(60.047 12.047)" d="m180.92 16.746c0 1.5709-0.565 2.7857-1.693 3.6445-1.129 0.8588-2.624 1.2881-4.484 1.2881-1.923 0-3.533-0.3246-4.829-0.9739v-4.0844c1.442 1.0054 2.968 1.5081 4.578 1.5081 1.15 0 1.724-0.3666 1.724-1.0996 0-0.1886-0.052-0.3666-0.156-0.5342-0.105-0.1675-0.283-0.3246-0.533-0.4712-0.251-0.1466-0.481-0.2618-0.69-0.3456-0.209-0.1048-0.512-0.2409-0.91-0.4085-0.397-0.1675-0.7-0.3037-0.909-0.4084-2.111-1.0054-3.167-2.5135-3.167-4.5242 0-1.55 0.585-2.7544 1.756-3.6131 1.192-0.85876 2.665-1.2881 4.421-1.2881 1.631 0 2.99 0.21992 4.077 0.65978v3.9273c-1.108-0.64931-2.404-0.97396-3.889-0.97396-0.543 0-0.961 0.1152-1.254 0.3456-0.292 0.20945-0.439 0.48174-0.439 0.81686 0 0.1885 0.052 0.3666 0.157 0.5341 0.104 0.1676 0.272 0.3247 0.502 0.4713 0.251 0.1466 0.48 0.2828 0.69 0.4084 0.229 0.1048 0.533 0.2409 0.909 0.4085 0.397 0.1675 0.711 0.3141 0.94 0.4398 0.962 0.5027 1.736 1.0892 2.321 1.7594 0.585 0.6493 0.878 1.4872 0.878 2.5135z" fill="#1B212B"/>
15
+ <path transform="translate(60.047 12.047)" d="m193.95 16.746c0 1.5709-0.565 2.7857-1.694 3.6445-1.128 0.8588-2.623 1.2881-4.483 1.2881-1.924 0-3.533-0.3246-4.829-0.9739v-4.0844c1.442 1.0054 2.968 1.5081 4.578 1.5081 1.149 0 1.724-0.3666 1.724-1.0996 0-0.1886-0.052-0.3666-0.157-0.5342-0.104-0.1675-0.282-0.3246-0.533-0.4712-0.25-0.1466-0.48-0.2618-0.689-0.3456-0.209-0.1048-0.513-0.2409-0.91-0.4085-0.397-0.1675-0.7-0.3037-0.909-0.4084-2.111-1.0054-3.167-2.5135-3.167-4.5242 0-1.55 0.585-2.7544 1.756-3.6131 1.191-0.85876 2.665-1.2881 4.421-1.2881 1.631 0 2.989 0.21992 4.076 0.65978v3.9273c-1.108-0.64931-2.404-0.97396-3.888-0.97396-0.543 0-0.961 0.1152-1.254 0.3456-0.293 0.20945-0.439 0.48174-0.439 0.81686 0 0.1885 0.052 0.3666 0.157 0.5341 0.104 0.1676 0.272 0.3247 0.501 0.4713 0.251 0.1466 0.481 0.2828 0.69 0.4084 0.23 0.1048 0.533 0.2409 0.91 0.4085 0.397 0.1675 0.71 0.3141 0.94 0.4398 0.962 0.5027 1.735 1.0892 2.321 1.7594 0.585 0.6493 0.878 1.4872 0.878 2.5135z" fill="#1B212B"/>
16
+ <path transform="translate(0 .00021362)" d="m30.83 30.489l1.2588-2.7058c1.0475-2.2512 1.0857-4.716 0.3-6.8792-0.7865-2.1632-2.3959-4.0266-4.6427-5.0762-4.4946-2.1001-9.836-0.1521-11.932 4.3513l-3.7862 8.1351 22.238 10.39c-5.0893 3.5712-11.889 4.3985-17.925 1.5788-8.9962-4.2036-12.889-14.92-8.6935-23.935 4.1954-9.0148 14.891-12.915 23.888-8.7115 7.0973 3.316 11.018 10.683 10.298 18.072l5.6735 2.6506c1.9432-10.498-3.329-21.385-13.434-26.106-11.985-5.6001-26.234-0.40382-31.823 11.606-5.5891 12.01-0.40303 26.287 11.583 31.887 9.1213 4.2614 19.552 2.2717 26.481-4.2161 1.4851-1.3903 2.8105-2.9887 3.9255-4.7756l-13.408-6.2655zm-5.4329-2.5377l-5.4089-2.527 1.2677-2.7235c0.6969-1.497 2.4723-2.1446 3.9655-1.4472 0.7474 0.3495 1.2818 0.9677 1.5428 1.6873 0.2619 0.7187 0.2486 1.5388-0.0994 2.2869l-1.2677 2.7235z" fill="#1B212B"/>
17
+ </svg>
assets/images/stars.svg ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <svg width="196" height="34" viewBox="0 0 196 34" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9 0L11.645 5.35942L17.5595 6.21885L13.2798 10.3906L14.2901 16.2812L9 13.5L3.70993 16.2812L4.72025 10.3906L0.440491 6.21885L6.35497 5.35942L9 0Z" transform="translate(159.999 -0.000366211) scale(2)" fill="#F2994A"/>
3
+ <path d="M9 0L11.645 5.35942L17.5595 6.21885L13.2798 10.3906L14.2901 16.2812L9 13.5L3.70993 16.2812L4.72025 10.3906L0.440491 6.21885L6.35497 5.35942L9 0Z" transform="translate(119.999 -0.000366211) scale(2)" fill="#F2994A"/>
4
+ <path d="M9 0L11.645 5.35942L17.5595 6.21885L13.2798 10.3906L14.2901 16.2812L9 13.5L3.70993 16.2812L4.72025 10.3906L0.440491 6.21885L6.35497 5.35942L9 0Z" transform="translate(79.999 -0.000366211) scale(2)" fill="#F2994A"/>
5
+ <path d="M9 0L11.645 5.35942L17.5595 6.21885L13.2798 10.3906L14.2901 16.2812L9 13.5L3.70993 16.2812L4.72025 10.3906L0.440491 6.21885L6.35497 5.35942L9 0Z" transform="translate(39.999 -0.000366211) scale(2)" fill="#F2994A"/>
6
+ <path d="M9 0L11.645 5.35942L17.5595 6.21885L13.2798 10.3906L14.2901 16.2812L9 13.5L3.70993 16.2812L4.72025 10.3906L0.440491 6.21885L6.35497 5.35942L9 0Z" transform="translate(-0.000976562 -0.000366211) scale(2)" fill="#F2994A"/>
7
+ </svg>
assets/js/purify.js ADDED
@@ -0,0 +1,1217 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.0.8/LICENSE */
2
+
3
+ (function (global, factory) {
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
5
+ typeof define === 'function' && define.amd ? define(factory) :
6
+ (global = global || self, global.DOMPurify = factory());
7
+ }(this, function () { 'use strict';
8
+
9
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
10
+
11
+ var hasOwnProperty = Object.hasOwnProperty,
12
+ setPrototypeOf = Object.setPrototypeOf,
13
+ isFrozen = Object.isFrozen,
14
+ objectKeys = Object.keys;
15
+ var freeze = Object.freeze,
16
+ seal = Object.seal; // eslint-disable-line import/no-mutable-exports
17
+
18
+ var _ref = typeof Reflect !== 'undefined' && Reflect,
19
+ apply = _ref.apply,
20
+ construct = _ref.construct;
21
+
22
+ if (!apply) {
23
+ apply = function apply(fun, thisValue, args) {
24
+ return fun.apply(thisValue, args);
25
+ };
26
+ }
27
+
28
+ if (!freeze) {
29
+ freeze = function freeze(x) {
30
+ return x;
31
+ };
32
+ }
33
+
34
+ if (!seal) {
35
+ seal = function seal(x) {
36
+ return x;
37
+ };
38
+ }
39
+
40
+ if (!construct) {
41
+ construct = function construct(Func, args) {
42
+ return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))();
43
+ };
44
+ }
45
+
46
+ var arrayForEach = unapply(Array.prototype.forEach);
47
+ var arrayIndexOf = unapply(Array.prototype.indexOf);
48
+ var arrayJoin = unapply(Array.prototype.join);
49
+ var arrayPop = unapply(Array.prototype.pop);
50
+ var arrayPush = unapply(Array.prototype.push);
51
+ var arraySlice = unapply(Array.prototype.slice);
52
+
53
+ var stringToLowerCase = unapply(String.prototype.toLowerCase);
54
+ var stringMatch = unapply(String.prototype.match);
55
+ var stringReplace = unapply(String.prototype.replace);
56
+ var stringIndexOf = unapply(String.prototype.indexOf);
57
+ var stringTrim = unapply(String.prototype.trim);
58
+
59
+ var regExpTest = unapply(RegExp.prototype.test);
60
+ var regExpCreate = unconstruct(RegExp);
61
+
62
+ var typeErrorCreate = unconstruct(TypeError);
63
+
64
+ function unapply(func) {
65
+ return function (thisArg) {
66
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
67
+ args[_key - 1] = arguments[_key];
68
+ }
69
+
70
+ return apply(func, thisArg, args);
71
+ };
72
+ }
73
+
74
+ function unconstruct(func) {
75
+ return function () {
76
+ for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
77
+ args[_key2] = arguments[_key2];
78
+ }
79
+
80
+ return construct(func, args);
81
+ };
82
+ }
83
+
84
+ /* Add properties to a lookup table */
85
+ function addToSet(set, array) {
86
+ if (setPrototypeOf) {
87
+ // Make 'in' and truthy checks like Boolean(set.constructor)
88
+ // independent of any properties defined on Object.prototype.
89
+ // Prevent prototype setters from intercepting set as a this value.
90
+ setPrototypeOf(set, null);
91
+ }
92
+
93
+ var l = array.length;
94
+ while (l--) {
95
+ var element = array[l];
96
+ if (typeof element === 'string') {
97
+ var lcElement = stringToLowerCase(element);
98
+ if (lcElement !== element) {
99
+ // Config presets (e.g. tags.js, attrs.js) are immutable.
100
+ if (!isFrozen(array)) {
101
+ array[l] = lcElement;
102
+ }
103
+
104
+ element = lcElement;
105
+ }
106
+ }
107
+
108
+ set[element] = true;
109
+ }
110
+
111
+ return set;
112
+ }
113
+
114
+ /* Shallow clone an object */
115
+ function clone(object) {
116
+ var newObject = {};
117
+
118
+ var property = void 0;
119
+ for (property in object) {
120
+ if (apply(hasOwnProperty, object, [property])) {
121
+ newObject[property] = object[property];
122
+ }
123
+ }
124
+
125
+ return newObject;
126
+ }
127
+
128
+ var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
129
+
130
+ // SVG
131
+ var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']);
132
+
133
+ var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
134
+
135
+ var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']);
136
+
137
+ var text = freeze(['#text']);
138
+
139
+ var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']);
140
+
141
+ var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
142
+
143
+ var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
144
+
145
+ var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
146
+
147
+ // eslint-disable-next-line unicorn/better-regex
148
+ var MUSTACHE_EXPR = seal(/\{\{[\s\S]*|[\s\S]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode
149
+ var ERB_EXPR = seal(/<%[\s\S]*|[\s\S]*%>/gm);
150
+ var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape
151
+ var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
152
+ var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
153
+ );
154
+ var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
155
+ var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g // eslint-disable-line no-control-regex
156
+ );
157
+
158
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
159
+
160
+ function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
161
+
162
+ var getGlobal = function getGlobal() {
163
+ return typeof window === 'undefined' ? null : window;
164
+ };
165
+
166
+ /**
167
+ * Creates a no-op policy for internal use only.
168
+ * Don't export this function outside this module!
169
+ * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.
170
+ * @param {Document} document The document object (to determine policy name suffix)
171
+ * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types
172
+ * are not supported).
173
+ */
174
+ var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {
175
+ if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {
176
+ return null;
177
+ }
178
+
179
+ // Allow the callers to control the unique policy name
180
+ // by adding a data-tt-policy-suffix to the script element with the DOMPurify.
181
+ // Policy creation with duplicate names throws in Trusted Types.
182
+ var suffix = null;
183
+ var ATTR_NAME = 'data-tt-policy-suffix';
184
+ if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {
185
+ suffix = document.currentScript.getAttribute(ATTR_NAME);
186
+ }
187
+
188
+ var policyName = 'dompurify' + (suffix ? '#' + suffix : '');
189
+
190
+ try {
191
+ return trustedTypes.createPolicy(policyName, {
192
+ createHTML: function createHTML(html$$1) {
193
+ return html$$1;
194
+ }
195
+ });
196
+ } catch (_) {
197
+ // Policy creation failed (most likely another DOMPurify script has
198
+ // already run). Skip creating the policy, as this will only cause errors
199
+ // if TT are enforced.
200
+ console.warn('TrustedTypes policy ' + policyName + ' could not be created.');
201
+ return null;
202
+ }
203
+ };
204
+
205
+ function createDOMPurify() {
206
+ var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
207
+
208
+ var DOMPurify = function DOMPurify(root) {
209
+ return createDOMPurify(root);
210
+ };
211
+
212
+ /**
213
+ * Version label, exposed for easier checks
214
+ * if DOMPurify is up to date or not
215
+ */
216
+ DOMPurify.version = '2.0.10';
217
+
218
+ /**
219
+ * Array of elements that DOMPurify removed during sanitation.
220
+ * Empty if nothing was removed.
221
+ */
222
+ DOMPurify.removed = [];
223
+
224
+ if (!window || !window.document || window.document.nodeType !== 9) {
225
+ // Not running in a browser, provide a factory function
226
+ // so that you can pass your own Window
227
+ DOMPurify.isSupported = false;
228
+
229
+ return DOMPurify;
230
+ }
231
+
232
+ var originalDocument = window.document;
233
+ var removeTitle = false;
234
+
235
+ var document = window.document;
236
+ var DocumentFragment = window.DocumentFragment,
237
+ HTMLTemplateElement = window.HTMLTemplateElement,
238
+ Node = window.Node,
239
+ NodeFilter = window.NodeFilter,
240
+ _window$NamedNodeMap = window.NamedNodeMap,
241
+ NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,
242
+ Text = window.Text,
243
+ Comment = window.Comment,
244
+ DOMParser = window.DOMParser,
245
+ trustedTypes = window.trustedTypes;
246
+
247
+ // As per issue #47, the web-components registry is inherited by a
248
+ // new document created via createHTMLDocument. As per the spec
249
+ // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)
250
+ // a new empty registry is used when creating a template contents owner
251
+ // document, so we use that as our parent document to ensure nothing
252
+ // is inherited.
253
+
254
+ if (typeof HTMLTemplateElement === 'function') {
255
+ var template = document.createElement('template');
256
+ if (template.content && template.content.ownerDocument) {
257
+ document = template.content.ownerDocument;
258
+ }
259
+ }
260
+
261
+ var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);
262
+ var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';
263
+
264
+ var _document = document,
265
+ implementation = _document.implementation,
266
+ createNodeIterator = _document.createNodeIterator,
267
+ getElementsByTagName = _document.getElementsByTagName,
268
+ createDocumentFragment = _document.createDocumentFragment;
269
+ var importNode = originalDocument.importNode;
270
+
271
+
272
+ var hooks = {};
273
+
274
+ /**
275
+ * Expose whether this browser supports running the full DOMPurify.
276
+ */
277
+ DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && document.documentMode !== 9;
278
+
279
+ var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR,
280
+ ERB_EXPR$$1 = ERB_EXPR,
281
+ DATA_ATTR$$1 = DATA_ATTR,
282
+ ARIA_ATTR$$1 = ARIA_ATTR,
283
+ IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA,
284
+ ATTR_WHITESPACE$$1 = ATTR_WHITESPACE;
285
+ var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI;
286
+
287
+ /**
288
+ * We consider the elements and attributes below to be safe. Ideally
289
+ * don't add any new ones but feel free to remove unwanted ones.
290
+ */
291
+
292
+ /* allowed element names */
293
+
294
+ var ALLOWED_TAGS = null;
295
+ var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));
296
+
297
+ /* Allowed attribute names */
298
+ var ALLOWED_ATTR = null;
299
+ var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml)));
300
+
301
+ /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */
302
+ var FORBID_TAGS = null;
303
+
304
+ /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
305
+ var FORBID_ATTR = null;
306
+
307
+ /* Decide if ARIA attributes are okay */
308
+ var ALLOW_ARIA_ATTR = true;
309
+
310
+ /* Decide if custom data attributes are okay */
311
+ var ALLOW_DATA_ATTR = true;
312
+
313
+ /* Decide if unknown protocols are okay */
314
+ var ALLOW_UNKNOWN_PROTOCOLS = false;
315
+
316
+ /* Output should be safe for jQuery's $() factory? */
317
+ var SAFE_FOR_JQUERY = false;
318
+
319
+ /* Output should be safe for common template engines.
320
+ * This means, DOMPurify removes data attributes, mustaches and ERB
321
+ */
322
+ var SAFE_FOR_TEMPLATES = false;
323
+
324
+ /* Decide if document with <html>... should be returned */
325
+ var WHOLE_DOCUMENT = false;
326
+
327
+ /* Track whether config is already set on this instance of DOMPurify. */
328
+ var SET_CONFIG = false;
329
+
330
+ /* Decide if all elements (e.g. style, script) must be children of
331
+ * document.body. By default, browsers might move them to document.head */
332
+ var FORCE_BODY = false;
333
+
334
+ /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html
335
+ * string (or a TrustedHTML object if Trusted Types are supported).
336
+ * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead
337
+ */
338
+ var RETURN_DOM = false;
339
+
340
+ /* Decide if a DOM `DocumentFragment` should be returned, instead of a html
341
+ * string (or a TrustedHTML object if Trusted Types are supported) */
342
+ var RETURN_DOM_FRAGMENT = false;
343
+
344
+ /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM
345
+ * `Node` is imported into the current `Document`. If this flag is not enabled the
346
+ * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by
347
+ * DOMPurify. */
348
+ var RETURN_DOM_IMPORT = false;
349
+
350
+ /* Try to return a Trusted Type object instead of a string, retrun a string in
351
+ * case Trusted Types are not supported */
352
+ var RETURN_TRUSTED_TYPE = false;
353
+
354
+ /* Output should be free from DOM clobbering attacks? */
355
+ var SANITIZE_DOM = true;
356
+
357
+ /* Keep element content when removing element? */
358
+ var KEEP_CONTENT = true;
359
+
360
+ /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead
361
+ * of importing it into a new Document and returning a sanitized copy */
362
+ var IN_PLACE = false;
363
+
364
+ /* Allow usage of profiles like html, svg and mathMl */
365
+ var USE_PROFILES = {};
366
+
367
+ /* Tags to ignore content of when KEEP_CONTENT is true */
368
+ var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);
369
+
370
+ /* Tags that are safe for data: URIs */
371
+ var DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);
372
+
373
+ /* Attributes safe for values like "javascript:" */
374
+ var URI_SAFE_ATTRIBUTES = null;
375
+ var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']);
376
+
377
+ /* Keep a reference to config to pass to hooks */
378
+ var CONFIG = null;
379
+
380
+ /* Ideally, do not touch anything below this line */
381
+ /* ______________________________________________ */
382
+
383
+ var formElement = document.createElement('form');
384
+
385
+ /**
386
+ * _parseConfig
387
+ *
388
+ * @param {Object} cfg optional config literal
389
+ */
390
+ // eslint-disable-next-line complexity
391
+ var _parseConfig = function _parseConfig(cfg) {
392
+ if (CONFIG && CONFIG === cfg) {
393
+ return;
394
+ }
395
+
396
+ /* Shield configuration object from tampering */
397
+ if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') {
398
+ cfg = {};
399
+ }
400
+
401
+ /* Set configuration parameters */
402
+ ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS;
403
+ ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR;
404
+ URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES;
405
+ FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};
406
+ FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};
407
+ USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;
408
+ ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true
409
+ ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true
410
+ ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false
411
+ SAFE_FOR_JQUERY = cfg.SAFE_FOR_JQUERY || false; // Default false
412
+ SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false
413
+ WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false
414
+ RETURN_DOM = cfg.RETURN_DOM || false; // Default false
415
+ RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false
416
+ RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false
417
+ RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false
418
+ FORCE_BODY = cfg.FORCE_BODY || false; // Default false
419
+ SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true
420
+ KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true
421
+ IN_PLACE = cfg.IN_PLACE || false; // Default false
422
+ IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1;
423
+ if (SAFE_FOR_TEMPLATES) {
424
+ ALLOW_DATA_ATTR = false;
425
+ }
426
+
427
+ if (RETURN_DOM_FRAGMENT) {
428
+ RETURN_DOM = true;
429
+ }
430
+
431
+ /* Parse profile info */
432
+ if (USE_PROFILES) {
433
+ ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text)));
434
+ ALLOWED_ATTR = [];
435
+ if (USE_PROFILES.html === true) {
436
+ addToSet(ALLOWED_TAGS, html);
437
+ addToSet(ALLOWED_ATTR, html$1);
438
+ }
439
+
440
+ if (USE_PROFILES.svg === true) {
441
+ addToSet(ALLOWED_TAGS, svg);
442
+ addToSet(ALLOWED_ATTR, svg$1);
443
+ addToSet(ALLOWED_ATTR, xml);
444
+ }
445
+
446
+ if (USE_PROFILES.svgFilters === true) {
447
+ addToSet(ALLOWED_TAGS, svgFilters);
448
+ addToSet(ALLOWED_ATTR, svg$1);
449
+ addToSet(ALLOWED_ATTR, xml);
450
+ }
451
+
452
+ if (USE_PROFILES.mathMl === true) {
453
+ addToSet(ALLOWED_TAGS, mathMl);
454
+ addToSet(ALLOWED_ATTR, mathMl$1);
455
+ addToSet(ALLOWED_ATTR, xml);
456
+ }
457
+ }
458
+
459
+ /* Merge configuration parameters */
460
+ if (cfg.ADD_TAGS) {
461
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
462
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
463
+ }
464
+
465
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);
466
+ }
467
+
468
+ if (cfg.ADD_ATTR) {
469
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
470
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
471
+ }
472
+
473
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);
474
+ }
475
+
476
+ if (cfg.ADD_URI_SAFE_ATTR) {
477
+ addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);
478
+ }
479
+
480
+ /* Add #text in case KEEP_CONTENT is set to true */
481
+ if (KEEP_CONTENT) {
482
+ ALLOWED_TAGS['#text'] = true;
483
+ }
484
+
485
+ /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */
486
+ if (WHOLE_DOCUMENT) {
487
+ addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);
488
+ }
489
+
490
+ /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */
491
+ if (ALLOWED_TAGS.table) {
492
+ addToSet(ALLOWED_TAGS, ['tbody']);
493
+ delete FORBID_TAGS.tbody;
494
+ }
495
+
496
+ // Prevent further manipulation of configuration.
497
+ // Not available in IE8, Safari 5, etc.
498
+ if (freeze) {
499
+ freeze(cfg);
500
+ }
501
+
502
+ CONFIG = cfg;
503
+ };
504
+
505
+ /**
506
+ * _forceRemove
507
+ *
508
+ * @param {Node} node a DOM node
509
+ */
510
+ var _forceRemove = function _forceRemove(node) {
511
+ arrayPush(DOMPurify.removed, { element: node });
512
+ try {
513
+ // eslint-disable-next-line unicorn/prefer-node-remove
514
+ node.parentNode.removeChild(node);
515
+ } catch (_) {
516
+ node.outerHTML = emptyHTML;
517
+ }
518
+ };
519
+
520
+ /**
521
+ * _removeAttribute
522
+ *
523
+ * @param {String} name an Attribute name
524
+ * @param {Node} node a DOM node
525
+ */
526
+ var _removeAttribute = function _removeAttribute(name, node) {
527
+ try {
528
+ arrayPush(DOMPurify.removed, {
529
+ attribute: node.getAttributeNode(name),
530
+ from: node
531
+ });
532
+ } catch (_) {
533
+ arrayPush(DOMPurify.removed, {
534
+ attribute: null,
535
+ from: node
536
+ });
537
+ }
538
+
539
+ node.removeAttribute(name);
540
+ };
541
+
542
+ /**
543
+ * _initDocument
544
+ *
545
+ * @param {String} dirty a string of dirty markup
546
+ * @return {Document} a DOM, filled with the dirty markup
547
+ */
548
+ var _initDocument = function _initDocument(dirty) {
549
+ /* Create a HTML document */
550
+ var doc = void 0;
551
+ var leadingWhitespace = void 0;
552
+
553
+ if (FORCE_BODY) {
554
+ dirty = '<remove></remove>' + dirty;
555
+ } else {
556
+ /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */
557
+ // eslint-disable-next-line unicorn/better-regex
558
+ var matches = stringMatch(dirty, /^[\s]+/);
559
+ leadingWhitespace = matches && matches[0];
560
+ }
561
+
562
+ var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
563
+ /* Use the DOMParser API by default, fallback later if needs be */
564
+ try {
565
+ doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');
566
+ } catch (_) {}
567
+
568
+ /* Remove title to fix a mXSS bug in older MS Edge */
569
+ if (removeTitle) {
570
+ addToSet(FORBID_TAGS, ['title']);
571
+ }
572
+
573
+ /* Use createHTMLDocument in case DOMParser is not available */
574
+ if (!doc || !doc.documentElement) {
575
+ doc = implementation.createHTMLDocument('');
576
+ var _doc = doc,
577
+ body = _doc.body;
578
+
579
+ body.parentNode.removeChild(body.parentNode.firstElementChild);
580
+ body.outerHTML = dirtyPayload;
581
+ }
582
+
583
+ if (dirty && leadingWhitespace) {
584
+ doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null);
585
+ }
586
+
587
+ /* Work on whole document or just its body */
588
+ return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];
589
+ };
590
+
591
+ /* Here we test for a broken feature in Edge that might cause mXSS */
592
+ if (DOMPurify.isSupported) {
593
+ (function () {
594
+ try {
595
+ var doc = _initDocument('<x/><title>&lt;/title&gt;&lt;img&gt;');
596
+ if (regExpTest(/<\/title/, doc.querySelector('title').innerHTML)) {
597
+ removeTitle = true;
598
+ }
599
+ } catch (_) {}
600
+ })();
601
+ }
602
+
603
+ /**
604
+ * _createIterator
605
+ *
606
+ * @param {Document} root document/fragment to create iterator for
607
+ * @return {Iterator} iterator instance
608
+ */
609
+ var _createIterator = function _createIterator(root) {
610
+ return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () {
611
+ return NodeFilter.FILTER_ACCEPT;
612
+ }, false);
613
+ };
614
+
615
+ /**
616
+ * _isClobbered
617
+ *
618
+ * @param {Node} elm element to check for clobbering attacks
619
+ * @return {Boolean} true if clobbered, false if safe
620
+ */
621
+ var _isClobbered = function _isClobbered(elm) {
622
+ if (elm instanceof Text || elm instanceof Comment) {
623
+ return false;
624
+ }
625
+
626
+ if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') {
627
+ return true;
628
+ }
629
+
630
+ return false;
631
+ };
632
+
633
+ /**
634
+ * _isNode
635
+ *
636
+ * @param {Node} obj object to check whether it's a DOM node
637
+ * @return {Boolean} true is object is a DOM node
638
+ */
639
+ var _isNode = function _isNode(object) {
640
+ return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';
641
+ };
642
+
643
+ /**
644
+ * _executeHook
645
+ * Execute user configurable hooks
646
+ *
647
+ * @param {String} entryPoint Name of the hook's entry point
648
+ * @param {Node} currentNode node to work on with the hook
649
+ * @param {Object} data additional hook parameters
650
+ */
651
+ var _executeHook = function _executeHook(entryPoint, currentNode, data) {
652
+ if (!hooks[entryPoint]) {
653
+ return;
654
+ }
655
+
656
+ arrayForEach(hooks[entryPoint], function (hook) {
657
+ hook.call(DOMPurify, currentNode, data, CONFIG);
658
+ });
659
+ };
660
+
661
+ /**
662
+ * _sanitizeElements
663
+ *
664
+ * @protect nodeName
665
+ * @protect textContent
666
+ * @protect removeChild
667
+ *
668
+ * @param {Node} currentNode to check for permission to exist
669
+ * @return {Boolean} true if node was killed, false if left alive
670
+ */
671
+ // eslint-disable-next-line complexity
672
+ var _sanitizeElements = function _sanitizeElements(currentNode) {
673
+ var content = void 0;
674
+
675
+ /* Execute a hook if present */
676
+ _executeHook('beforeSanitizeElements', currentNode, null);
677
+
678
+ /* Check if element is clobbered or can clobber */
679
+ if (_isClobbered(currentNode)) {
680
+ _forceRemove(currentNode);
681
+ return true;
682
+ }
683
+
684
+ /* Now let's check the element's type and name */
685
+ var tagName = stringToLowerCase(currentNode.nodeName);
686
+
687
+ /* Execute a hook if present */
688
+ _executeHook('uponSanitizeElement', currentNode, {
689
+ tagName: tagName,
690
+ allowedTags: ALLOWED_TAGS
691
+ });
692
+
693
+ /* Take care of an mXSS pattern using p, br inside svg, math */
694
+ if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br').length !== 0) {
695
+ _forceRemove(currentNode);
696
+ return true;
697
+ }
698
+
699
+ /* Remove element if anything forbids its presence */
700
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
701
+ /* Keep content except for black-listed elements */
702
+ if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') {
703
+ try {
704
+ var htmlToInsert = currentNode.innerHTML;
705
+ currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert);
706
+ } catch (_) {}
707
+ }
708
+
709
+ _forceRemove(currentNode);
710
+ return true;
711
+ }
712
+
713
+ /* Remove in case a noscript/noembed XSS is suspected */
714
+ if (tagName === 'noscript' && regExpTest(/<\/noscript/i, currentNode.innerHTML)) {
715
+ _forceRemove(currentNode);
716
+ return true;
717
+ }
718
+
719
+ if (tagName === 'noembed' && regExpTest(/<\/noembed/i, currentNode.innerHTML)) {
720
+ _forceRemove(currentNode);
721
+ return true;
722
+ }
723
+
724
+ /* Convert markup to cover jQuery behavior */
725
+ if (SAFE_FOR_JQUERY && !currentNode.firstElementChild && (!currentNode.content || !currentNode.content.firstElementChild) && regExpTest(/</g, currentNode.textContent)) {
726
+ arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });
727
+ if (currentNode.innerHTML) {
728
+ currentNode.innerHTML = stringReplace(currentNode.innerHTML, /</g, '&lt;');
729
+ } else {
730
+ currentNode.innerHTML = stringReplace(currentNode.textContent, /</g, '&lt;');
731
+ }
732
+ }
733
+
734
+ /* Sanitize element content to be template-safe */
735
+ if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {
736
+ /* Get the element's text content */
737
+ content = currentNode.textContent;
738
+ content = stringReplace(content, MUSTACHE_EXPR$$1, ' ');
739
+ content = stringReplace(content, ERB_EXPR$$1, ' ');
740
+ if (currentNode.textContent !== content) {
741
+ arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });
742
+ currentNode.textContent = content;
743
+ }
744
+ }
745
+
746
+ /* Execute a hook if present */
747
+ _executeHook('afterSanitizeElements', currentNode, null);
748
+
749
+ return false;
750
+ };
751
+
752
+ /**
753
+ * _isValidAttribute
754
+ *
755
+ * @param {string} lcTag Lowercase tag name of containing element.
756
+ * @param {string} lcName Lowercase attribute name.
757
+ * @param {string} value Attribute value.
758
+ * @return {Boolean} Returns true if `value` is valid, otherwise false.
759
+ */
760
+ // eslint-disable-next-line complexity
761
+ var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {
762
+ /* Make sure attribute cannot clobber */
763
+ if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {
764
+ return false;
765
+ }
766
+
767
+ /* Allow valid data-* attributes: At least one character after "-"
768
+ (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
769
+ XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
770
+ We don't need to check the value; it's always URI safe. */
771
+ if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
772
+ return false;
773
+
774
+ /* Check value is safe. First, is attr inert? If so, is safe */
775
+ } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else {
776
+ return false;
777
+ }
778
+
779
+ return true;
780
+ };
781
+
782
+ /**
783
+ * _sanitizeAttributes
784
+ *
785
+ * @protect attributes
786
+ * @protect nodeName
787
+ * @protect removeAttribute
788
+ * @protect setAttribute
789
+ *
790
+ * @param {Node} currentNode to sanitize
791
+ */
792
+ // eslint-disable-next-line complexity
793
+ var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {
794
+ var attr = void 0;
795
+ var value = void 0;
796
+ var lcName = void 0;
797
+ var idAttr = void 0;
798
+ var l = void 0;
799
+ /* Execute a hook if present */
800
+ _executeHook('beforeSanitizeAttributes', currentNode, null);
801
+
802
+ var attributes = currentNode.attributes;
803
+
804
+ /* Check if we have attributes; if not we might have a text node */
805
+
806
+ if (!attributes) {
807
+ return;
808
+ }
809
+
810
+ var hookEvent = {
811
+ attrName: '',
812
+ attrValue: '',
813
+ keepAttr: true,
814
+ allowedAttributes: ALLOWED_ATTR
815
+ };
816
+ l = attributes.length;
817
+
818
+ /* Go backwards over all attributes; safely remove bad ones */
819
+ while (l--) {
820
+ attr = attributes[l];
821
+ var _attr = attr,
822
+ name = _attr.name,
823
+ namespaceURI = _attr.namespaceURI;
824
+
825
+ value = stringTrim(attr.value);
826
+ lcName = stringToLowerCase(name);
827
+
828
+ /* Execute a hook if present */
829
+ hookEvent.attrName = lcName;
830
+ hookEvent.attrValue = value;
831
+ hookEvent.keepAttr = true;
832
+ hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
833
+ _executeHook('uponSanitizeAttribute', currentNode, hookEvent);
834
+ value = hookEvent.attrValue;
835
+ /* Did the hooks approve of the attribute? */
836
+ if (hookEvent.forceKeepAttr) {
837
+ continue;
838
+ }
839
+
840
+ /* Remove attribute */
841
+ // Safari (iOS + Mac), last tested v8.0.5, crashes if you try to
842
+ // remove a "name" attribute from an <img> tag that has an "id"
843
+ // attribute at the time.
844
+ if (lcName === 'name' && currentNode.nodeName === 'IMG' && attributes.id) {
845
+ idAttr = attributes.id;
846
+ attributes = arraySlice(attributes, []);
847
+ _removeAttribute('id', currentNode);
848
+ _removeAttribute(name, currentNode);
849
+ if (arrayIndexOf(attributes, idAttr) > l) {
850
+ currentNode.setAttribute('id', idAttr.value);
851
+ }
852
+ } else if (
853
+ // This works around a bug in Safari, where input[type=file]
854
+ // cannot be dynamically set after type has been removed
855
+ currentNode.nodeName === 'INPUT' && lcName === 'type' && value === 'file' && hookEvent.keepAttr && (ALLOWED_ATTR[lcName] || !FORBID_ATTR[lcName])) {
856
+ continue;
857
+ } else {
858
+ // This avoids a crash in Safari v9.0 with double-ids.
859
+ // The trick is to first set the id to be empty and then to
860
+ // remove the attribute
861
+ if (name === 'id') {
862
+ currentNode.setAttribute(name, '');
863
+ }
864
+
865
+ _removeAttribute(name, currentNode);
866
+ }
867
+
868
+ /* Did the hooks approve of the attribute? */
869
+ if (!hookEvent.keepAttr) {
870
+ continue;
871
+ }
872
+
873
+ /* Work around a security issue in jQuery 3.0 */
874
+ if (SAFE_FOR_JQUERY && regExpTest(/\/>/i, value)) {
875
+ _removeAttribute(name, currentNode);
876
+ continue;
877
+ }
878
+
879
+ /* Take care of an mXSS pattern using namespace switches */
880
+ if (regExpTest(/svg|math/i, currentNode.namespaceURI) && regExpTest(regExpCreate('</(' + arrayJoin(objectKeys(FORBID_CONTENTS), '|') + ')', 'i'), value)) {
881
+ _removeAttribute(name, currentNode);
882
+ continue;
883
+ }
884
+
885
+ /* Sanitize attribute content to be template-safe */
886
+ if (SAFE_FOR_TEMPLATES) {
887
+ value = stringReplace(value, MUSTACHE_EXPR$$1, ' ');
888
+ value = stringReplace(value, ERB_EXPR$$1, ' ');
889
+ }
890
+
891
+ /* Is `value` valid for this attribute? */
892
+ var lcTag = currentNode.nodeName.toLowerCase();
893
+ if (!_isValidAttribute(lcTag, lcName, value)) {
894
+ continue;
895
+ }
896
+
897
+ /* Handle invalid data-* attribute set by try-catching it */
898
+ try {
899
+ if (namespaceURI) {
900
+ currentNode.setAttributeNS(namespaceURI, name, value);
901
+ } else {
902
+ /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */
903
+ currentNode.setAttribute(name, value);
904
+ }
905
+
906
+ arrayPop(DOMPurify.removed);
907
+ } catch (_) {}
908
+ }
909
+
910
+ /* Execute a hook if present */
911
+ _executeHook('afterSanitizeAttributes', currentNode, null);
912
+ };
913
+
914
+ /**
915
+ * _sanitizeShadowDOM
916
+ *
917
+ * @param {DocumentFragment} fragment to iterate over recursively
918
+ */
919
+ var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {
920
+ var shadowNode = void 0;
921
+ var shadowIterator = _createIterator(fragment);
922
+
923
+ /* Execute a hook if present */
924
+ _executeHook('beforeSanitizeShadowDOM', fragment, null);
925
+
926
+ while (shadowNode = shadowIterator.nextNode()) {
927
+ /* Execute a hook if present */
928
+ _executeHook('uponSanitizeShadowNode', shadowNode, null);
929
+
930
+ /* Sanitize tags and elements */
931
+ if (_sanitizeElements(shadowNode)) {
932
+ continue;
933
+ }
934
+
935
+ /* Deep shadow DOM detected */
936
+ if (shadowNode.content instanceof DocumentFragment) {
937
+ _sanitizeShadowDOM(shadowNode.content);
938
+ }
939
+
940
+ /* Check attributes, sanitize if necessary */
941
+ _sanitizeAttributes(shadowNode);
942
+ }
943
+
944
+ /* Execute a hook if present */
945
+ _executeHook('afterSanitizeShadowDOM', fragment, null);
946
+ };
947
+
948
+ /**
949
+ * Sanitize
950
+ * Public method providing core sanitation functionality
951
+ *
952
+ * @param {String|Node} dirty string or DOM node
953
+ * @param {Object} configuration object
954
+ */
955
+ // eslint-disable-next-line complexity
956
+ DOMPurify.sanitize = function (dirty, cfg) {
957
+ var body = void 0;
958
+ var importedNode = void 0;
959
+ var currentNode = void 0;
960
+ var oldNode = void 0;
961
+ var returnNode = void 0;
962
+ /* Make sure we have a string to sanitize.
963
+ DO NOT return early, as this will return the wrong type if
964
+ the user has requested a DOM object rather than a string */
965
+ if (!dirty) {
966
+ dirty = '<!-->';
967
+ }
968
+
969
+ /* Stringify, in case dirty is an object */
970
+ if (typeof dirty !== 'string' && !_isNode(dirty)) {
971
+ // eslint-disable-next-line no-negated-condition
972
+ if (typeof dirty.toString !== 'function') {
973
+ throw typeErrorCreate('toString is not a function');
974
+ } else {
975
+ dirty = dirty.toString();
976
+ if (typeof dirty !== 'string') {
977
+ throw typeErrorCreate('dirty is not a string, aborting');
978
+ }
979
+ }
980
+ }
981
+
982
+ /* Check we can run. Otherwise fall back or ignore */
983
+ if (!DOMPurify.isSupported) {
984
+ if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {
985
+ if (typeof dirty === 'string') {
986
+ return window.toStaticHTML(dirty);
987
+ }
988
+
989
+ if (_isNode(dirty)) {
990
+ return window.toStaticHTML(dirty.outerHTML);
991
+ }
992
+ }
993
+
994
+ return dirty;
995
+ }
996
+
997
+ /* Assign config vars */
998
+ if (!SET_CONFIG) {
999
+ _parseConfig(cfg);
1000
+ }
1001
+
1002
+ /* Clean up removed elements */
1003
+ DOMPurify.removed = [];
1004
+
1005
+ /* Check if dirty is correctly typed for IN_PLACE */
1006
+ if (typeof dirty === 'string') {
1007
+ IN_PLACE = false;
1008
+ }
1009
+
1010
+ if (IN_PLACE) ; else if (dirty instanceof Node) {
1011
+ /* If dirty is a DOM element, append to an empty document to avoid
1012
+ elements being stripped by the parser */
1013
+ body = _initDocument('<!-->');
1014
+ importedNode = body.ownerDocument.importNode(dirty, true);
1015
+ if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {
1016
+ /* Node is already a body, use as is */
1017
+ body = importedNode;
1018
+ } else if (importedNode.nodeName === 'HTML') {
1019
+ body = importedNode;
1020
+ } else {
1021
+ // eslint-disable-next-line unicorn/prefer-node-append
1022
+ body.appendChild(importedNode);
1023
+ }
1024
+ } else {
1025
+ /* Exit directly if we have nothing to do */
1026
+ if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && RETURN_TRUSTED_TYPE &&
1027
+ // eslint-disable-next-line unicorn/prefer-includes
1028
+ dirty.indexOf('<') === -1) {
1029
+ return trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;
1030
+ }
1031
+
1032
+ /* Initialize the document to work on */
1033
+ body = _initDocument(dirty);
1034
+
1035
+ /* Check we have a DOM node from the data */
1036
+ if (!body) {
1037
+ return RETURN_DOM ? null : emptyHTML;
1038
+ }
1039
+ }
1040
+
1041
+ /* Remove first element node (ours) if FORCE_BODY is set */
1042
+ if (body && FORCE_BODY) {
1043
+ _forceRemove(body.firstChild);
1044
+ }
1045
+
1046
+ /* Get node iterator */
1047
+ var nodeIterator = _createIterator(IN_PLACE ? dirty : body);
1048
+
1049
+ /* Now start iterating over the created document */
1050
+ while (currentNode = nodeIterator.nextNode()) {
1051
+ /* Fix IE's strange behavior with manipulated textNodes #89 */
1052
+ if (currentNode.nodeType === 3 && currentNode === oldNode) {
1053
+ continue;
1054
+ }
1055
+
1056
+ /* Sanitize tags and elements */
1057
+ if (_sanitizeElements(currentNode)) {
1058
+ continue;
1059
+ }
1060
+
1061
+ /* Shadow DOM detected, sanitize it */
1062
+ if (currentNode.content instanceof DocumentFragment) {
1063
+ _sanitizeShadowDOM(currentNode.content);
1064
+ }
1065
+
1066
+ /* Check attributes, sanitize if necessary */
1067
+ _sanitizeAttributes(currentNode);
1068
+
1069
+ oldNode = currentNode;
1070
+ }
1071
+
1072
+ oldNode = null;
1073
+
1074
+ /* If we sanitized `dirty` in-place, return it. */
1075
+ if (IN_PLACE) {
1076
+ return dirty;
1077
+ }
1078
+
1079
+ /* Return sanitized string or DOM */
1080
+ if (RETURN_DOM) {
1081
+ if (RETURN_DOM_FRAGMENT) {
1082
+ returnNode = createDocumentFragment.call(body.ownerDocument);
1083
+
1084
+ while (body.firstChild) {
1085
+ // eslint-disable-next-line unicorn/prefer-node-append
1086
+ returnNode.appendChild(body.firstChild);
1087
+ }
1088
+ } else {
1089
+ returnNode = body;
1090
+ }
1091
+
1092
+ if (RETURN_DOM_IMPORT) {
1093
+ /*
1094
+ AdoptNode() is not used because internal state is not reset
1095
+ (e.g. the past names map of a HTMLFormElement), this is safe
1096
+ in theory but we would rather not risk another attack vector.
1097
+ The state that is cloned by importNode() is explicitly defined
1098
+ by the specs.
1099
+ */
1100
+ returnNode = importNode.call(originalDocument, returnNode, true);
1101
+ }
1102
+
1103
+ return returnNode;
1104
+ }
1105
+
1106
+ var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;
1107
+
1108
+ /* Sanitize final string template-safe */
1109
+ if (SAFE_FOR_TEMPLATES) {
1110
+ serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' ');
1111
+ serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' ');
1112
+ }
1113
+
1114
+ return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;
1115
+ };
1116
+
1117
+ /**
1118
+ * Public method to set the configuration once
1119
+ * setConfig
1120
+ *
1121
+ * @param {Object} cfg configuration object
1122
+ */
1123
+ DOMPurify.setConfig = function (cfg) {
1124
+ _parseConfig(cfg);
1125
+ SET_CONFIG = true;
1126
+ };
1127
+
1128
+ /**
1129
+ * Public method to remove the configuration
1130
+ * clearConfig
1131
+ *
1132
+ */
1133
+ DOMPurify.clearConfig = function () {
1134
+ CONFIG = null;
1135
+ SET_CONFIG = false;
1136
+ };
1137
+
1138
+ /**
1139
+ * Public method to check if an attribute value is valid.
1140
+ * Uses last set config, if any. Otherwise, uses config defaults.
1141
+ * isValidAttribute
1142
+ *
1143
+ * @param {string} tag Tag name of containing element.
1144
+ * @param {string} attr Attribute name.
1145
+ * @param {string} value Attribute value.
1146
+ * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.
1147
+ */
1148
+ DOMPurify.isValidAttribute = function (tag, attr, value) {
1149
+ /* Initialize shared config vars if necessary. */
1150
+ if (!CONFIG) {
1151
+ _parseConfig({});
1152
+ }
1153
+
1154
+ var lcTag = stringToLowerCase(tag);
1155
+ var lcName = stringToLowerCase(attr);
1156
+ return _isValidAttribute(lcTag, lcName, value);
1157
+ };
1158
+
1159
+ /**
1160
+ * AddHook
1161
+ * Public method to add DOMPurify hooks
1162
+ *
1163
+ * @param {String} entryPoint entry point for the hook to add
1164
+ * @param {Function} hookFunction function to execute
1165
+ */
1166
+ DOMPurify.addHook = function (entryPoint, hookFunction) {
1167
+ if (typeof hookFunction !== 'function') {
1168
+ return;
1169
+ }
1170
+
1171
+ hooks[entryPoint] = hooks[entryPoint] || [];
1172
+ arrayPush(hooks[entryPoint], hookFunction);
1173
+ };
1174
+
1175
+ /**
1176
+ * RemoveHook
1177
+ * Public method to remove a DOMPurify hook at a given entryPoint
1178
+ * (pops it from the stack of hooks if more are present)
1179
+ *
1180
+ * @param {String} entryPoint entry point for the hook to remove
1181
+ */
1182
+ DOMPurify.removeHook = function (entryPoint) {
1183
+ if (hooks[entryPoint]) {
1184
+ arrayPop(hooks[entryPoint]);
1185
+ }
1186
+ };
1187
+
1188
+ /**
1189
+ * RemoveHooks
1190
+ * Public method to remove all DOMPurify hooks at a given entryPoint
1191
+ *
1192
+ * @param {String} entryPoint entry point for the hooks to remove
1193
+ */
1194
+ DOMPurify.removeHooks = function (entryPoint) {
1195
+ if (hooks[entryPoint]) {
1196
+ hooks[entryPoint] = [];
1197
+ }
1198
+ };
1199
+
1200
+ /**
1201
+ * RemoveAllHooks
1202
+ * Public method to remove all DOMPurify hooks
1203
+ *
1204
+ */
1205
+ DOMPurify.removeAllHooks = function () {
1206
+ hooks = {};
1207
+ };
1208
+
1209
+ return DOMPurify;
1210
+ }
1211
+
1212
+ var purify = createDOMPurify();
1213
+
1214
+ return purify;
1215
+
1216
+ }));
1217
+ //# sourceMappingURL=purify.js.map
assets/js/purify.min.js ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ /*! @license DOMPurify | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.0.8/LICENSE */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).DOMPurify=t()}(this,(function(){"use strict";var e=Object.hasOwnProperty,t=Object.setPrototypeOf,n=Object.isFrozen,r=Object.keys,o=Object.freeze,i=Object.seal,a="undefined"!=typeof Reflect&&Reflect,l=a.apply,c=a.construct;l||(l=function(e,t,n){return e.apply(t,n)}),o||(o=function(e){return e}),i||(i=function(e){return e}),c||(c=function(e,t){return new(Function.prototype.bind.apply(e,[null].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))))});var s=S(Array.prototype.forEach),u=S(Array.prototype.indexOf),d=S(Array.prototype.join),f=S(Array.prototype.pop),p=S(Array.prototype.push),m=S(Array.prototype.slice),y=S(String.prototype.toLowerCase),g=S(String.prototype.match),h=S(String.prototype.replace),v=S(String.prototype.indexOf),b=S(String.prototype.trim),T=S(RegExp.prototype.test),A=k(RegExp),x=k(TypeError);function S(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return l(e,t,r)}}function k(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return c(e,n)}}function L(e,r){t&&t(e,null);for(var o=r.length;o--;){var i=r[o];if("string"==typeof i){var a=y(i);a!==i&&(n(r)||(r[o]=a),i=a)}e[i]=!0}return e}function E(t){var n={},r=void 0;for(r in t)l(e,t,[r])&&(n[r]=t[r]);return n}var M=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","audio","canvas","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","video","view","vkern"]),N=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),O=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover"]),w=o(["#text"]),D=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns"]),R=o(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","tabindex","targetx","targety","transform","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),H=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),C=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),F=i(/\{\{[\s\S]*|[\s\S]*\}\}/gm),z=i(/<%[\s\S]*|[\s\S]*%>/gm),I=i(/^data-[\-\w.\u00B7-\uFFFF]/),j=i(/^aria-[\-\w]+$/),U=i(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),P=i(/^(?:\w+script|data):/i),W=i(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function G(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var q=function(){return"undefined"==typeof window?null:window},K=function(e,t){if("object"!==(void 0===e?"undefined":B(e))||"function"!=typeof e.createPolicy)return null;var n=null;t.currentScript&&t.currentScript.hasAttribute("data-tt-policy-suffix")&&(n=t.currentScript.getAttribute("data-tt-policy-suffix"));var r="dompurify"+(n?"#"+n:"");try{return e.createPolicy(r,{createHTML:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+r+" could not be created."),null}};return function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:q(),n=function(t){return e(t)};if(n.version="2.0.10",n.removed=[],!t||!t.document||9!==t.document.nodeType)return n.isSupported=!1,n;var i=t.document,a=!1,l=t.document,c=t.DocumentFragment,S=t.HTMLTemplateElement,k=t.Node,V=t.NodeFilter,Y=t.NamedNodeMap,X=void 0===Y?t.NamedNodeMap||t.MozNamedAttrMap:Y,$=t.Text,J=t.Comment,Q=t.DOMParser,Z=t.trustedTypes;if("function"==typeof S){var ee=l.createElement("template");ee.content&&ee.content.ownerDocument&&(l=ee.content.ownerDocument)}var te=K(Z,i),ne=te?te.createHTML(""):"",re=l,oe=re.implementation,ie=re.createNodeIterator,ae=re.getElementsByTagName,le=re.createDocumentFragment,ce=i.importNode,se={};n.isSupported=oe&&void 0!==oe.createHTMLDocument&&9!==l.documentMode;var ue=F,de=z,fe=I,pe=j,me=P,ye=W,ge=U,he=null,ve=L({},[].concat(G(M),G(_),G(N),G(O),G(w))),be=null,Te=L({},[].concat(G(D),G(R),G(H),G(C))),Ae=null,xe=null,Se=!0,ke=!0,Le=!1,Ee=!1,Me=!1,_e=!1,Ne=!1,Oe=!1,we=!1,De=!1,Re=!1,He=!1,Ce=!0,Fe=!0,ze=!1,Ie={},je=L({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ue=L({},["audio","video","img","source","image","track"]),Pe=null,We=L({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),Be=null,Ge=l.createElement("form"),qe=function(e){Be&&Be===e||(e&&"object"===(void 0===e?"undefined":B(e))||(e={}),he="ALLOWED_TAGS"in e?L({},e.ALLOWED_TAGS):ve,be="ALLOWED_ATTR"in e?L({},e.ALLOWED_ATTR):Te,Pe="ADD_URI_SAFE_ATTR"in e?L(E(We),e.ADD_URI_SAFE_ATTR):We,Ae="FORBID_TAGS"in e?L({},e.FORBID_TAGS):{},xe="FORBID_ATTR"in e?L({},e.FORBID_ATTR):{},Ie="USE_PROFILES"in e&&e.USE_PROFILES,Se=!1!==e.ALLOW_ARIA_ATTR,ke=!1!==e.ALLOW_DATA_ATTR,Le=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ee=e.SAFE_FOR_JQUERY||!1,Me=e.SAFE_FOR_TEMPLATES||!1,_e=e.WHOLE_DOCUMENT||!1,we=e.RETURN_DOM||!1,De=e.RETURN_DOM_FRAGMENT||!1,Re=e.RETURN_DOM_IMPORT||!1,He=e.RETURN_TRUSTED_TYPE||!1,Oe=e.FORCE_BODY||!1,Ce=!1!==e.SANITIZE_DOM,Fe=!1!==e.KEEP_CONTENT,ze=e.IN_PLACE||!1,ge=e.ALLOWED_URI_REGEXP||ge,Me&&(ke=!1),De&&(we=!0),Ie&&(he=L({},[].concat(G(w))),be=[],!0===Ie.html&&(L(he,M),L(be,D)),!0===Ie.svg&&(L(he,_),L(be,R),L(be,C)),!0===Ie.svgFilters&&(L(he,N),L(be,R),L(be,C)),!0===Ie.mathMl&&(L(he,O),L(be,H),L(be,C))),e.ADD_TAGS&&(he===ve&&(he=E(he)),L(he,e.ADD_TAGS)),e.ADD_ATTR&&(be===Te&&(be=E(be)),L(be,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&L(Pe,e.ADD_URI_SAFE_ATTR),Fe&&(he["#text"]=!0),_e&&L(he,["html","head","body"]),he.table&&(L(he,["tbody"]),delete Ae.tbody),o&&o(e),Be=e)},Ke=function(e){p(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){e.outerHTML=ne}},Ve=function(e,t){try{p(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){p(n.removed,{attribute:null,from:t})}t.removeAttribute(e)},Ye=function(e){var t=void 0,n=void 0;if(Oe)e="<remove></remove>"+e;else{var r=g(e,/^[\s]+/);n=r&&r[0]}var o=te?te.createHTML(e):e;try{t=(new Q).parseFromString(o,"text/html")}catch(e){}if(a&&L(Ae,["title"]),!t||!t.documentElement){var i=(t=oe.createHTMLDocument("")).body;i.parentNode.removeChild(i.parentNode.firstElementChild),i.outerHTML=o}return e&&n&&t.body.insertBefore(l.createTextNode(n),t.body.childNodes[0]||null),ae.call(t,_e?"html":"body")[0]};n.isSupported&&function(){try{var e=Ye("<x/><title>&lt;/title&gt;&lt;img&gt;");T(/<\/title/,e.querySelector("title").innerHTML)&&(a=!0)}catch(e){}}();var Xe=function(e){return ie.call(e.ownerDocument||e,e,V.SHOW_ELEMENT|V.SHOW_COMMENT|V.SHOW_TEXT,(function(){return V.FILTER_ACCEPT}),!1)},$e=function(e){return!(e instanceof $||e instanceof J)&&!("string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof X&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI)},Je=function(e){return"object"===(void 0===k?"undefined":B(k))?e instanceof k:e&&"object"===(void 0===e?"undefined":B(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},Qe=function(e,t,r){se[e]&&s(se[e],(function(e){e.call(n,t,r,Be)}))},Ze=function(e){var t=void 0;if(Qe("beforeSanitizeElements",e,null),$e(e))return Ke(e),!0;var r=y(e.nodeName);if(Qe("uponSanitizeElement",e,{tagName:r,allowedTags:he}),("svg"===r||"math"===r)&&0!==e.querySelectorAll("p, br").length)return Ke(e),!0;if(!he[r]||Ae[r]){if(Fe&&!je[r]&&"function"==typeof e.insertAdjacentHTML)try{var o=e.innerHTML;e.insertAdjacentHTML("AfterEnd",te?te.createHTML(o):o)}catch(e){}return Ke(e),!0}return"noscript"===r&&T(/<\/noscript/i,e.innerHTML)||"noembed"===r&&T(/<\/noembed/i,e.innerHTML)?(Ke(e),!0):(!Ee||e.firstElementChild||e.content&&e.content.firstElementChild||!T(/</g,e.textContent)||(p(n.removed,{element:e.cloneNode()}),e.innerHTML?e.innerHTML=h(e.innerHTML,/</g,"&lt;"):e.innerHTML=h(e.textContent,/</g,"&lt;")),Me&&3===e.nodeType&&(t=e.textContent,t=h(t,ue," "),t=h(t,de," "),e.textContent!==t&&(p(n.removed,{element:e.cloneNode()}),e.textContent=t)),Qe("afterSanitizeElements",e,null),!1)},et=function(e,t,n){if(Ce&&("id"===t||"name"===t)&&(n in l||n in Ge))return!1;if(ke&&T(fe,t));else if(Se&&T(pe,t));else{if(!be[t]||xe[t])return!1;if(Pe[t]);else if(T(ge,h(n,ye,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==v(n,"data:")||!Ue[e]){if(Le&&!T(me,h(n,ye,"")));else if(n)return!1}else;}return!0},tt=function(e){var t=void 0,o=void 0,i=void 0,a=void 0,l=void 0;Qe("beforeSanitizeAttributes",e,null);var c=e.attributes;if(c){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:be};for(l=c.length;l--;){var p=t=c[l],g=p.name,v=p.namespaceURI;if(o=b(t.value),i=y(g),s.attrName=i,s.attrValue=o,s.keepAttr=!0,s.forceKeepAttr=void 0,Qe("uponSanitizeAttribute",e,s),o=s.attrValue,!s.forceKeepAttr){if("name"===i&&"IMG"===e.nodeName&&c.id)a=c.id,c=m(c,[]),Ve("id",e),Ve(g,e),u(c,a)>l&&e.setAttribute("id",a.value);else{if("INPUT"===e.nodeName&&"type"===i&&"file"===o&&s.keepAttr&&(be[i]||!xe[i]))continue;"id"===g&&e.setAttribute(g,""),Ve(g,e)}if(s.keepAttr)if(Ee&&T(/\/>/i,o))Ve(g,e);else if(T(/svg|math/i,e.namespaceURI)&&T(A("</("+d(r(je),"|")+")","i"),o))Ve(g,e);else{Me&&(o=h(o,ue," "),o=h(o,de," "));var x=e.nodeName.toLowerCase();if(et(x,i,o))try{v?e.setAttributeNS(v,g,o):e.setAttribute(g,o),f(n.removed)}catch(e){}}}}Qe("afterSanitizeAttributes",e,null)}},nt=function e(t){var n=void 0,r=Xe(t);for(Qe("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)Qe("uponSanitizeShadowNode",n,null),Ze(n)||(n.content instanceof c&&e(n.content),tt(n));Qe("afterSanitizeShadowDOM",t,null)};return n.sanitize=function(e,r){var o=void 0,a=void 0,l=void 0,s=void 0,u=void 0;if(e||(e="\x3c!--\x3e"),"string"!=typeof e&&!Je(e)){if("function"!=typeof e.toString)throw x("toString is not a function");if("string"!=typeof(e=e.toString()))throw x("dirty is not a string, aborting")}if(!n.isSupported){if("object"===B(t.toStaticHTML)||"function"==typeof t.toStaticHTML){if("string"==typeof e)return t.toStaticHTML(e);if(Je(e))return t.toStaticHTML(e.outerHTML)}return e}if(Ne||qe(r),n.removed=[],"string"==typeof e&&(ze=!1),ze);else if(e instanceof k)1===(a=(o=Ye("\x3c!--\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?o=a:o.appendChild(a);else{if(!we&&!Me&&!_e&&He&&-1===e.indexOf("<"))return te?te.createHTML(e):e;if(!(o=Ye(e)))return we?null:ne}o&&Oe&&Ke(o.firstChild);for(var d=Xe(ze?e:o);l=d.nextNode();)3===l.nodeType&&l===s||Ze(l)||(l.content instanceof c&&nt(l.content),tt(l),s=l);if(s=null,ze)return e;if(we){if(De)for(u=le.call(o.ownerDocument);o.firstChild;)u.appendChild(o.firstChild);else u=o;return Re&&(u=ce.call(i,u,!0)),u}var f=_e?o.outerHTML:o.innerHTML;return Me&&(f=h(f,ue," "),f=h(f,de," ")),te&&He?te.createHTML(f):f},n.setConfig=function(e){qe(e),Ne=!0},n.clearConfig=function(){Be=null,Ne=!1},n.isValidAttribute=function(e,t,n){Be||qe({});var r=y(e),o=y(t);return et(r,o,n)},n.addHook=function(e,t){"function"==typeof t&&(se[e]=se[e]||[],p(se[e],t))},n.removeHook=function(e){se[e]&&f(se[e])},n.removeHooks=function(e){se[e]&&(se[e]=[])},n.removeAllHooks=function(){se={}},n}()}));
3
+ //# sourceMappingURL=purify.min.js.map
assets/js/purify.min.js.map ADDED
@@ -0,0 +1 @@
 
1
+ {"version":3,"file":"purify.min.js","sources":["../src/utils.js","../src/tags.js","../src/attrs.js","../src/regexp.js","../src/purify.js"],"sourcesContent":["const { hasOwnProperty, setPrototypeOf, isFrozen, keys: objectKeys } = Object;\n\nlet { freeze, seal } = Object; // eslint-disable-line import/no-mutable-exports\nlet { apply, construct } = typeof Reflect !== 'undefined' && Reflect;\n\nif (!apply) {\n apply = function (fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n}\n\nif (!freeze) {\n freeze = function (x) {\n return x;\n };\n}\n\nif (!seal) {\n seal = function (x) {\n return x;\n };\n}\n\nif (!construct) {\n construct = function (Func, args) {\n return new Func(...args);\n };\n}\n\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayIndexOf = unapply(Array.prototype.indexOf);\nconst arrayJoin = unapply(Array.prototype.join);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySlice = unapply(Array.prototype.slice);\n\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\n\nconst regExpTest = unapply(RegExp.prototype.test);\nconst regExpCreate = unconstruct(RegExp);\n\nconst typeErrorCreate = unconstruct(TypeError);\n\nexport function unapply(func) {\n return (thisArg, ...args) => apply(func, thisArg, args);\n}\n\nexport function unconstruct(func) {\n return (...args) => construct(func, args);\n}\n\n/* Add properties to a lookup table */\nexport function addToSet(set, array) {\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = stringToLowerCase(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n}\n\n/* Shallow clone an object */\nexport function clone(object) {\n const newObject = {};\n\n let property;\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n}\n\nexport {\n // Array\n arrayForEach,\n arrayIndexOf,\n arrayJoin,\n arrayPop,\n arrayPush,\n arraySlice,\n // Object\n freeze,\n hasOwnProperty,\n isFrozen,\n objectKeys,\n setPrototypeOf,\n seal,\n // RegExp\n regExpCreate,\n regExpTest,\n // String\n stringIndexOf,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringTrim,\n // Errors\n typeErrorCreate,\n};\n","import { freeze } from './utils';\n\nexport const html = freeze([\n 'a',\n 'abbr',\n 'acronym',\n 'address',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blink',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'content',\n 'data',\n 'datalist',\n 'dd',\n 'decorator',\n 'del',\n 'details',\n 'dfn',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'element',\n 'em',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'font',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hgroup',\n 'hr',\n 'html',\n 'i',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'main',\n 'map',\n 'mark',\n 'marquee',\n 'menu',\n 'menuitem',\n 'meter',\n 'nav',\n 'nobr',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n 'section',\n 'select',\n 'shadow',\n 'small',\n 'source',\n 'spacer',\n 'span',\n 'strike',\n 'strong',\n 'style',\n 'sub',\n 'summary',\n 'sup',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n 'tr',\n 'track',\n 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n]);\n\n// SVG\nexport const svg = freeze([\n 'svg',\n 'a',\n 'altglyph',\n 'altglyphdef',\n 'altglyphitem',\n 'animatecolor',\n 'animatemotion',\n 'animatetransform',\n 'audio',\n 'canvas',\n 'circle',\n 'clippath',\n 'defs',\n 'desc',\n 'ellipse',\n 'filter',\n 'font',\n 'g',\n 'glyph',\n 'glyphref',\n 'hkern',\n 'image',\n 'line',\n 'lineargradient',\n 'marker',\n 'mask',\n 'metadata',\n 'mpath',\n 'path',\n 'pattern',\n 'polygon',\n 'polyline',\n 'radialgradient',\n 'rect',\n 'stop',\n 'style',\n 'switch',\n 'symbol',\n 'text',\n 'textpath',\n 'title',\n 'tref',\n 'tspan',\n 'video',\n 'view',\n 'vkern',\n]);\n\nexport const svgFilters = freeze([\n 'feBlend',\n 'feColorMatrix',\n 'feComponentTransfer',\n 'feComposite',\n 'feConvolveMatrix',\n 'feDiffuseLighting',\n 'feDisplacementMap',\n 'feDistantLight',\n 'feFlood',\n 'feFuncA',\n 'feFuncB',\n 'feFuncG',\n 'feFuncR',\n 'feGaussianBlur',\n 'feMerge',\n 'feMergeNode',\n 'feMorphology',\n 'feOffset',\n 'fePointLight',\n 'feSpecularLighting',\n 'feSpotLight',\n 'feTile',\n 'feTurbulence',\n]);\n\nexport const mathMl = freeze([\n 'math',\n 'menclose',\n 'merror',\n 'mfenced',\n 'mfrac',\n 'mglyph',\n 'mi',\n 'mlabeledtr',\n 'mmultiscripts',\n 'mn',\n 'mo',\n 'mover',\n 'mpadded',\n 'mphantom',\n 'mroot',\n 'mrow',\n 'ms',\n 'mspace',\n 'msqrt',\n 'mstyle',\n 'msub',\n 'msup',\n 'msubsup',\n 'mtable',\n 'mtd',\n 'mtext',\n 'mtr',\n 'munder',\n 'munderover',\n]);\n\nexport const text = freeze(['#text']);\n","import { freeze } from './utils';\n\nexport const html = freeze([\n 'accept',\n 'action',\n 'align',\n 'alt',\n 'autocapitalize',\n 'autocomplete',\n 'autopictureinpicture',\n 'autoplay',\n 'background',\n 'bgcolor',\n 'border',\n 'capture',\n 'cellpadding',\n 'cellspacing',\n 'checked',\n 'cite',\n 'class',\n 'clear',\n 'color',\n 'cols',\n 'colspan',\n 'controls',\n 'controlslist',\n 'coords',\n 'crossorigin',\n 'datetime',\n 'decoding',\n 'default',\n 'dir',\n 'disabled',\n 'disablepictureinpicture',\n 'disableremoteplayback',\n 'download',\n 'draggable',\n 'enctype',\n 'enterkeyhint',\n 'face',\n 'for',\n 'headers',\n 'height',\n 'hidden',\n 'high',\n 'href',\n 'hreflang',\n 'id',\n 'inputmode',\n 'integrity',\n 'ismap',\n 'kind',\n 'label',\n 'lang',\n 'list',\n 'loading',\n 'loop',\n 'low',\n 'max',\n 'maxlength',\n 'media',\n 'method',\n 'min',\n 'minlength',\n 'multiple',\n 'muted',\n 'name',\n 'noshade',\n 'novalidate',\n 'nowrap',\n 'open',\n 'optimum',\n 'pattern',\n 'placeholder',\n 'playsinline',\n 'poster',\n 'preload',\n 'pubdate',\n 'radiogroup',\n 'readonly',\n 'rel',\n 'required',\n 'rev',\n 'reversed',\n 'role',\n 'rows',\n 'rowspan',\n 'spellcheck',\n 'scope',\n 'selected',\n 'shape',\n 'size',\n 'sizes',\n 'span',\n 'srclang',\n 'start',\n 'src',\n 'srcset',\n 'step',\n 'style',\n 'summary',\n 'tabindex',\n 'title',\n 'translate',\n 'type',\n 'usemap',\n 'valign',\n 'value',\n 'width',\n 'xmlns',\n]);\n\nexport const svg = freeze([\n 'accent-height',\n 'accumulate',\n 'additive',\n 'alignment-baseline',\n 'ascent',\n 'attributename',\n 'attributetype',\n 'azimuth',\n 'basefrequency',\n 'baseline-shift',\n 'begin',\n 'bias',\n 'by',\n 'class',\n 'clip',\n 'clip-path',\n 'clip-rule',\n 'color',\n 'color-interpolation',\n 'color-interpolation-filters',\n 'color-profile',\n 'color-rendering',\n 'cx',\n 'cy',\n 'd',\n 'dx',\n 'dy',\n 'diffuseconstant',\n 'direction',\n 'display',\n 'divisor',\n 'dur',\n 'edgemode',\n 'elevation',\n 'end',\n 'fill',\n 'fill-opacity',\n 'fill-rule',\n 'filter',\n 'filterunits',\n 'flood-color',\n 'flood-opacity',\n 'font-family',\n 'font-size',\n 'font-size-adjust',\n 'font-stretch',\n 'font-style',\n 'font-variant',\n 'font-weight',\n 'fx',\n 'fy',\n 'g1',\n 'g2',\n 'glyph-name',\n 'glyphref',\n 'gradientunits',\n 'gradienttransform',\n 'height',\n 'href',\n 'id',\n 'image-rendering',\n 'in',\n 'in2',\n 'k',\n 'k1',\n 'k2',\n 'k3',\n 'k4',\n 'kerning',\n 'keypoints',\n 'keysplines',\n 'keytimes',\n 'lang',\n 'lengthadjust',\n 'letter-spacing',\n 'kernelmatrix',\n 'kernelunitlength',\n 'lighting-color',\n 'local',\n 'marker-end',\n 'marker-mid',\n 'marker-start',\n 'markerheight',\n 'markerunits',\n 'markerwidth',\n 'maskcontentunits',\n 'maskunits',\n 'max',\n 'mask',\n 'media',\n 'method',\n 'mode',\n 'min',\n 'name',\n 'numoctaves',\n 'offset',\n 'operator',\n 'opacity',\n 'order',\n 'orient',\n 'orientation',\n 'origin',\n 'overflow',\n 'paint-order',\n 'path',\n 'pathlength',\n 'patterncontentunits',\n 'patterntransform',\n 'patternunits',\n 'points',\n 'preservealpha',\n 'preserveaspectratio',\n 'primitiveunits',\n 'r',\n 'rx',\n 'ry',\n 'radius',\n 'refx',\n 'refy',\n 'repeatcount',\n 'repeatdur',\n 'restart',\n 'result',\n 'rotate',\n 'scale',\n 'seed',\n 'shape-rendering',\n 'specularconstant',\n 'specularexponent',\n 'spreadmethod',\n 'startoffset',\n 'stddeviation',\n 'stitchtiles',\n 'stop-color',\n 'stop-opacity',\n 'stroke-dasharray',\n 'stroke-dashoffset',\n 'stroke-linecap',\n 'stroke-linejoin',\n 'stroke-miterlimit',\n 'stroke-opacity',\n 'stroke',\n 'stroke-width',\n 'style',\n 'surfacescale',\n 'tabindex',\n 'targetx',\n 'targety',\n 'transform',\n 'text-anchor',\n 'text-decoration',\n 'text-rendering',\n 'textlength',\n 'type',\n 'u1',\n 'u2',\n 'unicode',\n 'values',\n 'viewbox',\n 'visibility',\n 'version',\n 'vert-adv-y',\n 'vert-origin-x',\n 'vert-origin-y',\n 'width',\n 'word-spacing',\n 'wrap',\n 'writing-mode',\n 'xchannelselector',\n 'ychannelselector',\n 'x',\n 'x1',\n 'x2',\n 'xmlns',\n 'y',\n 'y1',\n 'y2',\n 'z',\n 'zoomandpan',\n]);\n\nexport const mathMl = freeze([\n 'accent',\n 'accentunder',\n 'align',\n 'bevelled',\n 'close',\n 'columnsalign',\n 'columnlines',\n 'columnspan',\n 'denomalign',\n 'depth',\n 'dir',\n 'display',\n 'displaystyle',\n 'encoding',\n 'fence',\n 'frame',\n 'height',\n 'href',\n 'id',\n 'largeop',\n 'length',\n 'linethickness',\n 'lspace',\n 'lquote',\n 'mathbackground',\n 'mathcolor',\n 'mathsize',\n 'mathvariant',\n 'maxsize',\n 'minsize',\n 'movablelimits',\n 'notation',\n 'numalign',\n 'open',\n 'rowalign',\n 'rowlines',\n 'rowspacing',\n 'rowspan',\n 'rspace',\n 'rquote',\n 'scriptlevel',\n 'scriptminsize',\n 'scriptsizemultiplier',\n 'selection',\n 'separator',\n 'separators',\n 'stretchy',\n 'subscriptshift',\n 'supscriptshift',\n 'symmetric',\n 'voffset',\n 'width',\n 'xmlns',\n]);\n\nexport const xml = freeze([\n 'xlink:href',\n 'xml:id',\n 'xlink:title',\n 'xml:space',\n 'xmlns:xlink',\n]);\n","import { seal } from './utils';\n\n// eslint-disable-next-line unicorn/better-regex\nexport const MUSTACHE_EXPR = seal(/\\{\\{[\\s\\S]*|[\\s\\S]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\nexport const ERB_EXPR = seal(/<%[\\s\\S]*|[\\s\\S]*%>/gm);\nexport const DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\nexport const ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nexport const IS_ALLOWED_URI = seal(\n /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nexport const IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nexport const ATTR_WHITESPACE = seal(\n /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g // eslint-disable-line no-control-regex\n);\n","import * as TAGS from './tags';\nimport * as ATTRS from './attrs';\nimport * as EXPRESSIONS from './regexp';\nimport {\n addToSet,\n clone,\n freeze,\n objectKeys,\n arrayForEach,\n arrayIndexOf,\n arrayJoin,\n arrayPop,\n arrayPush,\n arraySlice,\n stringMatch,\n stringReplace,\n stringToLowerCase,\n stringIndexOf,\n stringTrim,\n regExpTest,\n regExpCreate,\n typeErrorCreate,\n} from './utils';\n\nconst getGlobal = () => (typeof window === 'undefined' ? null : window);\n\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\nconst _createTrustedTypesPolicy = function (trustedTypes, document) {\n if (\n typeof trustedTypes !== 'object' ||\n typeof trustedTypes.createPolicy !== 'function'\n ) {\n return null;\n }\n\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (\n document.currentScript &&\n document.currentScript.hasAttribute(ATTR_NAME)\n ) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn(\n 'TrustedTypes policy ' + policyName + ' could not be created.'\n );\n return null;\n }\n};\n\nfunction createDOMPurify(window = getGlobal()) {\n const DOMPurify = (root) => createDOMPurify(root);\n\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n DOMPurify.version = VERSION;\n\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n\n return DOMPurify;\n }\n\n const originalDocument = window.document;\n let removeTitle = false;\n\n let { document } = window;\n const {\n DocumentFragment,\n HTMLTemplateElement,\n Node,\n NodeFilter,\n NamedNodeMap = window.NamedNodeMap || window.MozNamedAttrMap,\n Text,\n Comment,\n DOMParser,\n trustedTypes,\n } = window;\n\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n const trustedTypesPolicy = _createTrustedTypesPolicy(\n trustedTypes,\n originalDocument\n );\n const emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n\n const {\n implementation,\n createNodeIterator,\n getElementsByTagName,\n createDocumentFragment,\n } = document;\n const { importNode } = originalDocument;\n\n let hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported =\n implementation &&\n typeof implementation.createHTMLDocument !== 'undefined' &&\n document.documentMode !== 9;\n\n const {\n MUSTACHE_EXPR,\n ERB_EXPR,\n DATA_ATTR,\n ARIA_ATTR,\n IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE,\n } = EXPRESSIONS;\n\n let { IS_ALLOWED_URI } = EXPRESSIONS;\n\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [\n ...TAGS.html,\n ...TAGS.svg,\n ...TAGS.svgFilters,\n ...TAGS.mathMl,\n ...TAGS.text,\n ]);\n\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [\n ...ATTRS.html,\n ...ATTRS.svg,\n ...ATTRS.mathMl,\n ...ATTRS.xml,\n ]);\n\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n\n /* Output should be safe for jQuery's $() factory? */\n let SAFE_FOR_JQUERY = false;\n\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n\n /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM\n * `Node` is imported into the current `Document`. If this flag is not enabled the\n * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by\n * DOMPurify. */\n let RETURN_DOM_IMPORT = false;\n\n /* Try to return a Trusted Type object instead of a string, retrun a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n\n /* Output should be free from DOM clobbering attacks? */\n let SANITIZE_DOM = true;\n\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n\n /* Tags to ignore content of when KEEP_CONTENT is true */\n const FORBID_CONTENTS = addToSet({}, [\n 'annotation-xml',\n 'audio',\n 'colgroup',\n 'desc',\n 'foreignobject',\n 'head',\n 'iframe',\n 'math',\n 'mi',\n 'mn',\n 'mo',\n 'ms',\n 'mtext',\n 'noembed',\n 'noframes',\n 'plaintext',\n 'script',\n 'style',\n 'svg',\n 'template',\n 'thead',\n 'title',\n 'video',\n 'xmp',\n ]);\n\n /* Tags that are safe for data: URIs */\n const DATA_URI_TAGS = addToSet({}, [\n 'audio',\n 'video',\n 'img',\n 'source',\n 'image',\n 'track',\n ]);\n\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, [\n 'alt',\n 'class',\n 'for',\n 'id',\n 'label',\n 'name',\n 'pattern',\n 'placeholder',\n 'summary',\n 'title',\n 'value',\n 'style',\n 'xmlns',\n ]);\n\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n\n const formElement = document.createElement('form');\n\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function (cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n\n /* Set configuration parameters */\n ALLOWED_TAGS =\n 'ALLOWED_TAGS' in cfg\n ? addToSet({}, cfg.ALLOWED_TAGS)\n : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR =\n 'ALLOWED_ATTR' in cfg\n ? addToSet({}, cfg.ALLOWED_ATTR)\n : DEFAULT_ALLOWED_ATTR;\n URI_SAFE_ATTRIBUTES =\n 'ADD_URI_SAFE_ATTR' in cfg\n ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR)\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n SAFE_FOR_JQUERY = cfg.SAFE_FOR_JQUERY || false; // Default false\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI;\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, [...TAGS.text]);\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, TAGS.html);\n addToSet(ALLOWED_ATTR, ATTRS.html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, TAGS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, TAGS.svgFilters);\n addToSet(ALLOWED_ATTR, ATTRS.svg);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, TAGS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.mathMl);\n addToSet(ALLOWED_ATTR, ATTRS.xml);\n }\n }\n\n /* Merge configuration parameters */\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR);\n }\n\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n const _forceRemove = function (node) {\n arrayPush(DOMPurify.removed, { element: node });\n try {\n // eslint-disable-next-line unicorn/prefer-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n node.outerHTML = emptyHTML;\n }\n };\n\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n const _removeAttribute = function (name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node,\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node,\n });\n }\n\n node.removeAttribute(name);\n };\n\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n const _initDocument = function (dirty) {\n /* Create a HTML document */\n let doc;\n let leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n // eslint-disable-next-line unicorn/better-regex\n const matches = stringMatch(dirty, /^[\\s]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n const dirtyPayload = trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n /* Use the DOMParser API by default, fallback later if needs be */\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, 'text/html');\n } catch (_) {}\n\n /* Remove title to fix a mXSS bug in older MS Edge */\n if (removeTitle) {\n addToSet(FORBID_TAGS, ['title']);\n }\n\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createHTMLDocument('');\n const { body } = doc;\n body.parentNode.removeChild(body.parentNode.firstElementChild);\n body.outerHTML = dirtyPayload;\n }\n\n if (dirty && leadingWhitespace) {\n doc.body.insertBefore(\n document.createTextNode(leadingWhitespace),\n doc.body.childNodes[0] || null\n );\n }\n\n /* Work on whole document or just its body */\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n };\n\n /* Here we test for a broken feature in Edge that might cause mXSS */\n if (DOMPurify.isSupported) {\n (function () {\n try {\n const doc = _initDocument('<x/><title>&lt;/title&gt;&lt;img&gt;');\n if (regExpTest(/<\\/title/, doc.querySelector('title').innerHTML)) {\n removeTitle = true;\n }\n } catch (_) {}\n })();\n }\n\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n const _createIterator = function (root) {\n return createNodeIterator.call(\n root.ownerDocument || root,\n root,\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT,\n () => {\n return NodeFilter.FILTER_ACCEPT;\n },\n false\n );\n };\n\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n const _isClobbered = function (elm) {\n if (elm instanceof Text || elm instanceof Comment) {\n return false;\n }\n\n if (\n typeof elm.nodeName !== 'string' ||\n typeof elm.textContent !== 'string' ||\n typeof elm.removeChild !== 'function' ||\n !(elm.attributes instanceof NamedNodeMap) ||\n typeof elm.removeAttribute !== 'function' ||\n typeof elm.setAttribute !== 'function' ||\n typeof elm.namespaceURI !== 'string'\n ) {\n return true;\n }\n\n return false;\n };\n\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n const _isNode = function (object) {\n return typeof Node === 'object'\n ? object instanceof Node\n : object &&\n typeof object === 'object' &&\n typeof object.nodeType === 'number' &&\n typeof object.nodeName === 'string';\n };\n\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n const _executeHook = function (entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], (hook) => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n // eslint-disable-next-line complexity\n const _sanitizeElements = function (currentNode) {\n let content;\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeElements', currentNode, null);\n\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Now let's check the element's type and name */\n const tagName = stringToLowerCase(currentNode.nodeName);\n\n /* Execute a hook if present */\n _executeHook('uponSanitizeElement', currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS,\n });\n\n /* Take care of an mXSS pattern using p, br inside svg, math */\n if (\n (tagName === 'svg' || tagName === 'math') &&\n currentNode.querySelectorAll('p, br').length !== 0\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove element if anything forbids its presence */\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Keep content except for black-listed elements */\n if (\n KEEP_CONTENT &&\n !FORBID_CONTENTS[tagName] &&\n typeof currentNode.insertAdjacentHTML === 'function'\n ) {\n try {\n const htmlToInsert = currentNode.innerHTML;\n currentNode.insertAdjacentHTML(\n 'AfterEnd',\n trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(htmlToInsert)\n : htmlToInsert\n );\n } catch (_) {}\n }\n\n _forceRemove(currentNode);\n return true;\n }\n\n /* Remove in case a noscript/noembed XSS is suspected */\n if (\n tagName === 'noscript' &&\n regExpTest(/<\\/noscript/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n if (\n tagName === 'noembed' &&\n regExpTest(/<\\/noembed/i, currentNode.innerHTML)\n ) {\n _forceRemove(currentNode);\n return true;\n }\n\n /* Convert markup to cover jQuery behavior */\n if (\n SAFE_FOR_JQUERY &&\n !currentNode.firstElementChild &&\n (!currentNode.content || !currentNode.content.firstElementChild) &&\n regExpTest(/</g, currentNode.textContent)\n ) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n if (currentNode.innerHTML) {\n currentNode.innerHTML = stringReplace(\n currentNode.innerHTML,\n /</g,\n '&lt;'\n );\n } else {\n currentNode.innerHTML = stringReplace(\n currentNode.textContent,\n /</g,\n '&lt;'\n );\n }\n }\n\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR, ' ');\n content = stringReplace(content, ERB_EXPR, ' ');\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() });\n currentNode.textContent = content;\n }\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function (lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (\n SANITIZE_DOM &&\n (lcName === 'id' || lcName === 'name') &&\n (value in document || value in formElement)\n ) {\n return false;\n }\n\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR, lcName)) {\n // This attribute is safe\n } else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) {\n // This attribute is safe\n /* Otherwise, check the name is permitted */\n } else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n return false;\n\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) {\n // This attribute is safe\n /* Check no script, data or unknown possibly unsafe URI\n unless we know URI values are safe for that attribute */\n } else if (\n regExpTest(IS_ALLOWED_URI, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Keep image data URIs alive if src/xlink:href is allowed */\n /* Further prevent gadget XSS for dynamically built script tags */\n } else if (\n (lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') &&\n lcTag !== 'script' &&\n stringIndexOf(value, 'data:') === 0 &&\n DATA_URI_TAGS[lcTag]\n ) {\n // This attribute is safe\n /* Allow unknown protocols: This provides support for links that\n are handled by protocol handlers which may be unknown ahead of\n time, e.g. fb:, spotify: */\n } else if (\n ALLOW_UNKNOWN_PROTOCOLS &&\n !regExpTest(IS_SCRIPT_OR_DATA, stringReplace(value, ATTR_WHITESPACE, ''))\n ) {\n // This attribute is safe\n /* Check for binary attributes */\n // eslint-disable-next-line no-negated-condition\n } else if (!value) {\n // Binary attributes are safe at this point\n /* Anything else, presume unsafe, do not add it back */\n } else {\n return false;\n }\n\n return true;\n };\n\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n // eslint-disable-next-line complexity\n const _sanitizeAttributes = function (currentNode) {\n let attr;\n let value;\n let lcName;\n let idAttr;\n let l;\n /* Execute a hook if present */\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n let { attributes } = currentNode;\n\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes) {\n return;\n }\n\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n };\n l = attributes.length;\n\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n attr = attributes[l];\n const { name, namespaceURI } = attr;\n value = stringTrim(attr.value);\n lcName = stringToLowerCase(name);\n\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n\n /* Remove attribute */\n // Safari (iOS + Mac), last tested v8.0.5, crashes if you try to\n // remove a \"name\" attribute from an <img> tag that has an \"id\"\n // attribute at the time.\n if (\n lcName === 'name' &&\n currentNode.nodeName === 'IMG' &&\n attributes.id\n ) {\n idAttr = attributes.id;\n attributes = arraySlice(attributes, []);\n _removeAttribute('id', currentNode);\n _removeAttribute(name, currentNode);\n if (arrayIndexOf(attributes, idAttr) > l) {\n currentNode.setAttribute('id', idAttr.value);\n }\n } else if (\n // This works around a bug in Safari, where input[type=file]\n // cannot be dynamically set after type has been removed\n currentNode.nodeName === 'INPUT' &&\n lcName === 'type' &&\n value === 'file' &&\n hookEvent.keepAttr &&\n (ALLOWED_ATTR[lcName] || !FORBID_ATTR[lcName])\n ) {\n continue;\n } else {\n // This avoids a crash in Safari v9.0 with double-ids.\n // The trick is to first set the id to be empty and then to\n // remove the attribute\n if (name === 'id') {\n currentNode.setAttribute(name, '');\n }\n\n _removeAttribute(name, currentNode);\n }\n\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n continue;\n }\n\n /* Work around a security issue in jQuery 3.0 */\n if (SAFE_FOR_JQUERY && regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Take care of an mXSS pattern using namespace switches */\n if (\n regExpTest(/svg|math/i, currentNode.namespaceURI) &&\n regExpTest(\n regExpCreate(\n '</(' + arrayJoin(objectKeys(FORBID_CONTENTS), '|') + ')',\n 'i'\n ),\n value\n )\n ) {\n _removeAttribute(name, currentNode);\n continue;\n }\n\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR, ' ');\n value = stringReplace(value, ERB_EXPR, ' ');\n }\n\n /* Is `value` valid for this attribute? */\n const lcTag = currentNode.nodeName.toLowerCase();\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n\n /* Handle invalid data-* attribute set by try-catching it */\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n const _sanitizeShadowDOM = function (fragment) {\n let shadowNode;\n const shadowIterator = _createIterator(fragment);\n\n /* Execute a hook if present */\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while ((shadowNode = shadowIterator.nextNode())) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n\n /* Deep shadow DOM detected */\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(shadowNode);\n }\n\n /* Execute a hook if present */\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty, cfg) {\n let body;\n let importedNode;\n let currentNode;\n let oldNode;\n let returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n if (!dirty) {\n dirty = '<!-->';\n }\n\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n\n /* Check we can run. Otherwise fall back or ignore */\n if (!DOMPurify.isSupported) {\n if (\n typeof window.toStaticHTML === 'object' ||\n typeof window.toStaticHTML === 'function'\n ) {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n\n /* Assign config vars */\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n\n /* Clean up removed elements */\n DOMPurify.removed = [];\n\n /* Check if dirty is correctly typed for IN_PLACE */\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* No special handling necessary for in-place sanitization */\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!-->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (\n !RETURN_DOM &&\n !SAFE_FOR_TEMPLATES &&\n !WHOLE_DOCUMENT &&\n RETURN_TRUSTED_TYPE &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1\n ) {\n return trustedTypesPolicy\n ? trustedTypesPolicy.createHTML(dirty)\n : dirty;\n }\n\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : emptyHTML;\n }\n }\n\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n\n /* Get node iterator */\n const nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n\n /* Now start iterating over the created document */\n while ((currentNode = nodeIterator.nextNode())) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n\n /* Sanitize tags and elements */\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n\n /* Shadow DOM detected, sanitize it */\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n\n /* Check attributes, sanitize if necessary */\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n\n /* If we sanitized `dirty` in-place, return it. */\n if (IN_PLACE) {\n return dirty;\n }\n\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (RETURN_DOM_IMPORT) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE\n ? trustedTypesPolicy.createHTML(serializedHTML)\n : serializedHTML;\n };\n\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n SET_CONFIG = true;\n };\n\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n const lcTag = stringToLowerCase(tag);\n const lcName = stringToLowerCase(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n */\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n arrayPop(hooks[entryPoint]);\n }\n };\n\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n}\n\nexport default createDOMPurify();\n"],"names":["hasOwnProperty","Object","setPrototypeOf","isFrozen","objectKeys","keys","freeze","seal","Reflect","apply","construct","fun","thisValue","args","x","Func","arrayForEach","unapply","Array","prototype","forEach","arrayIndexOf","indexOf","arrayJoin","join","arrayPop","pop","arrayPush","push","arraySlice","slice","stringToLowerCase","String","toLowerCase","stringMatch","match","stringReplace","replace","stringIndexOf","stringTrim","trim","regExpTest","RegExp","test","regExpCreate","unconstruct","typeErrorCreate","TypeError","func","thisArg","addToSet","set","array","l","length","element","lcElement","clone","object","newObject","property","html","svg","svgFilters","mathMl","text","xml","MUSTACHE_EXPR","ERB_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","getGlobal","window","_createTrustedTypesPolicy","trustedTypes","document","createPolicy","suffix","currentScript","hasAttribute","getAttribute","policyName","_","warn","createDOMPurify","DOMPurify","root","version","VERSION","removed","nodeType","isSupported","originalDocument","removeTitle","DocumentFragment","HTMLTemplateElement","Node","NodeFilter","NamedNodeMap","MozNamedAttrMap","Text","Comment","DOMParser","template","createElement","content","ownerDocument","trustedTypesPolicy","emptyHTML","createHTML","implementation","createNodeIterator","getElementsByTagName","createDocumentFragment","importNode","hooks","createHTMLDocument","documentMode","EXPRESSIONS","ALLOWED_TAGS","DEFAULT_ALLOWED_TAGS","TAGS","ALLOWED_ATTR","DEFAULT_ALLOWED_ATTR","ATTRS","FORBID_TAGS","FORBID_ATTR","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_JQUERY","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","SET_CONFIG","FORCE_BODY","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_DOM_IMPORT","RETURN_TRUSTED_TYPE","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","USE_PROFILES","FORBID_CONTENTS","DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","CONFIG","formElement","_parseConfig","cfg","ADD_URI_SAFE_ATTR","ALLOWED_URI_REGEXP","ADD_TAGS","ADD_ATTR","table","tbody","_forceRemove","node","parentNode","removeChild","outerHTML","_removeAttribute","name","getAttributeNode","removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","parseFromString","documentElement","body","firstElementChild","insertBefore","createTextNode","childNodes","call","querySelector","innerHTML","_createIterator","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","FILTER_ACCEPT","_isClobbered","elm","nodeName","textContent","attributes","setAttribute","namespaceURI","_isNode","_executeHook","entryPoint","currentNode","data","hook","_sanitizeElements","tagName","querySelectorAll","insertAdjacentHTML","htmlToInsert","cloneNode","_isValidAttribute","lcTag","lcName","value","_sanitizeAttributes","attr","idAttr","hookEvent","attrName","attrValue","keepAttr","forceKeepAttr","undefined","id","setAttributeNS","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","nextNode","sanitize","importedNode","oldNode","returnNode","toString","_typeof","toStaticHTML","appendChild","firstChild","nodeIterator","serializedHTML","setConfig","clearConfig","isValidAttribute","tag","addHook","hookFunction","removeHook","removeHooks","removeAllHooks"],"mappings":";oMAAQA,EAA+DC,OAA/DD,eAAgBE,EAA+CD,OAA/CC,eAAgBC,EAA+BF,OAA/BE,SAAgBC,EAAeH,OAArBI,KAE5CC,EAAiBL,OAAjBK,OAAQC,EAASN,OAATM,OACgC,oBAAZC,SAA2BA,QAAvDC,IAAAA,MAAOC,IAAAA,UAERD,MACK,SAAUE,EAAKC,EAAWC,UACzBF,EAAIF,MAAMG,EAAWC,KAI3BP,MACM,SAAUQ,UACVA,IAINP,MACI,SAAUO,UACRA,IAINJ,MACS,SAAUK,EAAMF,4CACfE,uIAAQF,QAIvB,IAAMG,EAAeC,EAAQC,MAAMC,UAAUC,SACvCC,EAAeJ,EAAQC,MAAMC,UAAUG,SACvCC,EAAYN,EAAQC,MAAMC,UAAUK,MACpCC,EAAWR,EAAQC,MAAMC,UAAUO,KACnCC,EAAYV,EAAQC,MAAMC,UAAUS,MACpCC,EAAaZ,EAAQC,MAAMC,UAAUW,OAErCC,EAAoBd,EAAQe,OAAOb,UAAUc,aAC7CC,EAAcjB,EAAQe,OAAOb,UAAUgB,OACvCC,EAAgBnB,EAAQe,OAAOb,UAAUkB,SACzCC,EAAgBrB,EAAQe,OAAOb,UAAUG,SACzCiB,EAAatB,EAAQe,OAAOb,UAAUqB,MAEtCC,EAAaxB,EAAQyB,OAAOvB,UAAUwB,MACtCC,EAAeC,EAAYH,QAE3BI,EAAkBD,EAAYE,WAE7B,SAAS9B,EAAQ+B,UACf,SAACC,8BAAYpC,0DAASJ,EAAMuC,EAAMC,EAASpC,IAG7C,SAASgC,EAAYG,UACnB,sCAAInC,gDAASH,EAAUsC,EAAMnC,IAI/B,SAASqC,EAASC,EAAKC,GACxBlD,KAIaiD,EAAK,cAGlBE,EAAID,EAAME,OACPD,KAAK,KACNE,EAAUH,EAAMC,MACG,iBAAZE,EAAsB,KACzBC,EAAYzB,EAAkBwB,GAChCC,IAAcD,IAEXpD,EAASiD,OACNC,GAAKG,KAGHA,KAIVD,IAAW,SAGVJ,EAIF,SAASM,EAAMC,OACdC,EAAY,GAEdC,aACCA,KAAYF,EACXjD,EAAMT,EAAgB0D,EAAQ,CAACE,QACvBA,GAAYF,EAAOE,WAI1BD,EC9FF,IAAME,EAAOvD,EAAO,CACzB,IACA,OACA,UACA,UACA,OACA,UACA,QACA,QACA,IACA,MACA,MACA,MACA,QACA,aACA,OACA,KACA,SACA,SACA,UACA,SACA,OACA,OACA,MACA,WACA,UACA,OACA,WACA,KACA,YACA,MACA,UACA,MACA,MACA,MACA,KACA,KACA,UACA,KACA,WACA,aACA,SACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,SACA,KACA,OACA,IACA,MACA,QACA,MACA,MACA,QACA,SACA,KACA,OACA,MACA,OACA,UACA,OACA,WACA,QACA,MACA,OACA,KACA,WACA,SACA,SACA,IACA,UACA,MACA,WACA,IACA,KACA,KACA,OACA,IACA,OACA,UACA,SACA,SACA,QACA,SACA,SACA,OACA,SACA,SACA,QACA,MACA,UACA,MACA,QACA,QACA,KACA,WACA,WACA,QACA,KACA,QACA,OACA,KACA,QACA,KACA,IACA,KACA,MACA,QACA,QAIWwD,EAAMxD,EAAO,CACxB,MACA,IACA,WACA,cACA,eACA,eACA,gBACA,mBACA,QACA,SACA,SACA,WACA,OACA,OACA,UACA,SACA,OACA,IACA,QACA,WACA,QACA,QACA,OACA,iBACA,SACA,OACA,WACA,QACA,OACA,UACA,UACA,WACA,iBACA,OACA,OACA,QACA,SACA,SACA,OACA,WACA,QACA,OACA,QACA,QACA,OACA,UAGWyD,EAAazD,EAAO,CAC/B,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,iBAGW0D,EAAS1D,EAAO,CAC3B,OACA,WACA,SACA,UACA,QACA,SACA,KACA,aACA,gBACA,KACA,KACA,QACA,UACA,WACA,QACA,OACA,KACA,SACA,QACA,SACA,OACA,OACA,UACA,SACA,MACA,QACA,MACA,SACA,eAGW2D,EAAO3D,EAAO,CAAC,UCnOfuD,EAAOvD,EAAO,CACzB,SACA,SACA,QACA,MACA,iBACA,eACA,uBACA,WACA,aACA,UACA,SACA,UACA,cACA,cACA,UACA,OACA,QACA,QACA,QACA,OACA,UACA,WACA,eACA,SACA,cACA,WACA,WACA,UACA,MACA,WACA,0BACA,wBACA,WACA,YACA,UACA,eACA,OACA,MACA,UACA,SACA,SACA,OACA,OACA,WACA,KACA,YACA,YACA,QACA,OACA,QACA,OACA,OACA,UACA,OACA,MACA,MACA,YACA,QACA,SACA,MACA,YACA,WACA,QACA,OACA,UACA,aACA,SACA,OACA,UACA,UACA,cACA,cACA,SACA,UACA,UACA,aACA,WACA,MACA,WACA,MACA,WACA,OACA,OACA,UACA,aACA,QACA,WACA,QACA,OACA,QACA,OACA,UACA,QACA,MACA,SACA,OACA,QACA,UACA,WACA,QACA,YACA,OACA,SACA,SACA,QACA,QACA,UAGWwD,EAAMxD,EAAO,CACxB,gBACA,aACA,WACA,qBACA,SACA,gBACA,gBACA,UACA,gBACA,iBACA,QACA,OACA,KACA,QACA,OACA,YACA,YACA,QACA,sBACA,8BACA,gBACA,kBACA,KACA,KACA,IACA,KACA,KACA,kBACA,YACA,UACA,UACA,MACA,WACA,YACA,MACA,OACA,eACA,YACA,SACA,cACA,cACA,gBACA,cACA,YACA,mBACA,eACA,aACA,eACA,cACA,KACA,KACA,KACA,KACA,aACA,WACA,gBACA,oBACA,SACA,OACA,KACA,kBACA,KACA,MACA,IACA,KACA,KACA,KACA,KACA,UACA,YACA,aACA,WACA,OACA,eACA,iBACA,eACA,mBACA,iBACA,QACA,aACA,aACA,eACA,eACA,cACA,cACA,mBACA,YACA,MACA,OACA,QACA,SACA,OACA,MACA,OACA,aACA,SACA,WACA,UACA,QACA,SACA,cACA,SACA,WACA,cACA,OACA,aACA,sBACA,mBACA,eACA,SACA,gBACA,sBACA,iBACA,IACA,KACA,KACA,SACA,OACA,OACA,cACA,YACA,UACA,SACA,SACA,QACA,OACA,kBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,aACA,eACA,mBACA,oBACA,iBACA,kBACA,oBACA,iBACA,SACA,eACA,QACA,eACA,WACA,UACA,UACA,YACA,cACA,kBACA,iBACA,aACA,OACA,KACA,KACA,UACA,SACA,UACA,aACA,UACA,aACA,gBACA,gBACA,QACA,eACA,OACA,eACA,mBACA,mBACA,IACA,KACA,KACA,QACA,IACA,KACA,KACA,IACA,eAGW0D,EAAS1D,EAAO,CAC3B,SACA,cACA,QACA,WACA,QACA,eACA,cACA,aACA,aACA,QACA,MACA,UACA,eACA,WACA,QACA,QACA,SACA,OACA,KACA,UACA,SACA,gBACA,SACA,SACA,iBACA,YACA,WACA,cACA,UACA,UACA,gBACA,WACA,WACA,OACA,WACA,WACA,aACA,UACA,SACA,SACA,cACA,gBACA,uBACA,YACA,YACA,aACA,WACA,iBACA,iBACA,YACA,UACA,QACA,UAGW4D,EAAM5D,EAAO,CACxB,aACA,SACA,cACA,YACA,gBChWW6D,EAAgB5D,EAAK,6BACrB6D,EAAW7D,EAAK,yBAChB8D,EAAY9D,EAAK,8BACjB+D,EAAY/D,EAAK,kBACjBgE,EAAiBhE,EAC5B,yFAEWiE,EAAoBjE,EAAK,yBACzBkE,EAAkBlE,EAC7B,mYCYF,IAAMmE,EAAY,iBAAyB,oBAAXC,OAAyB,KAAOA,QAU1DC,EAA4B,SAAUC,EAAcC,MAE9B,qBAAjBD,gBAAAA,KAC8B,mBAA9BA,EAAaE,oBAEb,SAMLC,EAAS,KAGXF,EAASG,eACTH,EAASG,cAAcC,aAHP,6BAKPJ,EAASG,cAAcE,aALhB,8BAQZC,EAAa,aAAeJ,EAAS,IAAMA,EAAS,eAGjDH,EAAaE,aAAaK,EAAY,qBAChCvB,UACFA,KAGX,MAAOwB,kBAICC,KACN,uBAAyBF,EAAa,0BAEjC,cAIX,SAASG,QAAgBZ,yDAASD,IAC1Bc,EAAY,SAACC,UAASF,EAAgBE,SAMlCC,QAAUC,WAMVC,QAAU,IAEfjB,IAAWA,EAAOG,UAAyC,IAA7BH,EAAOG,SAASe,kBAGvCC,aAAc,EAEjBN,MAGHO,EAAmBpB,EAAOG,SAC5BkB,GAAc,EAEZlB,EAAaH,EAAbG,SAEJmB,EASEtB,EATFsB,iBACAC,EAQEvB,EARFuB,oBACAC,EAOExB,EAPFwB,KACAC,EAMEzB,EANFyB,aAMEzB,EALF0B,aAAAA,aAAe1B,EAAO0B,cAAgB1B,EAAO2B,kBAC7CC,EAIE5B,EAJF4B,KACAC,EAGE7B,EAHF6B,QACAC,EAEE9B,EAFF8B,UACA5B,EACEF,EADFE,gBASiC,mBAAxBqB,EAAoC,KACvCQ,GAAW5B,EAAS6B,cAAc,YACpCD,GAASE,SAAWF,GAASE,QAAQC,kBAC5BH,GAASE,QAAQC,mBAI1BC,GAAqBlC,EACzBC,EACAkB,GAEIgB,GAAYD,GAAqBA,GAAmBE,WAAW,IAAM,MAOvElC,EAJFmC,MAAAA,eACAC,MAAAA,mBACAC,MAAAA,qBACAC,MAAAA,uBAEMC,GAAetB,EAAfsB,WAEJC,GAAQ,KAKFxB,YACRmB,SAC6C,IAAtCA,GAAeM,oBACI,IAA1BzC,EAAS0C,iBAGTrD,GAMEsD,EALFrD,GAKEqD,EAJFpD,GAIEoD,EAHFnD,GAGEmD,EAFFjD,GAEEiD,EADFhD,GACEgD,EAEElD,GAAmBkD,EAQrBC,GAAe,KACbC,GAAuBzE,EAAS,eACjC0E,KACAA,KACAA,KACAA,KACAA,KAIDC,GAAe,KACbC,GAAuB5E,EAAS,eACjC6E,KACAA,KACAA,KACAA,KAIDC,GAAc,KAGdC,GAAc,KAGdC,IAAkB,EAGlBC,IAAkB,EAGlBC,IAA0B,EAG1BC,IAAkB,EAKlBC,IAAqB,EAGrBC,IAAiB,EAGjBC,IAAa,EAIbC,IAAa,EAMbC,IAAa,EAIbC,IAAsB,EAMtBC,IAAoB,EAIpBC,IAAsB,EAGtBC,IAAe,EAGfC,IAAe,EAIfC,IAAW,EAGXC,GAAe,GAGbC,GAAkBhG,EAAS,GAAI,CACnC,iBACA,QACA,WACA,OACA,gBACA,OACA,SACA,OACA,KACA,KACA,KACA,KACA,QACA,UACA,WACA,YACA,SACA,QACA,MACA,WACA,QACA,QACA,QACA,QAIIiG,GAAgBjG,EAAS,GAAI,CACjC,QACA,QACA,MACA,SACA,QACA,UAIEkG,GAAsB,KACpBC,GAA8BnG,EAAS,GAAI,CAC/C,MACA,QACA,MACA,KACA,QACA,OACA,UACA,cACA,UACA,QACA,QACA,QACA,UAIEoG,GAAS,KAKPC,GAAczE,EAAS6B,cAAc,QAQrC6C,GAAe,SAAUC,GACzBH,IAAUA,KAAWG,IAKpBA,GAAsB,qBAARA,gBAAAA,QACX,OAKN,iBAAkBA,EACdvG,EAAS,GAAIuG,EAAI/B,cACjBC,MAEJ,iBAAkB8B,EACdvG,EAAS,GAAIuG,EAAI5B,cACjBC,MAEJ,sBAAuB2B,EACnBvG,EAASO,EAAM4F,IAA8BI,EAAIC,mBACjDL,MACQ,gBAAiBI,EAAMvG,EAAS,GAAIuG,EAAIzB,aAAe,MACvD,gBAAiByB,EAAMvG,EAAS,GAAIuG,EAAIxB,aAAe,MACtD,iBAAkBwB,GAAMA,EAAIR,iBACD,IAAxBQ,EAAIvB,oBACoB,IAAxBuB,EAAItB,mBACIsB,EAAIrB,0BAA2B,KACvCqB,EAAIpB,kBAAmB,KACpBoB,EAAInB,qBAAsB,KAC9BmB,EAAIlB,iBAAkB,KAC1BkB,EAAIf,aAAc,KACTe,EAAId,sBAAuB,KAC7Bc,EAAIb,oBAAqB,KACvBa,EAAIZ,sBAAuB,KACpCY,EAAIhB,aAAc,MACK,IAArBgB,EAAIX,iBACiB,IAArBW,EAAIV,gBACRU,EAAIT,WAAY,KACVS,EAAIE,oBAAsBpF,GACvC+D,SACgB,GAGhBK,SACW,GAIXM,QACa/F,EAAS,eAAQ0E,QACjB,IACW,IAAtBqB,GAAapF,SACN6D,GAAcE,KACdC,GAAcE,KAGA,IAArBkB,GAAanF,QACN4D,GAAcE,KACdC,GAAcE,KACdF,GAAcE,KAGO,IAA5BkB,GAAalF,eACN2D,GAAcE,KACdC,GAAcE,KACdF,GAAcE,KAGG,IAAxBkB,GAAajF,WACN0D,GAAcE,KACdC,GAAcE,KACdF,GAAcE,KAKvB0B,EAAIG,WACFlC,KAAiBC,QACJlE,EAAMiE,OAGdA,GAAc+B,EAAIG,WAGzBH,EAAII,WACFhC,KAAiBC,QACJrE,EAAMoE,OAGdA,GAAc4B,EAAII,WAGzBJ,EAAIC,qBACGN,GAAqBK,EAAIC,mBAIhCX,QACW,UAAW,GAItBR,MACOb,GAAc,CAAC,OAAQ,OAAQ,SAItCA,GAAaoC,UACNpC,GAAc,CAAC,iBACjBM,GAAY+B,OAKjBzJ,KACKmJ,MAGAA,IAQLO,GAAe,SAAUC,KACnBzE,EAAUI,QAAS,CAAErC,QAAS0G,UAGjCC,WAAWC,YAAYF,GAC5B,MAAO5E,KACF+E,UAAYrD,KAUfsD,GAAmB,SAAUC,EAAML,SAE3BzE,EAAUI,QAAS,WAChBqE,EAAKM,iBAAiBD,QAC3BL,IAER,MAAO5E,KACGG,EAAUI,QAAS,WAChB,UACLqE,MAILO,gBAAgBF,IASjBG,GAAgB,SAAUC,OAE1BC,SACAC,YAEAnC,KACM,oBAAsBiC,MACzB,KAGCG,EAAU3I,EAAYwI,EAAO,YACfG,GAAWA,EAAQ,OAGnCC,EAAehE,GACjBA,GAAmBE,WAAW0D,GAC9BA,SAGI,IAAIjE,GAAYsE,gBAAgBD,EAAc,aACpD,MAAOzF,OAGLW,KACOgC,GAAa,CAAC,WAIpB2C,IAAQA,EAAIK,gBAAiB,KAExBC,KADFhE,GAAeM,mBAAmB,KAChC0D,OACHf,WAAWC,YAAYc,EAAKf,WAAWgB,qBACvCd,UAAYU,SAGfJ,GAASE,KACPK,KAAKE,aACPrG,EAASsG,eAAeR,GACxBD,EAAIM,KAAKI,WAAW,IAAM,MAKvBlE,GAAqBmE,KAAKX,EAAKpC,GAAiB,OAAS,QAAQ,IAItE/C,EAAUM,gCAGF6E,EAAMF,GAAc,wCACtBhI,EAAW,WAAYkI,EAAIY,cAAc,SAASC,gBACtC,GAEhB,MAAOnG,YAUPoG,GAAkB,SAAUhG,UACzByB,GAAmBoE,KACxB7F,EAAKoB,eAAiBpB,EACtBA,EACAW,EAAWsF,aAAetF,EAAWuF,aAAevF,EAAWwF,WAC/D,kBACSxF,EAAWyF,iBAEpB,IAUEC,GAAe,SAAUC,WACzBA,aAAexF,GAAQwF,aAAevF,MAKhB,iBAAjBuF,EAAIC,UACgB,iBAApBD,EAAIE,aACgB,mBAApBF,EAAI5B,aACT4B,EAAIG,sBAAsB7F,GACG,mBAAxB0F,EAAIvB,iBACiB,mBAArBuB,EAAII,cACiB,iBAArBJ,EAAIK,eAcTC,GAAU,SAAU3I,SACD,qBAATyC,gBAAAA,IACVzC,aAAkByC,EAClBzC,GACoB,qBAAXA,gBAAAA,KACoB,iBAApBA,EAAOmC,UACa,iBAApBnC,EAAOsI,UAWhBM,GAAe,SAAUC,EAAYC,EAAaC,GACjDnF,GAAMiF,MAIEjF,GAAMiF,IAAa,SAACG,KAC1BpB,KAAK9F,EAAWgH,EAAaC,EAAMnD,QAetCqD,GAAoB,SAAUH,OAC9B5F,eAGS,yBAA0B4F,EAAa,MAGhDV,GAAaU,aACFA,IACN,MAIHI,EAAU7K,EAAkByK,EAAYR,gBAGjC,sBAAuBQ,EAAa,uBAElC9E,MAKA,QAAZkF,GAAiC,SAAZA,IAC2B,IAAjDJ,EAAYK,iBAAiB,SAASvJ,iBAEzBkJ,IACN,MAIJ9E,GAAakF,IAAY5E,GAAY4E,GAAU,IAGhD7D,KACCG,GAAgB0D,IACyB,mBAAnCJ,EAAYM,2BAGXC,EAAeP,EAAYhB,YACrBsB,mBACV,WACAhG,GACIA,GAAmBE,WAAW+F,GAC9BA,GAEN,MAAO1H,cAGEmH,IACN,QAKK,aAAZI,GACAnK,EAAW,eAAgB+J,EAAYhB,YAO3B,YAAZoB,GACAnK,EAAW,cAAe+J,EAAYhB,eANzBgB,IACN,KAaPnE,IACCmE,EAAYtB,mBACXsB,EAAY5F,SAAY4F,EAAY5F,QAAQsE,oBAC9CzI,EAAW,KAAM+J,EAAYP,iBAEnBzG,EAAUI,QAAS,CAAErC,QAASiJ,EAAYQ,cAChDR,EAAYhB,YACFA,UAAYpJ,EACtBoK,EAAYhB,UACZ,KACA,UAGUA,UAAYpJ,EACtBoK,EAAYP,YACZ,KACA,SAMF3D,IAA+C,IAAzBkE,EAAY3G,aAE1B2G,EAAYP,cACZ7J,EAAcwE,EAASzC,GAAe,OACtC/B,EAAcwE,EAASxC,GAAU,KACvCoI,EAAYP,cAAgBrF,MACpBpB,EAAUI,QAAS,CAAErC,QAASiJ,EAAYQ,gBACxCf,YAAcrF,OAKjB,wBAAyB4F,EAAa,OAE5C,IAYHS,GAAoB,SAAUC,EAAOC,EAAQC,MAG/CtE,KACY,OAAXqE,GAA8B,SAAXA,KACnBC,KAAStI,GAAYsI,KAAS7D,WAExB,KAOLpB,IAAmB1F,EAAW4B,GAAW8I,SAEtC,GAAIjF,IAAmBzF,EAAW6B,GAAW6I,QAG7C,CAAA,IAAKtF,GAAasF,IAAWlF,GAAYkF,UACvC,EAGF,GAAI/D,GAAoB+D,SAIxB,GACL1K,EAAW8B,GAAgBnC,EAAcgL,EAAO3I,GAAiB,WAK5D,GACO,QAAX0I,GAA+B,eAAXA,GAAsC,SAAXA,GACtC,WAAVD,GACkC,IAAlC5K,EAAc8K,EAAO,WACrBjE,GAAc+D,IAMT,GACL9E,KACC3F,EAAW+B,GAAmBpC,EAAcgL,EAAO3I,GAAiB,WAKhE,GAAK2I,SAIH,eAGF,GAcHC,GAAsB,SAAUb,OAChCc,SACAF,SACAD,SACAI,SACAlK,YAES,2BAA4BmJ,EAAa,UAEhDN,EAAeM,EAAfN,cAGDA,OAICsB,EAAY,UACN,aACC,aACD,oBACS3F,UAEjBqE,EAAW5I,OAGRD,KAAK,SACH6I,EAAW7I,GACViH,IAAAA,KAAM8B,IAAAA,kBACN7J,EAAW+K,EAAKF,SACfrL,EAAkBuI,KAGjBmD,SAAWN,IACXO,UAAYN,IACZO,UAAW,IACXC,mBAAgBC,KACb,wBAAyBrB,EAAagB,KAC3CA,EAAUE,WAEdF,EAAUI,kBASD,SAAXT,GACyB,QAAzBX,EAAYR,UACZE,EAAW4B,KAEF5B,EAAW4B,KACPjM,EAAWqK,EAAY,OACnB,KAAMM,MACNlC,EAAMkC,GACnBnL,EAAa6K,EAAYqB,GAAUlK,KACzB8I,aAAa,KAAMoB,EAAOH,WAEnC,CAAA,GAGoB,YAAbpB,UACD,SAAXmB,GACU,SAAVC,GACAI,EAAUG,WACT9F,GAAasF,KAAYlF,GAAYkF,aAOzB,OAAT7C,KACU6B,aAAa7B,EAAM,OAGhBA,EAAMkC,MAIpBgB,EAAUG,YAKXtF,IAAmB5F,EAAW,OAAQ2K,MACvB9C,EAAMkC,WAMvB/J,EAAW,YAAa+J,EAAYJ,eACpC3J,EACEG,EACE,MAAQrB,EAAUnB,EAAW8I,IAAkB,KAAO,IACtD,KAEFkE,MAGe9C,EAAMkC,QAKrBlE,OACMlG,EAAcgL,EAAOjJ,GAAe,OACpC/B,EAAcgL,EAAOhJ,GAAU,UAInC8I,EAAQV,EAAYR,SAAS/J,iBAC9BgL,GAAkBC,EAAOC,EAAQC,OAMhChB,IACU2B,eAAe3B,EAAc9B,EAAM8C,KAGnCjB,aAAa7B,EAAM8C,KAGxB5H,EAAUI,SACnB,MAAOP,UAIE,0BAA2BmH,EAAa,QAQjDwB,GAAqB,SAArBA,EAA+BC,OAC/BC,SACEC,EAAiB1C,GAAgBwC,UAG1B,0BAA2BA,EAAU,MAE1CC,EAAaC,EAAeC,eAErB,yBAA0BF,EAAY,MAG/CvB,GAAkBuB,KAKlBA,EAAWtH,mBAAmBX,KACbiI,EAAWtH,YAIZsH,OAIT,yBAA0BD,EAAU,gBAWzCI,SAAW,SAAU3D,EAAOjB,OAChCwB,SACAqD,SACA9B,SACA+B,SACAC,YAIC9D,MACK,eAIW,iBAAVA,IAAuB2B,GAAQ3B,GAAQ,IAElB,mBAAnBA,EAAM+D,eACT3L,EAAgB,iCAGD,mBADb4H,EAAM+D,kBAEN3L,EAAgB,uCAMvB0C,EAAUM,YAAa,IAEO,WAA/B4I,EAAO/J,EAAOgK,eACiB,mBAAxBhK,EAAOgK,aACd,IACqB,iBAAVjE,SACF/F,EAAOgK,aAAajE,MAGzB2B,GAAQ3B,UACH/F,EAAOgK,aAAajE,EAAMN,kBAI9BM,KAIJlC,OACUiB,KAIL7D,QAAU,GAGC,iBAAV8E,QACE,GAGT1B,SAEG,GAAI0B,aAAiBvE,EAKI,UAFvBsE,GAAc,gBACD5D,cAAcQ,WAAWqD,GAAO,IACnC7E,UAA4C,SAA1ByI,EAAatC,UAGX,SAA1BsC,EAAatC,WADfsC,IAKFM,YAAYN,OAEd,KAGF5F,KACAJ,KACAC,IACDM,KAEwB,MAAlBvH,QAAQ,YAEPwF,GACHA,GAAmBE,WAAW0D,GAC9BA,SAICD,GAAcC,WAIZhC,GAAa,KAAO3B,GAK3BkE,GAAQxC,OACGwC,EAAK4D,oBAIdC,EAAerD,GAAgBzC,GAAW0B,EAAQO,GAGhDuB,EAAcsC,EAAaV,YAEJ,IAAzB5B,EAAY3G,UAAkB2G,IAAgB+B,GAK9C5B,GAAkBH,KAKlBA,EAAY5F,mBAAmBX,MACduG,EAAY5F,YAIb4F,KAEVA,QAGF,KAGNxD,UACK0B,KAILhC,GAAY,IACVC,SACWvB,GAAuBkE,KAAKL,EAAKpE,eAEvCoE,EAAK4D,cAECD,YAAY3D,EAAK4D,mBAGjB5D,SAGXrC,OAQWvB,GAAWiE,KAAKvF,EAAkByI,GAAY,IAGtDA,MAGLO,EAAiBxG,GAAiB0C,EAAKb,UAAYa,EAAKO,iBAGxDlD,OACelG,EAAc2M,EAAgB5K,GAAe,OAC7C/B,EAAc2M,EAAgB3K,GAAU,MAGpD0C,IAAsB+B,GACzB/B,GAAmBE,WAAW+H,GAC9BA,KASIC,UAAY,SAAUvF,MACjBA,OACA,KAQLwF,YAAc,cACb,SACI,KAaLC,iBAAmB,SAAUC,EAAK7B,EAAMF,GAE3C9D,OACU,QAGT4D,EAAQnL,EAAkBoN,GAC1BhC,EAASpL,EAAkBuL,UAC1BL,GAAkBC,EAAOC,EAAQC,MAUhCgC,QAAU,SAAU7C,EAAY8C,GACZ,mBAAjBA,OAIL9C,GAAcjF,GAAMiF,IAAe,KAC/BjF,GAAMiF,GAAa8C,OAUrBC,WAAa,SAAU/C,GAC3BjF,GAAMiF,MACCjF,GAAMiF,OAUTgD,YAAc,SAAUhD,GAC5BjF,GAAMiF,QACFA,GAAc,OASdiD,eAAiB,cACjB,IAGHhK,EAGMD"}
assets/js/scripts.js ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery( document ).ready( function( $ ) {
2
+ $( '#generateblocks-regenerate-css-files-button' ).on( 'click', function( event ) {
3
+ var $thisButton = $( this ); // eslint-disable-line no-var
4
+ event.preventDefault();
5
+
6
+ $thisButton.removeClass( 'success' ).addClass( 'loading' );
7
+
8
+ $.post( ajaxurl, {
9
+ action: 'generateblocks_regenerate_css_files',
10
+ _nonce: $thisButton.data( 'nonce' ),
11
+ } ).done( function() {
12
+ $thisButton.removeClass( 'loading' ).addClass( 'success' );
13
+ } );
14
+ } );
15
+ } );
dist/blocks.build.js ADDED
@@ -0,0 +1,810 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /******/ (function(modules) { // webpackBootstrap
2
+ /******/ // The module cache
3
+ /******/ var installedModules = {};
4
+ /******/
5
+ /******/ // The require function
6
+ /******/ function __webpack_require__(moduleId) {
7
+ /******/
8
+ /******/ // Check if module is in cache
9
+ /******/ if(installedModules[moduleId]) {
10
+ /******/ return installedModules[moduleId].exports;
11
+ /******/ }
12
+ /******/ // Create a new module (and put it into the cache)
13
+ /******/ var module = installedModules[moduleId] = {
14
+ /******/ i: moduleId,
15
+ /******/ l: false,
16
+ /******/ exports: {}
17
+ /******/ };
18
+ /******/
19
+ /******/ // Execute the module function
20
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21
+ /******/
22
+ /******/ // Flag the module as loaded
23
+ /******/ module.l = true;
24
+ /******/
25
+ /******/ // Return the exports of the module
26
+ /******/ return module.exports;
27
+ /******/ }
28
+ /******/
29
+ /******/
30
+ /******/ // expose the modules object (__webpack_modules__)
31
+ /******/ __webpack_require__.m = modules;
32
+ /******/
33
+ /******/ // expose the module cache
34
+ /******/ __webpack_require__.c = installedModules;
35
+ /******/
36
+ /******/ // define getter function for harmony exports
37
+ /******/ __webpack_require__.d = function(exports, name, getter) {
38
+ /******/ if(!__webpack_require__.o(exports, name)) {
39
+ /******/ Object.defineProperty(exports, name, {
40
+ /******/ configurable: false,
41
+ /******/ enumerable: true,
42
+ /******/ get: getter
43
+ /******/ });
44
+ /******/ }
45
+ /******/ };
46
+ /******/
47
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
48
+ /******/ __webpack_require__.n = function(module) {
49
+ /******/ var getter = module && module.__esModule ?
50
+ /******/ function getDefault() { return module['default']; } :
51
+ /******/ function getModuleExports() { return module; };
52
+ /******/ __webpack_require__.d(getter, 'a', getter);
53
+ /******/ return getter;
54
+ /******/ };
55
+ /******/
56
+ /******/ // Object.prototype.hasOwnProperty.call
57
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
58
+ /******/
59
+ /******/ // __webpack_public_path__
60
+ /******/ __webpack_require__.p = "";
61
+ /******/
62
+ /******/ // Load entry module and return exports
63
+ /******/ return __webpack_require__(__webpack_require__.s = 18);
64
+ /******/ })
65
+ /************************************************************************/
66
+ /******/ ([
67
+ /* 0 */
68
+ /*!******************************************!*\
69
+ !*** ./node_modules/classnames/index.js ***!
70
+ \******************************************/
71
+ /*! dynamic exports provided */
72
+ /*! exports used: default */
73
+ /***/ (function(module, exports, __webpack_require__) {
74
+
75
+ eval("var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (true) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\t\t\treturn classNames;\n\t\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jbGFzc25hbWVzL2luZGV4LmpzPzFkNmUiXSwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gIENvcHlyaWdodCAoYykgMjAxNyBKZWQgV2F0c29uLlxuICBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UgKE1JVCksIHNlZVxuICBodHRwOi8vamVkd2F0c29uLmdpdGh1Yi5pby9jbGFzc25hbWVzXG4qL1xuLyogZ2xvYmFsIGRlZmluZSAqL1xuXG4oZnVuY3Rpb24gKCkge1xuXHQndXNlIHN0cmljdCc7XG5cblx0dmFyIGhhc093biA9IHt9Lmhhc093blByb3BlcnR5O1xuXG5cdGZ1bmN0aW9uIGNsYXNzTmFtZXMgKCkge1xuXHRcdHZhciBjbGFzc2VzID0gW107XG5cblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuXHRcdFx0dmFyIGFyZyA9IGFyZ3VtZW50c1tpXTtcblx0XHRcdGlmICghYXJnKSBjb250aW51ZTtcblxuXHRcdFx0dmFyIGFyZ1R5cGUgPSB0eXBlb2YgYXJnO1xuXG5cdFx0XHRpZiAoYXJnVHlwZSA9PT0gJ3N0cmluZycgfHwgYXJnVHlwZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGFyZyk7XG5cdFx0XHR9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYXJnKSAmJiBhcmcubGVuZ3RoKSB7XG5cdFx0XHRcdHZhciBpbm5lciA9IGNsYXNzTmFtZXMuYXBwbHkobnVsbCwgYXJnKTtcblx0XHRcdFx0aWYgKGlubmVyKSB7XG5cdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGlubmVyKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChhcmdUeXBlID09PSAnb2JqZWN0Jykge1xuXHRcdFx0XHRmb3IgKHZhciBrZXkgaW4gYXJnKSB7XG5cdFx0XHRcdFx0aWYgKGhhc093bi5jYWxsKGFyZywga2V5KSAmJiBhcmdba2V5XSkge1xuXHRcdFx0XHRcdFx0Y2xhc3Nlcy5wdXNoKGtleSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuXHR9XG5cblx0aWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnICYmIG1vZHVsZS5leHBvcnRzKSB7XG5cdFx0Y2xhc3NOYW1lcy5kZWZhdWx0ID0gY2xhc3NOYW1lcztcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGNsYXNzTmFtZXM7XG5cdH0gZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgZGVmaW5lLmFtZCA9PT0gJ29iamVjdCcgJiYgZGVmaW5lLmFtZCkge1xuXHRcdC8vIHJlZ2lzdGVyIGFzICdjbGFzc25hbWVzJywgY29uc2lzdGVudCB3aXRoIG5wbSBwYWNrYWdlIG5hbWVcblx0XHRkZWZpbmUoJ2NsYXNzbmFtZXMnLCBbXSwgZnVuY3Rpb24gKCkge1xuXHRcdFx0cmV0dXJuIGNsYXNzTmFtZXM7XG5cdFx0fSk7XG5cdH0gZWxzZSB7XG5cdFx0d2luZG93LmNsYXNzTmFtZXMgPSBjbGFzc05hbWVzO1xuXHR9XG59KCkpO1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY2xhc3NuYW1lcy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///0\n");
76
+
77
+ /***/ }),
78
+ /* 1 */
79
+ /*!*************************************!*\
80
+ !*** ./src/utils/get-icon/index.js ***!
81
+ \*************************************/
82
+ /*! exports provided: default */
83
+ /*! exports used: default */
84
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
85
+
86
+ "use strict";
87
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = getIcon;\nvar el = wp.element.createElement;\n\nfunction getIcon(icon) {\n\tif ('tabs-desktop' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 24 24', fill: 'none' }, el('path', {\n\t\t\td: 'M18.95 4H4.55C3.55589 4 2.75 4.76751 2.75 5.71429V14.2857C2.75 15.2325 3.55589 16 4.55 16H18.95C19.9441 16 20.75 15.2325 20.75 14.2857V5.71429C20.75 4.76751 19.9441 4 18.95 4Z',\n\t\t\tstroke: 'currentColor',\n\t\t\tstrokeWidth: '2',\n\t\t\tstrokeLinecap: 'round',\n\t\t\tstrokeLinejoin: 'round'\n\t\t}), el('path', {\n\t\t\td: 'M1.75 18C1.19772 18 0.75 18.4477 0.75 19C0.75 19.5523 1.19772 20 1.75 20H21.75C22.3023 20 22.75 19.5523 22.75 19C22.75 18.4477 22.3023 18 21.75 18H1.75ZM9 18.8C8.86193 18.8 8.75 18.9119 8.75 19.05C8.75 19.1881 8.86193 19.3 9 19.3H14.5C14.6381 19.3 14.75 19.1881 14.75 19.05C14.75 18.9119 14.6381 18.8 14.5 18.8H9Z',\n\t\t\tstroke: 'currentColor',\n\t\t\tfillRule: 'evenodd',\n\t\t\tclipRule: 'evenodd'\n\t\t}));\n\t}\n\n\tif ('tabs-tablet' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 24 24' }, el('path', { d: 'M16.6429 4H7.35714C6.33147 4 5.5 4.71634 5.5 5.6V18.4C5.5 19.2837 6.33147 20 7.35714 20H16.6429C17.6685 20 18.5 19.2837 18.5 18.4V5.6C18.5 4.71634 17.6685 4 16.6429 4Z' }), el('path', { d: 'M12 17.5H12.01' }));\n\t}\n\n\tif ('tabs-mobile' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 24 24' }, el('path', { d: 'M15.5714 4H8.42857C7.63959 4 7 4.71634 7 5.6V18.4C7 19.2837 7.63959 20 8.42857 20H15.5714C16.3604 20 17 19.2837 17 18.4V5.6C17 4.71634 16.3604 4 15.5714 4Z' }), el('path', { d: 'M12 17.5H12.01' }));\n\t}\n\n\tif ('sync' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 24 24' }, el('path', {\n\t\t\td: 'm7.34133533 6.23855964v-1.98499625c-2.17404351.03150788-4.03300825 1.38634659-4.85221305 3.27681921-.31507877.72468117-.44111028 1.51237809-.4096024 2.33158289.06301575 1.13428361.47261815 2.20555141 1.16579145 3.05626411.37809452.4411102.28357089 1.1027757-.18904726 1.4493623-.44111028.3150788-1.07126782.2205551-1.41785447-.1890473-.85071268-1.0397599-1.38634658-2.3315829-1.54388597-3.7179294-.12603151-1.00825211-.03150788-2.01650417.25206302-2.9302326.88222055-3.02475619 3.6864216-5.26181546 6.99474868-5.29332334v-1.98499624c0-.09452363.12603151-.15753939.22055514-.09452363l4.09602403 2.99324831c.0630157.06301575.0630157.15753938 0 .18904726l-4.09602403 2.99324831c-.09452363.06301575-.22055514 0-.22055514-.09452363zm.22055514 13.17029256c.09452363.0630158.22055514 0 .22055514-.0945236v-1.9849963c3.30832709-.0315078 6.11252809-2.2685671 6.99474869-5.2933233.252063-.9137284.3780945-1.8904726.252063-2.93023256-.1575394-1.38634658-.7246812-2.67816954-1.543886-3.71792948-.3465866-.44111028-.9767441-.53563391-1.4178544-.18904726-.4726182.34658665-.5671418 1.00825206-.1890473 1.44936234.6931733.85071268 1.1027757 1.89047262 1.1657915 3.05626407.0315078.81920479-.1260315 1.63840959-.4096024 2.33158289-.787697 1.8904726-2.6466617 3.2453113-4.85221309 3.2768192v-1.9849962c0-.0945237-.12603151-.1575394-.22055514-.0945237l-4.096024 2.9932483c-.06301576.0630158-.06301576.1575394 0 .1890473z',\n\t\t\ttransform: 'translate(4 2)'\n\t\t}));\n\t}\n\n\tif ('headline' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 20 20', style: { padding: '1px' } }, el('path', {\n\t\t\td: 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4',\n\t\t\tfill: '#1e72bd'\n\t\t}));\n\t}\n\n\tif ('grid' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 20 20', style: { padding: '1px' } }, el('path', {\n\t\t\td: 'M20 .6c0-.3-.2-.6-.5-.6H.5C.2 0 0 .3 0 .6v4.6c0 .3.2.6.5.6h19c.3 0 .5-.3.5-.6V.6zM6.7 7.7c0-.3-.2-.6-.5-.6H.5c-.3 0-.5.3-.5.6v4.6c0 .3.2.6.5.6h5.6c.3 0 .5-.3.5-.6l.1-4.6zM19.9 7.7c0-.3-.2-.6-.6-.6H8.6c-.4 0-.6.3-.6.6v4.5c0 .3.2.6.6.6h10.8c.3 0 .6-.3.6-.6l-.1-4.5z',\n\t\t\tfill: '#1d72ba'\n\t\t}), el('path', {\n\t\t\td: 'M20 14.8c0-.3-.2-.6-.5-.6h-5.6c-.3 0-.5.2-.5.6v4.6c0 .3.2.6.5.6h5.6c.3 0 .5-.2.5-.6v-4.6zM12 14.8c0-.3-.2-.5-.5-.5H.5c-.3 0-.5.2-.5.5v4.6c0 .4.2.6.5.6h11c.3 0 .5-.2.5-.5v-4.7z',\n\t\t\tfill: '#1d72ba'\n\t\t}));\n\t}\n\n\tif ('container' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 20 20', style: { padding: '1px' } }, el('path', {\n\t\t\td: 'M2.8 3.4c0-.4.3-.7.7-.7h1.2V0H3.4C1.5 0 0 1.5 0 3.4v1.2h2.8V3.4zM0 7.4h2.8v5.3H0zM17.2 7.4H20v5.3h-2.8zM17.2 16.6c0 .4-.3.7-.7.7h-1.2V20h1.2c1.9 0 3.4-1.5 3.4-3.4v-1.2h-2.8v1.2h.1zM7.4 0h5.3v2.8H7.4zM3.4 17.2c-.4 0-.7-.3-.7-.7v-1.2H0v1.2c0 2 1.5 3.5 3.4 3.5h1.2v-2.8H3.4zM7.4 17.2h5.3V20H7.4zM16.6 2.8c.4 0 .7.3.7.7v1.2H20V3.4C20 1.5 18.5 0 16.6 0h-1.2v2.8h1.2z',\n\t\t\tfill: '#1e72bd'\n\t\t}));\n\t}\n\n\tif ('button' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 20 20', style: { padding: '1px' } }, el('path', {\n\t\t\td: 'M19.2 0H.8C.4 0 0 .4 0 .8v6.4c0 .4.4.8.8.8h18.4c.4 0 .8-.4.8-.8V.8c0-.4-.4-.8-.8-.8zM18.4 12H1.6c-.9 0-1.6.7-1.6 1.6v4.8c0 .9.7 1.6 1.6 1.6h16.8c.9 0 1.6-.7 1.6-1.6v-4.8c0-.9-.7-1.6-1.6-1.6zm.4 6.4c0 .2-.2.4-.4.4H1.6c-.2 0-.4-.2-.4-.4v-4.8c0-.2.2-.4.4-.4h16.8c.2 0 .4.2.4.4v4.8z',\n\t\t\tfill: '#1e72bd'\n\t\t}));\n\t}\n\n\tif ('paragraph' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 20 20' }, el('path', {\n\t\t\td: 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71A.984.984 0 0 0 15 2z'\n\t\t}));\n\t}\n\n\tif ('spacing' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.283,6.217c8.289,8.29 8.289,91.776 0,100.066c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.29,-8.289 91.776,-8.289 100.066,0Zm-10.007,10.007c6.632,6.632 6.632,73.42 0,80.052c-6.632,6.632 -73.42,6.632 -80.052,0c-6.632,-6.632 -6.632,-73.42 0,-80.052c6.632,-6.632 73.42,-6.632 80.052,0Z'\n\t\t}), el('path', {\n\t\t\td: 'M40.452,77.705c7.802,1.393 23.794,1.393 31.596,0l13.635,13.635c-12.215,3.213 -46.652,3.213 -58.866,0l13.635,-13.635Zm50.888,-50.888c3.213,12.215 3.213,46.653 0,58.866l-13.635,-13.635c1.393,-7.801 1.393,-23.794 0,-31.596l13.635,-13.635Zm-70.18,0l13.635,13.635c-1.393,7.802 -1.393,23.794 0,31.596l-13.635,13.635c-3.213,-12.213 -3.213,-46.651 0,-58.866Zm5.657,-5.657c12.214,-3.213 46.652,-3.213 58.866,0l-13.635,13.635c-7.801,-1.393 -23.795,-1.393 -31.596,0l-13.635,-13.635Z'\n\t\t}));\n\t}\n\n\tif ('advanced' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.283,6.217c8.289,8.29 8.289,91.776 0,100.066c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.29,-8.289 91.776,-8.289 100.066,0Zm-10.007,37.215c6.632,2.124 6.632,23.512 0,25.636c-6.632,2.124 -73.42,2.124 -80.052,0c-6.632,-2.124 -6.632,-23.512 0,-25.636c6.632,-2.124 73.42,-2.124 80.052,0Z'\n\t\t}), el('path', {\n\t\t\td: 'M48.61,51.916c2.243,0.718 2.243,7.95 0,8.668c-2.242,0.718 -24.823,0.718 -27.065,0c-2.243,-0.718 -2.243,-7.95 0,-8.668c2.242,-0.718 24.823,-0.718 27.065,0Z'\n\t\t}), el('path', {\n\t\t\td: 'M90.955,51.916c2.243,0.718 2.243,7.95 0,8.668c-2.242,0.718 -24.823,0.718 -27.065,0c-2.243,-0.718 -2.243,-7.95 0,-8.668c2.242,-0.718 24.823,-0.718 27.065,0Z'\n\t\t}));\n\t}\n\n\tif ('backgrounds' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M1.491,87.777l37.79,-37.79l31.352,31.352c2.412,2.171 5.656,0 5.656,0l17.248,-17.247l13.186,13.186l4.796,4.797c-0.971,12.199 -2.726,21.685 -5.249,24.208c-8.29,8.289 -91.776,8.289 -100.066,0c-2.113,-2.113 -3.687,-9.113 -4.713,-18.506Z'\n\t\t}), el('path', {\n\t\t\td: 'M0.631,77.323c-1.742,-27.728 0.125,-65.658 5.573,-71.106c8.29,-8.289 91.776,-8.289 100.066,0c5.07,5.07 7.039,38.265 5.89,65.185l-15.795,-15.795c-2.412,-2.172 -5.657,0 -5.657,0l-17.247,17.246l-31.351,-31.351c-0.731,-0.658 -1.036,-1 -2.619,-1.166c-0.263,0 -0.477,-0.075 -1.245,0.131c-0.912,0.244 -1.793,1.035 -1.793,1.035l-35.822,35.821Zm76.434,-59.584c7.115,0 12.891,5.776 12.891,12.89c0,7.114 -5.776,12.89 -12.891,12.89c-7.114,0 -12.89,-5.776 -12.89,-12.89c0,-7.114 5.776,-12.89 12.89,-12.89Z'\n\t\t}));\n\t}\n\n\tif ('colors' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.283,6.217c8.289,8.29 8.289,91.776 0,100.066c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.29,-8.289 91.776,-8.289 100.066,0Zm-50.033,12.818c-20.551,0 -37.215,16.664 -37.215,37.215c0,20.551 16.664,37.215 37.215,37.215c3.432,0 6.202,-2.77 6.202,-6.203c0,-1.612 -0.62,-3.059 -1.612,-4.176c-0.951,-1.075 -1.571,-2.522 -1.571,-4.094c0,-3.432 2.77,-6.202 6.202,-6.202l7.319,0c11.413,0 20.675,-9.262 20.675,-20.675c0,-18.277 -16.664,-33.08 -37.215,-33.08Zm-22.742,37.215c-3.433,0 -6.203,-2.77 -6.203,-6.202c0,-3.433 2.77,-6.203 6.203,-6.203c3.432,0 6.202,2.77 6.202,6.203c0,3.432 -2.77,6.202 -6.202,6.202Zm45.484,0c-3.432,0 -6.202,-2.77 -6.202,-6.202c0,-3.433 2.77,-6.203 6.202,-6.203c3.433,0 6.203,2.77 6.203,6.203c0,3.432 -2.77,6.202 -6.203,6.202Zm-33.079,-16.54c-3.433,0 -6.203,-2.77 -6.203,-6.202c0,-3.433 2.77,-6.203 6.203,-6.203c3.432,0 6.202,2.77 6.202,6.203c0,3.432 -2.77,6.202 -6.202,6.202Zm20.674,0c-3.432,0 -6.202,-2.77 -6.202,-6.202c0,-3.433 2.77,-6.203 6.202,-6.203c3.433,0 6.203,2.77 6.203,6.203c0,3.432 -2.77,6.202 -6.203,6.202Z'\n\t\t}));\n\t}\n\n\tif ('gradients' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M112.426,48.746c0.503,25.204 -1.545,52.939 -6.143,57.537c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.289,-8.288 91.748,-8.289 100.061,-0.004c0,0 0.005,0.004 0.005,0.004c3.691,3.692 5.739,22.295 6.143,42.529Zm-16.154,-32.526c-6.656,-6.628 -73.418,-6.627 -80.048,0.004c-6.631,6.63 -6.632,73.392 -0.004,80.048l80.052,-80.052Z'\n\t\t}));\n\t}\n\n\tif ('icons' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.283,6.217c8.289,8.29 8.289,91.776 0,100.066c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.29,-8.289 91.776,-8.289 100.066,0Zm-10.007,10.007c6.632,6.632 6.632,73.42 0,80.052c-6.632,6.632 -73.42,6.632 -80.052,0c-6.632,-6.632 -6.632,-73.42 0,-80.052c6.632,-6.632 73.42,-6.632 80.052,0Z'\n\t\t}), el('path', {\n\t\t\td: 'M89.605,22.895c5.527,5.526 5.527,61.184 0,66.71c-5.526,5.527 -61.184,5.527 -66.71,0c-5.527,-5.526 -5.527,-61.184 0,-66.71c5.526,-5.527 61.184,-5.527 66.71,0Zm-21.066,62.31l0,-2.731c-0.648,-0.074 -1.272,-0.199 -1.87,-0.374c-0.599,-0.174 -1.148,-0.374 -1.646,-0.598c-0.699,-0.299 -1.235,-0.755 -1.609,-1.366c-0.374,-0.611 -0.561,-1.353 -0.561,-2.226l0,-29.703l-0.561,-0.561l-18.331,0.972l0,2.731c0.748,0.075 1.577,0.25 2.488,0.524c0.91,0.274 1.589,0.561 2.038,0.86c0.599,0.399 1.098,0.929 1.497,1.59c0.399,0.661 0.598,1.428 0.598,2.301l0,21.773c0,0.923 -0.162,1.665 -0.486,2.226c-0.324,0.561 -0.885,0.991 -1.683,1.29c-0.449,0.175 -0.986,0.3 -1.609,0.374c-0.624,0.075 -1.26,0.138 -1.908,0.187l0,2.731l23.643,0Zm-12.978,-59.459c4.76,0 8.625,3.864 8.625,8.625c0,4.76 -3.865,8.625 -8.625,8.625c-4.76,0 -8.625,-3.865 -8.625,-8.625c0,-4.761 3.865,-8.625 8.625,-8.625Z'\n\t\t}));\n\t}\n\n\tif ('typography' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.283,6.217c8.289,8.29 8.289,91.776 0,100.066c-8.29,8.289 -91.776,8.289 -100.066,0c-8.289,-8.29 -8.289,-91.776 0,-100.066c8.29,-8.289 91.776,-8.289 100.066,0Zm-8.783,78.583l0,-2.817c-0.661,-0.026 -1.481,-0.165 -2.46,-0.417c-0.979,-0.251 -1.773,-0.562 -2.381,-0.932c-0.9,-0.609 -1.601,-1.23 -2.103,-1.865c-0.503,-0.635 -0.953,-1.468 -1.349,-2.5l-18.769,-48.569l-3.175,0c-2.672,6.878 -5.714,14.721 -9.126,23.53c-3.266,8.43 -6.265,16.06 -8.998,22.891l-11.672,-28.684l-2.304,0c-1.939,4.742 -4.148,10.149 -6.625,16.222c-2.477,6.072 -4.743,11.543 -6.798,16.412c-0.403,0.949 -0.816,1.692 -1.238,2.23c-0.423,0.538 -1.018,1.053 -1.786,1.545c-0.48,0.292 -1.095,0.524 -1.844,0.698c-0.749,0.173 -1.373,0.278 -1.872,0.314l0,1.942l15.382,0l0,-1.942c-1.518,-0.073 -2.881,-0.31 -4.091,-0.711c-1.209,-0.401 -1.814,-0.966 -1.814,-1.696c0,-0.31 0.048,-0.711 0.144,-1.204c0.096,-0.492 0.268,-1.13 0.518,-1.914c0.269,-0.803 0.571,-1.678 0.907,-2.626c0.336,-0.948 0.773,-2.061 1.311,-3.338l14.316,0l3.399,8.699c0.012,0.03 0.024,0.06 0.036,0.092c-0.161,0.119 -0.329,0.237 -0.503,0.355c-0.661,0.423 -1.508,0.76 -2.539,1.012c-1.032,0.251 -1.892,0.403 -2.58,0.456l0,2.817l21.19,0l0,-2.817c-2.09,-0.106 -3.968,-0.45 -5.635,-1.032c-1.666,-0.582 -2.499,-1.402 -2.499,-2.46c0,-0.45 0.066,-1.032 0.198,-1.746c0.132,-0.714 0.37,-1.64 0.714,-2.777c0.371,-1.164 0.787,-2.434 1.25,-3.81c0.463,-1.375 1.065,-2.989 1.806,-4.841l19.721,0l4.682,12.619c0.106,0.264 0.186,0.568 0.238,0.912c0.053,0.344 0.08,0.635 0.08,0.873c0,0.582 -0.681,1.072 -2.044,1.468c-1.362,0.397 -3.075,0.662 -5.138,0.794l0,2.817l23.451,0Zm-56.864,-15.865l-6.193,-15.045l-6.078,15.045l12.271,0Zm34.167,-7.15l-8.532,-21.824l-8.373,21.824l16.905,0Z'\n\t\t}));\n\t}\n\n\tif ('addContainer' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 64 64', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M41.454,57.126l0,6.409c-6.088,0.286 -12.82,0.286 -18.908,0l0,-6.409c5.957,0.366 12.951,0.366 18.908,0Zm-33.93,-8.899c0.458,3.226 1.086,5.568 1.883,6.366c0.798,0.797 3.14,1.425 6.366,1.883l0,6.592c-6.084,-0.578 -10.706,-1.519 -12.015,-2.826c-1.307,-1.309 -2.248,-5.931 -2.826,-12.015l6.592,0Zm55.544,0c-0.578,6.084 -1.519,10.706 -2.826,12.015c-1.309,1.307 -5.931,2.248 -12.015,2.826l0,-6.592c3.226,-0.458 5.568,-1.086 6.366,-1.883c0.797,-0.798 1.425,-3.14 1.883,-6.366l6.592,0Zm0.467,-25.681c0.286,6.088 0.286,12.82 0,18.908l-6.409,0c0.366,-5.957 0.366,-12.951 0,-18.908l6.409,0Zm-56.661,0c-0.366,5.957 -0.366,12.951 0,18.908l-6.409,0c-0.286,-6.088 -0.286,-12.82 0,-18.908l6.409,0Zm41.353,-21.614c6.084,0.578 10.706,1.519 12.015,2.826c1.307,1.309 2.248,5.931 2.826,12.015l-6.592,0c-0.458,-3.226 -1.086,-5.568 -1.883,-6.366c-0.798,-0.797 -3.14,-1.425 -6.366,-1.883l0,-6.592Zm-32.454,0l0,6.592c-3.226,0.458 -5.568,1.086 -6.366,1.883c-0.797,0.798 -1.425,3.14 -1.883,6.366l-6.592,0c0.578,-6.084 1.519,-10.706 2.826,-12.015c1.309,-1.307 5.931,-2.248 12.015,-2.826Zm6.773,-0.467c6.088,-0.286 12.82,-0.286 18.908,0l0,6.409c-5.957,-0.366 -12.951,-0.366 -18.908,0l0,-6.409Z'\n\t\t}), el('path', {\n\t\t\td: 'M18.03,29.037l11.007,0l0,-11.007l6.773,0l0,11.007l11.007,0l0,6.773l-11.007,0l0,11.007l-6.773,0l0,-11.007l-11.007,0l0,-6.773Z'\n\t\t}));\n\t}\n\n\tif ('gradient' === icon) {\n\t\treturn el('svg', { width: 24, height: 24, viewBox: '0 0 24 24', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M17.66 8L12 2.35L6.34 8A8.02 8.02 0 0 0 4 13.64c0 2 .78 4.11 2.34 5.67a7.99 7.99 0 0 0 11.32 0c1.56-1.56 2.34-3.67 2.34-5.67S19.22 9.56 17.66 8zM6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14H6z'\n\t\t}));\n\t}\n\n\tif ('documentation' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.755 6.245c8.327 8.326 8.327 92.184 0 100.51-8.326 8.327-92.184 8.327-100.51 0-8.327-8.326-8.327-92.184 0-100.51 8.326-8.327 92.184-8.327 100.51 0zm-92.661 93.896C9.279 84 9.781 23.714 15.834 17.661c2.491-2.491 19.588-4.132 26.354-4.712 4.748-.408 10.115.671 14.243 1.23 4.128-.559 9.495-1.638 14.243-1.23 6.766.58 23.863 2.221 26.354 4.712 6.053 6.053 6.791 66.339 1.976 82.48-4.729-1.977-19.708-3.436-26.784-3.853-5.234-.308-11.129.739-15.671 1.354-4.543-.615-10.437-1.662-15.672-1.354-7.075.417-22.054 1.876-26.783 3.853z'\n\t\t}), el('path', {\n\t\t\td: 'M50.188 32.738c2.252.536 2.252 5.927 0 6.463-2.252.535-24.934.535-27.186 0-2.252-.536-2.252-5.927 0-6.463 2.252-.535 24.934-.535 27.186 0zM50.277 46.846c2.252.535 2.252 5.927 0 6.462-2.252.535-24.934.535-27.186 0-2.252-.535-2.252-5.927 0-6.462 2.252-.535 24.934-.535 27.186 0zM50.277 60.037c2.252.535 2.252 5.927 0 6.462-2.252.535-24.934.535-27.186 0-2.252-.535-2.252-5.927 0-6.462 2.252-.535 24.934-.535 27.186 0zM50.277 73.799c2.252.536 2.252 5.927 0 6.463-2.252.535-24.934.535-27.186 0-2.252-.536-2.252-5.927 0-6.463 2.252-.535 24.934-.535 27.186 0z'\n\t\t}), el('path', {\n\t\t\td: 'M89.909 32.738c2.252.536 2.252 5.927 0 6.463-2.252.535-24.934.535-27.186 0-2.252-.536-2.252-5.927 0-6.463 2.252-.535 24.934-.535 27.186 0zM89.998 46.846c2.252.535 2.252 5.927 0 6.462-2.252.535-24.934.535-27.186 0-2.252-.535-2.252-5.927 0-6.462 2.252-.535 24.934-.535 27.186 0zM89.998 60.037c2.252.535 2.252 5.927 0 6.462-2.252.535-24.934.535-27.186 0-2.252-.535-2.252-5.927 0-6.462 2.252-.535 24.934-.535 27.186 0z'\n\t\t}));\n\t}\n\n\tif ('layout' === icon) {\n\t\treturn el('svg', { width: 20, height: 20, viewBox: '0 0 113 113', fillRule: 'evenodd' }, el('path', {\n\t\t\td: 'M106.719 6.238c8.362 8.362 8.362 92.208 0 100.57-8.362 8.287-92.208 8.287-100.495 0-8.362-8.362-8.362-92.208 0-100.57 8.287-8.286 92.133-8.286 100.495 0zm-9.417 9.417c6.78 6.78 6.78 74.957 0 81.737-6.78 6.78-74.956 6.78-81.661 0-6.78-6.78-6.78-74.957 0-81.737 6.705-6.78 74.881-6.78 81.661 0z'\n\t\t}), el('path', {\n\t\t\td: 'M93.988 48.877c.602 17.477-.754 37.893-3.993 41.132-3.164 3.164-22.75 4.52-40.002 4.068v-45.2h43.995zm-75.108 0h23.58v44.899c-9.718-.603-17.553-1.808-19.512-3.767-3.24-3.24-4.595-23.655-4.068-41.132zm.377-7.533c.678-9.19 1.883-16.498 3.691-18.306 5.575-5.575 61.472-5.575 67.047 0 1.808 1.808 3.013 9.115 3.691 18.306h-74.43z'\n\t\t}));\n\t}\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy91dGlscy9nZXQtaWNvbi9pbmRleC5qcz8yODg5Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBlbCA9IHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0SWNvbihpY29uKSB7XG5cdGlmICgndGFicy1kZXNrdG9wJyA9PT0gaWNvbikge1xuXHRcdHJldHVybiBlbCgnc3ZnJywgeyB3aWR0aDogMjQsIGhlaWdodDogMjQsIHZpZXdCb3g6ICcwIDAgMjQgMjQnLCBmaWxsOiAnbm9uZScgfSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTE4Ljk1IDRINC41NUMzLjU1NTg5IDQgMi43NSA0Ljc2NzUxIDIuNzUgNS43MTQyOVYxNC4yODU3QzIuNzUgMTUuMjMyNSAzLjU1NTg5IDE2IDQuNTUgMTZIMTguOTVDMTkuOTQ0MSAxNiAyMC43NSAxNS4yMzI1IDIwLjc1IDE0LjI4NTdWNS43MTQyOUMyMC43NSA0Ljc2NzUxIDE5Ljk0NDEgNCAxOC45NSA0WicsXG5cdFx0XHRzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuXHRcdFx0c3Ryb2tlV2lkdGg6ICcyJyxcblx0XHRcdHN0cm9rZUxpbmVjYXA6ICdyb3VuZCcsXG5cdFx0XHRzdHJva2VMaW5lam9pbjogJ3JvdW5kJ1xuXHRcdH0pLCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMS43NSAxOEMxLjE5NzcyIDE4IDAuNzUgMTguNDQ3NyAwLjc1IDE5QzAuNzUgMTkuNTUyMyAxLjE5NzcyIDIwIDEuNzUgMjBIMjEuNzVDMjIuMzAyMyAyMCAyMi43NSAxOS41NTIzIDIyLjc1IDE5QzIyLjc1IDE4LjQ0NzcgMjIuMzAyMyAxOCAyMS43NSAxOEgxLjc1Wk05IDE4LjhDOC44NjE5MyAxOC44IDguNzUgMTguOTExOSA4Ljc1IDE5LjA1QzguNzUgMTkuMTg4MSA4Ljg2MTkzIDE5LjMgOSAxOS4zSDE0LjVDMTQuNjM4MSAxOS4zIDE0Ljc1IDE5LjE4ODEgMTQuNzUgMTkuMDVDMTQuNzUgMTguOTExOSAxNC42MzgxIDE4LjggMTQuNSAxOC44SDlaJyxcblx0XHRcdHN0cm9rZTogJ2N1cnJlbnRDb2xvcicsXG5cdFx0XHRmaWxsUnVsZTogJ2V2ZW5vZGQnLFxuXHRcdFx0Y2xpcFJ1bGU6ICdldmVub2RkJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgndGFicy10YWJsZXQnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyNCwgaGVpZ2h0OiAyNCwgdmlld0JveDogJzAgMCAyNCAyNCcgfSwgZWwoJ3BhdGgnLCB7IGQ6ICdNMTYuNjQyOSA0SDcuMzU3MTRDNi4zMzE0NyA0IDUuNSA0LjcxNjM0IDUuNSA1LjZWMTguNEM1LjUgMTkuMjgzNyA2LjMzMTQ3IDIwIDcuMzU3MTQgMjBIMTYuNjQyOUMxNy42Njg1IDIwIDE4LjUgMTkuMjgzNyAxOC41IDE4LjRWNS42QzE4LjUgNC43MTYzNCAxNy42Njg1IDQgMTYuNjQyOSA0WicgfSksIGVsKCdwYXRoJywgeyBkOiAnTTEyIDE3LjVIMTIuMDEnIH0pKTtcblx0fVxuXG5cdGlmICgndGFicy1tb2JpbGUnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyNCwgaGVpZ2h0OiAyNCwgdmlld0JveDogJzAgMCAyNCAyNCcgfSwgZWwoJ3BhdGgnLCB7IGQ6ICdNMTUuNTcxNCA0SDguNDI4NTdDNy42Mzk1OSA0IDcgNC43MTYzNCA3IDUuNlYxOC40QzcgMTkuMjgzNyA3LjYzOTU5IDIwIDguNDI4NTcgMjBIMTUuNTcxNEMxNi4zNjA0IDIwIDE3IDE5LjI4MzcgMTcgMTguNFY1LjZDMTcgNC43MTYzNCAxNi4zNjA0IDQgMTUuNTcxNCA0WicgfSksIGVsKCdwYXRoJywgeyBkOiAnTTEyIDE3LjVIMTIuMDEnIH0pKTtcblx0fVxuXG5cdGlmICgnc3luYycgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDI0LCBoZWlnaHQ6IDI0LCB2aWV3Qm94OiAnMCAwIDI0IDI0JyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdtNy4zNDEzMzUzMyA2LjIzODU1OTY0di0xLjk4NDk5NjI1Yy0yLjE3NDA0MzUxLjAzMTUwNzg4LTQuMDMzMDA4MjUgMS4zODYzNDY1OS00Ljg1MjIxMzA1IDMuMjc2ODE5MjEtLjMxNTA3ODc3LjcyNDY4MTE3LS40NDExMTAyOCAxLjUxMjM3ODA5LS40MDk2MDI0IDIuMzMxNTgyODkuMDYzMDE1NzUgMS4xMzQyODM2MS40NzI2MTgxNSAyLjIwNTU1MTQxIDEuMTY1NzkxNDUgMy4wNTYyNjQxMS4zNzgwOTQ1Mi40NDExMTAyLjI4MzU3MDg5IDEuMTAyNzc1Ny0uMTg5MDQ3MjYgMS40NDkzNjIzLS40NDExMTAyOC4zMTUwNzg4LTEuMDcxMjY3ODIuMjIwNTU1MS0xLjQxNzg1NDQ3LS4xODkwNDczLS44NTA3MTI2OC0xLjAzOTc1OTktMS4zODYzNDY1OC0yLjMzMTU4MjktMS41NDM4ODU5Ny0zLjcxNzkyOTQtLjEyNjAzMTUxLTEuMDA4MjUyMTEtLjAzMTUwNzg4LTIuMDE2NTA0MTcuMjUyMDYzMDItMi45MzAyMzI2Ljg4MjIyMDU1LTMuMDI0NzU2MTkgMy42ODY0MjE2LTUuMjYxODE1NDYgNi45OTQ3NDg2OC01LjI5MzMyMzM0di0xLjk4NDk5NjI0YzAtLjA5NDUyMzYzLjEyNjAzMTUxLS4xNTc1MzkzOS4yMjA1NTUxNC0uMDk0NTIzNjNsNC4wOTYwMjQwMyAyLjk5MzI0ODMxYy4wNjMwMTU3LjA2MzAxNTc1LjA2MzAxNTcuMTU3NTM5MzggMCAuMTg5MDQ3MjZsLTQuMDk2MDI0MDMgMi45OTMyNDgzMWMtLjA5NDUyMzYzLjA2MzAxNTc1LS4yMjA1NTUxNCAwLS4yMjA1NTUxNC0uMDk0NTIzNjN6bS4yMjA1NTUxNCAxMy4xNzAyOTI1NmMuMDk0NTIzNjMuMDYzMDE1OC4yMjA1NTUxNCAwIC4yMjA1NTUxNC0uMDk0NTIzNnYtMS45ODQ5OTYzYzMuMzA4MzI3MDktLjAzMTUwNzggNi4xMTI1MjgwOS0yLjI2ODU2NzEgNi45OTQ3NDg2OS01LjI5MzMyMzMuMjUyMDYzLS45MTM3Mjg0LjM3ODA5NDUtMS44OTA0NzI2LjI1MjA2My0yLjkzMDIzMjU2LS4xNTc1Mzk0LTEuMzg2MzQ2NTgtLjcyNDY4MTItMi42NzgxNjk1NC0xLjU0Mzg4Ni0zLjcxNzkyOTQ4LS4zNDY1ODY2LS40NDExMTAyOC0uOTc2NzQ0MS0uNTM1NjMzOTEtMS40MTc4NTQ0LS4xODkwNDcyNi0uNDcyNjE4Mi4zNDY1ODY2NS0uNTY3MTQxOCAxLjAwODI1MjA2LS4xODkwNDczIDEuNDQ5MzYyMzQuNjkzMTczMy44NTA3MTI2OCAxLjEwMjc3NTcgMS44OTA0NzI2MiAxLjE2NTc5MTUgMy4wNTYyNjQwNy4wMzE1MDc4LjgxOTIwNDc5LS4xMjYwMzE1IDEuNjM4NDA5NTktLjQwOTYwMjQgMi4zMzE1ODI4OS0uNzg3Njk3IDEuODkwNDcyNi0yLjY0NjY2MTcgMy4yNDUzMTEzLTQuODUyMjEzMDkgMy4yNzY4MTkydi0xLjk4NDk5NjJjMC0uMDk0NTIzNy0uMTI2MDMxNTEtLjE1NzUzOTQtLjIyMDU1NTE0LS4wOTQ1MjM3bC00LjA5NjAyNCAyLjk5MzI0ODNjLS4wNjMwMTU3Ni4wNjMwMTU4LS4wNjMwMTU3Ni4xNTc1Mzk0IDAgLjE4OTA0NzN6Jyxcblx0XHRcdHRyYW5zZm9ybTogJ3RyYW5zbGF0ZSg0IDIpJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgnaGVhZGxpbmUnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyNCwgaGVpZ2h0OiAyNCwgdmlld0JveDogJzAgMCAyMCAyMCcsIHN0eWxlOiB7IHBhZGRpbmc6ICcxcHgnIH0gfSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTEyLjUgNHY1LjJoLTVWNEg1djEzaDIuNXYtNS4yaDVWMTdIMTVWNCcsXG5cdFx0XHRmaWxsOiAnIzFlNzJiZCdcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ2dyaWQnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAyMCAyMCcsIHN0eWxlOiB7IHBhZGRpbmc6ICcxcHgnIH0gfSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTIwIC42YzAtLjMtLjItLjYtLjUtLjZILjVDLjIgMCAwIC4zIDAgLjZ2NC42YzAgLjMuMi42LjUuNmgxOWMuMyAwIC41LS4zLjUtLjZWLjZ6TTYuNyA3LjdjMC0uMy0uMi0uNi0uNS0uNkguNWMtLjMgMC0uNS4zLS41LjZ2NC42YzAgLjMuMi42LjUuNmg1LjZjLjMgMCAuNS0uMy41LS42bC4xLTQuNnpNMTkuOSA3LjdjMC0uMy0uMi0uNi0uNi0uNkg4LjZjLS40IDAtLjYuMy0uNi42djQuNWMwIC4zLjIuNi42LjZoMTAuOGMuMyAwIC42LS4zLjYtLjZsLS4xLTQuNXonLFxuXHRcdFx0ZmlsbDogJyMxZDcyYmEnXG5cdFx0fSksIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ00yMCAxNC44YzAtLjMtLjItLjYtLjUtLjZoLTUuNmMtLjMgMC0uNS4yLS41LjZ2NC42YzAgLjMuMi42LjUuNmg1LjZjLjMgMCAuNS0uMi41LS42di00LjZ6TTEyIDE0LjhjMC0uMy0uMi0uNS0uNS0uNUguNWMtLjMgMC0uNS4yLS41LjV2NC42YzAgLjQuMi42LjUuNmgxMWMuMyAwIC41LS4yLjUtLjV2LTQuN3onLFxuXHRcdFx0ZmlsbDogJyMxZDcyYmEnXG5cdFx0fSkpO1xuXHR9XG5cblx0aWYgKCdjb250YWluZXInID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAyMCAyMCcsIHN0eWxlOiB7IHBhZGRpbmc6ICcxcHgnIH0gfSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTIuOCAzLjRjMC0uNC4zLS43LjctLjdoMS4yVjBIMy40QzEuNSAwIDAgMS41IDAgMy40djEuMmgyLjhWMy40ek0wIDcuNGgyLjh2NS4zSDB6TTE3LjIgNy40SDIwdjUuM2gtMi44ek0xNy4yIDE2LjZjMCAuNC0uMy43LS43LjdoLTEuMlYyMGgxLjJjMS45IDAgMy40LTEuNSAzLjQtMy40di0xLjJoLTIuOHYxLjJoLjF6TTcuNCAwaDUuM3YyLjhINy40ek0zLjQgMTcuMmMtLjQgMC0uNy0uMy0uNy0uN3YtMS4ySDB2MS4yYzAgMiAxLjUgMy41IDMuNCAzLjVoMS4ydi0yLjhIMy40ek03LjQgMTcuMmg1LjNWMjBINy40ek0xNi42IDIuOGMuNCAwIC43LjMuNy43djEuMkgyMFYzLjRDMjAgMS41IDE4LjUgMCAxNi42IDBoLTEuMnYyLjhoMS4yeicsXG5cdFx0XHRmaWxsOiAnIzFlNzJiZCdcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ2J1dHRvbicgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDIwIDIwJywgc3R5bGU6IHsgcGFkZGluZzogJzFweCcgfSB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTkuMiAwSC44Qy40IDAgMCAuNCAwIC44djYuNGMwIC40LjQuOC44LjhoMTguNGMuNCAwIC44LS40LjgtLjhWLjhjMC0uNC0uNC0uOC0uOC0uOHpNMTguNCAxMkgxLjZjLS45IDAtMS42LjctMS42IDEuNnY0LjhjMCAuOS43IDEuNiAxLjYgMS42aDE2LjhjLjkgMCAxLjYtLjcgMS42LTEuNnYtNC44YzAtLjktLjctMS42LTEuNi0xLjZ6bS40IDYuNGMwIC4yLS4yLjQtLjQuNEgxLjZjLS4yIDAtLjQtLjItLjQtLjR2LTQuOGMwLS4yLjItLjQuNC0uNGgxNi44Yy4yIDAgLjQuMi40LjR2NC44eicsXG5cdFx0XHRmaWxsOiAnIzFlNzJiZCdcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ3BhcmFncmFwaCcgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDIwIDIwJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTUgMkg3LjU0Yy0uODMgMC0xLjU5LjItMi4yOC42LS43LjQxLTEuMjUuOTYtMS42NSAxLjY1QzMuMiA0Ljk0IDMgNS43IDMgNi41MnMuMiAxLjU4LjYxIDIuMjdjLjQuNjkuOTUgMS4yNCAxLjY1IDEuNjQuNjkuNDEgMS40NS42MSAyLjI4LjYxaC40M1YxN2MwIC4yNy4xLjUxLjI5LjcxLjIuMTkuNDQuMjkuNzEuMjkuMjggMCAuNTEtLjEuNzEtLjI5LjItLjIuMy0uNDQuMy0uNzFWNWMwLS4yNy4wOS0uNTEuMjktLjcxLjItLjE5LjQ0LS4yOS43MS0uMjlzLjUxLjEuNzEuMjljLjE5LjIuMjkuNDQuMjkuNzF2MTJjMCAuMjcuMS41MS4zLjcxLjIuMTkuNDMuMjkuNzEuMjkuMjcgMCAuNTEtLjEuNzEtLjI5LjE5LS4yLjI5LS40NC4yOS0uNzFWNEgxNWMuMjcgMCAuNS0uMS43LS4zLjItLjE5LjMtLjQzLjMtLjdzLS4xLS41MS0uMy0uNzFBLjk4NC45ODQgMCAwIDAgMTUgMnonXG5cdFx0fSkpO1xuXHR9XG5cblx0aWYgKCdzcGFjaW5nJyA9PT0gaWNvbikge1xuXHRcdHJldHVybiBlbCgnc3ZnJywgeyB3aWR0aDogMjAsIGhlaWdodDogMjAsIHZpZXdCb3g6ICcwIDAgMTEzIDExMycsIGZpbGxSdWxlOiAnZXZlbm9kZCcgfSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTEwNi4yODMsNi4yMTdjOC4yODksOC4yOSA4LjI4OSw5MS43NzYgMCwxMDAuMDY2Yy04LjI5LDguMjg5IC05MS43NzYsOC4yODkgLTEwMC4wNjYsMGMtOC4yODksLTguMjkgLTguMjg5LC05MS43NzYgMCwtMTAwLjA2NmM4LjI5LC04LjI4OSA5MS43NzYsLTguMjg5IDEwMC4wNjYsMFptLTEwLjAwNywxMC4wMDdjNi42MzIsNi42MzIgNi42MzIsNzMuNDIgMCw4MC4wNTJjLTYuNjMyLDYuNjMyIC03My40Miw2LjYzMiAtODAuMDUyLDBjLTYuNjMyLC02LjYzMiAtNi42MzIsLTczLjQyIDAsLTgwLjA1MmM2LjYzMiwtNi42MzIgNzMuNDIsLTYuNjMyIDgwLjA1MiwwWidcblx0XHR9KSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTQwLjQ1Miw3Ny43MDVjNy44MDIsMS4zOTMgMjMuNzk0LDEuMzkzIDMxLjU5NiwwbDEzLjYzNSwxMy42MzVjLTEyLjIxNSwzLjIxMyAtNDYuNjUyLDMuMjEzIC01OC44NjYsMGwxMy42MzUsLTEzLjYzNVptNTAuODg4LC01MC44ODhjMy4yMTMsMTIuMjE1IDMuMjEzLDQ2LjY1MyAwLDU4Ljg2NmwtMTMuNjM1LC0xMy42MzVjMS4zOTMsLTcuODAxIDEuMzkzLC0yMy43OTQgMCwtMzEuNTk2bDEzLjYzNSwtMTMuNjM1Wm0tNzAuMTgsMGwxMy42MzUsMTMuNjM1Yy0xLjM5Myw3LjgwMiAtMS4zOTMsMjMuNzk0IDAsMzEuNTk2bC0xMy42MzUsMTMuNjM1Yy0zLjIxMywtMTIuMjEzIC0zLjIxMywtNDYuNjUxIDAsLTU4Ljg2NlptNS42NTcsLTUuNjU3YzEyLjIxNCwtMy4yMTMgNDYuNjUyLC0zLjIxMyA1OC44NjYsMGwtMTMuNjM1LDEzLjYzNWMtNy44MDEsLTEuMzkzIC0yMy43OTUsLTEuMzkzIC0zMS41OTYsMGwtMTMuNjM1LC0xMy42MzVaJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgnYWR2YW5jZWQnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAxMTMgMTEzJywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTA2LjI4Myw2LjIxN2M4LjI4OSw4LjI5IDguMjg5LDkxLjc3NiAwLDEwMC4wNjZjLTguMjksOC4yODkgLTkxLjc3Niw4LjI4OSAtMTAwLjA2NiwwYy04LjI4OSwtOC4yOSAtOC4yODksLTkxLjc3NiAwLC0xMDAuMDY2YzguMjksLTguMjg5IDkxLjc3NiwtOC4yODkgMTAwLjA2NiwwWm0tMTAuMDA3LDM3LjIxNWM2LjYzMiwyLjEyNCA2LjYzMiwyMy41MTIgMCwyNS42MzZjLTYuNjMyLDIuMTI0IC03My40MiwyLjEyNCAtODAuMDUyLDBjLTYuNjMyLC0yLjEyNCAtNi42MzIsLTIzLjUxMiAwLC0yNS42MzZjNi42MzIsLTIuMTI0IDczLjQyLC0yLjEyNCA4MC4wNTIsMFonXG5cdFx0fSksIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ000OC42MSw1MS45MTZjMi4yNDMsMC43MTggMi4yNDMsNy45NSAwLDguNjY4Yy0yLjI0MiwwLjcxOCAtMjQuODIzLDAuNzE4IC0yNy4wNjUsMGMtMi4yNDMsLTAuNzE4IC0yLjI0MywtNy45NSAwLC04LjY2OGMyLjI0MiwtMC43MTggMjQuODIzLC0wLjcxOCAyNy4wNjUsMFonXG5cdFx0fSksIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ005MC45NTUsNTEuOTE2YzIuMjQzLDAuNzE4IDIuMjQzLDcuOTUgMCw4LjY2OGMtMi4yNDIsMC43MTggLTI0LjgyMywwLjcxOCAtMjcuMDY1LDBjLTIuMjQzLC0wLjcxOCAtMi4yNDMsLTcuOTUgMCwtOC42NjhjMi4yNDIsLTAuNzE4IDI0LjgyMywtMC43MTggMjcuMDY1LDBaJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgnYmFja2dyb3VuZHMnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAxMTMgMTEzJywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMS40OTEsODcuNzc3bDM3Ljc5LC0zNy43OWwzMS4zNTIsMzEuMzUyYzIuNDEyLDIuMTcxIDUuNjU2LDAgNS42NTYsMGwxNy4yNDgsLTE3LjI0N2wxMy4xODYsMTMuMTg2bDQuNzk2LDQuNzk3Yy0wLjk3MSwxMi4xOTkgLTIuNzI2LDIxLjY4NSAtNS4yNDksMjQuMjA4Yy04LjI5LDguMjg5IC05MS43NzYsOC4yODkgLTEwMC4wNjYsMGMtMi4xMTMsLTIuMTEzIC0zLjY4NywtOS4xMTMgLTQuNzEzLC0xOC41MDZaJ1xuXHRcdH0pLCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMC42MzEsNzcuMzIzYy0xLjc0MiwtMjcuNzI4IDAuMTI1LC02NS42NTggNS41NzMsLTcxLjEwNmM4LjI5LC04LjI4OSA5MS43NzYsLTguMjg5IDEwMC4wNjYsMGM1LjA3LDUuMDcgNy4wMzksMzguMjY1IDUuODksNjUuMTg1bC0xNS43OTUsLTE1Ljc5NWMtMi40MTIsLTIuMTcyIC01LjY1NywwIC01LjY1NywwbC0xNy4yNDcsMTcuMjQ2bC0zMS4zNTEsLTMxLjM1MWMtMC43MzEsLTAuNjU4IC0xLjAzNiwtMSAtMi42MTksLTEuMTY2Yy0wLjI2MywwIC0wLjQ3NywtMC4wNzUgLTEuMjQ1LDAuMTMxYy0wLjkxMiwwLjI0NCAtMS43OTMsMS4wMzUgLTEuNzkzLDEuMDM1bC0zNS44MjIsMzUuODIxWm03Ni40MzQsLTU5LjU4NGM3LjExNSwwIDEyLjg5MSw1Ljc3NiAxMi44OTEsMTIuODljMCw3LjExNCAtNS43NzYsMTIuODkgLTEyLjg5MSwxMi44OWMtNy4xMTQsMCAtMTIuODksLTUuNzc2IC0xMi44OSwtMTIuODljMCwtNy4xMTQgNS43NzYsLTEyLjg5IDEyLjg5LC0xMi44OVonXG5cdFx0fSkpO1xuXHR9XG5cblx0aWYgKCdjb2xvcnMnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAxMTMgMTEzJywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTA2LjI4Myw2LjIxN2M4LjI4OSw4LjI5IDguMjg5LDkxLjc3NiAwLDEwMC4wNjZjLTguMjksOC4yODkgLTkxLjc3Niw4LjI4OSAtMTAwLjA2NiwwYy04LjI4OSwtOC4yOSAtOC4yODksLTkxLjc3NiAwLC0xMDAuMDY2YzguMjksLTguMjg5IDkxLjc3NiwtOC4yODkgMTAwLjA2NiwwWm0tNTAuMDMzLDEyLjgxOGMtMjAuNTUxLDAgLTM3LjIxNSwxNi42NjQgLTM3LjIxNSwzNy4yMTVjMCwyMC41NTEgMTYuNjY0LDM3LjIxNSAzNy4yMTUsMzcuMjE1YzMuNDMyLDAgNi4yMDIsLTIuNzcgNi4yMDIsLTYuMjAzYzAsLTEuNjEyIC0wLjYyLC0zLjA1OSAtMS42MTIsLTQuMTc2Yy0wLjk1MSwtMS4wNzUgLTEuNTcxLC0yLjUyMiAtMS41NzEsLTQuMDk0YzAsLTMuNDMyIDIuNzcsLTYuMjAyIDYuMjAyLC02LjIwMmw3LjMxOSwwYzExLjQxMywwIDIwLjY3NSwtOS4yNjIgMjAuNjc1LC0yMC42NzVjMCwtMTguMjc3IC0xNi42NjQsLTMzLjA4IC0zNy4yMTUsLTMzLjA4Wm0tMjIuNzQyLDM3LjIxNWMtMy40MzMsMCAtNi4yMDMsLTIuNzcgLTYuMjAzLC02LjIwMmMwLC0zLjQzMyAyLjc3LC02LjIwMyA2LjIwMywtNi4yMDNjMy40MzIsMCA2LjIwMiwyLjc3IDYuMjAyLDYuMjAzYzAsMy40MzIgLTIuNzcsNi4yMDIgLTYuMjAyLDYuMjAyWm00NS40ODQsMGMtMy40MzIsMCAtNi4yMDIsLTIuNzcgLTYuMjAyLC02LjIwMmMwLC0zLjQzMyAyLjc3LC02LjIwMyA2LjIwMiwtNi4yMDNjMy40MzMsMCA2LjIwMywyLjc3IDYuMjAzLDYuMjAzYzAsMy40MzIgLTIuNzcsNi4yMDIgLTYuMjAzLDYuMjAyWm0tMzMuMDc5LC0xNi41NGMtMy40MzMsMCAtNi4yMDMsLTIuNzcgLTYuMjAzLC02LjIwMmMwLC0zLjQzMyAyLjc3LC02LjIwMyA2LjIwMywtNi4yMDNjMy40MzIsMCA2LjIwMiwyLjc3IDYuMjAyLDYuMjAzYzAsMy40MzIgLTIuNzcsNi4yMDIgLTYuMjAyLDYuMjAyWm0yMC42NzQsMGMtMy40MzIsMCAtNi4yMDIsLTIuNzcgLTYuMjAyLC02LjIwMmMwLC0zLjQzMyAyLjc3LC02LjIwMyA2LjIwMiwtNi4yMDNjMy40MzMsMCA2LjIwMywyLjc3IDYuMjAzLDYuMjAzYzAsMy40MzIgLTIuNzcsNi4yMDIgLTYuMjAzLDYuMjAyWidcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ2dyYWRpZW50cycgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDExMyAxMTMnLCBmaWxsUnVsZTogJ2V2ZW5vZGQnIH0sIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ00xMTIuNDI2LDQ4Ljc0NmMwLjUwMywyNS4yMDQgLTEuNTQ1LDUyLjkzOSAtNi4xNDMsNTcuNTM3Yy04LjI5LDguMjg5IC05MS43NzYsOC4yODkgLTEwMC4wNjYsMGMtOC4yODksLTguMjkgLTguMjg5LC05MS43NzYgMCwtMTAwLjA2NmM4LjI4OSwtOC4yODggOTEuNzQ4LC04LjI4OSAxMDAuMDYxLC0wLjAwNGMwLDAgMC4wMDUsMC4wMDQgMC4wMDUsMC4wMDRjMy42OTEsMy42OTIgNS43MzksMjIuMjk1IDYuMTQzLDQyLjUyOVptLTE2LjE1NCwtMzIuNTI2Yy02LjY1NiwtNi42MjggLTczLjQxOCwtNi42MjcgLTgwLjA0OCwwLjAwNGMtNi42MzEsNi42MyAtNi42MzIsNzMuMzkyIC0wLjAwNCw4MC4wNDhsODAuMDUyLC04MC4wNTJaJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgnaWNvbnMnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAxMTMgMTEzJywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTA2LjI4Myw2LjIxN2M4LjI4OSw4LjI5IDguMjg5LDkxLjc3NiAwLDEwMC4wNjZjLTguMjksOC4yODkgLTkxLjc3Niw4LjI4OSAtMTAwLjA2NiwwYy04LjI4OSwtOC4yOSAtOC4yODksLTkxLjc3NiAwLC0xMDAuMDY2YzguMjksLTguMjg5IDkxLjc3NiwtOC4yODkgMTAwLjA2NiwwWm0tMTAuMDA3LDEwLjAwN2M2LjYzMiw2LjYzMiA2LjYzMiw3My40MiAwLDgwLjA1MmMtNi42MzIsNi42MzIgLTczLjQyLDYuNjMyIC04MC4wNTIsMGMtNi42MzIsLTYuNjMyIC02LjYzMiwtNzMuNDIgMCwtODAuMDUyYzYuNjMyLC02LjYzMiA3My40MiwtNi42MzIgODAuMDUyLDBaJ1xuXHRcdH0pLCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNODkuNjA1LDIyLjg5NWM1LjUyNyw1LjUyNiA1LjUyNyw2MS4xODQgMCw2Ni43MWMtNS41MjYsNS41MjcgLTYxLjE4NCw1LjUyNyAtNjYuNzEsMGMtNS41MjcsLTUuNTI2IC01LjUyNywtNjEuMTg0IDAsLTY2LjcxYzUuNTI2LC01LjUyNyA2MS4xODQsLTUuNTI3IDY2LjcxLDBabS0yMS4wNjYsNjIuMzFsMCwtMi43MzFjLTAuNjQ4LC0wLjA3NCAtMS4yNzIsLTAuMTk5IC0xLjg3LC0wLjM3NGMtMC41OTksLTAuMTc0IC0xLjE0OCwtMC4zNzQgLTEuNjQ2LC0wLjU5OGMtMC42OTksLTAuMjk5IC0xLjIzNSwtMC43NTUgLTEuNjA5LC0xLjM2NmMtMC4zNzQsLTAuNjExIC0wLjU2MSwtMS4zNTMgLTAuNTYxLC0yLjIyNmwwLC0yOS43MDNsLTAuNTYxLC0wLjU2MWwtMTguMzMxLDAuOTcybDAsMi43MzFjMC43NDgsMC4wNzUgMS41NzcsMC4yNSAyLjQ4OCwwLjUyNGMwLjkxLDAuMjc0IDEuNTg5LDAuNTYxIDIuMDM4LDAuODZjMC41OTksMC4zOTkgMS4wOTgsMC45MjkgMS40OTcsMS41OWMwLjM5OSwwLjY2MSAwLjU5OCwxLjQyOCAwLjU5OCwyLjMwMWwwLDIxLjc3M2MwLDAuOTIzIC0wLjE2MiwxLjY2NSAtMC40ODYsMi4yMjZjLTAuMzI0LDAuNTYxIC0wLjg4NSwwLjk5MSAtMS42ODMsMS4yOWMtMC40NDksMC4xNzUgLTAuOTg2LDAuMyAtMS42MDksMC4zNzRjLTAuNjI0LDAuMDc1IC0xLjI2LDAuMTM4IC0xLjkwOCwwLjE4N2wwLDIuNzMxbDIzLjY0MywwWm0tMTIuOTc4LC01OS40NTljNC43NiwwIDguNjI1LDMuODY0IDguNjI1LDguNjI1YzAsNC43NiAtMy44NjUsOC42MjUgLTguNjI1LDguNjI1Yy00Ljc2LDAgLTguNjI1LC0zLjg2NSAtOC42MjUsLTguNjI1YzAsLTQuNzYxIDMuODY1LC04LjYyNSA4LjYyNSwtOC42MjVaJ1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgndHlwb2dyYXBoeScgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDExMyAxMTMnLCBmaWxsUnVsZTogJ2V2ZW5vZGQnIH0sIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ00xMDYuMjgzLDYuMjE3YzguMjg5LDguMjkgOC4yODksOTEuNzc2IDAsMTAwLjA2NmMtOC4yOSw4LjI4OSAtOTEuNzc2LDguMjg5IC0xMDAuMDY2LDBjLTguMjg5LC04LjI5IC04LjI4OSwtOTEuNzc2IDAsLTEwMC4wNjZjOC4yOSwtOC4yODkgOTEuNzc2LC04LjI4OSAxMDAuMDY2LDBabS04Ljc4Myw3OC41ODNsMCwtMi44MTdjLTAuNjYxLC0wLjAyNiAtMS40ODEsLTAuMTY1IC0yLjQ2LC0wLjQxN2MtMC45NzksLTAuMjUxIC0xLjc3MywtMC41NjIgLTIuMzgxLC0wLjkzMmMtMC45LC0wLjYwOSAtMS42MDEsLTEuMjMgLTIuMTAzLC0xLjg2NWMtMC41MDMsLTAuNjM1IC0wLjk1MywtMS40NjggLTEuMzQ5LC0yLjVsLTE4Ljc2OSwtNDguNTY5bC0zLjE3NSwwYy0yLjY3Miw2Ljg3OCAtNS43MTQsMTQuNzIxIC05LjEyNiwyMy41M2MtMy4yNjYsOC40MyAtNi4yNjUsMTYuMDYgLTguOTk4LDIyLjg5MWwtMTEuNjcyLC0yOC42ODRsLTIuMzA0LDBjLTEuOTM5LDQuNzQyIC00LjE0OCwxMC4xNDkgLTYuNjI1LDE2LjIyMmMtMi40NzcsNi4wNzIgLTQuNzQzLDExLjU0MyAtNi43OTgsMTYuNDEyYy0wLjQwMywwLjk0OSAtMC44MTYsMS42OTIgLTEuMjM4LDIuMjNjLTAuNDIzLDAuNTM4IC0xLjAxOCwxLjA1MyAtMS43ODYsMS41NDVjLTAuNDgsMC4yOTIgLTEuMDk1LDAuNTI0IC0xLjg0NCwwLjY5OGMtMC43NDksMC4xNzMgLTEuMzczLDAuMjc4IC0xLjg3MiwwLjMxNGwwLDEuOTQybDE1LjM4MiwwbDAsLTEuOTQyYy0xLjUxOCwtMC4wNzMgLTIuODgxLC0wLjMxIC00LjA5MSwtMC43MTFjLTEuMjA5LC0wLjQwMSAtMS44MTQsLTAuOTY2IC0xLjgxNCwtMS42OTZjMCwtMC4zMSAwLjA0OCwtMC43MTEgMC4xNDQsLTEuMjA0YzAuMDk2LC0wLjQ5MiAwLjI2OCwtMS4xMyAwLjUxOCwtMS45MTRjMC4yNjksLTAuODAzIDAuNTcxLC0xLjY3OCAwLjkwNywtMi42MjZjMC4zMzYsLTAuOTQ4IDAuNzczLC0yLjA2MSAxLjMxMSwtMy4zMzhsMTQuMzE2LDBsMy4zOTksOC42OTljMC4wMTIsMC4wMyAwLjAyNCwwLjA2IDAuMDM2LDAuMDkyYy0wLjE2MSwwLjExOSAtMC4zMjksMC4yMzcgLTAuNTAzLDAuMzU1Yy0wLjY2MSwwLjQyMyAtMS41MDgsMC43NiAtMi41MzksMS4wMTJjLTEuMDMyLDAuMjUxIC0xLjg5MiwwLjQwMyAtMi41OCwwLjQ1NmwwLDIuODE3bDIxLjE5LDBsMCwtMi44MTdjLTIuMDksLTAuMTA2IC0zLjk2OCwtMC40NSAtNS42MzUsLTEuMDMyYy0xLjY2NiwtMC41ODIgLTIuNDk5LC0xLjQwMiAtMi40OTksLTIuNDZjMCwtMC40NSAwLjA2NiwtMS4wMzIgMC4xOTgsLTEuNzQ2YzAuMTMyLC0wLjcxNCAwLjM3LC0xLjY0IDAuNzE0LC0yLjc3N2MwLjM3MSwtMS4xNjQgMC43ODcsLTIuNDM0IDEuMjUsLTMuODFjMC40NjMsLTEuMzc1IDEuMDY1LC0yLjk4OSAxLjgwNiwtNC44NDFsMTkuNzIxLDBsNC42ODIsMTIuNjE5YzAuMTA2LDAuMjY0IDAuMTg2LDAuNTY4IDAuMjM4LDAuOTEyYzAuMDUzLDAuMzQ0IDAuMDgsMC42MzUgMC4wOCwwLjg3M2MwLDAuNTgyIC0wLjY4MSwxLjA3MiAtMi4wNDQsMS40NjhjLTEuMzYyLDAuMzk3IC0zLjA3NSwwLjY2MiAtNS4xMzgsMC43OTRsMCwyLjgxN2wyMy40NTEsMFptLTU2Ljg2NCwtMTUuODY1bC02LjE5MywtMTUuMDQ1bC02LjA3OCwxNS4wNDVsMTIuMjcxLDBabTM0LjE2NywtNy4xNWwtOC41MzIsLTIxLjgyNGwtOC4zNzMsMjEuODI0bDE2LjkwNSwwWidcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ2FkZENvbnRhaW5lcicgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDY0IDY0JywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNNDEuNDU0LDU3LjEyNmwwLDYuNDA5Yy02LjA4OCwwLjI4NiAtMTIuODIsMC4yODYgLTE4LjkwOCwwbDAsLTYuNDA5YzUuOTU3LDAuMzY2IDEyLjk1MSwwLjM2NiAxOC45MDgsMFptLTMzLjkzLC04Ljg5OWMwLjQ1OCwzLjIyNiAxLjA4Niw1LjU2OCAxLjg4Myw2LjM2NmMwLjc5OCwwLjc5NyAzLjE0LDEuNDI1IDYuMzY2LDEuODgzbDAsNi41OTJjLTYuMDg0LC0wLjU3OCAtMTAuNzA2LC0xLjUxOSAtMTIuMDE1LC0yLjgyNmMtMS4zMDcsLTEuMzA5IC0yLjI0OCwtNS45MzEgLTIuODI2LC0xMi4wMTVsNi41OTIsMFptNTUuNTQ0LDBjLTAuNTc4LDYuMDg0IC0xLjUxOSwxMC43MDYgLTIuODI2LDEyLjAxNWMtMS4zMDksMS4zMDcgLTUuOTMxLDIuMjQ4IC0xMi4wMTUsMi44MjZsMCwtNi41OTJjMy4yMjYsLTAuNDU4IDUuNTY4LC0xLjA4NiA2LjM2NiwtMS44ODNjMC43OTcsLTAuNzk4IDEuNDI1LC0zLjE0IDEuODgzLC02LjM2Nmw2LjU5MiwwWm0wLjQ2NywtMjUuNjgxYzAuMjg2LDYuMDg4IDAuMjg2LDEyLjgyIDAsMTguOTA4bC02LjQwOSwwYzAuMzY2LC01Ljk1NyAwLjM2NiwtMTIuOTUxIDAsLTE4LjkwOGw2LjQwOSwwWm0tNTYuNjYxLDBjLTAuMzY2LDUuOTU3IC0wLjM2NiwxMi45NTEgMCwxOC45MDhsLTYuNDA5LDBjLTAuMjg2LC02LjA4OCAtMC4yODYsLTEyLjgyIDAsLTE4LjkwOGw2LjQwOSwwWm00MS4zNTMsLTIxLjYxNGM2LjA4NCwwLjU3OCAxMC43MDYsMS41MTkgMTIuMDE1LDIuODI2YzEuMzA3LDEuMzA5IDIuMjQ4LDUuOTMxIDIuODI2LDEyLjAxNWwtNi41OTIsMGMtMC40NTgsLTMuMjI2IC0xLjA4NiwtNS41NjggLTEuODgzLC02LjM2NmMtMC43OTgsLTAuNzk3IC0zLjE0LC0xLjQyNSAtNi4zNjYsLTEuODgzbDAsLTYuNTkyWm0tMzIuNDU0LDBsMCw2LjU5MmMtMy4yMjYsMC40NTggLTUuNTY4LDEuMDg2IC02LjM2NiwxLjg4M2MtMC43OTcsMC43OTggLTEuNDI1LDMuMTQgLTEuODgzLDYuMzY2bC02LjU5MiwwYzAuNTc4LC02LjA4NCAxLjUxOSwtMTAuNzA2IDIuODI2LC0xMi4wMTVjMS4zMDksLTEuMzA3IDUuOTMxLC0yLjI0OCAxMi4wMTUsLTIuODI2Wm02Ljc3MywtMC40NjdjNi4wODgsLTAuMjg2IDEyLjgyLC0wLjI4NiAxOC45MDgsMGwwLDYuNDA5Yy01Ljk1NywtMC4zNjYgLTEyLjk1MSwtMC4zNjYgLTE4LjkwOCwwbDAsLTYuNDA5Widcblx0XHR9KSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTE4LjAzLDI5LjAzN2wxMS4wMDcsMGwwLC0xMS4wMDdsNi43NzMsMGwwLDExLjAwN2wxMS4wMDcsMGwwLDYuNzczbC0xMS4wMDcsMGwwLDExLjAwN2wtNi43NzMsMGwwLC0xMS4wMDdsLTExLjAwNywwbDAsLTYuNzczWidcblx0XHR9KSk7XG5cdH1cblxuXHRpZiAoJ2dyYWRpZW50JyA9PT0gaWNvbikge1xuXHRcdHJldHVybiBlbCgnc3ZnJywgeyB3aWR0aDogMjQsIGhlaWdodDogMjQsIHZpZXdCb3g6ICcwIDAgMjQgMjQnLCBmaWxsUnVsZTogJ2V2ZW5vZGQnIH0sIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ00xNy42NiA4TDEyIDIuMzVMNi4zNCA4QTguMDIgOC4wMiAwIDAgMCA0IDEzLjY0YzAgMiAuNzggNC4xMSAyLjM0IDUuNjdhNy45OSA3Ljk5IDAgMCAwIDExLjMyIDBjMS41Ni0xLjU2IDIuMzQtMy42NyAyLjM0LTUuNjdTMTkuMjIgOS41NiAxNy42NiA4ek02IDE0Yy4wMS0yIC42Mi0zLjI3IDEuNzYtNC40TDEyIDUuMjdsNC4yNCA0LjM4QzE3LjM4IDEwLjc3IDE3Ljk5IDEyIDE4IDE0SDZ6J1xuXHRcdH0pKTtcblx0fVxuXG5cdGlmICgnZG9jdW1lbnRhdGlvbicgPT09IGljb24pIHtcblx0XHRyZXR1cm4gZWwoJ3N2ZycsIHsgd2lkdGg6IDIwLCBoZWlnaHQ6IDIwLCB2aWV3Qm94OiAnMCAwIDExMyAxMTMnLCBmaWxsUnVsZTogJ2V2ZW5vZGQnIH0sIGVsKCdwYXRoJywge1xuXHRcdFx0ZDogJ00xMDYuNzU1IDYuMjQ1YzguMzI3IDguMzI2IDguMzI3IDkyLjE4NCAwIDEwMC41MS04LjMyNiA4LjMyNy05Mi4xODQgOC4zMjctMTAwLjUxIDAtOC4zMjctOC4zMjYtOC4zMjctOTIuMTg0IDAtMTAwLjUxIDguMzI2LTguMzI3IDkyLjE4NC04LjMyNyAxMDAuNTEgMHptLTkyLjY2MSA5My44OTZDOS4yNzkgODQgOS43ODEgMjMuNzE0IDE1LjgzNCAxNy42NjFjMi40OTEtMi40OTEgMTkuNTg4LTQuMTMyIDI2LjM1NC00LjcxMiA0Ljc0OC0uNDA4IDEwLjExNS42NzEgMTQuMjQzIDEuMjMgNC4xMjgtLjU1OSA5LjQ5NS0xLjYzOCAxNC4yNDMtMS4yMyA2Ljc2Ni41OCAyMy44NjMgMi4yMjEgMjYuMzU0IDQuNzEyIDYuMDUzIDYuMDUzIDYuNzkxIDY2LjMzOSAxLjk3NiA4Mi40OC00LjcyOS0xLjk3Ny0xOS43MDgtMy40MzYtMjYuNzg0LTMuODUzLTUuMjM0LS4zMDgtMTEuMTI5LjczOS0xNS42NzEgMS4zNTQtNC41NDMtLjYxNS0xMC40MzctMS42NjItMTUuNjcyLTEuMzU0LTcuMDc1LjQxNy0yMi4wNTQgMS44NzYtMjYuNzgzIDMuODUzeidcblx0XHR9KSwgZWwoJ3BhdGgnLCB7XG5cdFx0XHRkOiAnTTUwLjE4OCAzMi43MzhjMi4yNTIuNTM2IDIuMjUyIDUuOTI3IDAgNi40NjMtMi4yNTIuNTM1LTI0LjkzNC41MzUtMjcuMTg2IDAtMi4yNTItLjUzNi0yLjI1Mi01LjkyNyAwLTYuNDYzIDIuMjUyLS41MzUgMjQuOTM0LS41MzUgMjcuMTg2IDB6TTUwLjI3NyA0Ni44NDZjMi4yNTIuNTM1IDIuMjUyIDUuOTI3IDAgNi40NjItMi4yNTIuNTM1LTI0LjkzNC41MzUtMjcuMTg2IDAtMi4yNTItLjUzNS0yLjI1Mi01LjkyNyAwLTYuNDYyIDIuMjUyLS41MzUgMjQuOTM0LS41MzUgMjcuMTg2IDB6TTUwLjI3NyA2MC4wMzdjMi4yNTIuNTM1IDIuMjUyIDUuOTI3IDAgNi40NjItMi4yNTIuNTM1LTI0LjkzNC41MzUtMjcuMTg2IDAtMi4yNTItLjUzNS0yLjI1Mi01LjkyNyAwLTYuNDYyIDIuMjUyLS41MzUgMjQuOTM0LS41MzUgMjcuMTg2IDB6TTUwLjI3NyA3My43OTljMi4yNTIuNTM2IDIuMjUyIDUuOTI3IDAgNi40NjMtMi4yNTIuNTM1LTI0LjkzNC41MzUtMjcuMTg2IDAtMi4yNTItLjUzNi0yLjI1Mi01LjkyNyAwLTYuNDYzIDIuMjUyLS41MzUgMjQuOTM0LS41MzUgMjcuMTg2IDB6J1xuXHRcdH0pLCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNODkuOTA5IDMyLjczOGMyLjI1Mi41MzYgMi4yNTIgNS45MjcgMCA2LjQ2My0yLjI1Mi41MzUtMjQuOTM0LjUzNS0yNy4xODYgMC0yLjI1Mi0uNTM2LTIuMjUyLTUuOTI3IDAtNi40NjMgMi4yNTItLjUzNSAyNC45MzQtLjUzNSAyNy4xODYgMHpNODkuOTk4IDQ2Ljg0NmMyLjI1Mi41MzUgMi4yNTIgNS45MjcgMCA2LjQ2Mi0yLjI1Mi41MzUtMjQuOTM0LjUzNS0yNy4xODYgMC0yLjI1Mi0uNTM1LTIuMjUyLTUuOTI3IDAtNi40NjIgMi4yNTItLjUzNSAyNC45MzQtLjUzNSAyNy4xODYgMHpNODkuOTk4IDYwLjAzN2MyLjI1Mi41MzUgMi4yNTIgNS45MjcgMCA2LjQ2Mi0yLjI1Mi41MzUtMjQuOTM0LjUzNS0yNy4xODYgMC0yLjI1Mi0uNTM1LTIuMjUyLTUuOTI3IDAtNi40NjIgMi4yNTItLjUzNSAyNC45MzQtLjUzNSAyNy4xODYgMHonXG5cdFx0fSkpO1xuXHR9XG5cblx0aWYgKCdsYXlvdXQnID09PSBpY29uKSB7XG5cdFx0cmV0dXJuIGVsKCdzdmcnLCB7IHdpZHRoOiAyMCwgaGVpZ2h0OiAyMCwgdmlld0JveDogJzAgMCAxMTMgMTEzJywgZmlsbFJ1bGU6ICdldmVub2RkJyB9LCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNMTA2LjcxOSA2LjIzOGM4LjM2MiA4LjM2MiA4LjM2MiA5Mi4yMDggMCAxMDAuNTctOC4zNjIgOC4yODctOTIuMjA4IDguMjg3LTEwMC40OTUgMC04LjM2Mi04LjM2Mi04LjM2Mi05Mi4yMDggMC0xMDAuNTcgOC4yODctOC4yODYgOTIuMTMzLTguMjg2IDEwMC40OTUgMHptLTkuNDE3IDkuNDE3YzYuNzggNi43OCA2Ljc4IDc0Ljk1NyAwIDgxLjczNy02Ljc4IDYuNzgtNzQuOTU2IDYuNzgtODEuNjYxIDAtNi43OC02Ljc4LTYuNzgtNzQuOTU3IDAtODEuNzM3IDYuNzA1LTYuNzggNzQuODgxLTYuNzggODEuNjYxIDB6J1xuXHRcdH0pLCBlbCgncGF0aCcsIHtcblx0XHRcdGQ6ICdNOTMuOTg4IDQ4Ljg3N2MuNjAyIDE3LjQ3Ny0uNzU0IDM3Ljg5My0zLjk5MyA0MS4xMzItMy4xNjQgMy4xNjQtMjIuNzUgNC41Mi00MC4wMDIgNC4wNjh2LTQ1LjJoNDMuOTk1em0tNzUuMTA4IDBoMjMuNTh2NDQuODk5Yy05LjcxOC0uNjAzLTE3LjU1My0xLjgwOC0xOS41MTItMy43NjctMy4yNC0zLjI0LTQuNTk1LTIzLjY1NS00LjA2OC00MS4xMzJ6bS4zNzctNy41MzNjLjY3OC05LjE5IDEuODgzLTE2LjQ5OCAzLjY5MS0xOC4zMDYgNS41NzUtNS41NzUgNjEuNDcyLTUuNTc1IDY3LjA0NyAwIDEuODA4IDEuODA4IDMuMDEzIDkuMTE1IDMuNjkxIDE4LjMwNmgtNzQuNDN6J1xuXHRcdH0pKTtcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3V0aWxzL2dldC1pY29uL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///1\n");
88
+
89
+ /***/ }),
90
+ /* 2 */
91
+ /*!*************************************************!*\
92
+ !*** ./src/components/responsive-tabs/index.js ***!
93
+ \*************************************************/
94
+ /*! exports provided: default */
95
+ /*! exports used: default */
96
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
97
+
98
+ "use strict";
99
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nvar Component = wp.element.Component;\nvar __ = wp.i18n.__;\nvar _wp$components = wp.components,\n Tooltip = _wp$components.Tooltip,\n Button = _wp$components.Button;\n\nvar ResponsiveTabs = function (_Component) {\n\t_inherits(ResponsiveTabs, _Component);\n\n\tfunction ResponsiveTabs() {\n\t\t_classCallCheck(this, ResponsiveTabs);\n\n\t\treturn _possibleConstructorReturn(this, (ResponsiveTabs.__proto__ || Object.getPrototypeOf(ResponsiveTabs)).apply(this, arguments));\n\t}\n\n\t_createClass(ResponsiveTabs, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _props = this.props,\n\t\t\t _onClick = _props.onClick,\n\t\t\t selectedDevice = _props.selectedDevice;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: 'gb-responsive-tabs' },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tTooltip,\n\t\t\t\t\t{ text: __('Show options for all devices', 'generateblocks') },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tButton,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\tisPressed: 'desktop' === selectedDevice ? true : false,\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t_onClick('desktop');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__('Desktop', 'generateblocks')\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tTooltip,\n\t\t\t\t\t{ text: __('Show options for tablet devices') },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tButton,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\tisPressed: 'tablet' === selectedDevice ? true : false,\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t_onClick('tablet');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__('Tablet', 'generateblocks')\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tTooltip,\n\t\t\t\t\t{ text: __('Show options for mobile devices') },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tButton,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\tisPressed: 'mobile' === selectedDevice ? true : false,\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t_onClick('mobile');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__('Mobile', 'generateblocks')\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn ResponsiveTabs;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ResponsiveTabs);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL3Jlc3BvbnNpdmUtdGFicy9pbmRleC5qcz8zMjNhIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcblxudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXAsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uO1xuXG52YXIgUmVzcG9uc2l2ZVRhYnMgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoUmVzcG9uc2l2ZVRhYnMsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIFJlc3BvbnNpdmVUYWJzKCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBSZXNwb25zaXZlVGFicyk7XG5cblx0XHRyZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKFJlc3BvbnNpdmVUYWJzLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVzcG9uc2l2ZVRhYnMpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhSZXNwb25zaXZlVGFicywgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBfb25DbGljayA9IF9wcm9wcy5vbkNsaWNrLFxuXHRcdFx0ICAgIHNlbGVjdGVkRGV2aWNlID0gX3Byb3BzLnNlbGVjdGVkRGV2aWNlO1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHR7IGNsYXNzTmFtZTogJ2diLXJlc3BvbnNpdmUtdGFicycgfSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0eyB0ZXh0OiBfXygnU2hvdyBvcHRpb25zIGZvciBhbGwgZGV2aWNlcycsICdnZW5lcmF0ZWJsb2NrcycpIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRpc0xhcmdlOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRpc1ByZXNzZWQ6ICdkZXNrdG9wJyA9PT0gc2VsZWN0ZWREZXZpY2UgPyB0cnVlIDogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0X29uQ2xpY2soJ2Rlc2t0b3AnKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdF9fKCdEZXNrdG9wJywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdHsgdGV4dDogX18oJ1Nob3cgb3B0aW9ucyBmb3IgdGFibGV0IGRldmljZXMnKSB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0aXNQcmVzc2VkOiAndGFibGV0JyA9PT0gc2VsZWN0ZWREZXZpY2UgPyB0cnVlIDogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0X29uQ2xpY2soJ3RhYmxldCcpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0X18oJ1RhYmxldCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHR7IHRleHQ6IF9fKCdTaG93IG9wdGlvbnMgZm9yIG1vYmlsZSBkZXZpY2VzJykgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdGlzUHJlc3NlZDogJ21vYmlsZScgPT09IHNlbGVjdGVkRGV2aWNlID8gdHJ1ZSA6IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdF9vbkNsaWNrKCdtb2JpbGUnKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdF9fKCdNb2JpbGUnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gUmVzcG9uc2l2ZVRhYnM7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IFJlc3BvbnNpdmVUYWJzO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS10YWJzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAyXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///2\n");
100
+
101
+ /***/ }),
102
+ /* 3 */
103
+ /*!**************************************!*\
104
+ !*** ./src/utils/build-css/index.js ***!
105
+ \**************************************/
106
+ /*! exports provided: default */
107
+ /*! exports used: default */
108
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
109
+
110
+ "use strict";
111
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = buildCSS;\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction buildCSS(cssObj) {\n\tvar css = '';\n\n\tvar _iteratorNormalCompletion = true;\n\tvar _didIteratorError = false;\n\tvar _iteratorError = undefined;\n\n\ttry {\n\t\tfor (var _iterator = Object.entries(cssObj)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n\t\t\tvar _ref = _step.value;\n\n\t\t\tvar _ref2 = _slicedToArray(_ref, 2);\n\n\t\t\tvar key = _ref2[0];\n\t\t\tvar value = _ref2[1];\n\n\t\t\tif (value.length < 1) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tvar tempOutput = key + '{';\n\t\t\tvar elementsAdded = 0;\n\n\t\t\tvar _iteratorNormalCompletion2 = true;\n\t\t\tvar _didIteratorError2 = false;\n\t\t\tvar _iteratorError2 = undefined;\n\n\t\t\ttry {\n\t\t\t\tfor (var _iterator2 = Object.entries(value)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n\t\t\t\t\tvar _ref3 = _step2.value;\n\n\t\t\t\t\tvar _ref4 = _slicedToArray(_ref3, 2);\n\n\t\t\t\t\tvar index = _ref4[0];\n\t\t\t\t\tvar properties = _ref4[1];\n\t\t\t\t\t// eslint-disable-line no-unused-vars\n\t\t\t\t\tvar _iteratorNormalCompletion3 = true;\n\t\t\t\t\tvar _didIteratorError3 = false;\n\t\t\t\t\tvar _iteratorError3 = undefined;\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tfor (var _iterator3 = Object.entries(properties)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n\t\t\t\t\t\t\tvar _ref5 = _step3.value;\n\n\t\t\t\t\t\t\tvar _ref6 = _slicedToArray(_ref5, 2);\n\n\t\t\t\t\t\t\tvar attribute = _ref6[0];\n\t\t\t\t\t\t\tvar val = _ref6[1];\n\n\t\t\t\t\t\t\tif (!val && 0 !== val) {\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\telementsAdded++;\n\t\t\t\t\t\t\ttempOutput += attribute + ': ' + val + ';';\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t_didIteratorError3 = true;\n\t\t\t\t\t\t_iteratorError3 = err;\n\t\t\t\t\t} finally {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (!_iteratorNormalCompletion3 && _iterator3.return) {\n\t\t\t\t\t\t\t\t_iterator3.return();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tif (_didIteratorError3) {\n\t\t\t\t\t\t\t\tthrow _iteratorError3;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\t_didIteratorError2 = true;\n\t\t\t\t_iteratorError2 = err;\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\tif (!_iteratorNormalCompletion2 && _iterator2.return) {\n\t\t\t\t\t\t_iterator2.return();\n\t\t\t\t\t}\n\t\t\t\t} finally {\n\t\t\t\t\tif (_didIteratorError2) {\n\t\t\t\t\t\tthrow _iteratorError2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ttempOutput += '}';\n\n\t\t\tif (elementsAdded > 0) {\n\t\t\t\tcss += tempOutput;\n\t\t\t}\n\t\t}\n\t} catch (err) {\n\t\t_didIteratorError = true;\n\t\t_iteratorError = err;\n\t} finally {\n\t\ttry {\n\t\t\tif (!_iteratorNormalCompletion && _iterator.return) {\n\t\t\t\t_iterator.return();\n\t\t\t}\n\t\t} finally {\n\t\t\tif (_didIteratorError) {\n\t\t\t\tthrow _iteratorError;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn css;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy91dGlscy9idWlsZC1jc3MvaW5kZXguanM/ZjQ2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX3NsaWNlZFRvQXJyYXkgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIHNsaWNlSXRlcmF0b3IoYXJyLCBpKSB7IHZhciBfYXJyID0gW107IHZhciBfbiA9IHRydWU7IHZhciBfZCA9IGZhbHNlOyB2YXIgX2UgPSB1bmRlZmluZWQ7IHRyeSB7IGZvciAodmFyIF9pID0gYXJyW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3M7ICEoX24gPSAoX3MgPSBfaS5uZXh0KCkpLmRvbmUpOyBfbiA9IHRydWUpIHsgX2Fyci5wdXNoKF9zLnZhbHVlKTsgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrOyB9IH0gY2F0Y2ggKGVycikgeyBfZCA9IHRydWU7IF9lID0gZXJyOyB9IGZpbmFsbHkgeyB0cnkgeyBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH0gcmV0dXJuIGZ1bmN0aW9uIChhcnIsIGkpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgeyByZXR1cm4gYXJyOyB9IGVsc2UgaWYgKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYXJyKSkgeyByZXR1cm4gc2xpY2VJdGVyYXRvcihhcnIsIGkpOyB9IGVsc2UgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZVwiKTsgfSB9OyB9KCk7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGJ1aWxkQ1NTKGNzc09iaikge1xuXHR2YXIgY3NzID0gJyc7XG5cblx0dmFyIF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSB0cnVlO1xuXHR2YXIgX2RpZEl0ZXJhdG9yRXJyb3IgPSBmYWxzZTtcblx0dmFyIF9pdGVyYXRvckVycm9yID0gdW5kZWZpbmVkO1xuXG5cdHRyeSB7XG5cdFx0Zm9yICh2YXIgX2l0ZXJhdG9yID0gT2JqZWN0LmVudHJpZXMoY3NzT2JqKVtTeW1ib2wuaXRlcmF0b3JdKCksIF9zdGVwOyAhKF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSAoX3N0ZXAgPSBfaXRlcmF0b3IubmV4dCgpKS5kb25lKTsgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiA9IHRydWUpIHtcblx0XHRcdHZhciBfcmVmID0gX3N0ZXAudmFsdWU7XG5cblx0XHRcdHZhciBfcmVmMiA9IF9zbGljZWRUb0FycmF5KF9yZWYsIDIpO1xuXG5cdFx0XHR2YXIga2V5ID0gX3JlZjJbMF07XG5cdFx0XHR2YXIgdmFsdWUgPSBfcmVmMlsxXTtcblxuXHRcdFx0aWYgKHZhbHVlLmxlbmd0aCA8IDEpIHtcblx0XHRcdFx0Y29udGludWU7XG5cdFx0XHR9XG5cblx0XHRcdHZhciB0ZW1wT3V0cHV0ID0ga2V5ICsgJ3snO1xuXHRcdFx0dmFyIGVsZW1lbnRzQWRkZWQgPSAwO1xuXG5cdFx0XHR2YXIgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjIgPSB0cnVlO1xuXHRcdFx0dmFyIF9kaWRJdGVyYXRvckVycm9yMiA9IGZhbHNlO1xuXHRcdFx0dmFyIF9pdGVyYXRvckVycm9yMiA9IHVuZGVmaW5lZDtcblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Zm9yICh2YXIgX2l0ZXJhdG9yMiA9IE9iamVjdC5lbnRyaWVzKHZhbHVlKVtTeW1ib2wuaXRlcmF0b3JdKCksIF9zdGVwMjsgIShfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uMiA9IChfc3RlcDIgPSBfaXRlcmF0b3IyLm5leHQoKSkuZG9uZSk7IF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24yID0gdHJ1ZSkge1xuXHRcdFx0XHRcdHZhciBfcmVmMyA9IF9zdGVwMi52YWx1ZTtcblxuXHRcdFx0XHRcdHZhciBfcmVmNCA9IF9zbGljZWRUb0FycmF5KF9yZWYzLCAyKTtcblxuXHRcdFx0XHRcdHZhciBpbmRleCA9IF9yZWY0WzBdO1xuXHRcdFx0XHRcdHZhciBwcm9wZXJ0aWVzID0gX3JlZjRbMV07XG5cdFx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXHRcdFx0XHRcdHZhciBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uMyA9IHRydWU7XG5cdFx0XHRcdFx0dmFyIF9kaWRJdGVyYXRvckVycm9yMyA9IGZhbHNlO1xuXHRcdFx0XHRcdHZhciBfaXRlcmF0b3JFcnJvcjMgPSB1bmRlZmluZWQ7XG5cblx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0Zm9yICh2YXIgX2l0ZXJhdG9yMyA9IE9iamVjdC5lbnRyaWVzKHByb3BlcnRpZXMpW1N5bWJvbC5pdGVyYXRvcl0oKSwgX3N0ZXAzOyAhKF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24zID0gKF9zdGVwMyA9IF9pdGVyYXRvcjMubmV4dCgpKS5kb25lKTsgX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjMgPSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRcdHZhciBfcmVmNSA9IF9zdGVwMy52YWx1ZTtcblxuXHRcdFx0XHRcdFx0XHR2YXIgX3JlZjYgPSBfc2xpY2VkVG9BcnJheShfcmVmNSwgMik7XG5cblx0XHRcdFx0XHRcdFx0dmFyIGF0dHJpYnV0ZSA9IF9yZWY2WzBdO1xuXHRcdFx0XHRcdFx0XHR2YXIgdmFsID0gX3JlZjZbMV07XG5cblx0XHRcdFx0XHRcdFx0aWYgKCF2YWwgJiYgMCAhPT0gdmFsKSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRlbGVtZW50c0FkZGVkKys7XG5cdFx0XHRcdFx0XHRcdHRlbXBPdXRwdXQgKz0gYXR0cmlidXRlICsgJzogJyArIHZhbCArICc7Jztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHRcdF9kaWRJdGVyYXRvckVycm9yMyA9IHRydWU7XG5cdFx0XHRcdFx0XHRfaXRlcmF0b3JFcnJvcjMgPSBlcnI7XG5cdFx0XHRcdFx0fSBmaW5hbGx5IHtcblx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdGlmICghX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbjMgJiYgX2l0ZXJhdG9yMy5yZXR1cm4pIHtcblx0XHRcdFx0XHRcdFx0XHRfaXRlcmF0b3IzLnJldHVybigpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9IGZpbmFsbHkge1xuXHRcdFx0XHRcdFx0XHRpZiAoX2RpZEl0ZXJhdG9yRXJyb3IzKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhyb3cgX2l0ZXJhdG9yRXJyb3IzO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0X2RpZEl0ZXJhdG9yRXJyb3IyID0gdHJ1ZTtcblx0XHRcdFx0X2l0ZXJhdG9yRXJyb3IyID0gZXJyO1xuXHRcdFx0fSBmaW5hbGx5IHtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRpZiAoIV9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24yICYmIF9pdGVyYXRvcjIucmV0dXJuKSB7XG5cdFx0XHRcdFx0XHRfaXRlcmF0b3IyLnJldHVybigpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBmaW5hbGx5IHtcblx0XHRcdFx0XHRpZiAoX2RpZEl0ZXJhdG9yRXJyb3IyKSB7XG5cdFx0XHRcdFx0XHR0aHJvdyBfaXRlcmF0b3JFcnJvcjI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRlbXBPdXRwdXQgKz0gJ30nO1xuXG5cdFx0XHRpZiAoZWxlbWVudHNBZGRlZCA+IDApIHtcblx0XHRcdFx0Y3NzICs9IHRlbXBPdXRwdXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IGNhdGNoIChlcnIpIHtcblx0XHRfZGlkSXRlcmF0b3JFcnJvciA9IHRydWU7XG5cdFx0X2l0ZXJhdG9yRXJyb3IgPSBlcnI7XG5cdH0gZmluYWxseSB7XG5cdFx0dHJ5IHtcblx0XHRcdGlmICghX2l0ZXJhdG9yTm9ybWFsQ29tcGxldGlvbiAmJiBfaXRlcmF0b3IucmV0dXJuKSB7XG5cdFx0XHRcdF9pdGVyYXRvci5yZXR1cm4oKTtcblx0XHRcdH1cblx0XHR9IGZpbmFsbHkge1xuXHRcdFx0aWYgKF9kaWRJdGVyYXRvckVycm9yKSB7XG5cdFx0XHRcdHRocm93IF9pdGVyYXRvckVycm9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBjc3M7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvdXRpbHMvYnVpbGQtY3NzL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///3\n");
112
+
113
+ /***/ }),
114
+ /* 4 */
115
+ /*!********************************************!*\
116
+ !*** ./src/components/panel-area/index.js ***!
117
+ \********************************************/
118
+ /*! exports provided: default */
119
+ /*! exports used: default */
120
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
121
+
122
+ "use strict";
123
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__apply_filters___ = __webpack_require__(/*! ../apply-filters/ */ 24);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\nvar PanelBody = wp.components.PanelBody;\nvar Component = wp.element.Component;\nvar applyFilters = wp.hooks.applyFilters;\n\n/**\n * Component Class\n */\n\nvar PanelArea = function (_Component) {\n\t_inherits(PanelArea, _Component);\n\n\tfunction PanelArea() {\n\t\t_classCallCheck(this, PanelArea);\n\n\t\treturn _possibleConstructorReturn(this, (PanelArea.__proto__ || Object.getPrototypeOf(PanelArea)).apply(this, arguments));\n\t}\n\n\t_createClass(PanelArea, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _props = this.props,\n\t\t\t _props$title = _props.title,\n\t\t\t title = _props$title === undefined ? false : _props$title,\n\t\t\t _props$initialOpen = _props.initialOpen,\n\t\t\t initialOpen = _props$initialOpen === undefined ? false : _props$initialOpen,\n\t\t\t icon = _props.icon,\n\t\t\t className = _props.className,\n\t\t\t id = _props.id,\n\t\t\t state = _props.state,\n\t\t\t _props$showPanel = _props.showPanel,\n\t\t\t showPanel = _props$showPanel === undefined ? true : _props$showPanel,\n\t\t\t children = _props.children;\n\n\n\t\t\tvar show = applyFilters('generateblocks.editor.showPanel', showPanel, id, this.props);\n\n\t\t\tif (!show) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_0__apply_filters___[\"a\" /* default */],\n\t\t\t\t{ name: 'generateblocks.panel.' + id, props: this.props, state: state },\n\t\t\t\ttitle ? wp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: title,\n\t\t\t\t\t\tinitialOpen: initialOpen,\n\t\t\t\t\t\ticon: icon,\n\t\t\t\t\t\tclassName: className\n\t\t\t\t\t},\n\t\t\t\t\tchildren\n\t\t\t\t) : wp.element.createElement(\n\t\t\t\t\tPanelBody,\n\t\t\t\t\tnull,\n\t\t\t\t\tchildren\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn PanelArea;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (PanelArea);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL3BhbmVsLWFyZWEvaW5kZXguanM/NWQyMiJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbmltcG9ydCBBcHBseUZpbHRlcnMgZnJvbSAnLi4vYXBwbHktZmlsdGVycy8nO1xuXG52YXIgUGFuZWxCb2R5ID0gd3AuY29tcG9uZW50cy5QYW5lbEJvZHk7XG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG52YXIgYXBwbHlGaWx0ZXJzID0gd3AuaG9va3MuYXBwbHlGaWx0ZXJzO1xuXG4vKipcbiAqIENvbXBvbmVudCBDbGFzc1xuICovXG5cbnZhciBQYW5lbEFyZWEgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoUGFuZWxBcmVhLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBQYW5lbEFyZWEoKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIFBhbmVsQXJlYSk7XG5cblx0XHRyZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKFBhbmVsQXJlYS5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKFBhbmVsQXJlYSkpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXHR9XG5cblx0X2NyZWF0ZUNsYXNzKFBhbmVsQXJlYSwgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBfcHJvcHMkdGl0bGUgPSBfcHJvcHMudGl0bGUsXG5cdFx0XHQgICAgdGl0bGUgPSBfcHJvcHMkdGl0bGUgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3Byb3BzJHRpdGxlLFxuXHRcdFx0ICAgIF9wcm9wcyRpbml0aWFsT3BlbiA9IF9wcm9wcy5pbml0aWFsT3Blbixcblx0XHRcdCAgICBpbml0aWFsT3BlbiA9IF9wcm9wcyRpbml0aWFsT3BlbiA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBfcHJvcHMkaW5pdGlhbE9wZW4sXG5cdFx0XHQgICAgaWNvbiA9IF9wcm9wcy5pY29uLFxuXHRcdFx0ICAgIGNsYXNzTmFtZSA9IF9wcm9wcy5jbGFzc05hbWUsXG5cdFx0XHQgICAgaWQgPSBfcHJvcHMuaWQsXG5cdFx0XHQgICAgc3RhdGUgPSBfcHJvcHMuc3RhdGUsXG5cdFx0XHQgICAgX3Byb3BzJHNob3dQYW5lbCA9IF9wcm9wcy5zaG93UGFuZWwsXG5cdFx0XHQgICAgc2hvd1BhbmVsID0gX3Byb3BzJHNob3dQYW5lbCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IF9wcm9wcyRzaG93UGFuZWwsXG5cdFx0XHQgICAgY2hpbGRyZW4gPSBfcHJvcHMuY2hpbGRyZW47XG5cblxuXHRcdFx0dmFyIHNob3cgPSBhcHBseUZpbHRlcnMoJ2dlbmVyYXRlYmxvY2tzLmVkaXRvci5zaG93UGFuZWwnLCBzaG93UGFuZWwsIGlkLCB0aGlzLnByb3BzKTtcblxuXHRcdFx0aWYgKCFzaG93KSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRBcHBseUZpbHRlcnMsXG5cdFx0XHRcdHsgbmFtZTogJ2dlbmVyYXRlYmxvY2tzLnBhbmVsLicgKyBpZCwgcHJvcHM6IHRoaXMucHJvcHMsIHN0YXRlOiBzdGF0ZSB9LFxuXHRcdFx0XHR0aXRsZSA/IHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRQYW5lbEJvZHksXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0dGl0bGU6IHRpdGxlLFxuXHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGluaXRpYWxPcGVuLFxuXHRcdFx0XHRcdFx0aWNvbjogaWNvbixcblx0XHRcdFx0XHRcdGNsYXNzTmFtZTogY2xhc3NOYW1lXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGlsZHJlblxuXHRcdFx0XHQpIDogd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdGNoaWxkcmVuXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIFBhbmVsQXJlYTtcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgUGFuZWxBcmVhO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvcGFuZWwtYXJlYS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gNFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///4\n");
124
+
125
+ /***/ }),
126
+ /* 5 */
127
+ /*!*****************************************!*\
128
+ !*** ./src/utils/sanitize-svg/index.js ***!
129
+ \*****************************************/
130
+ /*! exports provided: default */
131
+ /*! exports used: default */
132
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
133
+
134
+ "use strict";
135
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = sanitizeSVG;\nfunction sanitizeSVG(svg) {\n\treturn DOMPurify.sanitize(svg, { USE_PROFILES: { svg: true, svgFilters: true } });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy91dGlscy9zYW5pdGl6ZS1zdmcvaW5kZXguanM/YzMyNCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBzYW5pdGl6ZVNWRyhzdmcpIHtcblx0cmV0dXJuIERPTVB1cmlmeS5zYW5pdGl6ZShzdmcsIHsgVVNFX1BST0ZJTEVTOiB7IHN2ZzogdHJ1ZSwgc3ZnRmlsdGVyczogdHJ1ZSB9IH0pO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3V0aWxzL3Nhbml0aXplLXN2Zy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gNVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///5\n");
136
+
137
+ /***/ }),
138
+ /* 6 */
139
+ /*!********************************************!*\
140
+ !*** ./src/utils/value-with-unit/index.js ***!
141
+ \********************************************/
142
+ /*! exports provided: default */
143
+ /*! exports used: default */
144
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
145
+
146
+ "use strict";
147
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = valueWithUnit;\nfunction valueWithUnit(value, unit) {\n\tif (!value && 0 !== value) {\n\t\treturn false;\n\t}\n\n\treturn value + unit;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy91dGlscy92YWx1ZS13aXRoLXVuaXQvaW5kZXguanM/NjkzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2YWx1ZVdpdGhVbml0KHZhbHVlLCB1bml0KSB7XG5cdGlmICghdmFsdWUgJiYgMCAhPT0gdmFsdWUpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRyZXR1cm4gdmFsdWUgKyB1bml0O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3V0aWxzL3ZhbHVlLXdpdGgtdW5pdC9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gNlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///6\n");
148
+
149
+ /***/ }),
150
+ /* 7 */
151
+ /*!**********************************************!*\
152
+ !*** ./src/components/color-picker/index.js ***!
153
+ \**********************************************/
154
+ /*! exports provided: default */
155
+ /*! exports used: default */
156
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
157
+
158
+ "use strict";
159
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__hex_to_rgba__ = __webpack_require__(/*! ./hex-to-rgba */ 8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 32);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__editor_scss__);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\n\n// Import CSS\n\n\nvar Component = wp.element.Component;\nvar __ = wp.i18n.__;\nvar _wp$components = wp.components,\n Tooltip = _wp$components.Tooltip,\n BaseControl = _wp$components.BaseControl,\n Button = _wp$components.Button,\n ColorPicker = _wp$components.ColorPicker,\n RangeControl = _wp$components.RangeControl;\nvar ColorPalette = wp.blockEditor.ColorPalette;\n\nvar GenerateBlocksColorPicker = function (_Component) {\n\t_inherits(GenerateBlocksColorPicker, _Component);\n\n\tfunction GenerateBlocksColorPicker() {\n\t\t_classCallCheck(this, GenerateBlocksColorPicker);\n\n\t\tvar _this = _possibleConstructorReturn(this, (GenerateBlocksColorPicker.__proto__ || Object.getPrototypeOf(GenerateBlocksColorPicker)).apply(this, arguments));\n\n\t\t_this.state = {\n\t\t\tshowPicker: false,\n\t\t\tshowPalette: false,\n\t\t\tcolorKey: false\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(GenerateBlocksColorPicker, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _props = this.props,\n\t\t\t value = _props.value,\n\t\t\t _onChange = _props.onChange,\n\t\t\t onOpacityChange = _props.onOpacityChange,\n\t\t\t label = _props.label,\n\t\t\t _props$alpha = _props.alpha,\n\t\t\t alpha = _props$alpha === undefined ? false : _props$alpha,\n\t\t\t valueOpacity = _props.valueOpacity;\n\t\t\tvar _state = this.state,\n\t\t\t showPicker = _state.showPicker,\n\t\t\t showPalette = _state.showPalette,\n\t\t\t colorKey = _state.colorKey;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tBaseControl,\n\t\t\t\t{ className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()({\n\t\t\t\t\t\t'gblocks-color-picker-container': true,\n\t\t\t\t\t\t'gblocks-color-picker-is-open': showPicker\n\t\t\t\t\t}) },\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tBaseControl,\n\t\t\t\t\t{\n\t\t\t\t\t\tclassName: 'gblocks-component-color-picker-wrapper'\n\t\t\t\t\t},\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'span',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName: 'components-base-control__label',\n\t\t\t\t\t\t\trole: 'button',\n\t\t\t\t\t\t\ttabIndex: '0',\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\tshowPicker: !showPicker\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonKeyDown: function onKeyDown() {\n\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\tshowPicker: !showPicker\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabel\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()('components-color-palette__item-wrapper components-circular-option-picker__option-wrapper', value ? '' : 'components-color-palette__custom-color') },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t{ text: __('Choose Color', 'generateblocks') },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'button',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: 'button',\n\t\t\t\t\t\t\t\t\t'aria-expanded': showPicker,\n\t\t\t\t\t\t\t\t\tclassName: 'components-color-palette__item components-circular-option-picker__option',\n\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\t\t\tshowPicker: !showPicker\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'aria-label': __('Custom color picker', 'generateblocks'),\n\t\t\t\t\t\t\t\t\tstyle: { color: value ? Object(__WEBPACK_IMPORTED_MODULE_1__hex_to_rgba__[\"a\" /* default */])(value, valueOpacity) : 'transparent' }\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\twp.element.createElement('span', { className: 'components-color-palette__custom-color-gradient' })\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tshowPicker && wp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()({\n\t\t\t\t\t\t\t'gblocks-component-color-picker': true\n\t\t\t\t\t\t})\n\t\t\t\t\t},\n\t\t\t\t\t!showPalette && wp.element.createElement(\n\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t{ key: colorKey },\n\t\t\t\t\t\twp.element.createElement(ColorPicker, {\n\t\t\t\t\t\t\tkey: colorKey,\n\t\t\t\t\t\t\tcolor: value ? value : '',\n\t\t\t\t\t\t\tonChangeComplete: function onChangeComplete(color) {\n\t\t\t\t\t\t\t\t_onChange(color.hex);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdisableAlpha: true\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'gblocks-color-controls' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\tclassName: 'components-color-clear-color',\n\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t_onChange('');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Clear Color', 'generateblocks')\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t'aria-expanded': showPalette,\n\t\t\t\t\t\t\t\t\tclassName: 'components-color-show-palette',\n\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\t\t\tshowPalette: !showPalette\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t__('Show Color Palette', 'generateblocks')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\t!showPalette && alpha && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'gblocks-component-color-opacity' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t{ text: __('Opacity', 'generateblocks') },\n\t\t\t\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('gradient')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\tvalue: valueOpacity ? valueOpacity : 0,\n\t\t\t\t\t\t\tonChange: function onChange(opacityValue) {\n\t\t\t\t\t\t\t\treturn onOpacityChange(opacityValue);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\tmax: 1,\n\t\t\t\t\t\t\tstep: 0.01,\n\t\t\t\t\t\t\tinitialPosition: 1\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\tshowPalette && wp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t'aria-expanded': showPalette,\n\t\t\t\t\t\t\t\tclassName: 'components-color-show-palette',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\t\tshowPalette: !showPalette\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Hide Color Palette', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: false,\n\t\t\t\t\t\t\t\tclassName: 'gblocks-component-color-picker-palette'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement(ColorPalette, {\n\t\t\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\t\t\tonChange: function onChange(color) {\n\t\t\t\t\t\t\t\t\t_onChange(color);\n\n\t\t\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\t\t\tcolorKey: color\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tdisableCustomColors: true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn GenerateBlocksColorPicker;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GenerateBlocksColorPicker);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9pbmRleC5qcz9jZDEwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgaGV4VG9SR0JBIGZyb20gJy4vaGV4LXRvLXJnYmEnO1xuaW1wb3J0IGdldEljb24gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0LWljb24nO1xuXG4vLyBJbXBvcnQgQ1NTXG5pbXBvcnQgJy4vZWRpdG9yLnNjc3MnO1xuXG52YXIgQ29tcG9uZW50ID0gd3AuZWxlbWVudC5Db21wb25lbnQ7XG52YXIgX18gPSB3cC5pMThuLl9fO1xudmFyIF93cCRjb21wb25lbnRzID0gd3AuY29tcG9uZW50cyxcbiAgICBUb29sdGlwID0gX3dwJGNvbXBvbmVudHMuVG9vbHRpcCxcbiAgICBCYXNlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLkJhc2VDb250cm9sLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBDb2xvclBpY2tlciA9IF93cCRjb21wb25lbnRzLkNvbG9yUGlja2VyLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbDtcbnZhciBDb2xvclBhbGV0dGUgPSB3cC5ibG9ja0VkaXRvci5Db2xvclBhbGV0dGU7XG5cbnZhciBHZW5lcmF0ZUJsb2Nrc0NvbG9yUGlja2VyID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEdlbmVyYXRlQmxvY2tzQ29sb3JQaWNrZXIsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEdlbmVyYXRlQmxvY2tzQ29sb3JQaWNrZXIoKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIEdlbmVyYXRlQmxvY2tzQ29sb3JQaWNrZXIpO1xuXG5cdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEdlbmVyYXRlQmxvY2tzQ29sb3JQaWNrZXIuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihHZW5lcmF0ZUJsb2Nrc0NvbG9yUGlja2VyKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cblx0XHRfdGhpcy5zdGF0ZSA9IHtcblx0XHRcdHNob3dQaWNrZXI6IGZhbHNlLFxuXHRcdFx0c2hvd1BhbGV0dGU6IGZhbHNlLFxuXHRcdFx0Y29sb3JLZXk6IGZhbHNlXG5cdFx0fTtcblx0XHRyZXR1cm4gX3RoaXM7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoR2VuZXJhdGVCbG9ja3NDb2xvclBpY2tlciwgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgX3RoaXMyID0gdGhpcztcblxuXHRcdFx0dmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG5cdFx0XHQgICAgdmFsdWUgPSBfcHJvcHMudmFsdWUsXG5cdFx0XHQgICAgX29uQ2hhbmdlID0gX3Byb3BzLm9uQ2hhbmdlLFxuXHRcdFx0ICAgIG9uT3BhY2l0eUNoYW5nZSA9IF9wcm9wcy5vbk9wYWNpdHlDaGFuZ2UsXG5cdFx0XHQgICAgbGFiZWwgPSBfcHJvcHMubGFiZWwsXG5cdFx0XHQgICAgX3Byb3BzJGFscGhhID0gX3Byb3BzLmFscGhhLFxuXHRcdFx0ICAgIGFscGhhID0gX3Byb3BzJGFscGhhID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRhbHBoYSxcblx0XHRcdCAgICB2YWx1ZU9wYWNpdHkgPSBfcHJvcHMudmFsdWVPcGFjaXR5O1xuXHRcdFx0dmFyIF9zdGF0ZSA9IHRoaXMuc3RhdGUsXG5cdFx0XHQgICAgc2hvd1BpY2tlciA9IF9zdGF0ZS5zaG93UGlja2VyLFxuXHRcdFx0ICAgIHNob3dQYWxldHRlID0gX3N0YXRlLnNob3dQYWxldHRlLFxuXHRcdFx0ICAgIGNvbG9yS2V5ID0gX3N0YXRlLmNvbG9yS2V5O1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEJhc2VDb250cm9sLFxuXHRcdFx0XHR7IGNsYXNzTmFtZTogY2xhc3NuYW1lcyh7XG5cdFx0XHRcdFx0XHQnZ2Jsb2Nrcy1jb2xvci1waWNrZXItY29udGFpbmVyJzogdHJ1ZSxcblx0XHRcdFx0XHRcdCdnYmxvY2tzLWNvbG9yLXBpY2tlci1pcy1vcGVuJzogc2hvd1BpY2tlclxuXHRcdFx0XHRcdH0pIH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLWNvbXBvbmVudC1jb2xvci1waWNrZXItd3JhcHBlcidcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdzcGFuJyxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1iYXNlLWNvbnRyb2xfX2xhYmVsJyxcblx0XHRcdFx0XHRcdFx0cm9sZTogJ2J1dHRvbicsXG5cdFx0XHRcdFx0XHRcdHRhYkluZGV4OiAnMCcsXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0X3RoaXMyLnNldFN0YXRlKHtcblx0XHRcdFx0XHRcdFx0XHRcdHNob3dQaWNrZXI6ICFzaG93UGlja2VyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uS2V5RG93bjogZnVuY3Rpb24gb25LZXlEb3duKCkge1xuXHRcdFx0XHRcdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRzaG93UGlja2VyOiAhc2hvd1BpY2tlclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0bGFiZWxcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2NvbXBvbmVudHMtY29sb3ItcGFsZXR0ZV9faXRlbS13cmFwcGVyIGNvbXBvbmVudHMtY2lyY3VsYXItb3B0aW9uLXBpY2tlcl9fb3B0aW9uLXdyYXBwZXInLCB2YWx1ZSA/ICcnIDogJ2NvbXBvbmVudHMtY29sb3ItcGFsZXR0ZV9fY3VzdG9tLWNvbG9yJykgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnQ2hvb3NlIENvbG9yJywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdidXR0b24nLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdidXR0b24nLFxuXHRcdFx0XHRcdFx0XHRcdFx0J2FyaWEtZXhwYW5kZWQnOiBzaG93UGlja2VyLFxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1jb2xvci1wYWxldHRlX19pdGVtIGNvbXBvbmVudHMtY2lyY3VsYXItb3B0aW9uLXBpY2tlcl9fb3B0aW9uJyxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2hvd1BpY2tlcjogIXNob3dQaWNrZXJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0J2FyaWEtbGFiZWwnOiBfXygnQ3VzdG9tIGNvbG9yIHBpY2tlcicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdFx0c3R5bGU6IHsgY29sb3I6IHZhbHVlID8gaGV4VG9SR0JBKHZhbHVlLCB2YWx1ZU9wYWNpdHkpIDogJ3RyYW5zcGFyZW50JyB9XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nLCB7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtY29sb3ItcGFsZXR0ZV9fY3VzdG9tLWNvbG9yLWdyYWRpZW50JyB9KVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRzaG93UGlja2VyICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRjbGFzc05hbWU6IGNsYXNzbmFtZXMoe1xuXHRcdFx0XHRcdFx0XHQnZ2Jsb2Nrcy1jb21wb25lbnQtY29sb3ItcGlja2VyJzogdHJ1ZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdCFzaG93UGFsZXR0ZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdHsga2V5OiBjb2xvcktleSB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGlja2VyLCB7XG5cdFx0XHRcdFx0XHRcdGtleTogY29sb3JLZXksXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiB2YWx1ZSA/IHZhbHVlIDogJycsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlQ29tcGxldGU6IGZ1bmN0aW9uIG9uQ2hhbmdlQ29tcGxldGUoY29sb3IpIHtcblx0XHRcdFx0XHRcdFx0XHRfb25DaGFuZ2UoY29sb3IuaGV4KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZGlzYWJsZUFscGhhOiB0cnVlXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZ2Jsb2Nrcy1jb2xvci1jb250cm9scycgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWNvbG9yLWNsZWFyLWNvbG9yJyxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF9vbkNoYW5nZSgnJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQ2xlYXIgQ29sb3InLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRpc1NlY29uZGFyeTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdCdhcmlhLWV4cGFuZGVkJzogc2hvd1BhbGV0dGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWNvbG9yLXNob3ctcGFsZXR0ZScsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczIuc2V0U3RhdGUoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dQYWxldHRlOiAhc2hvd1BhbGV0dGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRfXygnU2hvdyBDb2xvciBQYWxldHRlJywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0IXNob3dQYWxldHRlICYmIGFscGhhICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYmxvY2tzLWNvbXBvbmVudC1jb2xvci1vcGFjaXR5JyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0XHR7IHRleHQ6IF9fKCdPcGFjaXR5JywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHRcdFx0Z2V0SWNvbignZ3JhZGllbnQnKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHZhbHVlT3BhY2l0eSA/IHZhbHVlT3BhY2l0eSA6IDAsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShvcGFjaXR5VmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gb25PcGFjaXR5Q2hhbmdlKG9wYWNpdHlWYWx1ZSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0bWF4OiAxLFxuXHRcdFx0XHRcdFx0XHRzdGVwOiAwLjAxLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsUG9zaXRpb246IDFcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRzaG93UGFsZXR0ZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0J2FyaWEtZXhwYW5kZWQnOiBzaG93UGFsZXR0ZSxcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWNvbG9yLXNob3ctcGFsZXR0ZScsXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNob3dQYWxldHRlOiAhc2hvd1BhbGV0dGVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ0hpZGUgQ29sb3IgUGFsZXR0ZScsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLWNvbXBvbmVudC1jb2xvci1waWNrZXItcGFsZXR0ZSdcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGFsZXR0ZSwge1xuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UoY29sb3IpIHtcblx0XHRcdFx0XHRcdFx0XHRcdF9vbkNoYW5nZShjb2xvcik7XG5cblx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yS2V5OiBjb2xvclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRkaXNhYmxlQ3VzdG9tQ29sb3JzOiB0cnVlXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBHZW5lcmF0ZUJsb2Nrc0NvbG9yUGlja2VyO1xufShDb21wb25lbnQpO1xuXG5leHBvcnQgZGVmYXVsdCBHZW5lcmF0ZUJsb2Nrc0NvbG9yUGlja2VyO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSA3XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///7\n");
160
+
161
+ /***/ }),
162
+ /* 8 */
163
+ /*!****************************************************!*\
164
+ !*** ./src/components/color-picker/hex-to-rgba.js ***!
165
+ \****************************************************/
166
+ /*! exports provided: default */
167
+ /*! exports used: default */
168
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
169
+
170
+ "use strict";
171
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = hexToRGBA;\n/**\n * function to return string with capital letter.\n * @param {string} hex the color hex.\n * @param {number} alpha the alpha number.\n * @returns {string} rgba color.\n */\nfunction hexToRGBA(hex, alpha) {\n\tif (!hex) {\n\t\treturn '';\n\t}\n\n\tif (!alpha && 0 !== alpha) {\n\t\treturn hex;\n\t}\n\n\thex = hex.replace('#', '');\n\tvar r = parseInt(hex.length === 3 ? hex.slice(0, 1).repeat(2) : hex.slice(0, 2), 16);\n\tvar g = parseInt(hex.length === 3 ? hex.slice(1, 2).repeat(2) : hex.slice(2, 4), 16);\n\tvar b = parseInt(hex.length === 3 ? hex.slice(2, 3).repeat(2) : hex.slice(4, 6), 16);\n\treturn 'rgba(' + r + ', ' + g + ', ' + b + ', ' + alpha + ')';\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOC5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9oZXgtdG8tcmdiYS5qcz9mMDVkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogZnVuY3Rpb24gdG8gcmV0dXJuIHN0cmluZyB3aXRoIGNhcGl0YWwgbGV0dGVyLlxuICogQHBhcmFtIHtzdHJpbmd9IGhleCB0aGUgY29sb3IgaGV4LlxuICogQHBhcmFtIHtudW1iZXJ9IGFscGhhIHRoZSBhbHBoYSBudW1iZXIuXG4gKiBAcmV0dXJucyB7c3RyaW5nfSByZ2JhIGNvbG9yLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBoZXhUb1JHQkEoaGV4LCBhbHBoYSkge1xuXHRpZiAoIWhleCkge1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGlmICghYWxwaGEgJiYgMCAhPT0gYWxwaGEpIHtcblx0XHRyZXR1cm4gaGV4O1xuXHR9XG5cblx0aGV4ID0gaGV4LnJlcGxhY2UoJyMnLCAnJyk7XG5cdHZhciByID0gcGFyc2VJbnQoaGV4Lmxlbmd0aCA9PT0gMyA/IGhleC5zbGljZSgwLCAxKS5yZXBlYXQoMikgOiBoZXguc2xpY2UoMCwgMiksIDE2KTtcblx0dmFyIGcgPSBwYXJzZUludChoZXgubGVuZ3RoID09PSAzID8gaGV4LnNsaWNlKDEsIDIpLnJlcGVhdCgyKSA6IGhleC5zbGljZSgyLCA0KSwgMTYpO1xuXHR2YXIgYiA9IHBhcnNlSW50KGhleC5sZW5ndGggPT09IDMgPyBoZXguc2xpY2UoMiwgMykucmVwZWF0KDIpIDogaGV4LnNsaWNlKDQsIDYpLCAxNik7XG5cdHJldHVybiAncmdiYSgnICsgciArICcsICcgKyBnICsgJywgJyArIGIgKyAnLCAnICsgYWxwaGEgKyAnKSc7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvY29tcG9uZW50cy9jb2xvci1waWNrZXIvaGV4LXRvLXJnYmEuanNcbi8vIG1vZHVsZSBpZCA9IDhcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///8\n");
172
+
173
+ /***/ }),
174
+ /* 9 */
175
+ /*!********************************************!*\
176
+ !*** ./src/components/dimensions/index.js ***!
177
+ \********************************************/
178
+ /*! exports provided: default */
179
+ /*! exports used: default */
180
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
181
+
182
+ "use strict";
183
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * External dependencies\n */\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar _wp$i18n = wp.i18n,\n __ = _wp$i18n.__,\n _x = _wp$i18n._x,\n sprintf = _wp$i18n.sprintf;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment;\nvar _wp$components = wp.components,\n Button = _wp$components.Button,\n Tooltip = _wp$components.Tooltip,\n ButtonGroup = _wp$components.ButtonGroup;\n\nvar DimensionsControl = function (_Component) {\n\t_inherits(DimensionsControl, _Component);\n\n\tfunction DimensionsControl() {\n\t\t_classCallCheck(this, DimensionsControl);\n\n\t\tvar _this = _possibleConstructorReturn(this, (DimensionsControl.__proto__ || Object.getPrototypeOf(DimensionsControl)).apply(this, arguments));\n\n\t\t_this.onChangeTop = _this.onChangeTop.bind(_this);\n\t\t_this.onChangeRight = _this.onChangeRight.bind(_this);\n\t\t_this.onChangeBottom = _this.onChangeBottom.bind(_this);\n\t\t_this.onChangeLeft = _this.onChangeLeft.bind(_this);\n\t\t_this.onChangeAll = _this.onChangeAll.bind(_this);\n\t\t_this.syncUnits = _this.syncUnits.bind(_this);\n\t\t_this.onChangeUnits = _this.onChangeUnits.bind(_this);\n\t\treturn _this;\n\t}\n\n\t_createClass(DimensionsControl, [{\n\t\tkey: 'onReset',\n\t\tvalue: function onReset(type) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props[type], ''));\n\t\t}\n\t}, {\n\t\tkey: 'onChangeTop',\n\t\tvalue: function onChangeTop(value) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props['attrTop'], value)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'onChangeRight',\n\t\tvalue: function onChangeRight(value) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props['attrRight'], value)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'onChangeBottom',\n\t\tvalue: function onChangeBottom(value) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props['attrBottom'], value)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'onChangeLeft',\n\t\tvalue: function onChangeLeft(value) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props['attrLeft'], value)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'onChangeAll',\n\t\tvalue: function onChangeAll(value) {\n\t\t\tvar _props$setAttributes6;\n\n\t\t\tthis.props.setAttributes((_props$setAttributes6 = {}, _defineProperty(_props$setAttributes6, this.props['attrTop'], value), _defineProperty(_props$setAttributes6, this.props['attrRight'], value), _defineProperty(_props$setAttributes6, this.props['attrBottom'], value), _defineProperty(_props$setAttributes6, this.props['attrLeft'], value), _props$setAttributes6)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'syncUnits',\n\t\tvalue: function syncUnits() {\n\t\t\tvar _props$setAttributes7;\n\n\t\t\tvar numbers = [this.props.attributes[this.props.attrTop], this.props.attributes[this.props.attrRight], this.props.attributes[this.props.attrBottom], this.props.attributes[this.props.attrLeft]];\n\n\t\t\tvar syncValue = Math.max.apply(null, numbers);\n\n\t\t\tthis.props.setAttributes((_props$setAttributes7 = {}, _defineProperty(_props$setAttributes7, this.props['attrSyncUnits'], !this.props.attributes[this.props.attrSyncUnits]), _defineProperty(_props$setAttributes7, this.props['attrTop'], syncValue.toString()), _defineProperty(_props$setAttributes7, this.props['attrRight'], syncValue.toString()), _defineProperty(_props$setAttributes7, this.props['attrBottom'], syncValue.toString()), _defineProperty(_props$setAttributes7, this.props['attrLeft'], syncValue.toString()), _props$setAttributes7));\n\t\t}\n\t}, {\n\t\tkey: 'onChangeUnits',\n\t\tvalue: function onChangeUnits(value) {\n\t\t\tthis.props.setAttributes(_defineProperty({}, this.props['attrUnit'], value)); // eslint-disable-line dot-notation\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t _props$label = _props.label,\n\t\t\t label = _props$label === undefined ? __('Margin', 'generateblocks') : _props$label,\n\t\t\t _props$type = _props.type,\n\t\t\t type = _props$type === undefined ? 'margin' : _props$type,\n\t\t\t attrTop = _props.attrTop,\n\t\t\t attrRight = _props.attrRight,\n\t\t\t attrBottom = _props.attrBottom,\n\t\t\t attrLeft = _props.attrLeft,\n\t\t\t attrSyncUnits = _props.attrSyncUnits,\n\t\t\t attrUnit = _props.attrUnit,\n\t\t\t _props$labelTop = _props.labelTop,\n\t\t\t labelTop = _props$labelTop === undefined ? __('Top', 'generateblocks') : _props$labelTop,\n\t\t\t _props$labelRight = _props.labelRight,\n\t\t\t labelRight = _props$labelRight === undefined ? __('Right', 'generateblocks') : _props$labelRight,\n\t\t\t _props$labelBottom = _props.labelBottom,\n\t\t\t labelBottom = _props$labelBottom === undefined ? __('Bottom', 'generateblocks') : _props$labelBottom,\n\t\t\t _props$labelLeft = _props.labelLeft,\n\t\t\t labelLeft = _props$labelLeft === undefined ? __('Left', 'generateblocks') : _props$labelLeft,\n\t\t\t displayUnit = _props.displayUnit,\n\t\t\t device = _props.device,\n\t\t\t block = _props.block,\n\t\t\t defaults = _props.defaults;\n\n\n\t\t\tvar classes = __WEBPACK_IMPORTED_MODULE_0_classnames___default()('components-base-control', 'components-gblocks-dimensions-control');\n\n\t\t\tvar onChangeTopValue = function onChangeTopValue(event) {\n\t\t\t\tvar newValue = event.target.value;\n\n\t\t\t\tif ('padding' === type) {\n\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\tnewValue = newValue.toString().replace(/-/g, '');\n\t\t\t\t}\n\n\t\t\t\tif ('' === newValue) {\n\t\t\t\t\t_this2.onReset('attrTop');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t_this2.onChangeAll(newValue);\n\t\t\t\t} else {\n\t\t\t\t\t_this2.onChangeTop(newValue);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar onChangeRightValue = function onChangeRightValue(event) {\n\t\t\t\tvar newValue = event.target.value;\n\n\t\t\t\tif ('padding' === type) {\n\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\tnewValue = newValue.toString().replace(/-/g, '');\n\t\t\t\t}\n\n\t\t\t\tif ('' === newValue) {\n\t\t\t\t\t_this2.onReset('attrRight');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t_this2.onChangeAll(newValue);\n\t\t\t\t} else {\n\t\t\t\t\t_this2.onChangeRight(newValue);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar onChangeBottomValue = function onChangeBottomValue(event) {\n\t\t\t\tvar newValue = event.target.value;\n\n\t\t\t\tif ('padding' === type) {\n\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\tnewValue = newValue.toString().replace(/-/g, '');\n\t\t\t\t}\n\n\t\t\t\tif ('' === newValue) {\n\t\t\t\t\t_this2.onReset('attrBottom');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t_this2.onChangeAll(newValue);\n\t\t\t\t} else {\n\t\t\t\t\t_this2.onChangeBottom(newValue);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar onChangeLeftValue = function onChangeLeftValue(event) {\n\t\t\t\tvar newValue = event.target.value;\n\n\t\t\t\tif ('padding' === type) {\n\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\tnewValue = newValue.toString().replace(/-/g, '');\n\t\t\t\t}\n\n\t\t\t\tif ('' === newValue) {\n\t\t\t\t\t_this2.onReset('attrLeft');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t_this2.onChangeAll(newValue);\n\t\t\t\t} else {\n\t\t\t\t\t_this2.onChangeLeft(newValue);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar unitSizes = [{\n\t\t\t\tname: _x('Pixel', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: 'px'\n\t\t\t}, {\n\t\t\t\tname: _x('Em', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: 'em'\n\t\t\t}, {\n\t\t\t\tname: _x('Percentage', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: '%'\n\t\t\t}];\n\n\t\t\tvar topPlaceholder = '',\n\t\t\t rightPlaceholder = '',\n\t\t\t bottomPlaceholder = '',\n\t\t\t leftPlaceholder = '';\n\n\t\t\tif ('headline' === block && attrBottom.includes('marginBottom')) {\n\t\t\t\tif (typeof generateBlocksStyling.headline !== 'undefined') {\n\t\t\t\t\tif (typeof generateBlocksStyling.headline[attributes.element].marginBottom !== 'undefined') {\n\t\t\t\t\t\tif (generateBlocksStyling.headline[attributes.element].marginUnit === attributes.marginUnit) {\n\t\t\t\t\t\t\tbottomPlaceholder = generateBlocksStyling.headline[attributes.element].marginBottom;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ('tablet' === device) {\n\t\t\t\tvar topAttrName = attrTop.replace('Tablet', ''),\n\t\t\t\t rightAttrName = attrRight.replace('Tablet', ''),\n\t\t\t\t bottomAttrName = attrBottom.replace('Tablet', ''),\n\t\t\t\t leftAttrName = attrLeft.replace('Tablet', '');\n\n\t\t\t\ttopPlaceholder = attributes[topAttrName] ? attributes[topAttrName] : topPlaceholder;\n\t\t\t\trightPlaceholder = attributes[rightAttrName] ? attributes[rightAttrName] : rightPlaceholder;\n\t\t\t\tbottomPlaceholder = attributes[bottomAttrName] ? attributes[bottomAttrName] : bottomPlaceholder;\n\t\t\t\tleftPlaceholder = attributes[leftAttrName] ? attributes[leftAttrName] : leftPlaceholder;\n\t\t\t}\n\n\t\t\tif ('mobile' === device) {\n\t\t\t\tvar _topAttrName = attrTop.replace('Mobile', ''),\n\t\t\t\t _rightAttrName = attrRight.replace('Mobile', ''),\n\t\t\t\t _bottomAttrName = attrBottom.replace('Mobile', ''),\n\t\t\t\t _leftAttrName = attrLeft.replace('Mobile', '');\n\n\t\t\t\tif (attributes[_topAttrName + 'Tablet']) {\n\t\t\t\t\ttopPlaceholder = attributes[_topAttrName + 'Tablet'];\n\t\t\t\t} else if (attributes[_topAttrName]) {\n\t\t\t\t\ttopPlaceholder = attributes[_topAttrName];\n\t\t\t\t}\n\n\t\t\t\tif (attributes[_rightAttrName + 'Tablet']) {\n\t\t\t\t\trightPlaceholder = attributes[_rightAttrName + 'Tablet'];\n\t\t\t\t} else if (attributes[_rightAttrName]) {\n\t\t\t\t\trightPlaceholder = attributes[_rightAttrName];\n\t\t\t\t}\n\n\t\t\t\tif (attributes[_bottomAttrName + 'Tablet']) {\n\t\t\t\t\tbottomPlaceholder = attributes[_bottomAttrName + 'Tablet'];\n\t\t\t\t} else if (attributes[_bottomAttrName]) {\n\t\t\t\t\tbottomPlaceholder = attributes[_bottomAttrName];\n\t\t\t\t}\n\n\t\t\t\tif (attributes[_leftAttrName + 'Tablet']) {\n\t\t\t\t\tleftPlaceholder = attributes[_leftAttrName + 'Tablet'];\n\t\t\t\t} else if (attributes[_leftAttrName]) {\n\t\t\t\t\tleftPlaceholder = attributes[_leftAttrName];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: classes },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__header' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__label' },\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttypeof attributes[attrUnit] !== 'undefined' ? wp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__units', 'aria-label': __('Select Units', 'generateblocks') },\n\t\t\t\t\t\t\t\tunitSizes.map(function (unit) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units', 'generateblocks'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: attributes[attrUnit] === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': attributes[attrUnit] === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units', 'generateblocks'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn _this2.onChangeUnits(unit.unitValue);\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : null,\n\t\t\t\t\t\ttypeof displayUnit !== 'undefined' && wp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'px-unit' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tkey: 'px-unit',\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdisplayUnit\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__inputs' },\n\t\t\t\t\t\twp.element.createElement('input', {\n\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__number',\n\t\t\t\t\t\t\tplaceholder: topPlaceholder,\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tonChange: onChangeTopValue,\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tif ('' === attributes[attrTop] && '' !== defaults[attrTop]) {\n\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeAll('0');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeTop('0');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'aria-label': sprintf(__('%s Top', 'generateblocks'), label),\n\t\t\t\t\t\t\tvalue: attributes[attrTop] ? attributes[attrTop] : '',\n\t\t\t\t\t\t\tmin: type === 'padding' ? 0 : undefined,\n\t\t\t\t\t\t\t'data-attribute': type\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement('input', {\n\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__number',\n\t\t\t\t\t\t\tplaceholder: rightPlaceholder,\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tonChange: onChangeRightValue,\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tif ('' === attributes[attrRight] && '' !== defaults[attrRight]) {\n\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeAll('0');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeRight('0');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'aria-label': sprintf(__('%s Right', 'generateblocks'), label),\n\t\t\t\t\t\t\tvalue: attributes[attrRight] ? attributes[attrRight] : '',\n\t\t\t\t\t\t\tmin: type === 'padding' ? 0 : undefined,\n\t\t\t\t\t\t\t'data-attribute': type\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement('input', {\n\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__number',\n\t\t\t\t\t\t\tplaceholder: bottomPlaceholder,\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tonChange: onChangeBottomValue,\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tif ('' === attributes[attrBottom] && '' !== defaults[attrBottom]) {\n\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeAll('0');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeBottom('0');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'aria-label': sprintf(__('%s Bottom', 'generateblocks'), label),\n\t\t\t\t\t\t\tvalue: attributes[attrBottom] ? attributes[attrBottom] : '',\n\t\t\t\t\t\t\tmin: type === 'padding' ? 0 : undefined,\n\t\t\t\t\t\t\t'data-attribute': type\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement('input', {\n\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__number',\n\t\t\t\t\t\t\tplaceholder: leftPlaceholder,\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tonChange: onChangeLeftValue,\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tif ('' === attributes[attrLeft] && '' !== defaults[attrLeft]) {\n\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\tif (_this2.props.attributes[_this2.props.attrSyncUnits]) {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeAll('0');\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t_this2.onChangeLeft('0');\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t'aria-label': sprintf(__('%s Left', 'generateblocks'), label),\n\t\t\t\t\t\t\tvalue: attributes[attrLeft] ? attributes[attrLeft] : '',\n\t\t\t\t\t\t\tmin: type === 'padding' ? 0 : undefined,\n\t\t\t\t\t\t\t'data-attribute': type\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t{ text: !!attributes[attrSyncUnits] ? __('Unsync', 'generateblocks') : __('Sync', 'generateblocks') },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control_sync',\n\t\t\t\t\t\t\t\t\t'aria-label': __('Sync Units', 'generateblocks'),\n\t\t\t\t\t\t\t\t\tisPrimary: attributes[attrSyncUnits] ? attributes[attrSyncUnits] : false,\n\t\t\t\t\t\t\t\t\t'aria-pressed': attributes[attrSyncUnits] ? attributes[attrSyncUnits] : false,\n\t\t\t\t\t\t\t\t\tonClick: function onClick(value) {\n\t\t\t\t\t\t\t\t\t\treturn _this2.syncUnits(value, '');\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tisSmall: true\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t!!attributes[attrSyncUnits] ? Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('sync') : Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('sync')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__input-labels' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__number-label' },\n\t\t\t\t\t\t\tlabelTop\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__number-label' },\n\t\t\t\t\t\t\tlabelRight\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__number-label' },\n\t\t\t\t\t\t\tlabelBottom\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__number-label' },\n\t\t\t\t\t\t\tlabelLeft\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement('span', { className: 'components-gblocks-dimensions-control__number-label' })\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn DimensionsControl;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DimensionsControl);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiOS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL2RpbWVuc2lvbnMvaW5kZXguanM/MzdlMCJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcbmltcG9ydCBnZXRJY29uIGZyb20gJy4uLy4uL3V0aWxzL2dldC1pY29uJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbnZhciBfd3AkaTE4biA9IHdwLmkxOG4sXG4gICAgX18gPSBfd3AkaTE4bi5fXyxcbiAgICBfeCA9IF93cCRpMThuLl94LFxuICAgIHNwcmludGYgPSBfd3AkaTE4bi5zcHJpbnRmO1xudmFyIF93cCRlbGVtZW50ID0gd3AuZWxlbWVudCxcbiAgICBDb21wb25lbnQgPSBfd3AkZWxlbWVudC5Db21wb25lbnQsXG4gICAgRnJhZ21lbnQgPSBfd3AkZWxlbWVudC5GcmFnbWVudDtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uLFxuICAgIFRvb2x0aXAgPSBfd3AkY29tcG9uZW50cy5Ub29sdGlwLFxuICAgIEJ1dHRvbkdyb3VwID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uR3JvdXA7XG5cbnZhciBEaW1lbnNpb25zQ29udHJvbCA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhEaW1lbnNpb25zQ29udHJvbCwgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gRGltZW5zaW9uc0NvbnRyb2woKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIERpbWVuc2lvbnNDb250cm9sKTtcblxuXHRcdHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChEaW1lbnNpb25zQ29udHJvbC5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKERpbWVuc2lvbnNDb250cm9sKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cblx0XHRfdGhpcy5vbkNoYW5nZVRvcCA9IF90aGlzLm9uQ2hhbmdlVG9wLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlUmlnaHQgPSBfdGhpcy5vbkNoYW5nZVJpZ2h0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlQm90dG9tID0gX3RoaXMub25DaGFuZ2VCb3R0b20uYmluZChfdGhpcyk7XG5cdFx0X3RoaXMub25DaGFuZ2VMZWZ0ID0gX3RoaXMub25DaGFuZ2VMZWZ0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlQWxsID0gX3RoaXMub25DaGFuZ2VBbGwuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuc3luY1VuaXRzID0gX3RoaXMuc3luY1VuaXRzLmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLm9uQ2hhbmdlVW5pdHMgPSBfdGhpcy5vbkNoYW5nZVVuaXRzLmJpbmQoX3RoaXMpO1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhEaW1lbnNpb25zQ29udHJvbCwgW3tcblx0XHRrZXk6ICdvblJlc2V0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25SZXNldCh0eXBlKSB7XG5cdFx0XHR0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoX2RlZmluZVByb3BlcnR5KHt9LCB0aGlzLnByb3BzW3R5cGVdLCAnJykpO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlVG9wJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VUb3AodmFsdWUpIHtcblx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIHRoaXMucHJvcHNbJ2F0dHJUb3AnXSwgdmFsdWUpKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBkb3Qtbm90YXRpb25cblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZVJpZ2h0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25DaGFuZ2VSaWdodCh2YWx1ZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgdGhpcy5wcm9wc1snYXR0clJpZ2h0J10sIHZhbHVlKSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZG90LW5vdGF0aW9uXG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnb25DaGFuZ2VCb3R0b20nLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZUJvdHRvbSh2YWx1ZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgdGhpcy5wcm9wc1snYXR0ckJvdHRvbSddLCB2YWx1ZSkpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlTGVmdCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlTGVmdCh2YWx1ZSkge1xuXHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgdGhpcy5wcm9wc1snYXR0ckxlZnQnXSwgdmFsdWUpKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBkb3Qtbm90YXRpb25cblx0XHR9XG5cdH0sIHtcblx0XHRrZXk6ICdvbkNoYW5nZUFsbCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIG9uQ2hhbmdlQWxsKHZhbHVlKSB7XG5cdFx0XHR2YXIgX3Byb3BzJHNldEF0dHJpYnV0ZXM2O1xuXG5cdFx0XHR0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoKF9wcm9wcyRzZXRBdHRyaWJ1dGVzNiA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX3Byb3BzJHNldEF0dHJpYnV0ZXM2LCB0aGlzLnByb3BzWydhdHRyVG9wJ10sIHZhbHVlKSwgX2RlZmluZVByb3BlcnR5KF9wcm9wcyRzZXRBdHRyaWJ1dGVzNiwgdGhpcy5wcm9wc1snYXR0clJpZ2h0J10sIHZhbHVlKSwgX2RlZmluZVByb3BlcnR5KF9wcm9wcyRzZXRBdHRyaWJ1dGVzNiwgdGhpcy5wcm9wc1snYXR0ckJvdHRvbSddLCB2YWx1ZSksIF9kZWZpbmVQcm9wZXJ0eShfcHJvcHMkc2V0QXR0cmlidXRlczYsIHRoaXMucHJvcHNbJ2F0dHJMZWZ0J10sIHZhbHVlKSwgX3Byb3BzJHNldEF0dHJpYnV0ZXM2KSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZG90LW5vdGF0aW9uXG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAnc3luY1VuaXRzJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gc3luY1VuaXRzKCkge1xuXHRcdFx0dmFyIF9wcm9wcyRzZXRBdHRyaWJ1dGVzNztcblxuXHRcdFx0dmFyIG51bWJlcnMgPSBbdGhpcy5wcm9wcy5hdHRyaWJ1dGVzW3RoaXMucHJvcHMuYXR0clRvcF0sIHRoaXMucHJvcHMuYXR0cmlidXRlc1t0aGlzLnByb3BzLmF0dHJSaWdodF0sIHRoaXMucHJvcHMuYXR0cmlidXRlc1t0aGlzLnByb3BzLmF0dHJCb3R0b21dLCB0aGlzLnByb3BzLmF0dHJpYnV0ZXNbdGhpcy5wcm9wcy5hdHRyTGVmdF1dO1xuXG5cdFx0XHR2YXIgc3luY1ZhbHVlID0gTWF0aC5tYXguYXBwbHkobnVsbCwgbnVtYmVycyk7XG5cblx0XHRcdHRoaXMucHJvcHMuc2V0QXR0cmlidXRlcygoX3Byb3BzJHNldEF0dHJpYnV0ZXM3ID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfcHJvcHMkc2V0QXR0cmlidXRlczcsIHRoaXMucHJvcHNbJ2F0dHJTeW5jVW5pdHMnXSwgIXRoaXMucHJvcHMuYXR0cmlidXRlc1t0aGlzLnByb3BzLmF0dHJTeW5jVW5pdHNdKSwgX2RlZmluZVByb3BlcnR5KF9wcm9wcyRzZXRBdHRyaWJ1dGVzNywgdGhpcy5wcm9wc1snYXR0clRvcCddLCBzeW5jVmFsdWUudG9TdHJpbmcoKSksIF9kZWZpbmVQcm9wZXJ0eShfcHJvcHMkc2V0QXR0cmlidXRlczcsIHRoaXMucHJvcHNbJ2F0dHJSaWdodCddLCBzeW5jVmFsdWUudG9TdHJpbmcoKSksIF9kZWZpbmVQcm9wZXJ0eShfcHJvcHMkc2V0QXR0cmlidXRlczcsIHRoaXMucHJvcHNbJ2F0dHJCb3R0b20nXSwgc3luY1ZhbHVlLnRvU3RyaW5nKCkpLCBfZGVmaW5lUHJvcGVydHkoX3Byb3BzJHNldEF0dHJpYnV0ZXM3LCB0aGlzLnByb3BzWydhdHRyTGVmdCddLCBzeW5jVmFsdWUudG9TdHJpbmcoKSksIF9wcm9wcyRzZXRBdHRyaWJ1dGVzNykpO1xuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ29uQ2hhbmdlVW5pdHMnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBvbkNoYW5nZVVuaXRzKHZhbHVlKSB7XG5cdFx0XHR0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoX2RlZmluZVByb3BlcnR5KHt9LCB0aGlzLnByb3BzWydhdHRyVW5pdCddLCB2YWx1ZSkpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGRvdC1ub3RhdGlvblxuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBhdHRyaWJ1dGVzID0gX3Byb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgX3Byb3BzJGxhYmVsID0gX3Byb3BzLmxhYmVsLFxuXHRcdFx0ICAgIGxhYmVsID0gX3Byb3BzJGxhYmVsID09PSB1bmRlZmluZWQgPyBfXygnTWFyZ2luJywgJ2dlbmVyYXRlYmxvY2tzJykgOiBfcHJvcHMkbGFiZWwsXG5cdFx0XHQgICAgX3Byb3BzJHR5cGUgPSBfcHJvcHMudHlwZSxcblx0XHRcdCAgICB0eXBlID0gX3Byb3BzJHR5cGUgPT09IHVuZGVmaW5lZCA/ICdtYXJnaW4nIDogX3Byb3BzJHR5cGUsXG5cdFx0XHQgICAgYXR0clRvcCA9IF9wcm9wcy5hdHRyVG9wLFxuXHRcdFx0ICAgIGF0dHJSaWdodCA9IF9wcm9wcy5hdHRyUmlnaHQsXG5cdFx0XHQgICAgYXR0ckJvdHRvbSA9IF9wcm9wcy5hdHRyQm90dG9tLFxuXHRcdFx0ICAgIGF0dHJMZWZ0ID0gX3Byb3BzLmF0dHJMZWZ0LFxuXHRcdFx0ICAgIGF0dHJTeW5jVW5pdHMgPSBfcHJvcHMuYXR0clN5bmNVbml0cyxcblx0XHRcdCAgICBhdHRyVW5pdCA9IF9wcm9wcy5hdHRyVW5pdCxcblx0XHRcdCAgICBfcHJvcHMkbGFiZWxUb3AgPSBfcHJvcHMubGFiZWxUb3AsXG5cdFx0XHQgICAgbGFiZWxUb3AgPSBfcHJvcHMkbGFiZWxUb3AgPT09IHVuZGVmaW5lZCA/IF9fKCdUb3AnLCAnZ2VuZXJhdGVibG9ja3MnKSA6IF9wcm9wcyRsYWJlbFRvcCxcblx0XHRcdCAgICBfcHJvcHMkbGFiZWxSaWdodCA9IF9wcm9wcy5sYWJlbFJpZ2h0LFxuXHRcdFx0ICAgIGxhYmVsUmlnaHQgPSBfcHJvcHMkbGFiZWxSaWdodCA9PT0gdW5kZWZpbmVkID8gX18oJ1JpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJykgOiBfcHJvcHMkbGFiZWxSaWdodCxcblx0XHRcdCAgICBfcHJvcHMkbGFiZWxCb3R0b20gPSBfcHJvcHMubGFiZWxCb3R0b20sXG5cdFx0XHQgICAgbGFiZWxCb3R0b20gPSBfcHJvcHMkbGFiZWxCb3R0b20gPT09IHVuZGVmaW5lZCA/IF9fKCdCb3R0b20nLCAnZ2VuZXJhdGVibG9ja3MnKSA6IF9wcm9wcyRsYWJlbEJvdHRvbSxcblx0XHRcdCAgICBfcHJvcHMkbGFiZWxMZWZ0ID0gX3Byb3BzLmxhYmVsTGVmdCxcblx0XHRcdCAgICBsYWJlbExlZnQgPSBfcHJvcHMkbGFiZWxMZWZ0ID09PSB1bmRlZmluZWQgPyBfXygnTGVmdCcsICdnZW5lcmF0ZWJsb2NrcycpIDogX3Byb3BzJGxhYmVsTGVmdCxcblx0XHRcdCAgICBkaXNwbGF5VW5pdCA9IF9wcm9wcy5kaXNwbGF5VW5pdCxcblx0XHRcdCAgICBkZXZpY2UgPSBfcHJvcHMuZGV2aWNlLFxuXHRcdFx0ICAgIGJsb2NrID0gX3Byb3BzLmJsb2NrLFxuXHRcdFx0ICAgIGRlZmF1bHRzID0gX3Byb3BzLmRlZmF1bHRzO1xuXG5cblx0XHRcdHZhciBjbGFzc2VzID0gY2xhc3NuYW1lcygnY29tcG9uZW50cy1iYXNlLWNvbnRyb2wnLCAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbCcpO1xuXG5cdFx0XHR2YXIgb25DaGFuZ2VUb3BWYWx1ZSA9IGZ1bmN0aW9uIG9uQ2hhbmdlVG9wVmFsdWUoZXZlbnQpIHtcblx0XHRcdFx0dmFyIG5ld1ZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG5cdFx0XHRcdGlmICgncGFkZGluZycgPT09IHR5cGUpIHtcblx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdG5ld1ZhbHVlID0gbmV3VmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC8tL2csICcnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICgnJyA9PT0gbmV3VmFsdWUpIHtcblx0XHRcdFx0XHRfdGhpczIub25SZXNldCgnYXR0clRvcCcpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChfdGhpczIucHJvcHMuYXR0cmlidXRlc1tfdGhpczIucHJvcHMuYXR0clN5bmNVbml0c10pIHtcblx0XHRcdFx0XHRfdGhpczIub25DaGFuZ2VBbGwobmV3VmFsdWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZVRvcChuZXdWYWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRcdHZhciBvbkNoYW5nZVJpZ2h0VmFsdWUgPSBmdW5jdGlvbiBvbkNoYW5nZVJpZ2h0VmFsdWUoZXZlbnQpIHtcblx0XHRcdFx0dmFyIG5ld1ZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG5cdFx0XHRcdGlmICgncGFkZGluZycgPT09IHR5cGUpIHtcblx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdG5ld1ZhbHVlID0gbmV3VmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC8tL2csICcnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICgnJyA9PT0gbmV3VmFsdWUpIHtcblx0XHRcdFx0XHRfdGhpczIub25SZXNldCgnYXR0clJpZ2h0Jyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKF90aGlzMi5wcm9wcy5hdHRyaWJ1dGVzW190aGlzMi5wcm9wcy5hdHRyU3luY1VuaXRzXSkge1xuXHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZUFsbChuZXdWYWx1ZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0X3RoaXMyLm9uQ2hhbmdlUmlnaHQobmV3VmFsdWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHR2YXIgb25DaGFuZ2VCb3R0b21WYWx1ZSA9IGZ1bmN0aW9uIG9uQ2hhbmdlQm90dG9tVmFsdWUoZXZlbnQpIHtcblx0XHRcdFx0dmFyIG5ld1ZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlO1xuXG5cdFx0XHRcdGlmICgncGFkZGluZycgPT09IHR5cGUpIHtcblx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdG5ld1ZhbHVlID0gbmV3VmFsdWUudG9TdHJpbmcoKS5yZXBsYWNlKC8tL2csICcnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmICgnJyA9PT0gbmV3VmFsdWUpIHtcblx0XHRcdFx0XHRfdGhpczIub25SZXNldCgnYXR0ckJvdHRvbScpO1xuXHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChfdGhpczIucHJvcHMuYXR0cmlidXRlc1tfdGhpczIucHJvcHMuYXR0clN5bmNVbml0c10pIHtcblx0XHRcdFx0XHRfdGhpczIub25DaGFuZ2VBbGwobmV3VmFsdWUpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZUJvdHRvbShuZXdWYWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRcdHZhciBvbkNoYW5nZUxlZnRWYWx1ZSA9IGZ1bmN0aW9uIG9uQ2hhbmdlTGVmdFZhbHVlKGV2ZW50KSB7XG5cdFx0XHRcdHZhciBuZXdWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcblxuXHRcdFx0XHRpZiAoJ3BhZGRpbmcnID09PSB0eXBlKSB7XG5cdFx0XHRcdFx0Ly8gTm8gbmVnYXRpdmUgdmFsdWVzIGFsbG93ZWQgaGVyZS5cblx0XHRcdFx0XHRuZXdWYWx1ZSA9IG5ld1ZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvLS9nLCAnJyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoJycgPT09IG5ld1ZhbHVlKSB7XG5cdFx0XHRcdFx0X3RoaXMyLm9uUmVzZXQoJ2F0dHJMZWZ0Jyk7XG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKF90aGlzMi5wcm9wcy5hdHRyaWJ1dGVzW190aGlzMi5wcm9wcy5hdHRyU3luY1VuaXRzXSkge1xuXHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZUFsbChuZXdWYWx1ZSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0X3RoaXMyLm9uQ2hhbmdlTGVmdChuZXdWYWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRcdHZhciB1bml0U2l6ZXMgPSBbe1xuXHRcdFx0XHRuYW1lOiBfeCgnUGl4ZWwnLCAnQSBzaXplIHVuaXQgZm9yIENTUyBtYXJrdXAnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0dW5pdFZhbHVlOiAncHgnXG5cdFx0XHR9LCB7XG5cdFx0XHRcdG5hbWU6IF94KCdFbScsICdBIHNpemUgdW5pdCBmb3IgQ1NTIG1hcmt1cCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHR1bml0VmFsdWU6ICdlbSdcblx0XHRcdH0sIHtcblx0XHRcdFx0bmFtZTogX3goJ1BlcmNlbnRhZ2UnLCAnQSBzaXplIHVuaXQgZm9yIENTUyBtYXJrdXAnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0dW5pdFZhbHVlOiAnJSdcblx0XHRcdH1dO1xuXG5cdFx0XHR2YXIgdG9wUGxhY2Vob2xkZXIgPSAnJyxcblx0XHRcdCAgICByaWdodFBsYWNlaG9sZGVyID0gJycsXG5cdFx0XHQgICAgYm90dG9tUGxhY2Vob2xkZXIgPSAnJyxcblx0XHRcdCAgICBsZWZ0UGxhY2Vob2xkZXIgPSAnJztcblxuXHRcdFx0aWYgKCdoZWFkbGluZScgPT09IGJsb2NrICYmIGF0dHJCb3R0b20uaW5jbHVkZXMoJ21hcmdpbkJvdHRvbScpKSB7XG5cdFx0XHRcdGlmICh0eXBlb2YgZ2VuZXJhdGVCbG9ja3NTdHlsaW5nLmhlYWRsaW5lICE9PSAndW5kZWZpbmVkJykge1xuXHRcdFx0XHRcdGlmICh0eXBlb2YgZ2VuZXJhdGVCbG9ja3NTdHlsaW5nLmhlYWRsaW5lW2F0dHJpYnV0ZXMuZWxlbWVudF0ubWFyZ2luQm90dG9tICE9PSAndW5kZWZpbmVkJykge1xuXHRcdFx0XHRcdFx0aWYgKGdlbmVyYXRlQmxvY2tzU3R5bGluZy5oZWFkbGluZVthdHRyaWJ1dGVzLmVsZW1lbnRdLm1hcmdpblVuaXQgPT09IGF0dHJpYnV0ZXMubWFyZ2luVW5pdCkge1xuXHRcdFx0XHRcdFx0XHRib3R0b21QbGFjZWhvbGRlciA9IGdlbmVyYXRlQmxvY2tzU3R5bGluZy5oZWFkbGluZVthdHRyaWJ1dGVzLmVsZW1lbnRdLm1hcmdpbkJvdHRvbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aWYgKCd0YWJsZXQnID09PSBkZXZpY2UpIHtcblx0XHRcdFx0dmFyIHRvcEF0dHJOYW1lID0gYXR0clRvcC5yZXBsYWNlKCdUYWJsZXQnLCAnJyksXG5cdFx0XHRcdCAgICByaWdodEF0dHJOYW1lID0gYXR0clJpZ2h0LnJlcGxhY2UoJ1RhYmxldCcsICcnKSxcblx0XHRcdFx0ICAgIGJvdHRvbUF0dHJOYW1lID0gYXR0ckJvdHRvbS5yZXBsYWNlKCdUYWJsZXQnLCAnJyksXG5cdFx0XHRcdCAgICBsZWZ0QXR0ck5hbWUgPSBhdHRyTGVmdC5yZXBsYWNlKCdUYWJsZXQnLCAnJyk7XG5cblx0XHRcdFx0dG9wUGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW3RvcEF0dHJOYW1lXSA/IGF0dHJpYnV0ZXNbdG9wQXR0ck5hbWVdIDogdG9wUGxhY2Vob2xkZXI7XG5cdFx0XHRcdHJpZ2h0UGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW3JpZ2h0QXR0ck5hbWVdID8gYXR0cmlidXRlc1tyaWdodEF0dHJOYW1lXSA6IHJpZ2h0UGxhY2Vob2xkZXI7XG5cdFx0XHRcdGJvdHRvbVBsYWNlaG9sZGVyID0gYXR0cmlidXRlc1tib3R0b21BdHRyTmFtZV0gPyBhdHRyaWJ1dGVzW2JvdHRvbUF0dHJOYW1lXSA6IGJvdHRvbVBsYWNlaG9sZGVyO1xuXHRcdFx0XHRsZWZ0UGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW2xlZnRBdHRyTmFtZV0gPyBhdHRyaWJ1dGVzW2xlZnRBdHRyTmFtZV0gOiBsZWZ0UGxhY2Vob2xkZXI7XG5cdFx0XHR9XG5cblx0XHRcdGlmICgnbW9iaWxlJyA9PT0gZGV2aWNlKSB7XG5cdFx0XHRcdHZhciBfdG9wQXR0ck5hbWUgPSBhdHRyVG9wLnJlcGxhY2UoJ01vYmlsZScsICcnKSxcblx0XHRcdFx0ICAgIF9yaWdodEF0dHJOYW1lID0gYXR0clJpZ2h0LnJlcGxhY2UoJ01vYmlsZScsICcnKSxcblx0XHRcdFx0ICAgIF9ib3R0b21BdHRyTmFtZSA9IGF0dHJCb3R0b20ucmVwbGFjZSgnTW9iaWxlJywgJycpLFxuXHRcdFx0XHQgICAgX2xlZnRBdHRyTmFtZSA9IGF0dHJMZWZ0LnJlcGxhY2UoJ01vYmlsZScsICcnKTtcblxuXHRcdFx0XHRpZiAoYXR0cmlidXRlc1tfdG9wQXR0ck5hbWUgKyAnVGFibGV0J10pIHtcblx0XHRcdFx0XHR0b3BQbGFjZWhvbGRlciA9IGF0dHJpYnV0ZXNbX3RvcEF0dHJOYW1lICsgJ1RhYmxldCddO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGF0dHJpYnV0ZXNbX3RvcEF0dHJOYW1lXSkge1xuXHRcdFx0XHRcdHRvcFBsYWNlaG9sZGVyID0gYXR0cmlidXRlc1tfdG9wQXR0ck5hbWVdO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGF0dHJpYnV0ZXNbX3JpZ2h0QXR0ck5hbWUgKyAnVGFibGV0J10pIHtcblx0XHRcdFx0XHRyaWdodFBsYWNlaG9sZGVyID0gYXR0cmlidXRlc1tfcmlnaHRBdHRyTmFtZSArICdUYWJsZXQnXTtcblx0XHRcdFx0fSBlbHNlIGlmIChhdHRyaWJ1dGVzW19yaWdodEF0dHJOYW1lXSkge1xuXHRcdFx0XHRcdHJpZ2h0UGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW19yaWdodEF0dHJOYW1lXTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChhdHRyaWJ1dGVzW19ib3R0b21BdHRyTmFtZSArICdUYWJsZXQnXSkge1xuXHRcdFx0XHRcdGJvdHRvbVBsYWNlaG9sZGVyID0gYXR0cmlidXRlc1tfYm90dG9tQXR0ck5hbWUgKyAnVGFibGV0J107XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXR0cmlidXRlc1tfYm90dG9tQXR0ck5hbWVdKSB7XG5cdFx0XHRcdFx0Ym90dG9tUGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW19ib3R0b21BdHRyTmFtZV07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoYXR0cmlidXRlc1tfbGVmdEF0dHJOYW1lICsgJ1RhYmxldCddKSB7XG5cdFx0XHRcdFx0bGVmdFBsYWNlaG9sZGVyID0gYXR0cmlidXRlc1tfbGVmdEF0dHJOYW1lICsgJ1RhYmxldCddO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGF0dHJpYnV0ZXNbX2xlZnRBdHRyTmFtZV0pIHtcblx0XHRcdFx0XHRsZWZ0UGxhY2Vob2xkZXIgPSBhdHRyaWJ1dGVzW19sZWZ0QXR0ck5hbWVdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0eyBjbGFzc05hbWU6IGNsYXNzZXMgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0bGFiZWxcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR0eXBlb2YgYXR0cmlidXRlc1thdHRyVW5pdF0gIT09ICd1bmRlZmluZWQnID8gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b25Hcm91cCxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX3VuaXRzJywgJ2FyaWEtbGFiZWwnOiBfXygnU2VsZWN0IFVuaXRzJywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHRcdFx0XHR1bml0U2l6ZXMubWFwKGZ1bmN0aW9uICh1bml0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogc3ByaW50ZihfXygnJXMgVW5pdHMnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdW5pdC5uYW1lKSwga2V5OiB1bml0LnVuaXRWYWx1ZSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiB1bml0LnVuaXRWYWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9fdW5pdHMtLScgKyB1bml0Lm5hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogYXR0cmlidXRlc1thdHRyVW5pdF0gPT09IHVuaXQudW5pdFZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYXJpYS1wcmVzc2VkJzogYXR0cmlidXRlc1thdHRyVW5pdF0gPT09IHVuaXQudW5pdFZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYXJpYS1sYWJlbCc6IHNwcmludGYoX18oJyVzIFVuaXRzJywgJ2dlbmVyYXRlYmxvY2tzJyksIHVuaXQubmFtZSksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMi5vbkNoYW5nZVVuaXRzKHVuaXQudW5pdFZhbHVlKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaXQudW5pdFZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCkgOiBudWxsLFxuXHRcdFx0XHRcdFx0dHlwZW9mIGRpc3BsYXlVbml0ICE9PSAndW5kZWZpbmVkJyAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAncHgtdW5pdCcgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGtleTogJ3B4LXVuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0LyogdHJhbnNsYXRvcnM6ICVzOiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIENTUyBzeW50YXgsICdQaXhlbCcsICdFbScsICdQZXJjZW50YWdlJyAqL1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQsICdhcmlhLWxhYmVsJzogX18oJ1BpeGVsIFVuaXRzJylcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5VW5pdFxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX2lucHV0cycgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnLCB7XG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX251bWJlcicsXG5cdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiB0b3BQbGFjZWhvbGRlcixcblx0XHRcdFx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkNoYW5nZVRvcFZhbHVlLFxuXHRcdFx0XHRcdFx0XHRvbkJsdXI6IGZ1bmN0aW9uIG9uQmx1cigpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoJycgPT09IGF0dHJpYnV0ZXNbYXR0clRvcF0gJiYgJycgIT09IGRlZmF1bHRzW2F0dHJUb3BdKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBJZiB3ZSBoYXZlIG5vIHZhbHVlIGFuZCBhIGRlZmF1bHQgZXhpc3RzLCBzZXQgdG8gMCB0byBwcmV2ZW50IGRlZmF1bHQgZnJvbSBjb21pbmcgYmFjay5cblx0XHRcdFx0XHRcdFx0XHRcdGlmIChfdGhpczIucHJvcHMuYXR0cmlidXRlc1tfdGhpczIucHJvcHMuYXR0clN5bmNVbml0c10pIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMyLm9uQ2hhbmdlQWxsKCcwJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczIub25DaGFuZ2VUb3AoJzAnKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRlLmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0J2FyaWEtbGFiZWwnOiBzcHJpbnRmKF9fKCclcyBUb3AnLCAnZ2VuZXJhdGVibG9ja3MnKSwgbGFiZWwpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyVG9wXSA/IGF0dHJpYnV0ZXNbYXR0clRvcF0gOiAnJyxcblx0XHRcdFx0XHRcdFx0bWluOiB0eXBlID09PSAncGFkZGluZycgPyAwIDogdW5kZWZpbmVkLFxuXHRcdFx0XHRcdFx0XHQnZGF0YS1hdHRyaWJ1dGUnOiB0eXBlXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnLCB7XG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX251bWJlcicsXG5cdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiByaWdodFBsYWNlaG9sZGVyLFxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlUmlnaHRWYWx1ZSxcblx0XHRcdFx0XHRcdFx0b25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCcnID09PSBhdHRyaWJ1dGVzW2F0dHJSaWdodF0gJiYgJycgIT09IGRlZmF1bHRzW2F0dHJSaWdodF0pIHtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbm8gdmFsdWUgYW5kIGEgZGVmYXVsdCBleGlzdHMsIHNldCB0byAwIHRvIHByZXZlbnQgZGVmYXVsdCBmcm9tIGNvbWluZyBiYWNrLlxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKF90aGlzMi5wcm9wcy5hdHRyaWJ1dGVzW190aGlzMi5wcm9wcy5hdHRyU3luY1VuaXRzXSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczIub25DaGFuZ2VBbGwoJzAnKTtcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZVJpZ2h0KCcwJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGUpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogc3ByaW50ZihfXygnJXMgUmlnaHQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgbGFiZWwpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyUmlnaHRdID8gYXR0cmlidXRlc1thdHRyUmlnaHRdIDogJycsXG5cdFx0XHRcdFx0XHRcdG1pbjogdHlwZSA9PT0gJ3BhZGRpbmcnID8gMCA6IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdFx0J2RhdGEtYXR0cmlidXRlJzogdHlwZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jywge1xuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19udW1iZXInLFxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogYm90dG9tUGxhY2Vob2xkZXIsXG5cdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogb25DaGFuZ2VCb3R0b21WYWx1ZSxcblx0XHRcdFx0XHRcdFx0b25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoKSB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKCcnID09PSBhdHRyaWJ1dGVzW2F0dHJCb3R0b21dICYmICcnICE9PSBkZWZhdWx0c1thdHRyQm90dG9tXSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gSWYgd2UgaGF2ZSBubyB2YWx1ZSBhbmQgYSBkZWZhdWx0IGV4aXN0cywgc2V0IHRvIDAgdG8gcHJldmVudCBkZWZhdWx0IGZyb20gY29taW5nIGJhY2suXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAoX3RoaXMyLnByb3BzLmF0dHJpYnV0ZXNbX3RoaXMyLnByb3BzLmF0dHJTeW5jVW5pdHNdKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZUFsbCgnMCcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0X3RoaXMyLm9uQ2hhbmdlQm90dG9tKCcwJyk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGUpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogc3ByaW50ZihfXygnJXMgQm90dG9tJywgJ2dlbmVyYXRlYmxvY2tzJyksIGxhYmVsKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXNbYXR0ckJvdHRvbV0gPyBhdHRyaWJ1dGVzW2F0dHJCb3R0b21dIDogJycsXG5cdFx0XHRcdFx0XHRcdG1pbjogdHlwZSA9PT0gJ3BhZGRpbmcnID8gMCA6IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdFx0J2RhdGEtYXR0cmlidXRlJzogdHlwZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jywge1xuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19udW1iZXInLFxuXHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogbGVmdFBsYWNlaG9sZGVyLFxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IG9uQ2hhbmdlTGVmdFZhbHVlLFxuXHRcdFx0XHRcdFx0XHRvbkJsdXI6IGZ1bmN0aW9uIG9uQmx1cigpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoJycgPT09IGF0dHJpYnV0ZXNbYXR0ckxlZnRdICYmICcnICE9PSBkZWZhdWx0c1thdHRyTGVmdF0pIHtcblx0XHRcdFx0XHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbm8gdmFsdWUgYW5kIGEgZGVmYXVsdCBleGlzdHMsIHNldCB0byAwIHRvIHByZXZlbnQgZGVmYXVsdCBmcm9tIGNvbWluZyBiYWNrLlxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKF90aGlzMi5wcm9wcy5hdHRyaWJ1dGVzW190aGlzMi5wcm9wcy5hdHRyU3luY1VuaXRzXSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRfdGhpczIub25DaGFuZ2VBbGwoJzAnKTtcblx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdF90aGlzMi5vbkNoYW5nZUxlZnQoJzAnKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRlLmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0J2FyaWEtbGFiZWwnOiBzcHJpbnRmKF9fKCclcyBMZWZ0JywgJ2dlbmVyYXRlYmxvY2tzJyksIGxhYmVsKSxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXNbYXR0ckxlZnRdID8gYXR0cmlidXRlc1thdHRyTGVmdF0gOiAnJyxcblx0XHRcdFx0XHRcdFx0bWluOiB0eXBlID09PSAncGFkZGluZycgPyAwIDogdW5kZWZpbmVkLFxuXHRcdFx0XHRcdFx0XHQnZGF0YS1hdHRyaWJ1dGUnOiB0eXBlXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0eyB0ZXh0OiAhIWF0dHJpYnV0ZXNbYXR0clN5bmNVbml0c10gPyBfXygnVW5zeW5jJywgJ2dlbmVyYXRlYmxvY2tzJykgOiBfXygnU3luYycsICdnZW5lcmF0ZWJsb2NrcycpIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9zeW5jJyxcblx0XHRcdFx0XHRcdFx0XHRcdCdhcmlhLWxhYmVsJzogX18oJ1N5bmMgVW5pdHMnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogYXR0cmlidXRlc1thdHRyU3luY1VuaXRzXSA/IGF0dHJpYnV0ZXNbYXR0clN5bmNVbml0c10gOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRcdCdhcmlhLXByZXNzZWQnOiBhdHRyaWJ1dGVzW2F0dHJTeW5jVW5pdHNdID8gYXR0cmlidXRlc1thdHRyU3luY1VuaXRzXSA6IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljayh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gX3RoaXMyLnN5bmNVbml0cyh2YWx1ZSwgJycpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWVcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdCEhYXR0cmlidXRlc1thdHRyU3luY1VuaXRzXSA/IGdldEljb24oJ3N5bmMnKSA6IGdldEljb24oJ3N5bmMnKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9faW5wdXQtbGFiZWxzJyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnc3BhbicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9fbnVtYmVyLWxhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRsYWJlbFRvcFxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J3NwYW4nLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX251bWJlci1sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0bGFiZWxSaWdodFxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J3NwYW4nLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX251bWJlci1sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0bGFiZWxCb3R0b21cblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdzcGFuJyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19udW1iZXItbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdGxhYmVsTGVmdFxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicsIHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9fbnVtYmVyLWxhYmVsJyB9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gRGltZW5zaW9uc0NvbnRyb2w7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IERpbWVuc2lvbnNDb250cm9sO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvZGltZW5zaW9ucy9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gOVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///9\n");
184
+
185
+ /***/ }),
186
+ /* 10 */
187
+ /*!******************************************!*\
188
+ !*** ./src/utils/shorthand-css/index.js ***!
189
+ \******************************************/
190
+ /*! exports provided: default */
191
+ /*! exports used: default */
192
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
193
+
194
+ "use strict";
195
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = shorthandCSS;\nfunction shorthandCSS(top, right, bottom, left, unit) {\n\tif ('' === top && '' === right && '' === bottom && '' === left) {\n\t\treturn;\n\t}\n\n\ttop = parseFloat(top) != 0 && '' !== top ? parseFloat(top) + unit + ' ' : '0 '; // eslint-disable-line eqeqeq\n\tright = parseFloat(right) != 0 && '' !== right ? parseFloat(right) + unit + ' ' : '0 '; // eslint-disable-line eqeqeq\n\tbottom = parseFloat(bottom) != 0 && '' !== bottom ? parseFloat(bottom) + unit + ' ' : '0 '; // eslint-disable-line eqeqeq\n\tleft = parseFloat(left) != 0 && '' !== left ? parseFloat(left) + unit + ' ' : '0 '; // eslint-disable-line eqeqeq\n\n\tif (right === left) {\n\t\tleft = '';\n\n\t\tif (top === bottom) {\n\t\t\tbottom = '';\n\n\t\t\tif (top === right) {\n\t\t\t\tright = '';\n\t\t\t}\n\t\t}\n\t}\n\n\tvar output = top + right + bottom + left;\n\n\treturn output.trim();\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdXRpbHMvc2hvcnRoYW5kLWNzcy9pbmRleC5qcz9iOWRiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHNob3J0aGFuZENTUyh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIHVuaXQpIHtcblx0aWYgKCcnID09PSB0b3AgJiYgJycgPT09IHJpZ2h0ICYmICcnID09PSBib3R0b20gJiYgJycgPT09IGxlZnQpIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHR0b3AgPSBwYXJzZUZsb2F0KHRvcCkgIT0gMCAmJiAnJyAhPT0gdG9wID8gcGFyc2VGbG9hdCh0b3ApICsgdW5pdCArICcgJyA6ICcwICc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXG5cdHJpZ2h0ID0gcGFyc2VGbG9hdChyaWdodCkgIT0gMCAmJiAnJyAhPT0gcmlnaHQgPyBwYXJzZUZsb2F0KHJpZ2h0KSArIHVuaXQgKyAnICcgOiAnMCAnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGVxZXFlcVxuXHRib3R0b20gPSBwYXJzZUZsb2F0KGJvdHRvbSkgIT0gMCAmJiAnJyAhPT0gYm90dG9tID8gcGFyc2VGbG9hdChib3R0b20pICsgdW5pdCArICcgJyA6ICcwICc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXG5cdGxlZnQgPSBwYXJzZUZsb2F0KGxlZnQpICE9IDAgJiYgJycgIT09IGxlZnQgPyBwYXJzZUZsb2F0KGxlZnQpICsgdW5pdCArICcgJyA6ICcwICc7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZXFlcWVxXG5cblx0aWYgKHJpZ2h0ID09PSBsZWZ0KSB7XG5cdFx0bGVmdCA9ICcnO1xuXG5cdFx0aWYgKHRvcCA9PT0gYm90dG9tKSB7XG5cdFx0XHRib3R0b20gPSAnJztcblxuXHRcdFx0aWYgKHRvcCA9PT0gcmlnaHQpIHtcblx0XHRcdFx0cmlnaHQgPSAnJztcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR2YXIgb3V0cHV0ID0gdG9wICsgcmlnaHQgKyBib3R0b20gKyBsZWZ0O1xuXG5cdHJldHVybiBvdXRwdXQudHJpbSgpO1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL3V0aWxzL3Nob3J0aGFuZC1jc3MvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDEwXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///10\n");
196
+
197
+ /***/ }),
198
+ /* 11 */
199
+ /*!********************************************!*\
200
+ !*** ./src/components/typography/index.js ***!
201
+ \********************************************/
202
+ /*! exports provided: default */
203
+ /*! exports used: default */
204
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
205
+
206
+ "use strict";
207
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 34);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__google_fonts__ = __webpack_require__(/*! ./google-fonts */ 35);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * WordPress dependencies\n */\nvar _wp$i18n = wp.i18n,\n __ = _wp$i18n.__,\n _x = _wp$i18n._x,\n sprintf = _wp$i18n.sprintf;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment;\nvar _wp$components = wp.components,\n BaseControl = _wp$components.BaseControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n TextControl = _wp$components.TextControl,\n ButtonGroup = _wp$components.ButtonGroup,\n Tooltip = _wp$components.Tooltip,\n Button = _wp$components.Button;\n\n/**\n * Typography Component\n */\n\nvar TypographyControls = function (_Component) {\n\t_inherits(TypographyControls, _Component);\n\n\tfunction TypographyControls() {\n\t\t_classCallCheck(this, TypographyControls);\n\n\t\treturn _possibleConstructorReturn(this, (TypographyControls.__proto__ || Object.getPrototypeOf(TypographyControls)).apply(this, arguments));\n\t}\n\n\t_createClass(TypographyControls, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _props = this.props,\n\t\t\t setAttributes = _props.setAttributes,\n\t\t\t attributes = _props.attributes,\n\t\t\t _props$device = _props.device,\n\t\t\t device = _props$device === undefined ? '' : _props$device,\n\t\t\t _props$showFontSize = _props.showFontSize,\n\t\t\t showFontSize = _props$showFontSize === undefined ? false : _props$showFontSize,\n\t\t\t _props$showFontFamily = _props.showFontFamily,\n\t\t\t showFontFamily = _props$showFontFamily === undefined ? false : _props$showFontFamily,\n\t\t\t _props$showFontWeight = _props.showFontWeight,\n\t\t\t showFontWeight = _props$showFontWeight === undefined ? false : _props$showFontWeight,\n\t\t\t _props$showTextTransf = _props.showTextTransform,\n\t\t\t showTextTransform = _props$showTextTransf === undefined ? false : _props$showTextTransf,\n\t\t\t _props$showLineHeight = _props.showLineHeight,\n\t\t\t showLineHeight = _props$showLineHeight === undefined ? false : _props$showLineHeight,\n\t\t\t _props$showLetterSpac = _props.showLetterSpacing,\n\t\t\t showLetterSpacing = _props$showLetterSpac === undefined ? false : _props$showLetterSpac,\n\t\t\t _props$disableAdvance = _props.disableAdvancedToggle,\n\t\t\t disableAdvancedToggle = _props$disableAdvance === undefined ? false : _props$disableAdvance,\n\t\t\t _props$fontSizePlaceh = _props.fontSizePlaceholder,\n\t\t\t fontSizePlaceholder = _props$fontSizePlaceh === undefined ? '17' : _props$fontSizePlaceh;\n\n\n\t\t\tvar fonts = [{ value: '', label: __('Select font...') }, { value: 'Arial', label: 'Arial' }, { value: 'Helvetica', label: 'Helvetica' }, { value: 'Times New Roman', label: 'Times New Roman' }, { value: 'Georgia', label: 'Georgia' }];\n\n\t\t\tObject.keys(__WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */]).slice(0, 20).map(function (k) {\n\t\t\t\tfonts.push({ value: k, label: k });\n\t\t\t});\n\n\t\t\tfonts.push({ value: 'other', label: __('Other', 'generateblocks') });\n\n\t\t\tvar weight = [{ value: '', label: __('Default', 'generateblocks') }, { value: 'normal', label: __('Normal', 'generateblocks') }, { value: 'bold', label: __('Bold', 'generateblocks') }, { value: '100', label: '100' }, { value: '200', label: '200' }, { value: '300', label: '300' }, { value: '400', label: '400' }, { value: '500', label: '500' }, { value: '600', label: '600' }, { value: '700', label: '700' }, { value: '800', label: '800' }, { value: '900', label: '900' }];\n\n\t\t\tvar transform = [{ value: '', label: __('Default', 'generateblocks') }, { value: 'uppercase', label: __('Uppercase', 'generateblocks') }, { value: 'lowercase', label: __('Lowercase', 'generateblocks') }, { value: 'capitalize', label: __('Capitalize', 'generateblocks') }, { value: 'initial', label: __('Normal', 'generateblocks') }];\n\n\t\t\tif (typeof __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily] !== 'undefined' && typeof __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily].weight !== 'undefined') {\n\t\t\t\tweight = [{ value: '', label: __('Default', 'generateblocks') }, { value: 'normal', label: __('Normal', 'generateblocks') }, { value: 'bold', label: __('Bold', 'generateblocks') }];\n\n\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily].weight.filter(function (k) {\n\t\t\t\t\tvar hasLetters = k.match(/[a-z]/g);\n\t\t\t\t\tvar hasNumbers = k.match(/[0-9]/g);\n\n\t\t\t\t\tif (hasLetters && hasNumbers || 'italic' === k) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn true;\n\t\t\t\t}).map(function (k) {\n\t\t\t\t\tweight.push({ value: k, label: k });\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tvar onFontChange = function onFontChange(value) {\n\t\t\t\tif ('other' === value) {\n\t\t\t\t\tvalue = '';\n\t\t\t\t}\n\n\t\t\t\tvar fontWeight = attributes.fontWeight; // eslint-disable-line no-unused-vars\n\n\t\t\t\tsetAttributes({ fontFamily: value });\n\n\t\t\t\tif (attributes.fontWeight && Object.values(weight).indexOf(attributes.fontWeight) < 0) {\n\t\t\t\t\tfontWeight = '';\n\t\t\t\t}\n\n\t\t\t\tif (typeof __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][value] !== 'undefined') {\n\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t'googleFont': true, // eslint-disable-line quote-props\n\t\t\t\t\t\t'fontFamilyFallback': __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][value].fallback, // eslint-disable-line quote-props\n\t\t\t\t\t\t'googleFontVariants': __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][value].weight.join(', ') // eslint-disable-line quote-props\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t'googleFont': false, // eslint-disable-line quote-props\n\t\t\t\t\t\t'fontFamilyFallback': '', // eslint-disable-line quote-props\n\t\t\t\t\t\t'googleFontVariants': '' // eslint-disable-line quote-props\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tvar onFontShortcut = function onFontShortcut(event) {\n\t\t\t\tsetAttributes({ 'fontFamily': event.target.value }); // eslint-disable-line quote-props\n\t\t\t\tonFontChange(event.target.value);\n\t\t\t};\n\n\t\t\tvar unitSizes = [{\n\t\t\t\tname: _x('Pixel', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: 'px'\n\t\t\t}, {\n\t\t\t\tname: _x('Em', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: 'em'\n\t\t\t}, {\n\t\t\t\tname: _x('Percentage', 'A size unit for CSS markup', 'generateblocks'),\n\t\t\t\tunitValue: '%'\n\t\t\t}];\n\n\t\t\tvar getValue = function getValue(value, setDevice) {\n\t\t\t\tvar valueName = value + setDevice;\n\n\t\t\t\treturn attributes[valueName];\n\t\t\t};\n\n\t\t\tvar getAttributeName = function getAttributeName(name, setDevice) {\n\t\t\t\tvar attributeName = name + setDevice;\n\n\t\t\t\treturn attributeName;\n\t\t\t};\n\n\t\t\tvar showAdvancedToggle = attributes.showAdvancedTypography;\n\n\t\t\tif (disableAdvancedToggle) {\n\t\t\t\tshowAdvancedToggle = true;\n\t\t\t}\n\n\t\t\tvar responsiveFontSizePlaceholder = fontSizePlaceholder;\n\n\t\t\tif ('Tablet' === device && attributes.fontSize) {\n\t\t\t\tresponsiveFontSizePlaceholder = attributes.fontSize;\n\t\t\t}\n\n\t\t\tif ('Mobile' === device) {\n\t\t\t\tif (attributes.fontSizeTablet) {\n\t\t\t\t\tresponsiveFontSizePlaceholder = attributes.fontSizeTablet;\n\t\t\t\t} else if (attributes.fontSize) {\n\t\t\t\t\tresponsiveFontSizePlaceholder = attributes.fontSize;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'components-gblocks-typography-weight-transform' },\n\t\t\t\t\tshowFontWeight && wp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Weight', 'generateblocks'),\n\t\t\t\t\t\tvalue: attributes.fontWeight,\n\t\t\t\t\t\toptions: weight,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t'fontWeight': value // eslint-disable-line quote-props\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: 'components-base-control'\n\t\t\t\t\t}),\n\t\t\t\t\tshowTextTransform && wp.element.createElement(SelectControl, {\n\t\t\t\t\t\tlabel: __('Transform', 'generateblocks'),\n\t\t\t\t\t\tvalue: attributes.textTransform,\n\t\t\t\t\t\toptions: transform,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t'textTransform': value // eslint-disable-line quote-props\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t},\n\t\t\t\t\t\tclassName: 'components-base-control'\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\t!disableAdvancedToggle && wp.element.createElement(ToggleControl, {\n\t\t\t\t\tlabel: __('Show Advanced Typography', 'generateblocks'),\n\t\t\t\t\tchecked: !!attributes.showAdvancedTypography,\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t'showAdvancedTypography': value // eslint-disable-line quote-props\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tshowFontFamily && showAdvancedToggle && wp.element.createElement(\n\t\t\t\t\tBaseControl,\n\t\t\t\t\t{ className: 'gblocks-font-family-shortcuts', label: __('Font Family', 'generateblocks') },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'select',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName: 'components-select-control__input components-select-control__input--gblocks-fontfamily',\n\t\t\t\t\t\t\tonChange: onFontShortcut,\n\t\t\t\t\t\t\tonBlur: onFontShortcut\n\t\t\t\t\t\t},\n\t\t\t\t\t\tfonts.map(function (option, index) {\n\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t'option',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tkey: option.label + '-' + option.value + '-' + index,\n\t\t\t\t\t\t\t\t\tvalue: option.value\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toption.label\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tshowFontFamily && showAdvancedToggle && wp.element.createElement(TextControl, {\n\t\t\t\t\tvalue: attributes.fontFamily,\n\t\t\t\t\tplaceholder: __('Enter font name...', 'generateblocks'),\n\t\t\t\t\tonChange: function onChange(nextFontFamily) {\n\t\t\t\t\t\treturn onFontChange(nextFontFamily);\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tshowFontFamily && '' !== attributes.fontFamily && showAdvancedToggle && wp.element.createElement(\n\t\t\t\t\tFragment,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Google Font', 'generateblocks'),\n\t\t\t\t\t\tchecked: !!attributes.googleFont,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t'googleFont': value // eslint-disable-line quote-props\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\tif (typeof __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily] !== 'undefined') {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t'fontFamilyFallback': __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily].fallback, // eslint-disable-line quote-props\n\t\t\t\t\t\t\t\t\t\t'googleFontVariants': __WEBPACK_IMPORTED_MODULE_1__google_fonts__[\"a\" /* default */][attributes.fontFamily].weight.join(', ') // eslint-disable-line quote-props\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\t!!attributes.googleFont && wp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Variants', 'generateblocks'),\n\t\t\t\t\t\tvalue: attributes.googleFontVariants,\n\t\t\t\t\t\tplaceholder: __('300, 400, 400i', 'generateblocks'),\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t'googleFontVariants': value // eslint-disable-line quote-props\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t),\n\t\t\t\tshowFontFamily && showAdvancedToggle && wp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: __('Font Family Fallback', 'generateblocks'),\n\t\t\t\t\tvalue: attributes.fontFamilyFallback,\n\t\t\t\t\tplaceholder: __('sans-serif', 'generateblocks'),\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t'fontFamilyFallback': value // eslint-disable-line quote-props\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\tshowFontSize && showAdvancedToggle && wp.element.createElement(\n\t\t\t\t\tFragment,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__header' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__label components-base-control__label' },\n\t\t\t\t\t\t\t__('Font Size', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__units', 'aria-label': __('Select Units', 'generateblocks') },\n\t\t\t\t\t\t\t\tunitSizes.map(function (unit) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units', 'generateblocks'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-typography-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: attributes.fontSizeUnit === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': attributes.fontSizeUnit === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units', 'generateblocks'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ fontSizeUnit: unit.unitValue });\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tvalue: getValue('fontSize', device) || '',\n\t\t\t\t\t\t\tplaceholder: responsiveFontSizePlaceholder,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tvar name = getAttributeName('fontSize', device);\n\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, parseFloat(value)));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 1,\n\t\t\t\t\t\t\tautoComplete: 'off'\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\tvar name = getAttributeName('fontSize', device);\n\n\t\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, _this2.props.defaultFontSize));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tshowLineHeight && showAdvancedToggle && wp.element.createElement(\n\t\t\t\t\tFragment,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__header' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__label components-base-control__label' },\n\t\t\t\t\t\t\t__('Line Height', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__units', 'aria-label': __('Select Units', 'generateblocks') },\n\t\t\t\t\t\t\t\tunitSizes.map(function (unit) {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units', 'generateblocks'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-typography-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: attributes.lineHeightUnit === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': attributes.lineHeightUnit === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units', 'generateblocks'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ lineHeightUnit: unit.unitValue });\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tvalue: getValue('lineHeight', device) || 0 === getValue('lineHeight', device) ? getValue('lineHeight', device) : '',\n\t\t\t\t\t\t\tplaceholder: '1.5',\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tvar name = getAttributeName('lineHeight', device);\n\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, value));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tvar name = getAttributeName('lineHeight', device);\n\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, parseFloat(getValue('lineHeight', device))));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\tstep: .1,\n\t\t\t\t\t\t\tautoComplete: 'off'\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\tvar name = getAttributeName('lineHeight', device);\n\n\t\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, _this2.props.defaultLineHeight));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\tshowLetterSpacing && showAdvancedToggle && wp.element.createElement(\n\t\t\t\t\tFragment,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__header' },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t__('Letter Spacing', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t{ text: __('Em Units'), key: 'letter-spacing-unit' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tkey: 'letter-spacing-unit',\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Em Units')\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t'em'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tvalue: getValue('letterSpacing', device) || '',\n\t\t\t\t\t\t\tplaceholder: '0.01',\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tvar name = getAttributeName('letterSpacing', device);\n\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, value));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tvar name = getAttributeName('letterSpacing', device);\n\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, parseFloat(getValue('letterSpacing', device))));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: -1,\n\t\t\t\t\t\t\tstep: .01,\n\t\t\t\t\t\t\tautoComplete: 'off'\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\tvar name = getAttributeName('letterSpacing', device);\n\n\t\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, name, _this2.props.defaultLetterSpacing));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn TypographyControls;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TypographyControls);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2luZGV4LmpzP2Y1YmUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgJy4vZWRpdG9yLnNjc3MnO1xuaW1wb3J0IGdvb2dsZUZvbnRzIGZyb20gJy4vZ29vZ2xlLWZvbnRzJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgZGVwZW5kZW5jaWVzXG4gKi9cbnZhciBfd3AkaTE4biA9IHdwLmkxOG4sXG4gICAgX18gPSBfd3AkaTE4bi5fXyxcbiAgICBfeCA9IF93cCRpMThuLl94LFxuICAgIHNwcmludGYgPSBfd3AkaTE4bi5zcHJpbnRmO1xudmFyIF93cCRlbGVtZW50ID0gd3AuZWxlbWVudCxcbiAgICBDb21wb25lbnQgPSBfd3AkZWxlbWVudC5Db21wb25lbnQsXG4gICAgRnJhZ21lbnQgPSBfd3AkZWxlbWVudC5GcmFnbWVudDtcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQmFzZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5CYXNlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbCxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sLFxuICAgIEJ1dHRvbkdyb3VwID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uR3JvdXAsXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXAsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uO1xuXG4vKipcbiAqIFR5cG9ncmFwaHkgQ29tcG9uZW50XG4gKi9cblxudmFyIFR5cG9ncmFwaHlDb250cm9scyA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhUeXBvZ3JhcGh5Q29udHJvbHMsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIFR5cG9ncmFwaHlDb250cm9scygpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgVHlwb2dyYXBoeUNvbnRyb2xzKTtcblxuXHRcdHJldHVybiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybih0aGlzLCAoVHlwb2dyYXBoeUNvbnRyb2xzLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoVHlwb2dyYXBoeUNvbnRyb2xzKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoVHlwb2dyYXBoeUNvbnRyb2xzLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBzZXRBdHRyaWJ1dGVzID0gX3Byb3BzLnNldEF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYXR0cmlidXRlcyA9IF9wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIF9wcm9wcyRkZXZpY2UgPSBfcHJvcHMuZGV2aWNlLFxuXHRcdFx0ICAgIGRldmljZSA9IF9wcm9wcyRkZXZpY2UgPT09IHVuZGVmaW5lZCA/ICcnIDogX3Byb3BzJGRldmljZSxcblx0XHRcdCAgICBfcHJvcHMkc2hvd0ZvbnRTaXplID0gX3Byb3BzLnNob3dGb250U2l6ZSxcblx0XHRcdCAgICBzaG93Rm9udFNpemUgPSBfcHJvcHMkc2hvd0ZvbnRTaXplID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRzaG93Rm9udFNpemUsXG5cdFx0XHQgICAgX3Byb3BzJHNob3dGb250RmFtaWx5ID0gX3Byb3BzLnNob3dGb250RmFtaWx5LFxuXHRcdFx0ICAgIHNob3dGb250RmFtaWx5ID0gX3Byb3BzJHNob3dGb250RmFtaWx5ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRzaG93Rm9udEZhbWlseSxcblx0XHRcdCAgICBfcHJvcHMkc2hvd0ZvbnRXZWlnaHQgPSBfcHJvcHMuc2hvd0ZvbnRXZWlnaHQsXG5cdFx0XHQgICAgc2hvd0ZvbnRXZWlnaHQgPSBfcHJvcHMkc2hvd0ZvbnRXZWlnaHQgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3Byb3BzJHNob3dGb250V2VpZ2h0LFxuXHRcdFx0ICAgIF9wcm9wcyRzaG93VGV4dFRyYW5zZiA9IF9wcm9wcy5zaG93VGV4dFRyYW5zZm9ybSxcblx0XHRcdCAgICBzaG93VGV4dFRyYW5zZm9ybSA9IF9wcm9wcyRzaG93VGV4dFRyYW5zZiA9PT0gdW5kZWZpbmVkID8gZmFsc2UgOiBfcHJvcHMkc2hvd1RleHRUcmFuc2YsXG5cdFx0XHQgICAgX3Byb3BzJHNob3dMaW5lSGVpZ2h0ID0gX3Byb3BzLnNob3dMaW5lSGVpZ2h0LFxuXHRcdFx0ICAgIHNob3dMaW5lSGVpZ2h0ID0gX3Byb3BzJHNob3dMaW5lSGVpZ2h0ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRzaG93TGluZUhlaWdodCxcblx0XHRcdCAgICBfcHJvcHMkc2hvd0xldHRlclNwYWMgPSBfcHJvcHMuc2hvd0xldHRlclNwYWNpbmcsXG5cdFx0XHQgICAgc2hvd0xldHRlclNwYWNpbmcgPSBfcHJvcHMkc2hvd0xldHRlclNwYWMgPT09IHVuZGVmaW5lZCA/IGZhbHNlIDogX3Byb3BzJHNob3dMZXR0ZXJTcGFjLFxuXHRcdFx0ICAgIF9wcm9wcyRkaXNhYmxlQWR2YW5jZSA9IF9wcm9wcy5kaXNhYmxlQWR2YW5jZWRUb2dnbGUsXG5cdFx0XHQgICAgZGlzYWJsZUFkdmFuY2VkVG9nZ2xlID0gX3Byb3BzJGRpc2FibGVBZHZhbmNlID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IF9wcm9wcyRkaXNhYmxlQWR2YW5jZSxcblx0XHRcdCAgICBfcHJvcHMkZm9udFNpemVQbGFjZWggPSBfcHJvcHMuZm9udFNpemVQbGFjZWhvbGRlcixcblx0XHRcdCAgICBmb250U2l6ZVBsYWNlaG9sZGVyID0gX3Byb3BzJGZvbnRTaXplUGxhY2VoID09PSB1bmRlZmluZWQgPyAnMTcnIDogX3Byb3BzJGZvbnRTaXplUGxhY2VoO1xuXG5cblx0XHRcdHZhciBmb250cyA9IFt7IHZhbHVlOiAnJywgbGFiZWw6IF9fKCdTZWxlY3QgZm9udC4uLicpIH0sIHsgdmFsdWU6ICdBcmlhbCcsIGxhYmVsOiAnQXJpYWwnIH0sIHsgdmFsdWU6ICdIZWx2ZXRpY2EnLCBsYWJlbDogJ0hlbHZldGljYScgfSwgeyB2YWx1ZTogJ1RpbWVzIE5ldyBSb21hbicsIGxhYmVsOiAnVGltZXMgTmV3IFJvbWFuJyB9LCB7IHZhbHVlOiAnR2VvcmdpYScsIGxhYmVsOiAnR2VvcmdpYScgfV07XG5cblx0XHRcdE9iamVjdC5rZXlzKGdvb2dsZUZvbnRzKS5zbGljZSgwLCAyMCkubWFwKGZ1bmN0aW9uIChrKSB7XG5cdFx0XHRcdGZvbnRzLnB1c2goeyB2YWx1ZTogaywgbGFiZWw6IGsgfSk7XG5cdFx0XHR9KTtcblxuXHRcdFx0Zm9udHMucHVzaCh7IHZhbHVlOiAnb3RoZXInLCBsYWJlbDogX18oJ090aGVyJywgJ2dlbmVyYXRlYmxvY2tzJykgfSk7XG5cblx0XHRcdHZhciB3ZWlnaHQgPSBbeyB2YWx1ZTogJycsIGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpIH0sIHsgdmFsdWU6ICdub3JtYWwnLCBsYWJlbDogX18oJ05vcm1hbCcsICdnZW5lcmF0ZWJsb2NrcycpIH0sIHsgdmFsdWU6ICdib2xkJywgbGFiZWw6IF9fKCdCb2xkJywgJ2dlbmVyYXRlYmxvY2tzJykgfSwgeyB2YWx1ZTogJzEwMCcsIGxhYmVsOiAnMTAwJyB9LCB7IHZhbHVlOiAnMjAwJywgbGFiZWw6ICcyMDAnIH0sIHsgdmFsdWU6ICczMDAnLCBsYWJlbDogJzMwMCcgfSwgeyB2YWx1ZTogJzQwMCcsIGxhYmVsOiAnNDAwJyB9LCB7IHZhbHVlOiAnNTAwJywgbGFiZWw6ICc1MDAnIH0sIHsgdmFsdWU6ICc2MDAnLCBsYWJlbDogJzYwMCcgfSwgeyB2YWx1ZTogJzcwMCcsIGxhYmVsOiAnNzAwJyB9LCB7IHZhbHVlOiAnODAwJywgbGFiZWw6ICc4MDAnIH0sIHsgdmFsdWU6ICc5MDAnLCBsYWJlbDogJzkwMCcgfV07XG5cblx0XHRcdHZhciB0cmFuc2Zvcm0gPSBbeyB2YWx1ZTogJycsIGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpIH0sIHsgdmFsdWU6ICd1cHBlcmNhc2UnLCBsYWJlbDogX18oJ1VwcGVyY2FzZScsICdnZW5lcmF0ZWJsb2NrcycpIH0sIHsgdmFsdWU6ICdsb3dlcmNhc2UnLCBsYWJlbDogX18oJ0xvd2VyY2FzZScsICdnZW5lcmF0ZWJsb2NrcycpIH0sIHsgdmFsdWU6ICdjYXBpdGFsaXplJywgbGFiZWw6IF9fKCdDYXBpdGFsaXplJywgJ2dlbmVyYXRlYmxvY2tzJykgfSwgeyB2YWx1ZTogJ2luaXRpYWwnLCBsYWJlbDogX18oJ05vcm1hbCcsICdnZW5lcmF0ZWJsb2NrcycpIH1dO1xuXG5cdFx0XHRpZiAodHlwZW9mIGdvb2dsZUZvbnRzW2F0dHJpYnV0ZXMuZm9udEZhbWlseV0gIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBnb29nbGVGb250c1thdHRyaWJ1dGVzLmZvbnRGYW1pbHldLndlaWdodCAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdFx0d2VpZ2h0ID0gW3sgdmFsdWU6ICcnLCBsYWJlbDogX18oJ0RlZmF1bHQnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LCB7IHZhbHVlOiAnbm9ybWFsJywgbGFiZWw6IF9fKCdOb3JtYWwnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LCB7IHZhbHVlOiAnYm9sZCcsIGxhYmVsOiBfXygnQm9sZCcsICdnZW5lcmF0ZWJsb2NrcycpIH1dO1xuXG5cdFx0XHRcdGdvb2dsZUZvbnRzW2F0dHJpYnV0ZXMuZm9udEZhbWlseV0ud2VpZ2h0LmZpbHRlcihmdW5jdGlvbiAoaykge1xuXHRcdFx0XHRcdHZhciBoYXNMZXR0ZXJzID0gay5tYXRjaCgvW2Etel0vZyk7XG5cdFx0XHRcdFx0dmFyIGhhc051bWJlcnMgPSBrLm1hdGNoKC9bMC05XS9nKTtcblxuXHRcdFx0XHRcdGlmIChoYXNMZXR0ZXJzICYmIGhhc051bWJlcnMgfHwgJ2l0YWxpYycgPT09IGspIHtcblx0XHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSkubWFwKGZ1bmN0aW9uIChrKSB7XG5cdFx0XHRcdFx0d2VpZ2h0LnB1c2goeyB2YWx1ZTogaywgbGFiZWw6IGsgfSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgb25Gb250Q2hhbmdlID0gZnVuY3Rpb24gb25Gb250Q2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdGlmICgnb3RoZXInID09PSB2YWx1ZSkge1xuXHRcdFx0XHRcdHZhbHVlID0gJyc7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR2YXIgZm9udFdlaWdodCA9IGF0dHJpYnV0ZXMuZm9udFdlaWdodDsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bnVzZWQtdmFyc1xuXG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBmb250RmFtaWx5OiB2YWx1ZSB9KTtcblxuXHRcdFx0XHRpZiAoYXR0cmlidXRlcy5mb250V2VpZ2h0ICYmIE9iamVjdC52YWx1ZXMod2VpZ2h0KS5pbmRleE9mKGF0dHJpYnV0ZXMuZm9udFdlaWdodCkgPCAwKSB7XG5cdFx0XHRcdFx0Zm9udFdlaWdodCA9ICcnO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHR5cGVvZiBnb29nbGVGb250c1t2YWx1ZV0gIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHQnZ29vZ2xlRm9udCc6IHRydWUsIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdCdmb250RmFtaWx5RmFsbGJhY2snOiBnb29nbGVGb250c1t2YWx1ZV0uZmFsbGJhY2ssIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdCdnb29nbGVGb250VmFyaWFudHMnOiBnb29nbGVGb250c1t2YWx1ZV0ud2VpZ2h0LmpvaW4oJywgJykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0J2dvb2dsZUZvbnQnOiBmYWxzZSwgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdFx0J2ZvbnRGYW1pbHlGYWxsYmFjayc6ICcnLCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHF1b3RlLXByb3BzXG5cdFx0XHRcdFx0XHQnZ29vZ2xlRm9udFZhcmlhbnRzJzogJycgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXG5cdFx0XHR2YXIgb25Gb250U2hvcnRjdXQgPSBmdW5jdGlvbiBvbkZvbnRTaG9ydGN1dChldmVudCkge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHsgJ2ZvbnRGYW1pbHknOiBldmVudC50YXJnZXQudmFsdWUgfSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0b25Gb250Q2hhbmdlKGV2ZW50LnRhcmdldC52YWx1ZSk7XG5cdFx0XHR9O1xuXG5cdFx0XHR2YXIgdW5pdFNpemVzID0gW3tcblx0XHRcdFx0bmFtZTogX3goJ1BpeGVsJywgJ0Egc2l6ZSB1bml0IGZvciBDU1MgbWFya3VwJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdHVuaXRWYWx1ZTogJ3B4J1xuXHRcdFx0fSwge1xuXHRcdFx0XHRuYW1lOiBfeCgnRW0nLCAnQSBzaXplIHVuaXQgZm9yIENTUyBtYXJrdXAnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0dW5pdFZhbHVlOiAnZW0nXG5cdFx0XHR9LCB7XG5cdFx0XHRcdG5hbWU6IF94KCdQZXJjZW50YWdlJywgJ0Egc2l6ZSB1bml0IGZvciBDU1MgbWFya3VwJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdHVuaXRWYWx1ZTogJyUnXG5cdFx0XHR9XTtcblxuXHRcdFx0dmFyIGdldFZhbHVlID0gZnVuY3Rpb24gZ2V0VmFsdWUodmFsdWUsIHNldERldmljZSkge1xuXHRcdFx0XHR2YXIgdmFsdWVOYW1lID0gdmFsdWUgKyBzZXREZXZpY2U7XG5cblx0XHRcdFx0cmV0dXJuIGF0dHJpYnV0ZXNbdmFsdWVOYW1lXTtcblx0XHRcdH07XG5cblx0XHRcdHZhciBnZXRBdHRyaWJ1dGVOYW1lID0gZnVuY3Rpb24gZ2V0QXR0cmlidXRlTmFtZShuYW1lLCBzZXREZXZpY2UpIHtcblx0XHRcdFx0dmFyIGF0dHJpYnV0ZU5hbWUgPSBuYW1lICsgc2V0RGV2aWNlO1xuXG5cdFx0XHRcdHJldHVybiBhdHRyaWJ1dGVOYW1lO1xuXHRcdFx0fTtcblxuXHRcdFx0dmFyIHNob3dBZHZhbmNlZFRvZ2dsZSA9IGF0dHJpYnV0ZXMuc2hvd0FkdmFuY2VkVHlwb2dyYXBoeTtcblxuXHRcdFx0aWYgKGRpc2FibGVBZHZhbmNlZFRvZ2dsZSkge1xuXHRcdFx0XHRzaG93QWR2YW5jZWRUb2dnbGUgPSB0cnVlO1xuXHRcdFx0fVxuXG5cdFx0XHR2YXIgcmVzcG9uc2l2ZUZvbnRTaXplUGxhY2Vob2xkZXIgPSBmb250U2l6ZVBsYWNlaG9sZGVyO1xuXG5cdFx0XHRpZiAoJ1RhYmxldCcgPT09IGRldmljZSAmJiBhdHRyaWJ1dGVzLmZvbnRTaXplKSB7XG5cdFx0XHRcdHJlc3BvbnNpdmVGb250U2l6ZVBsYWNlaG9sZGVyID0gYXR0cmlidXRlcy5mb250U2l6ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCdNb2JpbGUnID09PSBkZXZpY2UpIHtcblx0XHRcdFx0aWYgKGF0dHJpYnV0ZXMuZm9udFNpemVUYWJsZXQpIHtcblx0XHRcdFx0XHRyZXNwb25zaXZlRm9udFNpemVQbGFjZWhvbGRlciA9IGF0dHJpYnV0ZXMuZm9udFNpemVUYWJsZXQ7XG5cdFx0XHRcdH0gZWxzZSBpZiAoYXR0cmlidXRlcy5mb250U2l6ZSkge1xuXHRcdFx0XHRcdHJlc3BvbnNpdmVGb250U2l6ZVBsYWNlaG9sZGVyID0gYXR0cmlidXRlcy5mb250U2l6ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktd2VpZ2h0LXRyYW5zZm9ybScgfSxcblx0XHRcdFx0XHRzaG93Rm9udFdlaWdodCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdXZWlnaHQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzLmZvbnRXZWlnaHQsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiB3ZWlnaHQsXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0J2ZvbnRXZWlnaHQnOiB2YWx1ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHF1b3RlLXByb3BzXG5cdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtYmFzZS1jb250cm9sJ1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdHNob3dUZXh0VHJhbnNmb3JtICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1RyYW5zZm9ybScsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMudGV4dFRyYW5zZm9ybSxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IHRyYW5zZm9ybSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHQndGV4dFRyYW5zZm9ybSc6IHZhbHVlIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1iYXNlLWNvbnRyb2wnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KSxcblx0XHRcdFx0IWRpc2FibGVBZHZhbmNlZFRvZ2dsZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnU2hvdyBBZHZhbmNlZCBUeXBvZ3JhcGh5JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0Y2hlY2tlZDogISFhdHRyaWJ1dGVzLnNob3dBZHZhbmNlZFR5cG9ncmFwaHksXG5cdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0J3Nob3dBZHZhbmNlZFR5cG9ncmFwaHknOiB2YWx1ZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHF1b3RlLXByb3BzXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHRzaG93Rm9udEZhbWlseSAmJiBzaG93QWR2YW5jZWRUb2dnbGUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEJhc2VDb250cm9sLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZ2Jsb2Nrcy1mb250LWZhbWlseS1zaG9ydGN1dHMnLCBsYWJlbDogX18oJ0ZvbnQgRmFtaWx5JywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnc2VsZWN0Jyxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1zZWxlY3QtY29udHJvbF9faW5wdXQgY29tcG9uZW50cy1zZWxlY3QtY29udHJvbF9faW5wdXQtLWdibG9ja3MtZm9udGZhbWlseScsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBvbkZvbnRTaG9ydGN1dCxcblx0XHRcdFx0XHRcdFx0b25CbHVyOiBvbkZvbnRTaG9ydGN1dFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGZvbnRzLm1hcChmdW5jdGlvbiAob3B0aW9uLCBpbmRleCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdvcHRpb24nLFxuXHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdGtleTogb3B0aW9uLmxhYmVsICsgJy0nICsgb3B0aW9uLnZhbHVlICsgJy0nICsgaW5kZXgsXG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogb3B0aW9uLnZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb24ubGFiZWxcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRzaG93Rm9udEZhbWlseSAmJiBzaG93QWR2YW5jZWRUb2dnbGUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXMuZm9udEZhbWlseSxcblx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJ0VudGVyIGZvbnQgbmFtZS4uLicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShuZXh0Rm9udEZhbWlseSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIG9uRm9udENoYW5nZShuZXh0Rm9udEZhbWlseSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0c2hvd0ZvbnRGYW1pbHkgJiYgJycgIT09IGF0dHJpYnV0ZXMuZm9udEZhbWlseSAmJiBzaG93QWR2YW5jZWRUb2dnbGUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnR29vZ2xlIEZvbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdGNoZWNrZWQ6ICEhYXR0cmlidXRlcy5nb29nbGVGb250LFxuXHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdCdnb29nbGVGb250JzogdmFsdWUgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIGdvb2dsZUZvbnRzW2F0dHJpYnV0ZXMuZm9udEZhbWlseV0gIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2ZvbnRGYW1pbHlGYWxsYmFjayc6IGdvb2dsZUZvbnRzW2F0dHJpYnV0ZXMuZm9udEZhbWlseV0uZmFsbGJhY2ssIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdFx0XHRcdFx0J2dvb2dsZUZvbnRWYXJpYW50cyc6IGdvb2dsZUZvbnRzW2F0dHJpYnV0ZXMuZm9udEZhbWlseV0ud2VpZ2h0LmpvaW4oJywgJykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0ISFhdHRyaWJ1dGVzLmdvb2dsZUZvbnQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ1ZhcmlhbnRzJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlcy5nb29nbGVGb250VmFyaWFudHMsXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogX18oJzMwMCwgNDAwLCA0MDBpJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0J2dvb2dsZUZvbnRWYXJpYW50cyc6IHZhbHVlIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0KSxcblx0XHRcdFx0c2hvd0ZvbnRGYW1pbHkgJiYgc2hvd0FkdmFuY2VkVG9nZ2xlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnRm9udCBGYW1pbHkgRmFsbGJhY2snLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlcy5mb250RmFtaWx5RmFsbGJhY2ssXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdzYW5zLXNlcmlmJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0J2ZvbnRGYW1pbHlGYWxsYmFjayc6IHZhbHVlIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcXVvdGUtcHJvcHNcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSksXG5cdFx0XHRcdHNob3dGb250U2l6ZSAmJiBzaG93QWR2YW5jZWRUb2dnbGUgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX2hlYWRlcicgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9fbGFiZWwgY29tcG9uZW50cy1iYXNlLWNvbnRyb2xfX2xhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRfXygnRm9udCBTaXplJywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbkdyb3VwLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9fdW5pdHMnLCAnYXJpYS1sYWJlbCc6IF9fKCdTZWxlY3QgVW5pdHMnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdHVuaXRTaXplcy5tYXAoZnVuY3Rpb24gKHVuaXQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBzcHJpbnRmKF9fKCclcyBVbml0cycsICdnZW5lcmF0ZWJsb2NrcycpLCB1bml0Lm5hbWUpLCBrZXk6IHVuaXQudW5pdFZhbHVlIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6IHVuaXQudW5pdFZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtdHlwb2dyYXBoeS1jb250cm9sX191bml0cy0tJyArIHVuaXQubmFtZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiBhdHRyaWJ1dGVzLmZvbnRTaXplVW5pdCA9PT0gdW5pdC51bml0VmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdhcmlhLXByZXNzZWQnOiBhdHRyaWJ1dGVzLmZvbnRTaXplVW5pdCA9PT0gdW5pdC51bml0VmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LyogdHJhbnNsYXRvcnM6ICVzOiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIENTUyBzeW50YXgsICdQaXhlbCcsICdFbScsICdQZXJjZW50YWdlJyAqL1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdhcmlhLWxhYmVsJzogc3ByaW50ZihfXygnJXMgVW5pdHMnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdW5pdC5uYW1lKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IGZvbnRTaXplVW5pdDogdW5pdC51bml0VmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1bml0LnVuaXRWYWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9faW5wdXRzJyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogZ2V0VmFsdWUoJ2ZvbnRTaXplJywgZGV2aWNlKSB8fCAnJyxcblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IHJlc3BvbnNpdmVGb250U2l6ZVBsYWNlaG9sZGVyLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbmFtZSA9IGdldEF0dHJpYnV0ZU5hbWUoJ2ZvbnRTaXplJywgZGV2aWNlKTtcblxuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoX2RlZmluZVByb3BlcnR5KHt9LCBuYW1lLCBwYXJzZUZsb2F0KHZhbHVlKSkpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRtaW46IDEsXG5cdFx0XHRcdFx0XHRcdGF1dG9Db21wbGV0ZTogJ29mZidcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGlzU2Vjb25kYXJ5OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kZWZhdWx0LW51bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBuYW1lID0gZ2V0QXR0cmlidXRlTmFtZSgnZm9udFNpemUnLCBkZXZpY2UpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgbmFtZSwgX3RoaXMyLnByb3BzLmRlZmF1bHRGb250U2l6ZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ1Jlc2V0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHNob3dMaW5lSGVpZ2h0ICYmIHNob3dBZHZhbmNlZFRvZ2dsZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtdHlwb2dyYXBoeS1jb250cm9sX19sYWJlbCBjb21wb25lbnRzLWJhc2UtY29udHJvbF9fbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdF9fKCdMaW5lIEhlaWdodCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b25Hcm91cCxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX3VuaXRzJywgJ2FyaWEtbGFiZWwnOiBfXygnU2VsZWN0IFVuaXRzJywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHRcdFx0XHR1bml0U2l6ZXMubWFwKGZ1bmN0aW9uICh1bml0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogc3ByaW50ZihfXygnJXMgVW5pdHMnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdW5pdC5uYW1lKSwga2V5OiB1bml0LnVuaXRWYWx1ZSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiB1bml0LnVuaXRWYWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9fdW5pdHMtLScgKyB1bml0Lm5hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogYXR0cmlidXRlcy5saW5lSGVpZ2h0VW5pdCA9PT0gdW5pdC51bml0VmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdhcmlhLXByZXNzZWQnOiBhdHRyaWJ1dGVzLmxpbmVIZWlnaHRVbml0ID09PSB1bml0LnVuaXRWYWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBzcHJpbnRmKF9fKCclcyBVbml0cycsICdnZW5lcmF0ZWJsb2NrcycpLCB1bml0Lm5hbWUpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgbGluZUhlaWdodFVuaXQ6IHVuaXQudW5pdFZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pdC51bml0VmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX2lucHV0cycgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGdldFZhbHVlKCdsaW5lSGVpZ2h0JywgZGV2aWNlKSB8fCAwID09PSBnZXRWYWx1ZSgnbGluZUhlaWdodCcsIGRldmljZSkgPyBnZXRWYWx1ZSgnbGluZUhlaWdodCcsIGRldmljZSkgOiAnJyxcblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6ICcxLjUnLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbmFtZSA9IGdldEF0dHJpYnV0ZU5hbWUoJ2xpbmVIZWlnaHQnLCBkZXZpY2UpO1xuXG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIG5hbWUsIHZhbHVlKSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdHZhciBuYW1lID0gZ2V0QXR0cmlidXRlTmFtZSgnbGluZUhlaWdodCcsIGRldmljZSk7XG5cblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgbmFtZSwgcGFyc2VGbG9hdChnZXRWYWx1ZSgnbGluZUhlaWdodCcsIGRldmljZSkpKSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRlLmN1cnJlbnRUYXJnZXQuZm9jdXMoKTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0bWluOiAwLFxuXHRcdFx0XHRcdFx0XHRzdGVwOiAuMSxcblx0XHRcdFx0XHRcdFx0YXV0b0NvbXBsZXRlOiAnb2ZmJ1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRlZmF1bHQtbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG5hbWUgPSBnZXRBdHRyaWJ1dGVOYW1lKCdsaW5lSGVpZ2h0JywgZGV2aWNlKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIG5hbWUsIF90aGlzMi5wcm9wcy5kZWZhdWx0TGluZUhlaWdodCkpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ1Jlc2V0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHNob3dMZXR0ZXJTcGFjaW5nICYmIHNob3dBZHZhbmNlZFRvZ2dsZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdF9fKCdMZXR0ZXIgU3BhY2luZycsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogX18oJ0VtIFVuaXRzJyksIGtleTogJ2xldHRlci1zcGFjaW5nLXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6ICdsZXR0ZXItc3BhY2luZy11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYXJpYS1sYWJlbCc6IF9fKCdFbSBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0J2VtJ1xuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX2lucHV0cycgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGdldFZhbHVlKCdsZXR0ZXJTcGFjaW5nJywgZGV2aWNlKSB8fCAnJyxcblx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6ICcwLjAxJyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0dmFyIG5hbWUgPSBnZXRBdHRyaWJ1dGVOYW1lKCdsZXR0ZXJTcGFjaW5nJywgZGV2aWNlKTtcblxuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoX2RlZmluZVByb3BlcnR5KHt9LCBuYW1lLCB2YWx1ZSkpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRvbkJsdXI6IGZ1bmN0aW9uIG9uQmx1cigpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbmFtZSA9IGdldEF0dHJpYnV0ZU5hbWUoJ2xldHRlclNwYWNpbmcnLCBkZXZpY2UpO1xuXG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIG5hbWUsIHBhcnNlRmxvYXQoZ2V0VmFsdWUoJ2xldHRlclNwYWNpbmcnLCBkZXZpY2UpKSkpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGUpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG1pbjogLTEsXG5cdFx0XHRcdFx0XHRcdHN0ZXA6IC4wMSxcblx0XHRcdFx0XHRcdFx0YXV0b0NvbXBsZXRlOiAnb2ZmJ1xuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRlZmF1bHQtbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIG5hbWUgPSBnZXRBdHRyaWJ1dGVOYW1lKCdsZXR0ZXJTcGFjaW5nJywgZGV2aWNlKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIG5hbWUsIF90aGlzMi5wcm9wcy5kZWZhdWx0TGV0dGVyU3BhY2luZykpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0X18oJ1Jlc2V0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIFR5cG9ncmFwaHlDb250cm9scztcbn0oQ29tcG9uZW50KTtcblxuZXhwb3J0IGRlZmF1bHQgVHlwb2dyYXBoeUNvbnRyb2xzO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvdHlwb2dyYXBoeS9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTFcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///11\n");
208
+
209
+ /***/ }),
210
+ /* 12 */
211
+ /*!*********************************************!*\
212
+ !*** ./src/blocks/container/section-tag.js ***!
213
+ \*********************************************/
214
+ /*! exports provided: default */
215
+ /*! exports used: default */
216
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
217
+
218
+ "use strict";
219
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = Section;\nvar createElement = wp.element.createElement;\n\n\nfunction Section(_ref) {\n\tvar tagName = _ref.tagName,\n\t id = _ref.id,\n\t className = _ref.className,\n\t style = _ref.style,\n\t children = _ref.children;\n\n\tif (!id) {\n\t\tid = null;\n\t}\n\n\treturn createElement(tagName, {\n\t\tid: id,\n\t\tclassName: className,\n\t\tstyle: style\n\t}, children);\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9zZWN0aW9uLXRhZy5qcz9jOTFlIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBjcmVhdGVFbGVtZW50ID0gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50O1xuXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNlY3Rpb24oX3JlZikge1xuXHR2YXIgdGFnTmFtZSA9IF9yZWYudGFnTmFtZSxcblx0ICAgIGlkID0gX3JlZi5pZCxcblx0ICAgIGNsYXNzTmFtZSA9IF9yZWYuY2xhc3NOYW1lLFxuXHQgICAgc3R5bGUgPSBfcmVmLnN0eWxlLFxuXHQgICAgY2hpbGRyZW4gPSBfcmVmLmNoaWxkcmVuO1xuXG5cdGlmICghaWQpIHtcblx0XHRpZCA9IG51bGw7XG5cdH1cblxuXHRyZXR1cm4gY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB7XG5cdFx0aWQ6IGlkLFxuXHRcdGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuXHRcdHN0eWxlOiBzdHlsZVxuXHR9LCBjaGlsZHJlbik7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9zZWN0aW9uLXRhZy5qc1xuLy8gbW9kdWxlIGlkID0gMTJcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///12\n");
220
+
221
+ /***/ }),
222
+ /* 13 */
223
+ /*!******************************************!*\
224
+ !*** ./src/components/gradient/index.js ***!
225
+ \******************************************/
226
+ /*! exports provided: default */
227
+ /*! exports used: default */
228
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
229
+
230
+ "use strict";
231
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__color_picker__ = __webpack_require__(/*! ../color-picker */ 7);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Internal dependencies\n */\n\n\n\n/**\n * WordPress dependencies\n */\nvar __ = wp.i18n.__;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment;\nvar _wp$components = wp.components,\n BaseControl = _wp$components.BaseControl,\n ToggleControl = _wp$components.ToggleControl,\n TextControl = _wp$components.TextControl,\n RangeControl = _wp$components.RangeControl;\n\n/**\n * Typography Component\n */\n\nvar GradientControl = function (_Component) {\n\t_inherits(GradientControl, _Component);\n\n\tfunction GradientControl() {\n\t\t_classCallCheck(this, GradientControl);\n\n\t\treturn _possibleConstructorReturn(this, (GradientControl.__proto__ || Object.getPrototypeOf(GradientControl)).apply(this, arguments));\n\t}\n\n\t_createClass(GradientControl, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t setAttributes = _props.setAttributes,\n\t\t\t attrGradient = _props.attrGradient,\n\t\t\t attrGradientDirection = _props.attrGradientDirection,\n\t\t\t attrGradientColorOne = _props.attrGradientColorOne,\n\t\t\t attrGradientColorOneOpacity = _props.attrGradientColorOneOpacity,\n\t\t\t attrGradientColorStopOne = _props.attrGradientColorStopOne,\n\t\t\t attrGradientColorTwo = _props.attrGradientColorTwo,\n\t\t\t attrGradientColorTwoOpacity = _props.attrGradientColorTwoOpacity,\n\t\t\t attrGradientColorStopTwo = _props.attrGradientColorStopTwo,\n\t\t\t defaultColorOne = _props.defaultColorOne,\n\t\t\t defaultColorTwo = _props.defaultColorTwo;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\tlabel: __('Use Gradient', 'generateblocks'),\n\t\t\t\t\tchecked: !!attributes[attrGradient],\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tsetAttributes(_defineProperty({}, _this2.props['attrGradient'], value));\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\t!!attributes[attrGradient] && wp.element.createElement(\n\t\t\t\t\tFragment,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __('Direction', 'generateblocks')\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\tvalue: attributes[attrGradientDirection] ? attributes[attrGradientDirection] : 1,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, attrGradientDirection, value));\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\tmax: 360,\n\t\t\t\t\t\t\tstep: 1,\n\t\t\t\t\t\t\tinitialPosition: 90\n\t\t\t\t\t\t})\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t{ label: __('Color One', 'generateblocks') },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'gblocks-component-gradient-control' },\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tvalue: attributes[attrGradientColorOne],\n\t\t\t\t\t\t\t\talpha: true,\n\t\t\t\t\t\t\t\tvalueOpacity: attributes[attrGradientColorOneOpacity],\n\t\t\t\t\t\t\t\tattrOpacity: 'gradientColorOneOpacity',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorOne, value));\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonOpacityChange: function onOpacityChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorOneOpacity, value));\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonClear: function onClear() {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorOne, defaultColorOne));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-component-gradient-stop-value',\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tvalue: attributes[attrGradientColorStopOne] ? parseFloat(attributes[attrGradientColorStopOne]) : '',\n\t\t\t\t\t\t\t\tplaceholder: __('Stop position (%)', 'generateblocks'),\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, attrGradientColorStopOne, parseFloat(value)));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t{ label: __('Color Two', 'generateblocks') },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'gblocks-component-gradient-control' },\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tvalue: attributes[attrGradientColorTwo],\n\t\t\t\t\t\t\t\talpha: true,\n\t\t\t\t\t\t\t\tvalueOpacity: attributes[attrGradientColorTwoOpacity],\n\t\t\t\t\t\t\t\tattrOpacity: 'gradientColorTwoOpacity',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorTwo, value));\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonOpacityChange: function onOpacityChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorTwoOpacity, value));\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonClear: function onClear() {\n\t\t\t\t\t\t\t\t\treturn setAttributes(_defineProperty({}, attrGradientColorTwo, defaultColorTwo));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-component-gradient-stop-value',\n\t\t\t\t\t\t\t\ttype: 'text',\n\t\t\t\t\t\t\t\tvalue: attributes[attrGradientColorStopTwo] ? parseFloat(attributes[attrGradientColorStopTwo]) : '',\n\t\t\t\t\t\t\t\tplaceholder: __('Stop position (%)', 'generateblocks'),\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, attrGradientColorStopTwo, parseFloat(value)));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn GradientControl;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GradientControl);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9ncmFkaWVudC9pbmRleC5qcz8wNzk3Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcbmltcG9ydCBDb2xvclBpY2tlciBmcm9tICcuLi9jb2xvci1waWNrZXInO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQ7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIEJhc2VDb250cm9sID0gX3dwJGNvbXBvbmVudHMuQmFzZUNvbnRyb2wsXG4gICAgVG9nZ2xlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlRvZ2dsZUNvbnRyb2wsXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbCxcbiAgICBSYW5nZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5SYW5nZUNvbnRyb2w7XG5cbi8qKlxuICogVHlwb2dyYXBoeSBDb21wb25lbnRcbiAqL1xuXG52YXIgR3JhZGllbnRDb250cm9sID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEdyYWRpZW50Q29udHJvbCwgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gR3JhZGllbnRDb250cm9sKCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBHcmFkaWVudENvbnRyb2wpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChHcmFkaWVudENvbnRyb2wuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihHcmFkaWVudENvbnRyb2wpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhHcmFkaWVudENvbnRyb2wsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXM7XG5cblx0XHRcdHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuXHRcdFx0ICAgIGF0dHJpYnV0ZXMgPSBfcHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdCAgICBzZXRBdHRyaWJ1dGVzID0gX3Byb3BzLnNldEF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgYXR0ckdyYWRpZW50ID0gX3Byb3BzLmF0dHJHcmFkaWVudCxcblx0XHRcdCAgICBhdHRyR3JhZGllbnREaXJlY3Rpb24gPSBfcHJvcHMuYXR0ckdyYWRpZW50RGlyZWN0aW9uLFxuXHRcdFx0ICAgIGF0dHJHcmFkaWVudENvbG9yT25lID0gX3Byb3BzLmF0dHJHcmFkaWVudENvbG9yT25lLFxuXHRcdFx0ICAgIGF0dHJHcmFkaWVudENvbG9yT25lT3BhY2l0eSA9IF9wcm9wcy5hdHRyR3JhZGllbnRDb2xvck9uZU9wYWNpdHksXG5cdFx0XHQgICAgYXR0ckdyYWRpZW50Q29sb3JTdG9wT25lID0gX3Byb3BzLmF0dHJHcmFkaWVudENvbG9yU3RvcE9uZSxcblx0XHRcdCAgICBhdHRyR3JhZGllbnRDb2xvclR3byA9IF9wcm9wcy5hdHRyR3JhZGllbnRDb2xvclR3byxcblx0XHRcdCAgICBhdHRyR3JhZGllbnRDb2xvclR3b09wYWNpdHkgPSBfcHJvcHMuYXR0ckdyYWRpZW50Q29sb3JUd29PcGFjaXR5LFxuXHRcdFx0ICAgIGF0dHJHcmFkaWVudENvbG9yU3RvcFR3byA9IF9wcm9wcy5hdHRyR3JhZGllbnRDb2xvclN0b3BUd28sXG5cdFx0XHQgICAgZGVmYXVsdENvbG9yT25lID0gX3Byb3BzLmRlZmF1bHRDb2xvck9uZSxcblx0XHRcdCAgICBkZWZhdWx0Q29sb3JUd28gPSBfcHJvcHMuZGVmYXVsdENvbG9yVHdvO1xuXG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnVXNlIEdyYWRpZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0Y2hlY2tlZDogISFhdHRyaWJ1dGVzW2F0dHJHcmFkaWVudF0sXG5cdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgX3RoaXMyLnByb3BzWydhdHRyR3JhZGllbnQnXSwgdmFsdWUpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLFxuXHRcdFx0XHQhIWF0dHJpYnV0ZXNbYXR0ckdyYWRpZW50XSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdEaXJlY3Rpb24nLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXNbYXR0ckdyYWRpZW50RGlyZWN0aW9uXSA/IGF0dHJpYnV0ZXNbYXR0ckdyYWRpZW50RGlyZWN0aW9uXSA6IDEsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoX2RlZmluZVByb3BlcnR5KHt9LCBhdHRyR3JhZGllbnREaXJlY3Rpb24sIHZhbHVlKSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0bWF4OiAzNjAsXG5cdFx0XHRcdFx0XHRcdHN0ZXA6IDEsXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxQb3NpdGlvbjogOTBcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdHsgbGFiZWw6IF9fKCdDb2xvciBPbmUnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYmxvY2tzLWNvbXBvbmVudC1ncmFkaWVudC1jb250cm9sJyB9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyR3JhZGllbnRDb2xvck9uZV0sXG5cdFx0XHRcdFx0XHRcdFx0YWxwaGE6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWVPcGFjaXR5OiBhdHRyaWJ1dGVzW2F0dHJHcmFkaWVudENvbG9yT25lT3BhY2l0eV0sXG5cdFx0XHRcdFx0XHRcdFx0YXR0ck9wYWNpdHk6ICdncmFkaWVudENvbG9yT25lT3BhY2l0eScsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIGF0dHJHcmFkaWVudENvbG9yT25lLCB2YWx1ZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0b25PcGFjaXR5Q2hhbmdlOiBmdW5jdGlvbiBvbk9wYWNpdHlDaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgYXR0ckdyYWRpZW50Q29sb3JPbmVPcGFjaXR5LCB2YWx1ZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0b25DbGVhcjogZnVuY3Rpb24gb25DbGVhcigpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgYXR0ckdyYWRpZW50Q29sb3JPbmUsIGRlZmF1bHRDb2xvck9uZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtY29tcG9uZW50LWdyYWRpZW50LXN0b3AtdmFsdWUnLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyR3JhZGllbnRDb2xvclN0b3BPbmVdID8gcGFyc2VGbG9hdChhdHRyaWJ1dGVzW2F0dHJHcmFkaWVudENvbG9yU3RvcE9uZV0pIDogJycsXG5cdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdTdG9wIHBvc2l0aW9uICglKScsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIGF0dHJHcmFkaWVudENvbG9yU3RvcE9uZSwgcGFyc2VGbG9hdCh2YWx1ZSkpKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdHsgbGFiZWw6IF9fKCdDb2xvciBUd28nLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYmxvY2tzLWNvbXBvbmVudC1ncmFkaWVudC1jb250cm9sJyB9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyR3JhZGllbnRDb2xvclR3b10sXG5cdFx0XHRcdFx0XHRcdFx0YWxwaGE6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWVPcGFjaXR5OiBhdHRyaWJ1dGVzW2F0dHJHcmFkaWVudENvbG9yVHdvT3BhY2l0eV0sXG5cdFx0XHRcdFx0XHRcdFx0YXR0ck9wYWNpdHk6ICdncmFkaWVudENvbG9yVHdvT3BhY2l0eScsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIGF0dHJHcmFkaWVudENvbG9yVHdvLCB2YWx1ZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0b25PcGFjaXR5Q2hhbmdlOiBmdW5jdGlvbiBvbk9wYWNpdHlDaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgYXR0ckdyYWRpZW50Q29sb3JUd29PcGFjaXR5LCB2YWx1ZSkpO1xuXHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0b25DbGVhcjogZnVuY3Rpb24gb25DbGVhcigpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgYXR0ckdyYWRpZW50Q29sb3JUd28sIGRlZmF1bHRDb2xvclR3bykpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtY29tcG9uZW50LWdyYWRpZW50LXN0b3AtdmFsdWUnLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYXR0cmlidXRlc1thdHRyR3JhZGllbnRDb2xvclN0b3BUd29dID8gcGFyc2VGbG9hdChhdHRyaWJ1dGVzW2F0dHJHcmFkaWVudENvbG9yU3RvcFR3b10pIDogJycsXG5cdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IF9fKCdTdG9wIHBvc2l0aW9uICglKScsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIGF0dHJHcmFkaWVudENvbG9yU3RvcFR3bywgcGFyc2VGbG9hdCh2YWx1ZSkpKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBHcmFkaWVudENvbnRyb2w7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEdyYWRpZW50Q29udHJvbDtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9jb21wb25lbnRzL2dyYWRpZW50L2luZGV4LmpzXG4vLyBtb2R1bGUgaWQgPSAxM1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///13\n");
232
+
233
+ /***/ }),
234
+ /* 14 */
235
+ /*!**********************************************!*\
236
+ !*** ./src/utils/flexbox-alignment/index.js ***!
237
+ \**********************************************/
238
+ /*! exports provided: default */
239
+ /*! exports used: default */
240
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
241
+
242
+ "use strict";
243
+ eval("/* harmony export (immutable) */ __webpack_exports__[\"a\"] = flexboxAlignment;\nfunction flexboxAlignment(value) {\n\tif ('left' === value || 'top' === value) {\n\t\treturn 'flex-start';\n\t}\n\n\tif ('right' === value || 'bottom' === value) {\n\t\treturn 'flex-end';\n\t}\n\n\treturn value;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdXRpbHMvZmxleGJveC1hbGlnbm1lbnQvaW5kZXguanM/ZmI1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmbGV4Ym94QWxpZ25tZW50KHZhbHVlKSB7XG5cdGlmICgnbGVmdCcgPT09IHZhbHVlIHx8ICd0b3AnID09PSB2YWx1ZSkge1xuXHRcdHJldHVybiAnZmxleC1zdGFydCc7XG5cdH1cblxuXHRpZiAoJ3JpZ2h0JyA9PT0gdmFsdWUgfHwgJ2JvdHRvbScgPT09IHZhbHVlKSB7XG5cdFx0cmV0dXJuICdmbGV4LWVuZCc7XG5cdH1cblxuXHRyZXR1cm4gdmFsdWU7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvdXRpbHMvZmxleGJveC1hbGlnbm1lbnQvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDE0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///14\n");
244
+
245
+ /***/ }),
246
+ /* 15 */
247
+ /*!*********************************************!*\
248
+ !*** ./src/components/icon-picker/index.js ***!
249
+ \*********************************************/
250
+ /*! exports provided: default */
251
+ /*! exports used: default */
252
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
253
+
254
+ "use strict";
255
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__svgs_social__ = __webpack_require__(/*! ./svgs-social */ 51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__svgs_general__ = __webpack_require__(/*! ./svgs-general */ 52);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_sanitize_svg__ = __webpack_require__(/*! ../../utils/sanitize-svg */ 5);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Internal dependencies\n */\n\n\n\n\n\n/**\n * WordPress dependencies\n */\nvar __ = wp.i18n.__;\nvar _wp$element = wp.element,\n Component = _wp$element.Component,\n Fragment = _wp$element.Fragment,\n renderToString = _wp$element.renderToString;\nvar _wp$components = wp.components,\n BaseControl = _wp$components.BaseControl,\n SelectControl = _wp$components.SelectControl,\n ToggleControl = _wp$components.ToggleControl,\n TextControl = _wp$components.TextControl,\n Tooltip = _wp$components.Tooltip,\n Button = _wp$components.Button,\n PanelBody = _wp$components.PanelBody,\n PanelRow = _wp$components.PanelRow;\n\n/**\n * Typography Component\n */\n\nvar IconPicker = function (_Component) {\n\t_inherits(IconPicker, _Component);\n\n\tfunction IconPicker() {\n\t\t_classCallCheck(this, IconPicker);\n\n\t\tvar _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).apply(this, arguments));\n\n\t\t_this.state = {\n\t\t\tshowIcons: false,\n\t\t\tshowGeneralIcons: false,\n\t\t\tshowSocialIcons: false\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(IconPicker, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t setAttributes = _props.setAttributes,\n\t\t\t attrIcon = _props.attrIcon,\n\t\t\t attrIconLocation = _props.attrIconLocation,\n\t\t\t locationOptions = _props.locationOptions,\n\t\t\t attrRemoveText = _props.attrRemoveText,\n\t\t\t attrAriaLabel = _props.attrAriaLabel;\n\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tBaseControl,\n\t\t\t\t\t{ className: 'gb-svg-html' },\n\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\tlabel: __('Icon SVG HTML', 'generateblocks'),\n\t\t\t\t\t\tvalue: attributes[attrIcon],\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tsetAttributes(_defineProperty({}, _this2.props['attrIcon'], Object(__WEBPACK_IMPORTED_MODULE_3__utils_sanitize_svg__[\"a\" /* default */])(value)));\n\n\t\t\t\t\t\t\tif ('' !== value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t'hasIcon': true // eslint-disable-line quote-props\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t'hasIcon': false // eslint-disable-line quote-props\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{ className: 'gb-icon-preview' },\n\t\t\t\t\t\twp.element.createElement('span', { dangerouslySetInnerHTML: { __html: Object(__WEBPACK_IMPORTED_MODULE_3__utils_sanitize_svg__[\"a\" /* default */])(attributes[attrIcon]) } }),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\tclassName: 'reset-icon is-secondary',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\tvar _setAttributes2;\n\n\t\t\t\t\t\t\t\t\tsetAttributes((_setAttributes2 = {}, _defineProperty(_setAttributes2, _this2.props['attrIcon'], ''), _defineProperty(_setAttributes2, 'hasIcon', false), _setAttributes2));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t{ className: 'editor-block-types-list__item-icon' },\n\t\t\t\t\t\t\t\t__('Clear', 'generateblocks')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tBaseControl,\n\t\t\t\t\t{ className: 'gb-icon-chooser' },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{ title: __('General Icons', 'generateblocks'), initialOpen: false },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tPanelRow,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t{ className: 'gblocks-icon-chooser' },\n\t\t\t\t\t\t\t\t\tObject.keys(__WEBPACK_IMPORTED_MODULE_2__svgs_general__[\"a\" /* default */]).map(function (svg, i) {\n\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t{ key: 'editor-pblock-types-list-item-' + i },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t\t{ text: __WEBPACK_IMPORTED_MODULE_2__svgs_general__[\"a\" /* default */][svg].label },\n\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'editor-block-list-item-button',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar _setAttributes3;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes((_setAttributes3 = {}, _defineProperty(_setAttributes3, _this2.props['attrIcon'], renderToString(__WEBPACK_IMPORTED_MODULE_2__svgs_general__[\"a\" /* default */][svg]['icon'])), _defineProperty(_setAttributes3, 'hasIcon', true), _setAttributes3));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ className: 'editor-block-types-list__item-icon' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_2__svgs_general__[\"a\" /* default */][svg].icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tPanelBody,\n\t\t\t\t\t\t{ title: __('Social Icons', 'generateblocks'), initialOpen: false },\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tPanelRow,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'ul',\n\t\t\t\t\t\t\t\t\t{ className: 'gblocks-icon-chooser' },\n\t\t\t\t\t\t\t\t\tObject.keys(__WEBPACK_IMPORTED_MODULE_1__svgs_social__[\"a\" /* default */]).map(function (svg, i) {\n\t\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t'li',\n\t\t\t\t\t\t\t\t\t\t\t{ key: 'editor-pblock-types-list-item-' + i },\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t\t{ text: __WEBPACK_IMPORTED_MODULE_1__svgs_social__[\"a\" /* default */][svg].label },\n\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLarge: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'editor-block-list-item-button',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvar _setAttributes4;\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes((_setAttributes4 = {}, _defineProperty(_setAttributes4, _this2.props['attrIcon'], renderToString(__WEBPACK_IMPORTED_MODULE_1__svgs_social__[\"a\" /* default */][svg]['icon'])), _defineProperty(_setAttributes4, 'hasIcon', true), _setAttributes4));\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'span',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ className: 'editor-block-types-list__item-icon' },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_1__svgs_social__[\"a\" /* default */][svg].icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\ttypeof attributes[attrIconLocation] !== 'undefined' && !attributes[attrRemoveText] && !!attributes[attrIcon] && wp.element.createElement(SelectControl, {\n\t\t\t\t\tlabel: __('Icon Location', 'generateblocks'),\n\t\t\t\t\tvalue: attributes[attrIconLocation],\n\t\t\t\t\toptions: locationOptions,\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tvar leftPadding = attributes.iconPaddingLeft,\n\t\t\t\t\t\t rightPadding = attributes.iconPaddingRight,\n\t\t\t\t\t\t rightPaddingTablet = attributes.iconPaddingRightTablet,\n\t\t\t\t\t\t leftPaddingTablet = attributes.iconPaddingLeftTablet,\n\t\t\t\t\t\t rightPaddingMobile = attributes.iconPaddingRightMobile,\n\t\t\t\t\t\t leftPaddingMobile = attributes.iconPaddingLeftMobile;\n\n\t\t\t\t\t\tif ('right' === value) {\n\t\t\t\t\t\t\tif (!leftPadding && rightPadding) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingLeft: rightPadding,\n\t\t\t\t\t\t\t\t\ticonPaddingRight: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!leftPaddingTablet && rightPaddingTablet) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingLeftTablet: rightPaddingTablet,\n\t\t\t\t\t\t\t\t\ticonPaddingRightTablet: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!leftPaddingMobile && rightPaddingMobile) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingLeftMobile: rightPaddingMobile,\n\t\t\t\t\t\t\t\t\ticonPaddingRightMobile: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif ('left' === value) {\n\t\t\t\t\t\t\tif (!rightPadding && leftPadding) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingRight: leftPadding,\n\t\t\t\t\t\t\t\t\ticonPaddingLeft: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!rightPaddingTablet && leftPaddingTablet) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingRightTablet: leftPaddingTablet,\n\t\t\t\t\t\t\t\t\ticonPaddingLeftTablet: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (!rightPaddingMobile && leftPaddingMobile) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ticonPaddingRightMobile: leftPaddingMobile,\n\t\t\t\t\t\t\t\t\ticonPaddingLeftMobile: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetAttributes(_defineProperty({}, _this2.props['attrIconLocation'], value));\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttypeof attributes[attrRemoveText] !== 'undefined' && !!attributes[attrIcon] && wp.element.createElement(ToggleControl, {\n\t\t\t\t\tlabel: __('Remove Text', 'generateblocks'),\n\t\t\t\t\tchecked: !!attributes[attrRemoveText],\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tsetAttributes(_defineProperty({}, _this2.props['attrRemoveText'], value));\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t\t\ttypeof attributes[attrAriaLabel] !== 'undefined' && !!attributes[attrRemoveText] && !!attributes[attrIcon] && wp.element.createElement(TextControl, {\n\t\t\t\t\tlabel: __('ARIA Label', 'generateblocks'),\n\t\t\t\t\thelp: __('Helpful to people using screen readers.', 'generateblocks'),\n\t\t\t\t\tvalue: attributes[attrAriaLabel],\n\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\tsetAttributes(_defineProperty({}, _this2.props['attrAriaLabel'], value));\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn IconPicker;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (IconPicker);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9pY29uLXBpY2tlci9pbmRleC5qcz9mMzA4Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcbmltcG9ydCBzb2NpYWxTdmdzIGZyb20gJy4vc3Zncy1zb2NpYWwnO1xuaW1wb3J0IGdlbmVyYWxTdmdzIGZyb20gJy4vc3Zncy1nZW5lcmFsJztcbmltcG9ydCBzYW5pdGl6ZVNWRyBmcm9tICcuLi8uLi91dGlscy9zYW5pdGl6ZS1zdmcnO1xuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgQ29tcG9uZW50ID0gX3dwJGVsZW1lbnQuQ29tcG9uZW50LFxuICAgIEZyYWdtZW50ID0gX3dwJGVsZW1lbnQuRnJhZ21lbnQsXG4gICAgcmVuZGVyVG9TdHJpbmcgPSBfd3AkZWxlbWVudC5yZW5kZXJUb1N0cmluZztcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgQmFzZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5CYXNlQ29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUb2dnbGVDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVG9nZ2xlQ29udHJvbCxcbiAgICBUZXh0Q29udHJvbCA9IF93cCRjb21wb25lbnRzLlRleHRDb250cm9sLFxuICAgIFRvb2x0aXAgPSBfd3AkY29tcG9uZW50cy5Ub29sdGlwLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBQYW5lbEJvZHkgPSBfd3AkY29tcG9uZW50cy5QYW5lbEJvZHksXG4gICAgUGFuZWxSb3cgPSBfd3AkY29tcG9uZW50cy5QYW5lbFJvdztcblxuLyoqXG4gKiBUeXBvZ3JhcGh5IENvbXBvbmVudFxuICovXG5cbnZhciBJY29uUGlja2VyID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEljb25QaWNrZXIsIF9Db21wb25lbnQpO1xuXG5cdGZ1bmN0aW9uIEljb25QaWNrZXIoKSB7XG5cdFx0X2NsYXNzQ2FsbENoZWNrKHRoaXMsIEljb25QaWNrZXIpO1xuXG5cdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEljb25QaWNrZXIuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihJY29uUGlja2VyKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cblx0XHRfdGhpcy5zdGF0ZSA9IHtcblx0XHRcdHNob3dJY29uczogZmFsc2UsXG5cdFx0XHRzaG93R2VuZXJhbEljb25zOiBmYWxzZSxcblx0XHRcdHNob3dTb2NpYWxJY29uczogZmFsc2Vcblx0XHR9O1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhJY29uUGlja2VyLCBbe1xuXHRcdGtleTogJ3JlbmRlcicsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIHJlbmRlcigpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHR2YXIgX3Byb3BzID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBhdHRyaWJ1dGVzID0gX3Byb3BzLmF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgc2V0QXR0cmlidXRlcyA9IF9wcm9wcy5zZXRBdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIGF0dHJJY29uID0gX3Byb3BzLmF0dHJJY29uLFxuXHRcdFx0ICAgIGF0dHJJY29uTG9jYXRpb24gPSBfcHJvcHMuYXR0ckljb25Mb2NhdGlvbixcblx0XHRcdCAgICBsb2NhdGlvbk9wdGlvbnMgPSBfcHJvcHMubG9jYXRpb25PcHRpb25zLFxuXHRcdFx0ICAgIGF0dHJSZW1vdmVUZXh0ID0gX3Byb3BzLmF0dHJSZW1vdmVUZXh0LFxuXHRcdFx0ICAgIGF0dHJBcmlhTGFiZWwgPSBfcHJvcHMuYXR0ckFyaWFMYWJlbDtcblxuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEJhc2VDb250cm9sLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZ2Itc3ZnLWh0bWwnIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRsYWJlbDogX18oJ0ljb24gU1ZHIEhUTUwnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzW2F0dHJJY29uXSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgX3RoaXMyLnByb3BzWydhdHRySWNvbiddLCBzYW5pdGl6ZVNWRyh2YWx1ZSkpKTtcblxuXHRcdFx0XHRcdFx0XHRpZiAoJycgIT09IHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHQnaGFzSWNvbic6IHRydWUgLy8gZXNsaW50LWRpc2FibGUtbGluZSBxdW90ZS1wcm9wc1xuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0J2hhc0ljb24nOiBmYWxzZSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHF1b3RlLXByb3BzXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZ2ItaWNvbi1wcmV2aWV3JyB9LFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJywgeyBkYW5nZXJvdXNseVNldElubmVySFRNTDogeyBfX2h0bWw6IHNhbml0aXplU1ZHKGF0dHJpYnV0ZXNbYXR0ckljb25dKSB9IH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ3Jlc2V0LWljb24gaXMtc2Vjb25kYXJ5Jyxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIF9zZXRBdHRyaWJ1dGVzMjtcblxuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcygoX3NldEF0dHJpYnV0ZXMyID0ge30sIF9kZWZpbmVQcm9wZXJ0eShfc2V0QXR0cmlidXRlczIsIF90aGlzMi5wcm9wc1snYXR0ckljb24nXSwgJycpLCBfZGVmaW5lUHJvcGVydHkoX3NldEF0dHJpYnV0ZXMyLCAnaGFzSWNvbicsIGZhbHNlKSwgX3NldEF0dHJpYnV0ZXMyKSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J3NwYW4nLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZWRpdG9yLWJsb2NrLXR5cGVzLWxpc3RfX2l0ZW0taWNvbicgfSxcblx0XHRcdFx0XHRcdFx0XHRfXygnQ2xlYXInLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0QmFzZUNvbnRyb2wsXG5cdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYi1pY29uLWNob29zZXInIH0sXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxCb2R5LFxuXHRcdFx0XHRcdFx0eyB0aXRsZTogX18oJ0dlbmVyYWwgSWNvbnMnLCAnZ2VuZXJhdGVibG9ja3MnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFBhbmVsUm93LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QmFzZUNvbnRyb2wsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQndWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYmxvY2tzLWljb24tY2hvb3NlcicgfSxcblx0XHRcdFx0XHRcdFx0XHRcdE9iamVjdC5rZXlzKGdlbmVyYWxTdmdzKS5tYXAoZnVuY3Rpb24gKHN2ZywgaSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdsaScsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBrZXk6ICdlZGl0b3ItcGJsb2NrLXR5cGVzLWxpc3QtaXRlbS0nICsgaSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7IHRleHQ6IGdlbmVyYWxTdmdzW3N2Z10ubGFiZWwgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNMYXJnZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdlZGl0b3ItYmxvY2stbGlzdC1pdGVtLWJ1dHRvbicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhciBfc2V0QXR0cmlidXRlczM7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoKF9zZXRBdHRyaWJ1dGVzMyA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX3NldEF0dHJpYnV0ZXMzLCBfdGhpczIucHJvcHNbJ2F0dHJJY29uJ10sIHJlbmRlclRvU3RyaW5nKGdlbmVyYWxTdmdzW3N2Z11bJ2ljb24nXSkpLCBfZGVmaW5lUHJvcGVydHkoX3NldEF0dHJpYnV0ZXMzLCAnaGFzSWNvbicsIHRydWUpLCBfc2V0QXR0cmlidXRlczMpKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnc3BhbicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdlZGl0b3ItYmxvY2stdHlwZXMtbGlzdF9faXRlbS1pY29uJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGdlbmVyYWxTdmdzW3N2Z10uaWNvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFBhbmVsQm9keSxcblx0XHRcdFx0XHRcdHsgdGl0bGU6IF9fKCdTb2NpYWwgSWNvbnMnLCAnZ2VuZXJhdGVibG9ja3MnKSwgaW5pdGlhbE9wZW46IGZhbHNlIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFBhbmVsUm93LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0QmFzZUNvbnRyb2wsXG5cdFx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQndWwnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdnYmxvY2tzLWljb24tY2hvb3NlcicgfSxcblx0XHRcdFx0XHRcdFx0XHRcdE9iamVjdC5rZXlzKHNvY2lhbFN2Z3MpLm1hcChmdW5jdGlvbiAoc3ZnLCBpKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2xpJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7IGtleTogJ2VkaXRvci1wYmxvY2stdHlwZXMtbGlzdC1pdGVtLScgKyBpIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogc29jaWFsU3Znc1tzdmddLmxhYmVsIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzTGFyZ2U6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZWRpdG9yLWJsb2NrLWxpc3QtaXRlbS1idXR0b24nLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIgX3NldEF0dHJpYnV0ZXM0O1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKChfc2V0QXR0cmlidXRlczQgPSB7fSwgX2RlZmluZVByb3BlcnR5KF9zZXRBdHRyaWJ1dGVzNCwgX3RoaXMyLnByb3BzWydhdHRySWNvbiddLCByZW5kZXJUb1N0cmluZyhzb2NpYWxTdmdzW3N2Z11bJ2ljb24nXSkpLCBfZGVmaW5lUHJvcGVydHkoX3NldEF0dHJpYnV0ZXM0LCAnaGFzSWNvbicsIHRydWUpLCBfc2V0QXR0cmlidXRlczQpKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnc3BhbicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdlZGl0b3ItYmxvY2stdHlwZXMtbGlzdF9faXRlbS1pY29uJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNvY2lhbFN2Z3Nbc3ZnXS5pY29uXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSxcblx0XHRcdFx0dHlwZW9mIGF0dHJpYnV0ZXNbYXR0ckljb25Mb2NhdGlvbl0gIT09ICd1bmRlZmluZWQnICYmICFhdHRyaWJ1dGVzW2F0dHJSZW1vdmVUZXh0XSAmJiAhIWF0dHJpYnV0ZXNbYXR0ckljb25dICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdJY29uIExvY2F0aW9uJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0dmFsdWU6IGF0dHJpYnV0ZXNbYXR0ckljb25Mb2NhdGlvbl0sXG5cdFx0XHRcdFx0b3B0aW9uczogbG9jYXRpb25PcHRpb25zLFxuXHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0dmFyIGxlZnRQYWRkaW5nID0gYXR0cmlidXRlcy5pY29uUGFkZGluZ0xlZnQsXG5cdFx0XHRcdFx0XHQgICAgcmlnaHRQYWRkaW5nID0gYXR0cmlidXRlcy5pY29uUGFkZGluZ1JpZ2h0LFxuXHRcdFx0XHRcdFx0ICAgIHJpZ2h0UGFkZGluZ1RhYmxldCA9IGF0dHJpYnV0ZXMuaWNvblBhZGRpbmdSaWdodFRhYmxldCxcblx0XHRcdFx0XHRcdCAgICBsZWZ0UGFkZGluZ1RhYmxldCA9IGF0dHJpYnV0ZXMuaWNvblBhZGRpbmdMZWZ0VGFibGV0LFxuXHRcdFx0XHRcdFx0ICAgIHJpZ2h0UGFkZGluZ01vYmlsZSA9IGF0dHJpYnV0ZXMuaWNvblBhZGRpbmdSaWdodE1vYmlsZSxcblx0XHRcdFx0XHRcdCAgICBsZWZ0UGFkZGluZ01vYmlsZSA9IGF0dHJpYnV0ZXMuaWNvblBhZGRpbmdMZWZ0TW9iaWxlO1xuXG5cdFx0XHRcdFx0XHRpZiAoJ3JpZ2h0JyA9PT0gdmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0aWYgKCFsZWZ0UGFkZGluZyAmJiByaWdodFBhZGRpbmcpIHtcblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdGljb25QYWRkaW5nTGVmdDogcmlnaHRQYWRkaW5nLFxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvblBhZGRpbmdSaWdodDogJydcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGlmICghbGVmdFBhZGRpbmdUYWJsZXQgJiYgcmlnaHRQYWRkaW5nVGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uUGFkZGluZ0xlZnRUYWJsZXQ6IHJpZ2h0UGFkZGluZ1RhYmxldCxcblx0XHRcdFx0XHRcdFx0XHRcdGljb25QYWRkaW5nUmlnaHRUYWJsZXQ6ICcnXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRpZiAoIWxlZnRQYWRkaW5nTW9iaWxlICYmIHJpZ2h0UGFkZGluZ01vYmlsZSkge1xuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWNvblBhZGRpbmdMZWZ0TW9iaWxlOiByaWdodFBhZGRpbmdNb2JpbGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uUGFkZGluZ1JpZ2h0TW9iaWxlOiAnJ1xuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlmICgnbGVmdCcgPT09IHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdGlmICghcmlnaHRQYWRkaW5nICYmIGxlZnRQYWRkaW5nKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uUGFkZGluZ1JpZ2h0OiBsZWZ0UGFkZGluZyxcblx0XHRcdFx0XHRcdFx0XHRcdGljb25QYWRkaW5nTGVmdDogJydcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGlmICghcmlnaHRQYWRkaW5nVGFibGV0ICYmIGxlZnRQYWRkaW5nVGFibGV0KSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uUGFkZGluZ1JpZ2h0VGFibGV0OiBsZWZ0UGFkZGluZ1RhYmxldCxcblx0XHRcdFx0XHRcdFx0XHRcdGljb25QYWRkaW5nTGVmdFRhYmxldDogJydcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGlmICghcmlnaHRQYWRkaW5nTW9iaWxlICYmIGxlZnRQYWRkaW5nTW9iaWxlKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uUGFkZGluZ1JpZ2h0TW9iaWxlOiBsZWZ0UGFkZGluZ01vYmlsZSxcblx0XHRcdFx0XHRcdFx0XHRcdGljb25QYWRkaW5nTGVmdE1vYmlsZTogJydcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgX3RoaXMyLnByb3BzWydhdHRySWNvbkxvY2F0aW9uJ10sIHZhbHVlKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KSxcblx0XHRcdFx0dHlwZW9mIGF0dHJpYnV0ZXNbYXR0clJlbW92ZVRleHRdICE9PSAndW5kZWZpbmVkJyAmJiAhIWF0dHJpYnV0ZXNbYXR0ckljb25dICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdSZW1vdmUgVGV4dCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdGNoZWNrZWQ6ICEhYXR0cmlidXRlc1thdHRyUmVtb3ZlVGV4dF0sXG5cdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKF9kZWZpbmVQcm9wZXJ0eSh7fSwgX3RoaXMyLnByb3BzWydhdHRyUmVtb3ZlVGV4dCddLCB2YWx1ZSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSksXG5cdFx0XHRcdHR5cGVvZiBhdHRyaWJ1dGVzW2F0dHJBcmlhTGFiZWxdICE9PSAndW5kZWZpbmVkJyAmJiAhIWF0dHJpYnV0ZXNbYXR0clJlbW92ZVRleHRdICYmICEhYXR0cmlidXRlc1thdHRySWNvbl0gJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0bGFiZWw6IF9fKCdBUklBIExhYmVsJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0aGVscDogX18oJ0hlbHBmdWwgdG8gcGVvcGxlIHVzaW5nIHNjcmVlbiByZWFkZXJzLicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdHZhbHVlOiBhdHRyaWJ1dGVzW2F0dHJBcmlhTGFiZWxdLFxuXHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyhfZGVmaW5lUHJvcGVydHkoe30sIF90aGlzMi5wcm9wc1snYXR0ckFyaWFMYWJlbCddLCB2YWx1ZSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIEljb25QaWNrZXI7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEljb25QaWNrZXI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvY29tcG9uZW50cy9pY29uLXBpY2tlci9pbmRleC5qc1xuLy8gbW9kdWxlIGlkID0gMTVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///15\n");
256
+
257
+ /***/ }),
258
+ /* 16 */
259
+ /*!*************************************!*\
260
+ !*** ./src/blocks/headline/save.js ***!
261
+ \*************************************/
262
+ /*! exports provided: default */
263
+ /*! exports used: default */
264
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
265
+
266
+ "use strict";
267
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_sanitize_svg__ = __webpack_require__(/*! ../../utils/sanitize-svg */ 5);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Block: Headline\n */\n\n\n\n\nvar RichText = wp.blockEditor.RichText;\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (_ref) {\n\tvar _classnames2;\n\n\tvar attributes = _ref.attributes;\n\tvar uniqueId = attributes.uniqueId,\n\t elementId = attributes.elementId,\n\t cssClasses = attributes.cssClasses,\n\t element = attributes.element,\n\t content = attributes.content,\n\t icon = attributes.icon,\n\t removeText = attributes.removeText,\n\t ariaLabel = attributes.ariaLabel;\n\n\n\tvar ConditionalWrap = function ConditionalWrap(_ref2) {\n\t\tvar condition = _ref2.condition,\n\t\t wrap = _ref2.wrap,\n\t\t children = _ref2.children;\n\t\treturn condition ? wrap(children) : children;\n\t};\n\n\treturn wp.element.createElement(\n\t\tConditionalWrap,\n\t\t{\n\t\t\tcondition: icon,\n\t\t\twrap: function wrap(children) {\n\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: __WEBPACK_IMPORTED_MODULE_0_classnames___default()(_defineProperty({\n\t\t\t\t\t\t\t'gb-headline-wrapper': true\n\t\t\t\t\t\t}, 'gb-headline-wrapper-' + uniqueId, true)) },\n\t\t\t\t\tchildren\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\ticon && wp.element.createElement('span', {\n\t\t\tclassName: 'gb-icon',\n\t\t\t'aria-label': !!removeText && !!ariaLabel ? ariaLabel : undefined,\n\t\t\tdangerouslySetInnerHTML: { __html: Object(__WEBPACK_IMPORTED_MODULE_1__utils_sanitize_svg__[\"a\" /* default */])(icon) }\n\t\t}),\n\t\t!removeText && wp.element.createElement(RichText.Content, {\n\t\t\ttagName: element,\n\t\t\tid: !!elementId ? elementId : undefined,\n\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()((_classnames2 = {\n\t\t\t\t'gb-headline': true\n\t\t\t}, _defineProperty(_classnames2, 'gb-headline-' + uniqueId, true), _defineProperty(_classnames2, '' + cssClasses, '' !== cssClasses), _classnames2)),\n\t\t\tvalue: content\n\t\t})\n\t);\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2hlYWRsaW5lL3NhdmUuanM/NDc3OCJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfVxuXG4vKipcbiAqIEJsb2NrOiBIZWFkbGluZVxuICovXG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHNhbml0aXplU1ZHIGZyb20gJy4uLy4uL3V0aWxzL3Nhbml0aXplLXN2Zyc7XG5cbnZhciBSaWNoVGV4dCA9IHdwLmJsb2NrRWRpdG9yLlJpY2hUZXh0O1xuXG5cbmV4cG9ydCBkZWZhdWx0IChmdW5jdGlvbiAoX3JlZikge1xuXHR2YXIgX2NsYXNzbmFtZXMyO1xuXG5cdHZhciBhdHRyaWJ1dGVzID0gX3JlZi5hdHRyaWJ1dGVzO1xuXHR2YXIgdW5pcXVlSWQgPSBhdHRyaWJ1dGVzLnVuaXF1ZUlkLFxuXHQgICAgZWxlbWVudElkID0gYXR0cmlidXRlcy5lbGVtZW50SWQsXG5cdCAgICBjc3NDbGFzc2VzID0gYXR0cmlidXRlcy5jc3NDbGFzc2VzLFxuXHQgICAgZWxlbWVudCA9IGF0dHJpYnV0ZXMuZWxlbWVudCxcblx0ICAgIGNvbnRlbnQgPSBhdHRyaWJ1dGVzLmNvbnRlbnQsXG5cdCAgICBpY29uID0gYXR0cmlidXRlcy5pY29uLFxuXHQgICAgcmVtb3ZlVGV4dCA9IGF0dHJpYnV0ZXMucmVtb3ZlVGV4dCxcblx0ICAgIGFyaWFMYWJlbCA9IGF0dHJpYnV0ZXMuYXJpYUxhYmVsO1xuXG5cblx0dmFyIENvbmRpdGlvbmFsV3JhcCA9IGZ1bmN0aW9uIENvbmRpdGlvbmFsV3JhcChfcmVmMikge1xuXHRcdHZhciBjb25kaXRpb24gPSBfcmVmMi5jb25kaXRpb24sXG5cdFx0ICAgIHdyYXAgPSBfcmVmMi53cmFwLFxuXHRcdCAgICBjaGlsZHJlbiA9IF9yZWYyLmNoaWxkcmVuO1xuXHRcdHJldHVybiBjb25kaXRpb24gPyB3cmFwKGNoaWxkcmVuKSA6IGNoaWxkcmVuO1xuXHR9O1xuXG5cdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0Q29uZGl0aW9uYWxXcmFwLFxuXHRcdHtcblx0XHRcdGNvbmRpdGlvbjogaWNvbixcblx0XHRcdHdyYXA6IGZ1bmN0aW9uIHdyYXAoY2hpbGRyZW4pIHtcblx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHR7IGNsYXNzTmFtZTogY2xhc3NuYW1lcyhfZGVmaW5lUHJvcGVydHkoe1xuXHRcdFx0XHRcdFx0XHQnZ2ItaGVhZGxpbmUtd3JhcHBlcic6IHRydWVcblx0XHRcdFx0XHRcdH0sICdnYi1oZWFkbGluZS13cmFwcGVyLScgKyB1bmlxdWVJZCwgdHJ1ZSkpIH0sXG5cdFx0XHRcdFx0Y2hpbGRyZW5cblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGljb24gJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJywge1xuXHRcdFx0Y2xhc3NOYW1lOiAnZ2ItaWNvbicsXG5cdFx0XHQnYXJpYS1sYWJlbCc6ICEhcmVtb3ZlVGV4dCAmJiAhIWFyaWFMYWJlbCA/IGFyaWFMYWJlbCA6IHVuZGVmaW5lZCxcblx0XHRcdGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7IF9faHRtbDogc2FuaXRpemVTVkcoaWNvbikgfVxuXHRcdH0pLFxuXHRcdCFyZW1vdmVUZXh0ICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSaWNoVGV4dC5Db250ZW50LCB7XG5cdFx0XHR0YWdOYW1lOiBlbGVtZW50LFxuXHRcdFx0aWQ6ICEhZWxlbWVudElkID8gZWxlbWVudElkIDogdW5kZWZpbmVkLFxuXHRcdFx0Y2xhc3NOYW1lOiBjbGFzc25hbWVzKChfY2xhc3NuYW1lczIgPSB7XG5cdFx0XHRcdCdnYi1oZWFkbGluZSc6IHRydWVcblx0XHRcdH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3NuYW1lczIsICdnYi1oZWFkbGluZS0nICsgdW5pcXVlSWQsIHRydWUpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzbmFtZXMyLCAnJyArIGNzc0NsYXNzZXMsICcnICE9PSBjc3NDbGFzc2VzKSwgX2NsYXNzbmFtZXMyKSksXG5cdFx0XHR2YWx1ZTogY29udGVudFxuXHRcdH0pXG5cdCk7XG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvaGVhZGxpbmUvc2F2ZS5qc1xuLy8gbW9kdWxlIGlkID0gMTZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///16\n");
268
+
269
+ /***/ }),
270
+ /* 17 */
271
+ /*!*******************************************!*\
272
+ !*** ./src/blocks/headline/attributes.js ***!
273
+ \*******************************************/
274
+ /*! exports provided: default */
275
+ /*! exports used: default */
276
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
277
+
278
+ "use strict";
279
+ eval("/* eslint-disable no-undef */\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tuniqueId: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\telementId: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\tcssClasses: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\tcontent: {\n\t\ttype: 'array',\n\t\tsource: 'children',\n\t\tselector: 'p,h1,h2,h3,h4,h5,h6'\n\t},\n\telement: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.element\n\t},\n\talignment: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.alignment\n\t},\n\talignmentTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.alignmentTablet\n\t},\n\talignmentMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.alignmentMobile\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.backgroundColor\n\t},\n\tbackgroundColorOpacity: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.backgroundColorOpacity\n\t},\n\ttextColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.textColor\n\t},\n\tlinkColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.linkColor\n\t},\n\tlinkColorHover: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.linkColorHover\n\t},\n\tborderColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderColor\n\t},\n\tborderColorOpacity: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.borderColorOpacity\n\t},\n\thighlightTextColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.highlightTextColor\n\t},\n\tshowAdvancedTypography: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.showAdvancedTypography\n\t},\n\tfontFamily: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.fontFamily\n\t},\n\tfontFamilyFallback: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.fontFamilyFallback\n\t},\n\tgoogleFont: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.googleFont\n\t},\n\tgoogleFontVariants: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.googleFontVariants\n\t},\n\tfontWeight: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.fontWeight\n\t},\n\tfontSize: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.fontSize\n\t},\n\tfontSizeTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.fontSizeTablet\n\t},\n\tfontSizeMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.fontSizeMobile\n\t},\n\tfontSizeUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.fontSizeUnit\n\t},\n\ttextTransform: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\tlineHeight: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.lineHeight\n\t},\n\tlineHeightTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.lineHeightTablet\n\t},\n\tlineHeightMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.lineHeightMobile\n\t},\n\tlineHeightUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.lineHeightUnit\n\t},\n\tletterSpacing: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.letterSpacing\n\t},\n\tletterSpacingTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.letterSpacingTablet\n\t},\n\tletterSpacingMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.letterSpacingMobile\n\t},\n\tmarginTop: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginTop\n\t},\n\tmarginRight: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginRight\n\t},\n\tmarginBottom: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginBottom\n\t},\n\tmarginLeft: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginLeft\n\t},\n\tmarginUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginUnit\n\t},\n\tmarginSyncUnits: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n\tmarginTopTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginTopTablet\n\t},\n\tmarginRightTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginRightTablet\n\t},\n\tmarginBottomTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginBottomTablet\n\t},\n\tmarginLeftTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginLeftTablet\n\t},\n\tmarginTopMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginTopMobile\n\t},\n\tmarginRightMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginRightMobile\n\t},\n\tmarginBottomMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginBottomMobile\n\t},\n\tmarginLeftMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.marginLeftMobile\n\t},\n\tpaddingTop: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingTop\n\t},\n\tpaddingRight: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingRight\n\t},\n\tpaddingBottom: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingBottom\n\t},\n\tpaddingLeft: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingLeft\n\t},\n\tpaddingTopTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingTopTablet\n\t},\n\tpaddingRightTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingRightTablet\n\t},\n\tpaddingBottomTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingBottomTablet\n\t},\n\tpaddingLeftTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingLeftTablet\n\t},\n\tpaddingTopMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingTopMobile\n\t},\n\tpaddingRightMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingRightMobile\n\t},\n\tpaddingBottomMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingBottomMobile\n\t},\n\tpaddingLeftMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingLeftMobile\n\t},\n\tpaddingUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.paddingUnit\n\t},\n\tpaddingSyncUnits: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n\tborderSizeTop: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeTop\n\t},\n\tborderSizeRight: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeRight\n\t},\n\tborderSizeBottom: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeBottom\n\t},\n\tborderSizeLeft: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeLeft\n\t},\n\tborderSizeTopTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeTopTablet\n\t},\n\tborderSizeRightTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeRightTablet\n\t},\n\tborderSizeBottomTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeBottomTablet\n\t},\n\tborderSizeLeftTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeLeftTablet\n\t},\n\tborderSizeTopMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeTopMobile\n\t},\n\tborderSizeRightMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeRightMobile\n\t},\n\tborderSizeBottomMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeBottomMobile\n\t},\n\tborderSizeLeftMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.borderSizeLeftMobile\n\t},\n\ticon: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: '.gb-icon'\n\t},\n\thasIcon: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n\ticonColor: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconColor\n\t},\n\ticonColorOpacity: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.iconColorOpacity\n\t},\n\tcustomIcon: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n\ticonLocation: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconLocation\n\t},\n\ticonLocationTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconLocationTablet\n\t},\n\ticonLocationMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconLocationMobile\n\t},\n\ticonVerticalAlignment: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconVerticalAlignment\n\t},\n\ticonVerticalAlignmentTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconVerticalAlignmentTablet\n\t},\n\ticonVerticalAlignmentMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconVerticalAlignmentMobile\n\t},\n\ticonPaddingTop: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingTop\n\t},\n\ticonPaddingRight: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingRight\n\t},\n\ticonPaddingBottom: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingBottom\n\t},\n\ticonPaddingLeft: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingLeft\n\t},\n\ticonPaddingTopTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingTopTablet\n\t},\n\ticonPaddingRightTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingRightTablet\n\t},\n\ticonPaddingBottomTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingBottomTablet\n\t},\n\ticonPaddingLeftTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingLeftTablet\n\t},\n\ticonPaddingTopMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingTopMobile\n\t},\n\ticonPaddingRightMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingRightMobile\n\t},\n\ticonPaddingBottomMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingBottomMobile\n\t},\n\ticonPaddingLeftMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingLeftMobile\n\t},\n\ticonPaddingUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconPaddingUnit\n\t},\n\ticonPaddingSyncUnits: {\n\t\ttype: 'boolean',\n\t\tdefault: false\n\t},\n\ticonSize: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.iconSize\n\t},\n\ticonSizeTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.iconSizeTablet\n\t},\n\ticonSizeMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.headline.iconSizeMobile\n\t},\n\ticonSizeUnit: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.iconSizeUnit\n\t},\n\tinlineWidth: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.inlineWidth\n\t},\n\tinlineWidthTablet: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.inlineWidthTablet\n\t},\n\tinlineWidthMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.inlineWidthMobile\n\t},\n\tremoveText: {\n\t\ttype: 'boolean',\n\t\tdefault: generateBlocksDefaults.headline.removeText\n\t},\n\tariaLabel: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.headline.ariaLabel\n\t}\n});\n/* eslint-enable no-undef *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2hlYWRsaW5lL2F0dHJpYnV0ZXMuanM/YTdiOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuZXhwb3J0IGRlZmF1bHQge1xuXHR1bmlxdWVJZDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6ICcnXG5cdH0sXG5cdGVsZW1lbnRJZDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6ICcnXG5cdH0sXG5cdGNzc0NsYXNzZXM6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiAnJ1xuXHR9LFxuXHRjb250ZW50OiB7XG5cdFx0dHlwZTogJ2FycmF5Jyxcblx0XHRzb3VyY2U6ICdjaGlsZHJlbicsXG5cdFx0c2VsZWN0b3I6ICdwLGgxLGgyLGgzLGg0LGg1LGg2J1xuXHR9LFxuXHRlbGVtZW50OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5lbGVtZW50XG5cdH0sXG5cdGFsaWdubWVudDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYWxpZ25tZW50XG5cdH0sXG5cdGFsaWdubWVudFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYWxpZ25tZW50VGFibGV0XG5cdH0sXG5cdGFsaWdubWVudE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYWxpZ25tZW50TW9iaWxlXG5cdH0sXG5cdGJhY2tncm91bmRDb2xvcjoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYmFja2dyb3VuZENvbG9yXG5cdH0sXG5cdGJhY2tncm91bmRDb2xvck9wYWNpdHk6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJhY2tncm91bmRDb2xvck9wYWNpdHlcblx0fSxcblx0dGV4dENvbG9yOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS50ZXh0Q29sb3Jcblx0fSxcblx0bGlua0NvbG9yOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5saW5rQ29sb3Jcblx0fSxcblx0bGlua0NvbG9ySG92ZXI6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmxpbmtDb2xvckhvdmVyXG5cdH0sXG5cdGJvcmRlckNvbG9yOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5ib3JkZXJDb2xvclxuXHR9LFxuXHRib3JkZXJDb2xvck9wYWNpdHk6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJvcmRlckNvbG9yT3BhY2l0eVxuXHR9LFxuXHRoaWdobGlnaHRUZXh0Q29sb3I6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmhpZ2hsaWdodFRleHRDb2xvclxuXHR9LFxuXHRzaG93QWR2YW5jZWRUeXBvZ3JhcGh5OiB7XG5cdFx0dHlwZTogJ2Jvb2xlYW4nLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuc2hvd0FkdmFuY2VkVHlwb2dyYXBoeVxuXHR9LFxuXHRmb250RmFtaWx5OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5mb250RmFtaWx5XG5cdH0sXG5cdGZvbnRGYW1pbHlGYWxsYmFjazoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuZm9udEZhbWlseUZhbGxiYWNrXG5cdH0sXG5cdGdvb2dsZUZvbnQ6IHtcblx0XHR0eXBlOiAnYm9vbGVhbicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5nb29nbGVGb250XG5cdH0sXG5cdGdvb2dsZUZvbnRWYXJpYW50czoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuZ29vZ2xlRm9udFZhcmlhbnRzXG5cdH0sXG5cdGZvbnRXZWlnaHQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmZvbnRXZWlnaHRcblx0fSxcblx0Zm9udFNpemU6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmZvbnRTaXplXG5cdH0sXG5cdGZvbnRTaXplVGFibGV0OiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5mb250U2l6ZVRhYmxldFxuXHR9LFxuXHRmb250U2l6ZU1vYmlsZToge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuZm9udFNpemVNb2JpbGVcblx0fSxcblx0Zm9udFNpemVVbml0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5mb250U2l6ZVVuaXRcblx0fSxcblx0dGV4dFRyYW5zZm9ybToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6ICcnXG5cdH0sXG5cdGxpbmVIZWlnaHQ6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmxpbmVIZWlnaHRcblx0fSxcblx0bGluZUhlaWdodFRhYmxldDoge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubGluZUhlaWdodFRhYmxldFxuXHR9LFxuXHRsaW5lSGVpZ2h0TW9iaWxlOiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5saW5lSGVpZ2h0TW9iaWxlXG5cdH0sXG5cdGxpbmVIZWlnaHRVbml0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5saW5lSGVpZ2h0VW5pdFxuXHR9LFxuXHRsZXR0ZXJTcGFjaW5nOiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5sZXR0ZXJTcGFjaW5nXG5cdH0sXG5cdGxldHRlclNwYWNpbmdUYWJsZXQ6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmxldHRlclNwYWNpbmdUYWJsZXRcblx0fSxcblx0bGV0dGVyU3BhY2luZ01vYmlsZToge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubGV0dGVyU3BhY2luZ01vYmlsZVxuXHR9LFxuXHRtYXJnaW5Ub3A6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLm1hcmdpblRvcFxuXHR9LFxuXHRtYXJnaW5SaWdodDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luUmlnaHRcblx0fSxcblx0bWFyZ2luQm90dG9tOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5tYXJnaW5Cb3R0b21cblx0fSxcblx0bWFyZ2luTGVmdDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luTGVmdFxuXHR9LFxuXHRtYXJnaW5Vbml0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5tYXJnaW5Vbml0XG5cdH0sXG5cdG1hcmdpblN5bmNVbml0czoge1xuXHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRkZWZhdWx0OiBmYWxzZVxuXHR9LFxuXHRtYXJnaW5Ub3BUYWJsZXQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLm1hcmdpblRvcFRhYmxldFxuXHR9LFxuXHRtYXJnaW5SaWdodFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luUmlnaHRUYWJsZXRcblx0fSxcblx0bWFyZ2luQm90dG9tVGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5tYXJnaW5Cb3R0b21UYWJsZXRcblx0fSxcblx0bWFyZ2luTGVmdFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luTGVmdFRhYmxldFxuXHR9LFxuXHRtYXJnaW5Ub3BNb2JpbGU6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLm1hcmdpblRvcE1vYmlsZVxuXHR9LFxuXHRtYXJnaW5SaWdodE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luUmlnaHRNb2JpbGVcblx0fSxcblx0bWFyZ2luQm90dG9tTW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5tYXJnaW5Cb3R0b21Nb2JpbGVcblx0fSxcblx0bWFyZ2luTGVmdE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUubWFyZ2luTGVmdE1vYmlsZVxuXHR9LFxuXHRwYWRkaW5nVG9wOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5wYWRkaW5nVG9wXG5cdH0sXG5cdHBhZGRpbmdSaWdodDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUucGFkZGluZ1JpZ2h0XG5cdH0sXG5cdHBhZGRpbmdCb3R0b206IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLnBhZGRpbmdCb3R0b21cblx0fSxcblx0cGFkZGluZ0xlZnQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLnBhZGRpbmdMZWZ0XG5cdH0sXG5cdHBhZGRpbmdUb3BUYWJsZXQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLnBhZGRpbmdUb3BUYWJsZXRcblx0fSxcblx0cGFkZGluZ1JpZ2h0VGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5wYWRkaW5nUmlnaHRUYWJsZXRcblx0fSxcblx0cGFkZGluZ0JvdHRvbVRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUucGFkZGluZ0JvdHRvbVRhYmxldFxuXHR9LFxuXHRwYWRkaW5nTGVmdFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUucGFkZGluZ0xlZnRUYWJsZXRcblx0fSxcblx0cGFkZGluZ1RvcE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUucGFkZGluZ1RvcE1vYmlsZVxuXHR9LFxuXHRwYWRkaW5nUmlnaHRNb2JpbGU6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLnBhZGRpbmdSaWdodE1vYmlsZVxuXHR9LFxuXHRwYWRkaW5nQm90dG9tTW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5wYWRkaW5nQm90dG9tTW9iaWxlXG5cdH0sXG5cdHBhZGRpbmdMZWZ0TW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5wYWRkaW5nTGVmdE1vYmlsZVxuXHR9LFxuXHRwYWRkaW5nVW5pdDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUucGFkZGluZ1VuaXRcblx0fSxcblx0cGFkZGluZ1N5bmNVbml0czoge1xuXHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRkZWZhdWx0OiBmYWxzZVxuXHR9LFxuXHRib3JkZXJTaXplVG9wOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5ib3JkZXJTaXplVG9wXG5cdH0sXG5cdGJvcmRlclNpemVSaWdodDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYm9yZGVyU2l6ZVJpZ2h0XG5cdH0sXG5cdGJvcmRlclNpemVCb3R0b206IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJvcmRlclNpemVCb3R0b21cblx0fSxcblx0Ym9yZGVyU2l6ZUxlZnQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJvcmRlclNpemVMZWZ0XG5cdH0sXG5cdGJvcmRlclNpemVUb3BUYWJsZXQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJvcmRlclNpemVUb3BUYWJsZXRcblx0fSxcblx0Ym9yZGVyU2l6ZVJpZ2h0VGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5ib3JkZXJTaXplUmlnaHRUYWJsZXRcblx0fSxcblx0Ym9yZGVyU2l6ZUJvdHRvbVRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYm9yZGVyU2l6ZUJvdHRvbVRhYmxldFxuXHR9LFxuXHRib3JkZXJTaXplTGVmdFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYm9yZGVyU2l6ZUxlZnRUYWJsZXRcblx0fSxcblx0Ym9yZGVyU2l6ZVRvcE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuYm9yZGVyU2l6ZVRvcE1vYmlsZVxuXHR9LFxuXHRib3JkZXJTaXplUmlnaHRNb2JpbGU6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmJvcmRlclNpemVSaWdodE1vYmlsZVxuXHR9LFxuXHRib3JkZXJTaXplQm90dG9tTW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5ib3JkZXJTaXplQm90dG9tTW9iaWxlXG5cdH0sXG5cdGJvcmRlclNpemVMZWZ0TW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5ib3JkZXJTaXplTGVmdE1vYmlsZVxuXHR9LFxuXHRpY29uOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0c291cmNlOiAnaHRtbCcsXG5cdFx0c2VsZWN0b3I6ICcuZ2ItaWNvbidcblx0fSxcblx0aGFzSWNvbjoge1xuXHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRkZWZhdWx0OiBmYWxzZVxuXHR9LFxuXHRpY29uQ29sb3I6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25Db2xvclxuXHR9LFxuXHRpY29uQ29sb3JPcGFjaXR5OiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uQ29sb3JPcGFjaXR5XG5cdH0sXG5cdGN1c3RvbUljb246IHtcblx0XHR0eXBlOiAnYm9vbGVhbicsXG5cdFx0ZGVmYXVsdDogZmFsc2Vcblx0fSxcblx0aWNvbkxvY2F0aW9uOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uTG9jYXRpb25cblx0fSxcblx0aWNvbkxvY2F0aW9uVGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uTG9jYXRpb25UYWJsZXRcblx0fSxcblx0aWNvbkxvY2F0aW9uTW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uTG9jYXRpb25Nb2JpbGVcblx0fSxcblx0aWNvblZlcnRpY2FsQWxpZ25tZW50OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uVmVydGljYWxBbGlnbm1lbnRcblx0fSxcblx0aWNvblZlcnRpY2FsQWxpZ25tZW50VGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uVmVydGljYWxBbGlnbm1lbnRUYWJsZXRcblx0fSxcblx0aWNvblZlcnRpY2FsQWxpZ25tZW50TW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uVmVydGljYWxBbGlnbm1lbnRNb2JpbGVcblx0fSxcblx0aWNvblBhZGRpbmdUb3A6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25QYWRkaW5nVG9wXG5cdH0sXG5cdGljb25QYWRkaW5nUmlnaHQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25QYWRkaW5nUmlnaHRcblx0fSxcblx0aWNvblBhZGRpbmdCb3R0b206IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25QYWRkaW5nQm90dG9tXG5cdH0sXG5cdGljb25QYWRkaW5nTGVmdDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaWNvblBhZGRpbmdMZWZ0XG5cdH0sXG5cdGljb25QYWRkaW5nVG9wVGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uUGFkZGluZ1RvcFRhYmxldFxuXHR9LFxuXHRpY29uUGFkZGluZ1JpZ2h0VGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uUGFkZGluZ1JpZ2h0VGFibGV0XG5cdH0sXG5cdGljb25QYWRkaW5nQm90dG9tVGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uUGFkZGluZ0JvdHRvbVRhYmxldFxuXHR9LFxuXHRpY29uUGFkZGluZ0xlZnRUYWJsZXQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25QYWRkaW5nTGVmdFRhYmxldFxuXHR9LFxuXHRpY29uUGFkZGluZ1RvcE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaWNvblBhZGRpbmdUb3BNb2JpbGVcblx0fSxcblx0aWNvblBhZGRpbmdSaWdodE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaWNvblBhZGRpbmdSaWdodE1vYmlsZVxuXHR9LFxuXHRpY29uUGFkZGluZ0JvdHRvbU1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaWNvblBhZGRpbmdCb3R0b21Nb2JpbGVcblx0fSxcblx0aWNvblBhZGRpbmdMZWZ0TW9iaWxlOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uUGFkZGluZ0xlZnRNb2JpbGVcblx0fSxcblx0aWNvblBhZGRpbmdVbml0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uUGFkZGluZ1VuaXRcblx0fSxcblx0aWNvblBhZGRpbmdTeW5jVW5pdHM6IHtcblx0XHR0eXBlOiAnYm9vbGVhbicsXG5cdFx0ZGVmYXVsdDogZmFsc2Vcblx0fSxcblx0aWNvblNpemU6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmljb25TaXplXG5cdH0sXG5cdGljb25TaXplVGFibGV0OiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uU2l6ZVRhYmxldFxuXHR9LFxuXHRpY29uU2l6ZU1vYmlsZToge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaWNvblNpemVNb2JpbGVcblx0fSxcblx0aWNvblNpemVVbml0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pY29uU2l6ZVVuaXRcblx0fSxcblx0aW5saW5lV2lkdGg6IHtcblx0XHR0eXBlOiAnYm9vbGVhbicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5pbmxpbmVXaWR0aFxuXHR9LFxuXHRpbmxpbmVXaWR0aFRhYmxldDoge1xuXHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLmlubGluZVdpZHRoVGFibGV0XG5cdH0sXG5cdGlubGluZVdpZHRoTW9iaWxlOiB7XG5cdFx0dHlwZTogJ2Jvb2xlYW4nLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuaGVhZGxpbmUuaW5saW5lV2lkdGhNb2JpbGVcblx0fSxcblx0cmVtb3ZlVGV4dDoge1xuXHRcdHR5cGU6ICdib29sZWFuJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmhlYWRsaW5lLnJlbW92ZVRleHRcblx0fSxcblx0YXJpYUxhYmVsOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5oZWFkbGluZS5hcmlhTGFiZWxcblx0fVxufTtcbi8qIGVzbGludC1lbmFibGUgbm8tdW5kZWYgKi9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvaGVhZGxpbmUvYXR0cmlidXRlcy5qc1xuLy8gbW9kdWxlIGlkID0gMTdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///17\n");
280
+
281
+ /***/ }),
282
+ /* 18 */
283
+ /*!***********************!*\
284
+ !*** ./src/blocks.js ***!
285
+ \***********************/
286
+ /*! no exports provided */
287
+ /*! all exports used */
288
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
289
+
290
+ "use strict";
291
+ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__blocks_grid_block_js__ = __webpack_require__(/*! ./blocks/grid/block.js */ 19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__blocks_container_block_js__ = __webpack_require__(/*! ./blocks/container/block.js */ 27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__blocks_button_container_block_js__ = __webpack_require__(/*! ./blocks/button-container/block.js */ 40);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__blocks_button_block_js__ = __webpack_require__(/*! ./blocks/button/block.js */ 46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__blocks_headline_block_js__ = __webpack_require__(/*! ./blocks/headline/block.js */ 58);\n/**\n * GenerateBlocks\n */\n\n\n\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzLmpzPzdiNWIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZUJsb2Nrc1xuICovXG5cbmltcG9ydCAnLi9ibG9ja3MvZ3JpZC9ibG9jay5qcyc7XG5pbXBvcnQgJy4vYmxvY2tzL2NvbnRhaW5lci9ibG9jay5qcyc7XG5pbXBvcnQgJy4vYmxvY2tzL2J1dHRvbi1jb250YWluZXIvYmxvY2suanMnO1xuaW1wb3J0ICcuL2Jsb2Nrcy9idXR0b24vYmxvY2suanMnO1xuaW1wb3J0ICcuL2Jsb2Nrcy9oZWFkbGluZS9ibG9jay5qcyc7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzLmpzXG4vLyBtb2R1bGUgaWQgPSAxOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Iiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///18\n");
292
+
293
+ /***/ }),
294
+ /* 19 */
295
+ /*!**********************************!*\
296
+ !*** ./src/blocks/grid/block.js ***!
297
+ \**********************************/
298
+ /*! no exports provided */
299
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
300
+
301
+ "use strict";
302
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__edit__ = __webpack_require__(/*! ./edit */ 21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__save__ = __webpack_require__(/*! ./save */ 25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__attributes__ = __webpack_require__(/*! ./attributes */ 26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n/**\n * Block: Grid\n */\n\n\n\n\n\n\n\n\nvar __ = wp.i18n.__;\nvar registerBlockType = wp.blocks.registerBlockType;\n\n/**\n * Register our Grid block.\n *\n * @param {string} name Block name.\n * @param {Object} settings Block settings.\n * @return {?WPBlock} The block, if it has been successfully\n * registered; otherwise `undefined`.\n */\n\nregisterBlockType('generateblocks/grid', {\n\ttitle: __('Grid', 'generateblocks'),\n\tdescription: __('Create advanced layouts with flexible grids.', 'generateblocks'),\n\ticon: Object(__WEBPACK_IMPORTED_MODULE_4__utils_get_icon__[\"a\" /* default */])('grid'),\n\tcategory: 'generateblocks',\n\tkeywords: [__('grid'), __('column'), __('generate')],\n\tattributes: __WEBPACK_IMPORTED_MODULE_3__attributes__[\"a\" /* default */],\n\tsupports: {\n\t\tanchor: false,\n\t\tclassName: false,\n\t\tcustomClassName: false\n\t},\n\tedit: __WEBPACK_IMPORTED_MODULE_1__edit__[\"a\" /* default */],\n\tsave: __WEBPACK_IMPORTED_MODULE_2__save__[\"a\" /* default */]\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvYmxvY2suanM/NmI1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEJsb2NrOiBHcmlkXG4gKi9cblxuaW1wb3J0ICcuL2VkaXRvci5zY3NzJztcblxuaW1wb3J0IGVkaXRHcmlkQ29udGFpbmVyIGZyb20gJy4vZWRpdCc7XG5pbXBvcnQgc2F2ZUdyaWRDb250YWluZXIgZnJvbSAnLi9zYXZlJztcbmltcG9ydCBibG9ja0F0dHJpYnV0ZXMgZnJvbSAnLi9hdHRyaWJ1dGVzJztcbmltcG9ydCBnZXRJY29uIGZyb20gJy4uLy4uL3V0aWxzL2dldC1pY29uJztcblxudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciByZWdpc3RlckJsb2NrVHlwZSA9IHdwLmJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZTtcblxuLyoqXG4gKiBSZWdpc3RlciBvdXIgR3JpZCBibG9jay5cbiAqXG4gKiBAcGFyYW0gIHtzdHJpbmd9ICAgbmFtZSAgICAgQmxvY2sgbmFtZS5cbiAqIEBwYXJhbSAge09iamVjdH0gICBzZXR0aW5ncyBCbG9jayBzZXR0aW5ncy5cbiAqIEByZXR1cm4gez9XUEJsb2NrfSAgICAgICAgICBUaGUgYmxvY2ssIGlmIGl0IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWQ7IG90aGVyd2lzZSBgdW5kZWZpbmVkYC5cbiAqL1xuXG5yZWdpc3RlckJsb2NrVHlwZSgnZ2VuZXJhdGVibG9ja3MvZ3JpZCcsIHtcblx0dGl0bGU6IF9fKCdHcmlkJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdGRlc2NyaXB0aW9uOiBfXygnQ3JlYXRlIGFkdmFuY2VkIGxheW91dHMgd2l0aCBmbGV4aWJsZSBncmlkcy4nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0aWNvbjogZ2V0SWNvbignZ3JpZCcpLFxuXHRjYXRlZ29yeTogJ2dlbmVyYXRlYmxvY2tzJyxcblx0a2V5d29yZHM6IFtfXygnZ3JpZCcpLCBfXygnY29sdW1uJyksIF9fKCdnZW5lcmF0ZScpXSxcblx0YXR0cmlidXRlczogYmxvY2tBdHRyaWJ1dGVzLFxuXHRzdXBwb3J0czoge1xuXHRcdGFuY2hvcjogZmFsc2UsXG5cdFx0Y2xhc3NOYW1lOiBmYWxzZSxcblx0XHRjdXN0b21DbGFzc05hbWU6IGZhbHNlXG5cdH0sXG5cdGVkaXQ6IGVkaXRHcmlkQ29udGFpbmVyLFxuXHRzYXZlOiBzYXZlR3JpZENvbnRhaW5lclxufSk7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2dyaWQvYmxvY2suanNcbi8vIG1vZHVsZSBpZCA9IDE5XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///19\n");
303
+
304
+ /***/ }),
305
+ /* 20 */
306
+ /*!*************************************!*\
307
+ !*** ./src/blocks/grid/editor.scss ***!
308
+ \*************************************/
309
+ /*! dynamic exports provided */
310
+ /***/ (function(module, exports) {
311
+
312
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvZWRpdG9yLnNjc3M/ZmU5NSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ncmlkL2VkaXRvci5zY3NzXG4vLyBtb2R1bGUgaWQgPSAyMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///20\n");
313
+
314
+ /***/ }),
315
+ /* 21 */
316
+ /*!*********************************!*\
317
+ !*** ./src/blocks/grid/edit.js ***!
318
+ \*********************************/
319
+ /*! exports provided: default */
320
+ /*! exports used: default */
321
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
322
+
323
+ "use strict";
324
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_responsive_tabs__ = __webpack_require__(/*! ../../components/responsive-tabs */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__css_desktop_js__ = __webpack_require__(/*! ./css/desktop.js */ 23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_panel_area___ = __webpack_require__(/*! ../../components/panel-area/ */ 4);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Block: Grid\n */\n\n\n\n\n\n\n\nvar __ = wp.i18n.__;\nvar _wp$components = wp.components,\n TextControl = _wp$components.TextControl,\n SelectControl = _wp$components.SelectControl,\n Tooltip = _wp$components.Tooltip,\n Placeholder = _wp$components.Placeholder,\n Button = _wp$components.Button,\n Toolbar = _wp$components.Toolbar;\nvar _wp$element = wp.element,\n Fragment = _wp$element.Fragment,\n Component = _wp$element.Component;\nvar _wp$blockEditor = wp.blockEditor,\n InspectorControls = _wp$blockEditor.InspectorControls,\n InnerBlocks = _wp$blockEditor.InnerBlocks,\n BlockControls = _wp$blockEditor.BlockControls;\nvar createBlock = wp.blocks.createBlock;\nvar applyFilters = wp.hooks.applyFilters;\n\n\nvar ELEMENT_ID_REGEX = /[\\s#]/g;\nvar gbGridIds = [];\n\nvar GenerateBlockGridContainer = function (_Component) {\n\t_inherits(GenerateBlockGridContainer, _Component);\n\n\tfunction GenerateBlockGridContainer() {\n\t\t_classCallCheck(this, GenerateBlockGridContainer);\n\n\t\tvar _this = _possibleConstructorReturn(this, (GenerateBlockGridContainer.__proto__ || Object.getPrototypeOf(GenerateBlockGridContainer)).apply(this, arguments));\n\n\t\t_this.state = {\n\t\t\tselectedLayout: false,\n\t\t\tselectedDevice: 'desktop'\n\t\t};\n\n\t\t_this.onLayoutSelect = _this.onLayoutSelect.bind(_this);\n\t\t_this.getColumnsFromLayout = _this.getColumnsFromLayout.bind(_this);\n\t\t_this.getLayoutsSelector = _this.getLayoutsSelector.bind(_this);\n\t\treturn _this;\n\t}\n\n\t_createClass(GenerateBlockGridContainer, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tvar id = this.props.clientId.substr(2, 9).replace('-', '');\n\n\t\t\tif (!this.props.attributes.uniqueId) {\n\t\t\t\tthis.props.setAttributes({\n\t\t\t\t\tuniqueId: id\n\t\t\t\t});\n\n\t\t\t\tgbGridIds.push(id);\n\t\t\t} else if (gbGridIds.includes(this.props.attributes.uniqueId)) {\n\t\t\t\tthis.props.setAttributes({\n\t\t\t\t\tuniqueId: id\n\t\t\t\t});\n\n\t\t\t\tgbGridIds.push(id);\n\t\t\t} else {\n\t\t\t\tgbGridIds.push(this.props.attributes.uniqueId);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate() {\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t setAttributes = _props.setAttributes,\n\t\t\t clientId = _props.clientId;\n\t\t\tvar columns = attributes.columns;\n\n\n\t\t\tif (this.state.selectedLayout) {\n\t\t\t\tvar columnsData = this.getColumnsFromLayout(this.state.selectedLayout);\n\n\t\t\t\tcolumnsData.forEach(function (colAttrs) {\n\t\t\t\t\twp.data.dispatch('core/block-editor').insertBlocks(createBlock('generateblocks/container', colAttrs), undefined, clientId, false);\n\t\t\t\t});\n\n\t\t\t\tcolumns = columnsData.length;\n\n\t\t\t\tsetAttributes({\n\t\t\t\t\tcolumns: columns\n\t\t\t\t});\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedLayout: false\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tvar parentBlock = wp.data.select('core/block-editor').getBlocksByClientId(clientId)[0];\n\n\t\t\t\tif (parentBlock) {\n\t\t\t\t\tvar childBlocks = parentBlock.innerBlocks;\n\t\t\t\t\tcolumns = childBlocks.length;\n\n\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\tcolumns: columns\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n * Get columns sizes array from layout string\n *\n * @param {string} layout - layout data. Example: `3-6-3`\n *\n * @return {array}.\n */\n\n\t}, {\n\t\tkey: 'getColumnsFromLayout',\n\t\tvalue: function getColumnsFromLayout(layout) {\n\t\t\tvar _this2 = this;\n\n\t\t\tvar result = [];\n\t\t\tvar columnsData = layout.split('-');\n\n\t\t\tvar i = 0;\n\t\t\tcolumnsData.forEach(function () {\n\t\t\t\tvar colAttrs = {\n\t\t\t\t\tisGrid: true,\n\t\t\t\t\tgridId: _this2.props.attributes.uniqueId,\n\t\t\t\t\tpaddingTop: generateBlocksStyling.container.gridItemPaddingTop || '0',\n\t\t\t\t\tpaddingRight: generateBlocksStyling.container.gridItemPaddingRight || '0',\n\t\t\t\t\tpaddingBottom: generateBlocksStyling.container.gridItemPaddingBottom || '0',\n\t\t\t\t\tpaddingLeft: generateBlocksStyling.container.gridItemPaddingLeft || '0'\n\t\t\t\t};\n\n\t\t\t\tcolAttrs.width = Number(columnsData[i]);\n\t\t\t\ti++;\n\n\t\t\t\tresult.push(colAttrs);\n\t\t\t});\n\n\t\t\treturn result;\n\t\t}\n\n\t\t/**\n * Layouts selector when no columns selected.\n *\n * @return {jsx}.\n */\n\n\t}, {\n\t\tkey: 'getLayoutsSelector',\n\t\tvalue: function getLayoutsSelector() {\n\t\t\tvar _this3 = this;\n\n\t\t\tvar layouts = ['100', '50-50', '33.33-33.33-33.33', '25-25-25-25', '25-75', '75-25', '25-25-50', '25-50-25', '50-25-25', '20-60-20', '20-20-20-20-20', '16.66-16.66-16.66-16.66-16.66-16.66'];\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tPlaceholder,\n\t\t\t\t{\n\t\t\t\t\tlabel: __('Grid', 'generateblocks'),\n\t\t\t\t\tinstructions: __('Select one layout to get started.', 'generateblocks'),\n\t\t\t\t\tclassName: 'gb-select-layout'\n\t\t\t\t},\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: 'gb-grid-wrapper-layout-preview' },\n\t\t\t\t\tlayouts.map(function (layout) {\n\t\t\t\t\t\tvar columnsData = _this3.getColumnsFromLayout(layout);\n\n\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t'button',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tkey: 'layout-' + layout,\n\t\t\t\t\t\t\t\tclassName: 'gb-grid-wrapper-layout-preview-btn',\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\treturn _this3.onLayoutSelect(layout);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tcolumnsData.map(function (colAttrs, i) {\n\t\t\t\t\t\t\t\treturn wp.element.createElement('div', {\n\t\t\t\t\t\t\t\t\tkey: 'layout-' + layout + '-col-' + i,\n\t\t\t\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()('gb-col', 'gb-col-' + colAttrs.width)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t/**\n * Select predefined layout.\n *\n * @param {String} layout layout string.\n */\n\n\t}, {\n\t\tkey: 'onLayoutSelect',\n\t\tvalue: function onLayoutSelect(layout) {\n\t\t\tthis.setState({\n\t\t\t\tselectedLayout: layout\n\t\t\t});\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this4 = this,\n\t\t\t _classnames;\n\n\t\t\tvar _props2 = this.props,\n\t\t\t attributes = _props2.attributes,\n\t\t\t setAttributes = _props2.setAttributes,\n\t\t\t clientId = _props2.clientId;\n\t\t\tvar selectedDevice = this.state.selectedDevice;\n\t\t\tvar uniqueId = attributes.uniqueId,\n\t\t\t elementId = attributes.elementId,\n\t\t\t cssClasses = attributes.cssClasses,\n\t\t\t columns = attributes.columns,\n\t\t\t horizontalGap = attributes.horizontalGap,\n\t\t\t verticalGap = attributes.verticalGap,\n\t\t\t verticalAlignment = attributes.verticalAlignment,\n\t\t\t horizontalGapTablet = attributes.horizontalGapTablet,\n\t\t\t verticalGapTablet = attributes.verticalGapTablet,\n\t\t\t verticalAlignmentTablet = attributes.verticalAlignmentTablet,\n\t\t\t horizontalGapMobile = attributes.horizontalGapMobile,\n\t\t\t verticalGapMobile = attributes.verticalGapMobile,\n\t\t\t verticalAlignmentMobile = attributes.verticalAlignmentMobile,\n\t\t\t horizontalAlignment = attributes.horizontalAlignment,\n\t\t\t horizontalAlignmentTablet = attributes.horizontalAlignmentTablet,\n\t\t\t horizontalAlignmentMobile = attributes.horizontalAlignmentMobile;\n\n\n\t\t\tvar horizontalGapPlaceholderTablet = horizontalGap || 0 === horizontalGap ? horizontalGap : '',\n\t\t\t verticalGapPlaceholderTablet = verticalGap || 0 === verticalGap ? verticalGap : '';\n\n\t\t\tvar horizontalGapPlaceholderMobile = horizontalGap || 0 === horizontalGap ? horizontalGap : '',\n\t\t\t verticalGapPlaceholderMobile = verticalGap || 0 === verticalGap ? verticalGap : '';\n\n\t\t\tif (horizontalGapTablet) {\n\t\t\t\thorizontalGapPlaceholderMobile = horizontalGapTablet;\n\t\t\t}\n\n\t\t\tif (verticalGapTablet) {\n\t\t\t\tverticalGapPlaceholderMobile = verticalGapTablet;\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tBlockControls,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tToolbar,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t{ text: __('Add Grid Item', 'generateblocks') },\n\t\t\t\t\t\t\twp.element.createElement(Button, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-block-control-icon gblocks-add-grid-item',\n\t\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_icon__[\"a\" /* default */])('addContainer'),\n\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\twp.data.dispatch('core/block-editor').insertBlocks(createBlock('generateblocks/container', {\n\t\t\t\t\t\t\t\t\t\tisGrid: true,\n\t\t\t\t\t\t\t\t\t\tgridId: uniqueId,\n\t\t\t\t\t\t\t\t\t\tpaddingTop: generateBlocksStyling.container.gridItemPaddingTop || '0',\n\t\t\t\t\t\t\t\t\t\tpaddingRight: generateBlocksStyling.container.gridItemPaddingRight || '0',\n\t\t\t\t\t\t\t\t\t\tpaddingBottom: generateBlocksStyling.container.gridItemPaddingBottom || '0',\n\t\t\t\t\t\t\t\t\t\tpaddingLeft: generateBlocksStyling.container.gridItemPaddingLeft || '0'\n\t\t\t\t\t\t\t\t\t}), undefined, clientId);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tInspectorControls,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_2__components_responsive_tabs__[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\tselectedDevice: selectedDevice,\n\t\t\t\t\t\tonClick: function onClick(device) {\n\t\t\t\t\t\t\t_this4.setState({\n\t\t\t\t\t\t\t\tselectedDevice: device\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_4__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\tid: 'gridLayout',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t'desktop' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Horizontal Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'h-gap-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'h-gap-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: horizontalGap || 0 === horizontalGap ? horizontalGap : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No hyphens allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\thorizontalGap: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!horizontalGap && generateBlocksDefaults.gridContainer.horizontalGap) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGap: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGap: parseFloat(horizontalGap)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGap: generateBlocksDefaults.gridContainer.horizontalGap\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Vertical Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'v-gap-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'v-gap-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: verticalGap || 0 === verticalGap ? verticalGap : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\tverticalGap: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!verticalGap && generateBlocksDefaults.gridContainer.verticalGap) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGap: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGap: parseFloat(verticalGap)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGap: generateBlocksDefaults.gridContainer.verticalGap\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignment,\n\t\t\t\t\t\t\t\thelp: __('Align grid items. Removes same height columns and overrides grid item content alignment.', 'generateblocks'),\n\t\t\t\t\t\t\t\toptions: [{ label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignment: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Horizontal Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: horizontalAlignment,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Default', 'generateblocks'), value: '' }, { label: __('Left', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Right', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\thorizontalAlignment: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'tablet' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Horizontal Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'h-gap-tablet-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'h-gap-tablet-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: horizontalGapTablet || 0 === horizontalGapTablet ? horizontalGapTablet : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tplaceholder: horizontalGapPlaceholderTablet,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\thorizontalGapTablet: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!horizontalGapTablet && generateBlocksDefaults.gridContainer.horizontalGapTablet) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapTablet: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapTablet: parseFloat(horizontalGapTablet)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapTablet: generateBlocksDefaults.gridContainer.horizontalGapTablet\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Vertical Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'v-gap-tablet-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'v-gap-tablet-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: verticalGapTablet || 0 === verticalGapTablet ? verticalGapTablet : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tplaceholder: verticalGapPlaceholderTablet,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\tverticalGapTablet: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!verticalGapTablet && generateBlocksDefaults.gridContainer.verticalGapTablet) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapTablet: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapTablet: parseFloat(verticalGapTablet)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapTablet: generateBlocksDefaults.gridContainer.verticalGapTablet\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('Align grid items. Removes same height columns and overrides grid item content alignment.', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentTablet,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Horizontal Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: horizontalAlignmentTablet,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Left', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Right', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\thorizontalAlignmentTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'mobile' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Horizontal Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'h-gap-mobile-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'h-gap-mobile-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: horizontalGapMobile || 0 === horizontalGapMobile ? horizontalGapMobile : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tplaceholder: horizontalGapPlaceholderMobile,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\thorizontalGapMobile: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!horizontalGapMobile && generateBlocksDefaults.gridContainer.horizontalGapMobile) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapMobile: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapMobile: parseFloat(horizontalGapMobile)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\thorizontalGapMobile: generateBlocksDefaults.gridContainer.horizontalGapMobile\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Vertical Gap', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'v-gap-mobile-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'v-gap-mobile-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-base-control components-gblocks-typography-control__inputs' },\n\t\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\t\tvalue: verticalGapMobile || 0 === verticalGapMobile ? verticalGapMobile : '',\n\t\t\t\t\t\t\t\t\tmin: '0',\n\t\t\t\t\t\t\t\t\tplaceholder: verticalGapPlaceholderMobile,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\t// No negative values allowed here.\n\t\t\t\t\t\t\t\t\t\tvalue = value.toString().replace(/-/g, '');\n\n\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\tverticalGapMobile: value\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\t\t\tif (!verticalGapMobile && generateBlocksDefaults.gridContainer.verticalGapMobile) {\n\t\t\t\t\t\t\t\t\t\t\t// If we have no value and a default exists, set to 0 to prevent default from coming back.\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapMobile: 0\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapMobile: parseFloat(verticalGapMobile)\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\tisSecondary: true,\n\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-default-number',\n\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\t\t\tverticalGapMobile: generateBlocksDefaults.gridContainer.verticalGapMobile\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t__('Reset', 'generateblocks')\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('Align grid items. Removes same height columns and overrides grid item content alignment.', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentMobile,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Horizontal Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: horizontalAlignmentMobile,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Left', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Right', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\thorizontalAlignmentMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'gridLayout', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_4__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Advanced', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_icon__[\"a\" /* default */])('advanced'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'gridAdvanced',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Element ID', 'generateblocks'),\n\t\t\t\t\t\t\tvalue: elementId,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tvar newElementId = value.replace(ELEMENT_ID_REGEX, '-');\n\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\telementId: newElementId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('CSS Classes', 'generateblocks'),\n\t\t\t\t\t\t\tvalue: cssClasses,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tcssClasses: value\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'gridAdvanced', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_4__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Documentation', 'generateblocks'),\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_1__utils_get_icon__[\"a\" /* default */])('documentation'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'gridDocumentation',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'p',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t__('Need help with this block?', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'a',\n\t\t\t\t\t\t\t{ href: 'https://docs.generateblocks.com/collection/grid/', target: '_blank', rel: 'noreferrer noopener' },\n\t\t\t\t\t\t\t__('Visit our documentation', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'gridDocumentation', this.props, this.state)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_3__css_desktop_js__[\"a\" /* default */], this.props),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{\n\t\t\t\t\t\tid: !!elementId ? elementId : undefined,\n\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()((_classnames = {\n\t\t\t\t\t\t\t'gb-grid-wrapper': true\n\t\t\t\t\t\t}, _defineProperty(_classnames, 'gb-grid-wrapper-' + uniqueId, true), _defineProperty(_classnames, '' + cssClasses, '' !== cssClasses), _classnames))\n\t\t\t\t\t},\n\t\t\t\t\tcolumns > 0 || this.state.selectedLayout ? wp.element.createElement(\n\t\t\t\t\t\tFragment,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\twp.element.createElement(InnerBlocks, {\n\t\t\t\t\t\t\tallowedBlocks: ['generateblocks/container'],\n\t\t\t\t\t\t\trenderAppender: false\n\t\t\t\t\t\t})\n\t\t\t\t\t) : this.getLayoutsSelector()\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn GenerateBlockGridContainer;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GenerateBlockGridContainer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvZWRpdC5qcz8xZDQwIl0sInNvdXJjZXNDb250ZW50IjpbInZhciBfZXh0ZW5kcyA9IE9iamVjdC5hc3NpZ24gfHwgZnVuY3Rpb24gKHRhcmdldCkgeyBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgeyB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldOyBmb3IgKHZhciBrZXkgaW4gc291cmNlKSB7IGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7IHRhcmdldFtrZXldID0gc291cmNlW2tleV07IH0gfSB9IHJldHVybiB0YXJnZXQ7IH07XG5cbnZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7IH0gfSByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykgeyBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpOyBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9OyB9KCk7XG5cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayhpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHsgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTsgfSB9XG5cbmZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTsgfSByZXR1cm4gY2FsbCAmJiAodHlwZW9mIGNhbGwgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGNhbGwgPT09IFwiZnVuY3Rpb25cIikgPyBjYWxsIDogc2VsZjsgfVxuXG5mdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSBcImZ1bmN0aW9uXCIgJiYgc3VwZXJDbGFzcyAhPT0gbnVsbCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIiArIHR5cGVvZiBzdXBlckNsYXNzKTsgfSBzdWJDbGFzcy5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKHN1cGVyQ2xhc3MgJiYgc3VwZXJDbGFzcy5wcm90b3R5cGUsIHsgY29uc3RydWN0b3I6IHsgdmFsdWU6IHN1YkNsYXNzLCBlbnVtZXJhYmxlOiBmYWxzZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSB9IH0pOyBpZiAoc3VwZXJDbGFzcykgT2JqZWN0LnNldFByb3RvdHlwZU9mID8gT2JqZWN0LnNldFByb3RvdHlwZU9mKHN1YkNsYXNzLCBzdXBlckNsYXNzKSA6IHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7IH1cblxuLyoqXG4gKiBCbG9jazogR3JpZFxuICovXG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IGdldEljb24gZnJvbSAnLi4vLi4vdXRpbHMvZ2V0LWljb24nO1xuaW1wb3J0IFJlc3BvbnNpdmVUYWJzIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS10YWJzJztcbmltcG9ydCBEZXNrdG9wQ1NTIGZyb20gJy4vY3NzL2Rlc2t0b3AuanMnO1xuaW1wb3J0IFBhbmVsQXJlYSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3BhbmVsLWFyZWEvJztcblxudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVGV4dENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5UZXh0Q29udHJvbCxcbiAgICBTZWxlY3RDb250cm9sID0gX3dwJGNvbXBvbmVudHMuU2VsZWN0Q29udHJvbCxcbiAgICBUb29sdGlwID0gX3dwJGNvbXBvbmVudHMuVG9vbHRpcCxcbiAgICBQbGFjZWhvbGRlciA9IF93cCRjb21wb25lbnRzLlBsYWNlaG9sZGVyLFxuICAgIEJ1dHRvbiA9IF93cCRjb21wb25lbnRzLkJ1dHRvbixcbiAgICBUb29sYmFyID0gX3dwJGNvbXBvbmVudHMuVG9vbGJhcjtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgRnJhZ21lbnQgPSBfd3AkZWxlbWVudC5GcmFnbWVudCxcbiAgICBDb21wb25lbnQgPSBfd3AkZWxlbWVudC5Db21wb25lbnQ7XG52YXIgX3dwJGJsb2NrRWRpdG9yID0gd3AuYmxvY2tFZGl0b3IsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkYmxvY2tFZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgSW5uZXJCbG9ja3MgPSBfd3AkYmxvY2tFZGl0b3IuSW5uZXJCbG9ja3MsXG4gICAgQmxvY2tDb250cm9scyA9IF93cCRibG9ja0VkaXRvci5CbG9ja0NvbnRyb2xzO1xudmFyIGNyZWF0ZUJsb2NrID0gd3AuYmxvY2tzLmNyZWF0ZUJsb2NrO1xudmFyIGFwcGx5RmlsdGVycyA9IHdwLmhvb2tzLmFwcGx5RmlsdGVycztcblxuXG52YXIgRUxFTUVOVF9JRF9SRUdFWCA9IC9bXFxzI10vZztcbnZhciBnYkdyaWRJZHMgPSBbXTtcblxudmFyIEdlbmVyYXRlQmxvY2tHcmlkQ29udGFpbmVyID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEdlbmVyYXRlQmxvY2tHcmlkQ29udGFpbmVyLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBHZW5lcmF0ZUJsb2NrR3JpZENvbnRhaW5lcigpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgR2VuZXJhdGVCbG9ja0dyaWRDb250YWluZXIpO1xuXG5cdFx0dmFyIF90aGlzID0gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKEdlbmVyYXRlQmxvY2tHcmlkQ29udGFpbmVyLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoR2VuZXJhdGVCbG9ja0dyaWRDb250YWluZXIpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblxuXHRcdF90aGlzLnN0YXRlID0ge1xuXHRcdFx0c2VsZWN0ZWRMYXlvdXQ6IGZhbHNlLFxuXHRcdFx0c2VsZWN0ZWREZXZpY2U6ICdkZXNrdG9wJ1xuXHRcdH07XG5cblx0XHRfdGhpcy5vbkxheW91dFNlbGVjdCA9IF90aGlzLm9uTGF5b3V0U2VsZWN0LmJpbmQoX3RoaXMpO1xuXHRcdF90aGlzLmdldENvbHVtbnNGcm9tTGF5b3V0ID0gX3RoaXMuZ2V0Q29sdW1uc0Zyb21MYXlvdXQuYmluZChfdGhpcyk7XG5cdFx0X3RoaXMuZ2V0TGF5b3V0c1NlbGVjdG9yID0gX3RoaXMuZ2V0TGF5b3V0c1NlbGVjdG9yLmJpbmQoX3RoaXMpO1xuXHRcdHJldHVybiBfdGhpcztcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhHZW5lcmF0ZUJsb2NrR3JpZENvbnRhaW5lciwgW3tcblx0XHRrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdFx0dmFyIGlkID0gdGhpcy5wcm9wcy5jbGllbnRJZC5zdWJzdHIoMiwgOSkucmVwbGFjZSgnLScsICcnKTtcblxuXHRcdFx0aWYgKCF0aGlzLnByb3BzLmF0dHJpYnV0ZXMudW5pcXVlSWQpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHR1bmlxdWVJZDogaWRcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Z2JHcmlkSWRzLnB1c2goaWQpO1xuXHRcdFx0fSBlbHNlIGlmIChnYkdyaWRJZHMuaW5jbHVkZXModGhpcy5wcm9wcy5hdHRyaWJ1dGVzLnVuaXF1ZUlkKSkge1xuXHRcdFx0XHR0aGlzLnByb3BzLnNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdHVuaXF1ZUlkOiBpZFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRnYkdyaWRJZHMucHVzaChpZCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRnYkdyaWRJZHMucHVzaCh0aGlzLnByb3BzLmF0dHJpYnV0ZXMudW5pcXVlSWQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSwge1xuXHRcdGtleTogJ2NvbXBvbmVudERpZFVwZGF0ZScsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZFVwZGF0ZSgpIHtcblx0XHRcdHZhciBfcHJvcHMgPSB0aGlzLnByb3BzLFxuXHRcdFx0ICAgIGF0dHJpYnV0ZXMgPSBfcHJvcHMuYXR0cmlidXRlcyxcblx0XHRcdCAgICBzZXRBdHRyaWJ1dGVzID0gX3Byb3BzLnNldEF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgY2xpZW50SWQgPSBfcHJvcHMuY2xpZW50SWQ7XG5cdFx0XHR2YXIgY29sdW1ucyA9IGF0dHJpYnV0ZXMuY29sdW1ucztcblxuXG5cdFx0XHRpZiAodGhpcy5zdGF0ZS5zZWxlY3RlZExheW91dCkge1xuXHRcdFx0XHR2YXIgY29sdW1uc0RhdGEgPSB0aGlzLmdldENvbHVtbnNGcm9tTGF5b3V0KHRoaXMuc3RhdGUuc2VsZWN0ZWRMYXlvdXQpO1xuXG5cdFx0XHRcdGNvbHVtbnNEYXRhLmZvckVhY2goZnVuY3Rpb24gKGNvbEF0dHJzKSB7XG5cdFx0XHRcdFx0d3AuZGF0YS5kaXNwYXRjaCgnY29yZS9ibG9jay1lZGl0b3InKS5pbnNlcnRCbG9ja3MoY3JlYXRlQmxvY2soJ2dlbmVyYXRlYmxvY2tzL2NvbnRhaW5lcicsIGNvbEF0dHJzKSwgdW5kZWZpbmVkLCBjbGllbnRJZCwgZmFsc2UpO1xuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRjb2x1bW5zID0gY29sdW1uc0RhdGEubGVuZ3RoO1xuXG5cdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdGNvbHVtbnM6IGNvbHVtbnNcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0dGhpcy5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0c2VsZWN0ZWRMYXlvdXQ6IGZhbHNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dmFyIHBhcmVudEJsb2NrID0gd3AuZGF0YS5zZWxlY3QoJ2NvcmUvYmxvY2stZWRpdG9yJykuZ2V0QmxvY2tzQnlDbGllbnRJZChjbGllbnRJZClbMF07XG5cblx0XHRcdFx0aWYgKHBhcmVudEJsb2NrKSB7XG5cdFx0XHRcdFx0dmFyIGNoaWxkQmxvY2tzID0gcGFyZW50QmxvY2suaW5uZXJCbG9ja3M7XG5cdFx0XHRcdFx0Y29sdW1ucyA9IGNoaWxkQmxvY2tzLmxlbmd0aDtcblxuXHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0Y29sdW1uczogY29sdW1uc1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyoqXG4gICAgICAqIEdldCBjb2x1bW5zIHNpemVzIGFycmF5IGZyb20gbGF5b3V0IHN0cmluZ1xuICAgICAgKlxuICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbGF5b3V0IC0gbGF5b3V0IGRhdGEuIEV4YW1wbGU6IGAzLTYtM2BcbiAgICAgICpcbiAgICAgICogQHJldHVybiB7YXJyYXl9LlxuICAgICAgKi9cblxuXHR9LCB7XG5cdFx0a2V5OiAnZ2V0Q29sdW1uc0Zyb21MYXlvdXQnLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBnZXRDb2x1bW5zRnJvbUxheW91dChsYXlvdXQpIHtcblx0XHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0XHR2YXIgcmVzdWx0ID0gW107XG5cdFx0XHR2YXIgY29sdW1uc0RhdGEgPSBsYXlvdXQuc3BsaXQoJy0nKTtcblxuXHRcdFx0dmFyIGkgPSAwO1xuXHRcdFx0Y29sdW1uc0RhdGEuZm9yRWFjaChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdHZhciBjb2xBdHRycyA9IHtcblx0XHRcdFx0XHRpc0dyaWQ6IHRydWUsXG5cdFx0XHRcdFx0Z3JpZElkOiBfdGhpczIucHJvcHMuYXR0cmlidXRlcy51bmlxdWVJZCxcblx0XHRcdFx0XHRwYWRkaW5nVG9wOiBnZW5lcmF0ZUJsb2Nrc1N0eWxpbmcuY29udGFpbmVyLmdyaWRJdGVtUGFkZGluZ1RvcCB8fCAnMCcsXG5cdFx0XHRcdFx0cGFkZGluZ1JpZ2h0OiBnZW5lcmF0ZUJsb2Nrc1N0eWxpbmcuY29udGFpbmVyLmdyaWRJdGVtUGFkZGluZ1JpZ2h0IHx8ICcwJyxcblx0XHRcdFx0XHRwYWRkaW5nQm90dG9tOiBnZW5lcmF0ZUJsb2Nrc1N0eWxpbmcuY29udGFpbmVyLmdyaWRJdGVtUGFkZGluZ0JvdHRvbSB8fCAnMCcsXG5cdFx0XHRcdFx0cGFkZGluZ0xlZnQ6IGdlbmVyYXRlQmxvY2tzU3R5bGluZy5jb250YWluZXIuZ3JpZEl0ZW1QYWRkaW5nTGVmdCB8fCAnMCdcblx0XHRcdFx0fTtcblxuXHRcdFx0XHRjb2xBdHRycy53aWR0aCA9IE51bWJlcihjb2x1bW5zRGF0YVtpXSk7XG5cdFx0XHRcdGkrKztcblxuXHRcdFx0XHRyZXN1bHQucHVzaChjb2xBdHRycyk7XG5cdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcblx0XHR9XG5cblx0XHQvKipcbiAgICAgICogTGF5b3V0cyBzZWxlY3RvciB3aGVuIG5vIGNvbHVtbnMgc2VsZWN0ZWQuXG4gICAgICAqXG4gICAgICAqIEByZXR1cm4ge2pzeH0uXG4gICAgICAqL1xuXG5cdH0sIHtcblx0XHRrZXk6ICdnZXRMYXlvdXRzU2VsZWN0b3InLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiBnZXRMYXlvdXRzU2VsZWN0b3IoKSB7XG5cdFx0XHR2YXIgX3RoaXMzID0gdGhpcztcblxuXHRcdFx0dmFyIGxheW91dHMgPSBbJzEwMCcsICc1MC01MCcsICczMy4zMy0zMy4zMy0zMy4zMycsICcyNS0yNS0yNS0yNScsICcyNS03NScsICc3NS0yNScsICcyNS0yNS01MCcsICcyNS01MC0yNScsICc1MC0yNS0yNScsICcyMC02MC0yMCcsICcyMC0yMC0yMC0yMC0yMCcsICcxNi42Ni0xNi42Ni0xNi42Ni0xNi42Ni0xNi42Ni0xNi42NiddO1xuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRQbGFjZWhvbGRlcixcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGxhYmVsOiBfXygnR3JpZCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdGluc3RydWN0aW9uczogX18oJ1NlbGVjdCBvbmUgbGF5b3V0IHRvIGdldCBzdGFydGVkLicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdGNsYXNzTmFtZTogJ2diLXNlbGVjdC1sYXlvdXQnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2diLWdyaWQtd3JhcHBlci1sYXlvdXQtcHJldmlldycgfSxcblx0XHRcdFx0XHRsYXlvdXRzLm1hcChmdW5jdGlvbiAobGF5b3V0KSB7XG5cdFx0XHRcdFx0XHR2YXIgY29sdW1uc0RhdGEgPSBfdGhpczMuZ2V0Q29sdW1uc0Zyb21MYXlvdXQobGF5b3V0KTtcblxuXHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2J1dHRvbicsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRrZXk6ICdsYXlvdXQtJyArIGxheW91dCxcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYi1ncmlkLXdyYXBwZXItbGF5b3V0LXByZXZpZXctYnRuJyxcblx0XHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIF90aGlzMy5vbkxheW91dFNlbGVjdChsYXlvdXQpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0Y29sdW1uc0RhdGEubWFwKGZ1bmN0aW9uIChjb2xBdHRycywgaSkge1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGtleTogJ2xheW91dC0nICsgbGF5b3V0ICsgJy1jb2wtJyArIGksXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2diLWNvbCcsICdnYi1jb2wtJyArIGNvbEF0dHJzLndpZHRoKVxuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdC8qKlxuICAgICAgKiBTZWxlY3QgcHJlZGVmaW5lZCBsYXlvdXQuXG4gICAgICAqXG4gICAgICAqIEBwYXJhbSB7U3RyaW5nfSBsYXlvdXQgbGF5b3V0IHN0cmluZy5cbiAgICAgICovXG5cblx0fSwge1xuXHRcdGtleTogJ29uTGF5b3V0U2VsZWN0Jyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gb25MYXlvdXRTZWxlY3QobGF5b3V0KSB7XG5cdFx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdFx0c2VsZWN0ZWRMYXlvdXQ6IGxheW91dFxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzNCA9IHRoaXMsXG5cdFx0XHQgICAgX2NsYXNzbmFtZXM7XG5cblx0XHRcdHZhciBfcHJvcHMyID0gdGhpcy5wcm9wcyxcblx0XHRcdCAgICBhdHRyaWJ1dGVzID0gX3Byb3BzMi5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMyLnNldEF0dHJpYnV0ZXMsXG5cdFx0XHQgICAgY2xpZW50SWQgPSBfcHJvcHMyLmNsaWVudElkO1xuXHRcdFx0dmFyIHNlbGVjdGVkRGV2aWNlID0gdGhpcy5zdGF0ZS5zZWxlY3RlZERldmljZTtcblx0XHRcdHZhciB1bmlxdWVJZCA9IGF0dHJpYnV0ZXMudW5pcXVlSWQsXG5cdFx0XHQgICAgZWxlbWVudElkID0gYXR0cmlidXRlcy5lbGVtZW50SWQsXG5cdFx0XHQgICAgY3NzQ2xhc3NlcyA9IGF0dHJpYnV0ZXMuY3NzQ2xhc3Nlcyxcblx0XHRcdCAgICBjb2x1bW5zID0gYXR0cmlidXRlcy5jb2x1bW5zLFxuXHRcdFx0ICAgIGhvcml6b250YWxHYXAgPSBhdHRyaWJ1dGVzLmhvcml6b250YWxHYXAsXG5cdFx0XHQgICAgdmVydGljYWxHYXAgPSBhdHRyaWJ1dGVzLnZlcnRpY2FsR2FwLFxuXHRcdFx0ICAgIHZlcnRpY2FsQWxpZ25tZW50ID0gYXR0cmlidXRlcy52ZXJ0aWNhbEFsaWdubWVudCxcblx0XHRcdCAgICBob3Jpem9udGFsR2FwVGFibGV0ID0gYXR0cmlidXRlcy5ob3Jpem9udGFsR2FwVGFibGV0LFxuXHRcdFx0ICAgIHZlcnRpY2FsR2FwVGFibGV0ID0gYXR0cmlidXRlcy52ZXJ0aWNhbEdhcFRhYmxldCxcblx0XHRcdCAgICB2ZXJ0aWNhbEFsaWdubWVudFRhYmxldCA9IGF0dHJpYnV0ZXMudmVydGljYWxBbGlnbm1lbnRUYWJsZXQsXG5cdFx0XHQgICAgaG9yaXpvbnRhbEdhcE1vYmlsZSA9IGF0dHJpYnV0ZXMuaG9yaXpvbnRhbEdhcE1vYmlsZSxcblx0XHRcdCAgICB2ZXJ0aWNhbEdhcE1vYmlsZSA9IGF0dHJpYnV0ZXMudmVydGljYWxHYXBNb2JpbGUsXG5cdFx0XHQgICAgdmVydGljYWxBbGlnbm1lbnRNb2JpbGUgPSBhdHRyaWJ1dGVzLnZlcnRpY2FsQWxpZ25tZW50TW9iaWxlLFxuXHRcdFx0ICAgIGhvcml6b250YWxBbGlnbm1lbnQgPSBhdHRyaWJ1dGVzLmhvcml6b250YWxBbGlnbm1lbnQsXG5cdFx0XHQgICAgaG9yaXpvbnRhbEFsaWdubWVudFRhYmxldCA9IGF0dHJpYnV0ZXMuaG9yaXpvbnRhbEFsaWdubWVudFRhYmxldCxcblx0XHRcdCAgICBob3Jpem9udGFsQWxpZ25tZW50TW9iaWxlID0gYXR0cmlidXRlcy5ob3Jpem9udGFsQWxpZ25tZW50TW9iaWxlO1xuXG5cblx0XHRcdHZhciBob3Jpem9udGFsR2FwUGxhY2Vob2xkZXJUYWJsZXQgPSBob3Jpem9udGFsR2FwIHx8IDAgPT09IGhvcml6b250YWxHYXAgPyBob3Jpem9udGFsR2FwIDogJycsXG5cdFx0XHQgICAgdmVydGljYWxHYXBQbGFjZWhvbGRlclRhYmxldCA9IHZlcnRpY2FsR2FwIHx8IDAgPT09IHZlcnRpY2FsR2FwID8gdmVydGljYWxHYXAgOiAnJztcblxuXHRcdFx0dmFyIGhvcml6b250YWxHYXBQbGFjZWhvbGRlck1vYmlsZSA9IGhvcml6b250YWxHYXAgfHwgMCA9PT0gaG9yaXpvbnRhbEdhcCA/IGhvcml6b250YWxHYXAgOiAnJyxcblx0XHRcdCAgICB2ZXJ0aWNhbEdhcFBsYWNlaG9sZGVyTW9iaWxlID0gdmVydGljYWxHYXAgfHwgMCA9PT0gdmVydGljYWxHYXAgPyB2ZXJ0aWNhbEdhcCA6ICcnO1xuXG5cdFx0XHRpZiAoaG9yaXpvbnRhbEdhcFRhYmxldCkge1xuXHRcdFx0XHRob3Jpem9udGFsR2FwUGxhY2Vob2xkZXJNb2JpbGUgPSBob3Jpem9udGFsR2FwVGFibGV0O1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAodmVydGljYWxHYXBUYWJsZXQpIHtcblx0XHRcdFx0dmVydGljYWxHYXBQbGFjZWhvbGRlck1vYmlsZSA9IHZlcnRpY2FsR2FwVGFibGV0O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdEJsb2NrQ29udHJvbHMsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRUb29sYmFyLFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnQWRkIEdyaWQgSXRlbScsICdnZW5lcmF0ZWJsb2NrcycpIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChCdXR0b24sIHtcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLWJsb2NrLWNvbnRyb2wtaWNvbiBnYmxvY2tzLWFkZC1ncmlkLWl0ZW0nLFxuXHRcdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2FkZENvbnRhaW5lcicpLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5kYXRhLmRpc3BhdGNoKCdjb3JlL2Jsb2NrLWVkaXRvcicpLmluc2VydEJsb2NrcyhjcmVhdGVCbG9jaygnZ2VuZXJhdGVibG9ja3MvY29udGFpbmVyJywge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0dyaWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGdyaWRJZDogdW5pcXVlSWQsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBhZGRpbmdUb3A6IGdlbmVyYXRlQmxvY2tzU3R5bGluZy5jb250YWluZXIuZ3JpZEl0ZW1QYWRkaW5nVG9wIHx8ICcwJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZ1JpZ2h0OiBnZW5lcmF0ZUJsb2Nrc1N0eWxpbmcuY29udGFpbmVyLmdyaWRJdGVtUGFkZGluZ1JpZ2h0IHx8ICcwJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZ0JvdHRvbTogZ2VuZXJhdGVCbG9ja3NTdHlsaW5nLmNvbnRhaW5lci5ncmlkSXRlbVBhZGRpbmdCb3R0b20gfHwgJzAnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nTGVmdDogZ2VuZXJhdGVCbG9ja3NTdHlsaW5nLmNvbnRhaW5lci5ncmlkSXRlbVBhZGRpbmdMZWZ0IHx8ICcwJ1xuXHRcdFx0XHRcdFx0XHRcdFx0fSksIHVuZGVmaW5lZCwgY2xpZW50SWQpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRJbnNwZWN0b3JDb250cm9scyxcblx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSZXNwb25zaXZlVGFicywgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdHNlbGVjdGVkRGV2aWNlOiBzZWxlY3RlZERldmljZSxcblx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZGV2aWNlKSB7XG5cdFx0XHRcdFx0XHRcdF90aGlzNC5zZXRTdGF0ZSh7XG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0ZWREZXZpY2U6IGRldmljZVxuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0aWQ6ICdncmlkTGF5b3V0Jyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0J2Rlc2t0b3AnID09PSBzZWxlY3RlZERldmljZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnSG9yaXpvbnRhbCBHYXAnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAnaC1nYXAtdW5pdCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6ICdoLWdhcC11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBfXygnUGl4ZWwgVW5pdHMnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3B4J1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWJhc2UtY29udHJvbCBjb21wb25lbnRzLWdibG9ja3MtdHlwb2dyYXBoeS1jb250cm9sX19pbnB1dHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBob3Jpem9udGFsR2FwIHx8IDAgPT09IGhvcml6b250YWxHYXAgPyBob3Jpem9udGFsR2FwIDogJycsXG5cdFx0XHRcdFx0XHRcdFx0XHRtaW46ICcwJyxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBObyBoeXBoZW5zIGFsbG93ZWQgaGVyZS5cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoLy0vZywgJycpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXA6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIWhvcml6b250YWxHYXAgJiYgZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLmhvcml6b250YWxHYXApIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBJZiB3ZSBoYXZlIG5vIHZhbHVlIGFuZCBhIGRlZmF1bHQgZXhpc3RzLCBzZXQgdG8gMCB0byBwcmV2ZW50IGRlZmF1bHQgZnJvbSBjb21pbmcgYmFjay5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXA6IDBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXA6IHBhcnNlRmxvYXQoaG9yaXpvbnRhbEdhcClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGUuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kZWZhdWx0LW51bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsR2FwOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIuaG9yaXpvbnRhbEdhcFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1Jlc2V0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdWZXJ0aWNhbCBHYXAnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAndi1nYXAtdW5pdCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6ICd2LWdhcC11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBfXygnUGl4ZWwgVW5pdHMnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3B4J1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWJhc2UtY29udHJvbCBjb21wb25lbnRzLWdibG9ja3MtdHlwb2dyYXBoeS1jb250cm9sX19pbnB1dHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2ZXJ0aWNhbEdhcCB8fCAwID09PSB2ZXJ0aWNhbEdhcCA/IHZlcnRpY2FsR2FwIDogJycsXG5cdFx0XHRcdFx0XHRcdFx0XHRtaW46ICcwJyxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvLS9nLCAnJyk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxHYXA6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIXZlcnRpY2FsR2FwICYmIGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci52ZXJ0aWNhbEdhcCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbm8gdmFsdWUgYW5kIGEgZGVmYXVsdCBleGlzdHMsIHNldCB0byAwIHRvIHByZXZlbnQgZGVmYXVsdCBmcm9tIGNvbWluZyBiYWNrLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxHYXA6IDBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwOiBwYXJzZUZsb2F0KHZlcnRpY2FsR2FwKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljayhlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NlY29uZGFyeTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRlZmF1bHQtbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIudmVydGljYWxHYXBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdSZXNldCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVmVydGljYWwgQWxpZ25tZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsQWxpZ25tZW50LFxuXHRcdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdBbGlnbiBncmlkIGl0ZW1zLiBSZW1vdmVzIHNhbWUgaGVpZ2h0IGNvbHVtbnMgYW5kIG92ZXJyaWRlcyBncmlkIGl0ZW0gY29udGVudCBhbGlnbm1lbnQuJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3sgbGFiZWw6IF9fKCdEZWZhdWx0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnJyB9LCB7IGxhYmVsOiBfXygnVG9wJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1zdGFydCcgfSwgeyBsYWJlbDogX18oJ0NlbnRlcicsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2NlbnRlcicgfSwgeyBsYWJlbDogX18oJ0JvdHRvbScsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtZW5kJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEFsaWdubWVudDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdIb3Jpem9udGFsIEFsaWdubWVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBob3Jpem9udGFsQWxpZ25tZW50LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJycgfSwgeyBsYWJlbDogX18oJ0xlZnQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LXN0YXJ0JyB9LCB7IGxhYmVsOiBfXygnQ2VudGVyJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnY2VudGVyJyB9LCB7IGxhYmVsOiBfXygnUmlnaHQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LWVuZCcgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbEFsaWdubWVudDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHQndGFibGV0JyA9PT0gc2VsZWN0ZWREZXZpY2UgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX2hlYWRlcicgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX2xhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ0hvcml6b250YWwgR2FwJywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogX18oJ1BpeGVsIFVuaXRzJyksIGtleTogJ2gtZ2FwLXRhYmxldC11bml0JyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGtleTogJ2gtZ2FwLXRhYmxldC11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBfXygnUGl4ZWwgVW5pdHMnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0J3B4J1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWJhc2UtY29udHJvbCBjb21wb25lbnRzLWdibG9ja3MtdHlwb2dyYXBoeS1jb250cm9sX19pbnB1dHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBob3Jpem9udGFsR2FwVGFibGV0IHx8IDAgPT09IGhvcml6b250YWxHYXBUYWJsZXQgPyBob3Jpem9udGFsR2FwVGFibGV0IDogJycsXG5cdFx0XHRcdFx0XHRcdFx0XHRtaW46ICcwJyxcblx0XHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyOiBob3Jpem9udGFsR2FwUGxhY2Vob2xkZXJUYWJsZXQsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gTm8gbmVnYXRpdmUgdmFsdWVzIGFsbG93ZWQgaGVyZS5cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoLy0vZywgJycpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXBUYWJsZXQ6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIWhvcml6b250YWxHYXBUYWJsZXQgJiYgZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLmhvcml6b250YWxHYXBUYWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBJZiB3ZSBoYXZlIG5vIHZhbHVlIGFuZCBhIGRlZmF1bHQgZXhpc3RzLCBzZXQgdG8gMCB0byBwcmV2ZW50IGRlZmF1bHQgZnJvbSBjb21pbmcgYmFjay5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXBUYWJsZXQ6IDBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXBUYWJsZXQ6IHBhcnNlRmxvYXQoaG9yaXpvbnRhbEdhcFRhYmxldClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGUuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kZWZhdWx0LW51bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsR2FwVGFibGV0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIuaG9yaXpvbnRhbEdhcFRhYmxldFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1Jlc2V0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdWZXJ0aWNhbCBHYXAnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAndi1nYXAtdGFibGV0LXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiAndi1nYXAtdGFibGV0LXVuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LyogdHJhbnNsYXRvcnM6ICVzOiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIENTUyBzeW50YXgsICdQaXhlbCcsICdFbScsICdQZXJjZW50YWdlJyAqL1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYXJpYS1sYWJlbCc6IF9fKCdQaXhlbCBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncHgnXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtYmFzZS1jb250cm9sIGNvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX2lucHV0cycgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsR2FwVGFibGV0IHx8IDAgPT09IHZlcnRpY2FsR2FwVGFibGV0ID8gdmVydGljYWxHYXBUYWJsZXQgOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRcdG1pbjogJzAnLFxuXHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IHZlcnRpY2FsR2FwUGxhY2Vob2xkZXJUYWJsZXQsXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gTm8gbmVnYXRpdmUgdmFsdWVzIGFsbG93ZWQgaGVyZS5cblx0XHRcdFx0XHRcdFx0XHRcdFx0dmFsdWUgPSB2YWx1ZS50b1N0cmluZygpLnJlcGxhY2UoLy0vZywgJycpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwVGFibGV0OiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRvbkJsdXI6IGZ1bmN0aW9uIG9uQmx1cigpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCF2ZXJ0aWNhbEdhcFRhYmxldCAmJiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIudmVydGljYWxHYXBUYWJsZXQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBJZiB3ZSBoYXZlIG5vIHZhbHVlIGFuZCBhIGRlZmF1bHQgZXhpc3RzLCBzZXQgdG8gMCB0byBwcmV2ZW50IGRlZmF1bHQgZnJvbSBjb21pbmcgYmFjay5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwVGFibGV0OiAwXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEdhcFRhYmxldDogcGFyc2VGbG9hdCh2ZXJ0aWNhbEdhcFRhYmxldClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBNYWtlIHN1cmUgb25CbHVyIGZpcmVzIGluIEZpcmVmb3guXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGUuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTZWNvbmRhcnk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kZWZhdWx0LW51bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEdhcFRhYmxldDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLnZlcnRpY2FsR2FwVGFibGV0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVzZXQnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1ZlcnRpY2FsIEFsaWdubWVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdBbGlnbiBncmlkIGl0ZW1zLiBSZW1vdmVzIHNhbWUgaGVpZ2h0IGNvbHVtbnMgYW5kIG92ZXJyaWRlcyBncmlkIGl0ZW0gY29udGVudCBhbGlnbm1lbnQuJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsQWxpZ25tZW50VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnSW5oZXJpdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2luaGVyaXQnIH0sIHsgbGFiZWw6IF9fKCdEZWZhdWx0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnJyB9LCB7IGxhYmVsOiBfXygnVG9wJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1zdGFydCcgfSwgeyBsYWJlbDogX18oJ0NlbnRlcicsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2NlbnRlcicgfSwgeyBsYWJlbDogX18oJ0JvdHRvbScsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtZW5kJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEFsaWdubWVudFRhYmxldDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdIb3Jpem9udGFsIEFsaWdubWVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBob3Jpem9udGFsQWxpZ25tZW50VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnSW5oZXJpdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2luaGVyaXQnIH0sIHsgbGFiZWw6IF9fKCdEZWZhdWx0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnJyB9LCB7IGxhYmVsOiBfXygnTGVmdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtc3RhcnQnIH0sIHsgbGFiZWw6IF9fKCdDZW50ZXInLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdjZW50ZXInIH0sIHsgbGFiZWw6IF9fKCdSaWdodCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtZW5kJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRob3Jpem9udGFsQWxpZ25tZW50VGFibGV0OiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdCdtb2JpbGUnID09PSBzZWxlY3RlZERldmljZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnSG9yaXpvbnRhbCBHYXAnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAnaC1nYXAtbW9iaWxlLXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiAnaC1nYXAtbW9iaWxlLXVuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LyogdHJhbnNsYXRvcnM6ICVzOiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIENTUyBzeW50YXgsICdQaXhlbCcsICdFbScsICdQZXJjZW50YWdlJyAqL1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYXJpYS1sYWJlbCc6IF9fKCdQaXhlbCBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncHgnXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtYmFzZS1jb250cm9sIGNvbXBvbmVudHMtZ2Jsb2Nrcy10eXBvZ3JhcGh5LWNvbnRyb2xfX2lucHV0cycgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGhvcml6b250YWxHYXBNb2JpbGUgfHwgMCA9PT0gaG9yaXpvbnRhbEdhcE1vYmlsZSA/IGhvcml6b250YWxHYXBNb2JpbGUgOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRcdG1pbjogJzAnLFxuXHRcdFx0XHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI6IGhvcml6b250YWxHYXBQbGFjZWhvbGRlck1vYmlsZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvLS9nLCAnJyk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbEdhcE1vYmlsZTogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25CbHVyOiBmdW5jdGlvbiBvbkJsdXIoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmICghaG9yaXpvbnRhbEdhcE1vYmlsZSAmJiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIuaG9yaXpvbnRhbEdhcE1vYmlsZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbm8gdmFsdWUgYW5kIGEgZGVmYXVsdCBleGlzdHMsIHNldCB0byAwIHRvIHByZXZlbnQgZGVmYXVsdCBmcm9tIGNvbWluZyBiYWNrLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbEdhcE1vYmlsZTogMFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aG9yaXpvbnRhbEdhcE1vYmlsZTogcGFyc2VGbG9hdChob3Jpem9udGFsR2FwTW9iaWxlKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljayhlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NlY29uZGFyeTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRlZmF1bHQtbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxHYXBNb2JpbGU6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci5ob3Jpem9udGFsR2FwTW9iaWxlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVzZXQnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX2hlYWRlcicgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX2xhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ1ZlcnRpY2FsIEdhcCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX3VuaXRzJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7IHRleHQ6IF9fKCdQaXhlbCBVbml0cycpLCBrZXk6ICd2LWdhcC1tb2JpbGUtdW5pdCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRrZXk6ICd2LWdhcC1tb2JpbGUtdW5pdCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdhcmlhLWxhYmVsJzogX18oJ1BpeGVsIFVuaXRzJylcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCdweCdcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1iYXNlLWNvbnRyb2wgY29tcG9uZW50cy1nYmxvY2tzLXR5cG9ncmFwaHktY29udHJvbF9faW5wdXRzJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdmVydGljYWxHYXBNb2JpbGUgfHwgMCA9PT0gdmVydGljYWxHYXBNb2JpbGUgPyB2ZXJ0aWNhbEdhcE1vYmlsZSA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdFx0bWluOiAnMCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogdmVydGljYWxHYXBQbGFjZWhvbGRlck1vYmlsZSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBObyBuZWdhdGl2ZSB2YWx1ZXMgYWxsb3dlZCBoZXJlLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCkucmVwbGFjZSgvLS9nLCAnJyk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxHYXBNb2JpbGU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIXZlcnRpY2FsR2FwTW9iaWxlICYmIGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci52ZXJ0aWNhbEdhcE1vYmlsZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbm8gdmFsdWUgYW5kIGEgZGVmYXVsdCBleGlzdHMsIHNldCB0byAwIHRvIHByZXZlbnQgZGVmYXVsdCBmcm9tIGNvbWluZyBiYWNrLlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxHYXBNb2JpbGU6IDBcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwTW9iaWxlOiBwYXJzZUZsb2F0KHZlcnRpY2FsR2FwTW9iaWxlKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljayhlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE1ha2Ugc3VyZSBvbkJsdXIgZmlyZXMgaW4gRmlyZWZveC5cblx0XHRcdFx0XHRcdFx0XHRcdFx0ZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NlY29uZGFyeTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRlZmF1bHQtbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsR2FwTW9iaWxlOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIudmVydGljYWxHYXBNb2JpbGVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdSZXNldCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVmVydGljYWwgQWxpZ25tZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0aGVscDogX18oJ0FsaWduIGdyaWQgaXRlbXMuIFJlbW92ZXMgc2FtZSBoZWlnaHQgY29sdW1ucyBhbmQgb3ZlcnJpZGVzIGdyaWQgaXRlbSBjb250ZW50IGFsaWdubWVudC4nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogdmVydGljYWxBbGlnbm1lbnRNb2JpbGUsXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3sgbGFiZWw6IF9fKCdJbmhlcml0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnaW5oZXJpdCcgfSwgeyBsYWJlbDogX18oJ0RlZmF1bHQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICcnIH0sIHsgbGFiZWw6IF9fKCdUb3AnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LXN0YXJ0JyB9LCB7IGxhYmVsOiBfXygnQ2VudGVyJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnY2VudGVyJyB9LCB7IGxhYmVsOiBfXygnQm90dG9tJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1lbmQnIH1dLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsQWxpZ25tZW50TW9iaWxlOiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0hvcml6b250YWwgQWxpZ25tZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IGhvcml6b250YWxBbGlnbm1lbnRNb2JpbGUsXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3sgbGFiZWw6IF9fKCdJbmhlcml0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnaW5oZXJpdCcgfSwgeyBsYWJlbDogX18oJ0RlZmF1bHQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICcnIH0sIHsgbGFiZWw6IF9fKCdMZWZ0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1zdGFydCcgfSwgeyBsYWJlbDogX18oJ0NlbnRlcicsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2NlbnRlcicgfSwgeyBsYWJlbDogX18oJ1JpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1lbmQnIH1dLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhvcml6b250YWxBbGlnbm1lbnRNb2JpbGU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2dyaWRMYXlvdXQnLCB0aGlzLnByb3BzLCB0aGlzLnN0YXRlKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdBZHZhbmNlZCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2FkdmFuY2VkJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtcGFuZWwtbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRpZDogJ2dyaWRBZHZhbmNlZCcsXG5cdFx0XHRcdFx0XHRcdHN0YXRlOiB0aGlzLnN0YXRlLFxuXHRcdFx0XHRcdFx0XHRzaG93UGFuZWw6ICdkZXNrdG9wJyA9PT0gc2VsZWN0ZWREZXZpY2UgfHwgZmFsc2Vcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRWxlbWVudCBJRCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogZWxlbWVudElkLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbmV3RWxlbWVudElkID0gdmFsdWUucmVwbGFjZShFTEVNRU5UX0lEX1JFR0VYLCAnLScpO1xuXG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRlbGVtZW50SWQ6IG5ld0VsZW1lbnRJZFxuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0NTUyBDbGFzc2VzJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBjc3NDbGFzc2VzLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdGNzc0NsYXNzZXM6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2dyaWRBZHZhbmNlZCcsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEFyZWEsXG5cdFx0XHRcdFx0XHRfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0RvY3VtZW50YXRpb24nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aWNvbjogZ2V0SWNvbignZG9jdW1lbnRhdGlvbicpLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtcGFuZWwtbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRpZDogJ2dyaWREb2N1bWVudGF0aW9uJyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQncCcsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdF9fKCdOZWVkIGhlbHAgd2l0aCB0aGlzIGJsb2NrPycsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHQnYScsXG5cdFx0XHRcdFx0XHRcdHsgaHJlZjogJ2h0dHBzOi8vZG9jcy5nZW5lcmF0ZWJsb2Nrcy5jb20vY29sbGVjdGlvbi9ncmlkLycsIHRhcmdldDogJ19ibGFuaycsIHJlbDogJ25vcmVmZXJyZXIgbm9vcGVuZXInIH0sXG5cdFx0XHRcdFx0XHRcdF9fKCdWaXNpdCBvdXIgZG9jdW1lbnRhdGlvbicsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2dyaWREb2N1bWVudGF0aW9uJywgdGhpcy5wcm9wcywgdGhpcy5zdGF0ZSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEZXNrdG9wQ1NTLCB0aGlzLnByb3BzKSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdGlkOiAhIWVsZW1lbnRJZCA/IGVsZW1lbnRJZCA6IHVuZGVmaW5lZCxcblx0XHRcdFx0XHRcdGNsYXNzTmFtZTogY2xhc3NuYW1lcygoX2NsYXNzbmFtZXMgPSB7XG5cdFx0XHRcdFx0XHRcdCdnYi1ncmlkLXdyYXBwZXInOiB0cnVlXG5cdFx0XHRcdFx0XHR9LCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzbmFtZXMsICdnYi1ncmlkLXdyYXBwZXItJyArIHVuaXF1ZUlkLCB0cnVlKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc25hbWVzLCAnJyArIGNzc0NsYXNzZXMsICcnICE9PSBjc3NDbGFzc2VzKSwgX2NsYXNzbmFtZXMpKVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y29sdW1ucyA+IDAgfHwgdGhpcy5zdGF0ZS5zZWxlY3RlZExheW91dCA/IHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbm5lckJsb2Nrcywge1xuXHRcdFx0XHRcdFx0XHRhbGxvd2VkQmxvY2tzOiBbJ2dlbmVyYXRlYmxvY2tzL2NvbnRhaW5lciddLFxuXHRcdFx0XHRcdFx0XHRyZW5kZXJBcHBlbmRlcjogZmFsc2Vcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0KSA6IHRoaXMuZ2V0TGF5b3V0c1NlbGVjdG9yKClcblx0XHRcdFx0KVxuXHRcdFx0KTtcblx0XHR9XG5cdH1dKTtcblxuXHRyZXR1cm4gR2VuZXJhdGVCbG9ja0dyaWRDb250YWluZXI7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEdlbmVyYXRlQmxvY2tHcmlkQ29udGFpbmVyO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ncmlkL2VkaXQuanNcbi8vIG1vZHVsZSBpZCA9IDIxXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///21\n");
325
+
326
+ /***/ }),
327
+ /* 22 */
328
+ /*!****************************************************!*\
329
+ !*** ./src/components/responsive-tabs/editor.scss ***!
330
+ \****************************************************/
331
+ /*! dynamic exports provided */
332
+ /***/ (function(module, exports) {
333
+
334
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9yZXNwb25zaXZlLXRhYnMvZWRpdG9yLnNjc3M/MzljZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvcmVzcG9uc2l2ZS10YWJzL2VkaXRvci5zY3NzXG4vLyBtb2R1bGUgaWQgPSAyMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///22\n");
335
+
336
+ /***/ }),
337
+ /* 23 */
338
+ /*!****************************************!*\
339
+ !*** ./src/blocks/grid/css/desktop.js ***!
340
+ \****************************************/
341
+ /*! exports provided: default */
342
+ /*! exports used: default */
343
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
344
+
345
+ "use strict";
346
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_build_css__ = __webpack_require__(/*! ../../../utils/build-css */ 3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_value_with_unit__ = __webpack_require__(/*! ../../../utils/value-with-unit */ 6);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n\n\n\nvar Component = wp.element.Component;\nvar applyFilters = wp.hooks.applyFilters;\n\nvar DesktopCSS = function (_Component) {\n\t_inherits(DesktopCSS, _Component);\n\n\tfunction DesktopCSS() {\n\t\t_classCallCheck(this, DesktopCSS);\n\n\t\treturn _possibleConstructorReturn(this, (DesktopCSS.__proto__ || Object.getPrototypeOf(DesktopCSS)).apply(this, arguments));\n\t}\n\n\t_createClass(DesktopCSS, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar attributes = this.props.attributes;\n\t\t\tvar uniqueId = attributes.uniqueId,\n\t\t\t horizontalGap = attributes.horizontalGap,\n\t\t\t verticalGap = attributes.verticalGap,\n\t\t\t verticalAlignment = attributes.verticalAlignment,\n\t\t\t horizontalAlignment = attributes.horizontalAlignment;\n\n\n\t\t\tvar cssObj = [];\n\n\t\t\tcssObj['.gb-grid-wrapper-' + uniqueId + ' > .block-editor-inner-blocks > .block-editor-block-list__layout'] = [{\n\t\t\t\t'align-items': verticalAlignment,\n\t\t\t\t'justify-content': horizontalAlignment,\n\t\t\t\t'margin-left': '-' + horizontalGap / 2 + 'px',\n\t\t\t\t'margin-right': '-' + horizontalGap / 2 + 'px'\n\t\t\t}];\n\n\t\t\tcssObj['.gb-grid-wrapper-' + uniqueId + ' > .block-editor-inner-blocks > .block-editor-block-list__layout > .wp-block'] = [{\n\t\t\t\t'padding-left': horizontalGap / 2 + 'px',\n\t\t\t\t'padding-right': horizontalGap / 2 + 'px',\n\t\t\t\t'margin-bottom': Object(__WEBPACK_IMPORTED_MODULE_1__utils_value_with_unit__[\"a\" /* default */])(verticalGap, 'px')\n\t\t\t}];\n\n\t\t\tcssObj = applyFilters('generateblocks.editor.desktopCSS', cssObj, 'grid', this.props);\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\t'style',\n\t\t\t\tnull,\n\t\t\t\tObject(__WEBPACK_IMPORTED_MODULE_0__utils_build_css__[\"a\" /* default */])(cssObj)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn DesktopCSS;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (DesktopCSS);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvY3NzL2Rlc2t0b3AuanM/ODAzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX2NyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpO1xuXG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuXG5mdW5jdGlvbiBfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybihzZWxmLCBjYWxsKSB7IGlmICghc2VsZikgeyB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBjYWxsID09PSBcImZ1bmN0aW9uXCIpID8gY2FsbCA6IHNlbGY7IH1cblxuZnVuY3Rpb24gX2luaGVyaXRzKHN1YkNsYXNzLCBzdXBlckNsYXNzKSB7IGlmICh0eXBlb2Ygc3VwZXJDbGFzcyAhPT0gXCJmdW5jdGlvblwiICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIgKyB0eXBlb2Ygc3VwZXJDbGFzcyk7IH0gc3ViQ2xhc3MucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShzdXBlckNsYXNzICYmIHN1cGVyQ2xhc3MucHJvdG90eXBlLCB7IGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBzdWJDbGFzcywgZW51bWVyYWJsZTogZmFsc2UsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSB9KTsgaWYgKHN1cGVyQ2xhc3MpIE9iamVjdC5zZXRQcm90b3R5cGVPZiA/IE9iamVjdC5zZXRQcm90b3R5cGVPZihzdWJDbGFzcywgc3VwZXJDbGFzcykgOiBzdWJDbGFzcy5fX3Byb3RvX18gPSBzdXBlckNsYXNzOyB9XG5cbmltcG9ydCBidWlsZENTUyBmcm9tICcuLi8uLi8uLi91dGlscy9idWlsZC1jc3MnO1xuaW1wb3J0IHZhbHVlV2l0aFVuaXQgZnJvbSAnLi4vLi4vLi4vdXRpbHMvdmFsdWUtd2l0aC11bml0JztcblxudmFyIENvbXBvbmVudCA9IHdwLmVsZW1lbnQuQ29tcG9uZW50O1xudmFyIGFwcGx5RmlsdGVycyA9IHdwLmhvb2tzLmFwcGx5RmlsdGVycztcblxudmFyIERlc2t0b3BDU1MgPSBmdW5jdGlvbiAoX0NvbXBvbmVudCkge1xuXHRfaW5oZXJpdHMoRGVza3RvcENTUywgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gRGVza3RvcENTUygpIHtcblx0XHRfY2xhc3NDYWxsQ2hlY2sodGhpcywgRGVza3RvcENTUyk7XG5cblx0XHRyZXR1cm4gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4odGhpcywgKERlc2t0b3BDU1MuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihEZXNrdG9wQ1NTKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoRGVza3RvcENTUywgW3tcblx0XHRrZXk6ICdyZW5kZXInLFxuXHRcdHZhbHVlOiBmdW5jdGlvbiByZW5kZXIoKSB7XG5cdFx0XHR2YXIgYXR0cmlidXRlcyA9IHRoaXMucHJvcHMuYXR0cmlidXRlcztcblx0XHRcdHZhciB1bmlxdWVJZCA9IGF0dHJpYnV0ZXMudW5pcXVlSWQsXG5cdFx0XHQgICAgaG9yaXpvbnRhbEdhcCA9IGF0dHJpYnV0ZXMuaG9yaXpvbnRhbEdhcCxcblx0XHRcdCAgICB2ZXJ0aWNhbEdhcCA9IGF0dHJpYnV0ZXMudmVydGljYWxHYXAsXG5cdFx0XHQgICAgdmVydGljYWxBbGlnbm1lbnQgPSBhdHRyaWJ1dGVzLnZlcnRpY2FsQWxpZ25tZW50LFxuXHRcdFx0ICAgIGhvcml6b250YWxBbGlnbm1lbnQgPSBhdHRyaWJ1dGVzLmhvcml6b250YWxBbGlnbm1lbnQ7XG5cblxuXHRcdFx0dmFyIGNzc09iaiA9IFtdO1xuXG5cdFx0XHRjc3NPYmpbJy5nYi1ncmlkLXdyYXBwZXItJyArIHVuaXF1ZUlkICsgJyA+IC5ibG9jay1lZGl0b3ItaW5uZXItYmxvY2tzID4gLmJsb2NrLWVkaXRvci1ibG9jay1saXN0X19sYXlvdXQnXSA9IFt7XG5cdFx0XHRcdCdhbGlnbi1pdGVtcyc6IHZlcnRpY2FsQWxpZ25tZW50LFxuXHRcdFx0XHQnanVzdGlmeS1jb250ZW50JzogaG9yaXpvbnRhbEFsaWdubWVudCxcblx0XHRcdFx0J21hcmdpbi1sZWZ0JzogJy0nICsgaG9yaXpvbnRhbEdhcCAvIDIgKyAncHgnLFxuXHRcdFx0XHQnbWFyZ2luLXJpZ2h0JzogJy0nICsgaG9yaXpvbnRhbEdhcCAvIDIgKyAncHgnXG5cdFx0XHR9XTtcblxuXHRcdFx0Y3NzT2JqWycuZ2ItZ3JpZC13cmFwcGVyLScgKyB1bmlxdWVJZCArICcgPiAuYmxvY2stZWRpdG9yLWlubmVyLWJsb2NrcyA+IC5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fbGF5b3V0ID4gLndwLWJsb2NrJ10gPSBbe1xuXHRcdFx0XHQncGFkZGluZy1sZWZ0JzogaG9yaXpvbnRhbEdhcCAvIDIgKyAncHgnLFxuXHRcdFx0XHQncGFkZGluZy1yaWdodCc6IGhvcml6b250YWxHYXAgLyAyICsgJ3B4Jyxcblx0XHRcdFx0J21hcmdpbi1ib3R0b20nOiB2YWx1ZVdpdGhVbml0KHZlcnRpY2FsR2FwLCAncHgnKVxuXHRcdFx0fV07XG5cblx0XHRcdGNzc09iaiA9IGFwcGx5RmlsdGVycygnZ2VuZXJhdGVibG9ja3MuZWRpdG9yLmRlc2t0b3BDU1MnLCBjc3NPYmosICdncmlkJywgdGhpcy5wcm9wcyk7XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdCdzdHlsZScsXG5cdFx0XHRcdG51bGwsXG5cdFx0XHRcdGJ1aWxkQ1NTKGNzc09iailcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIERlc2t0b3BDU1M7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IERlc2t0b3BDU1M7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2dyaWQvY3NzL2Rlc2t0b3AuanNcbi8vIG1vZHVsZSBpZCA9IDIzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n");
347
+
348
+ /***/ }),
349
+ /* 24 */
350
+ /*!***********************************************!*\
351
+ !*** ./src/components/apply-filters/index.js ***!
352
+ \***********************************************/
353
+ /*! exports provided: default */
354
+ /*! exports used: default */
355
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
356
+
357
+ "use strict";
358
+ eval("var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * WordPress dependencies\n */\nvar applyFilters = wp.hooks.applyFilters;\nvar Component = wp.element.Component;\n\n/**\n * Component Class\n */\n\nvar ApplyFilters = function (_Component) {\n\t_inherits(ApplyFilters, _Component);\n\n\tfunction ApplyFilters() {\n\t\t_classCallCheck(this, ApplyFilters);\n\n\t\treturn _possibleConstructorReturn(this, (ApplyFilters.__proto__ || Object.getPrototypeOf(ApplyFilters)).apply(this, arguments));\n\t}\n\n\t_createClass(ApplyFilters, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _props = this.props,\n\t\t\t name = _props.name,\n\t\t\t children = _props.children;\n\n\n\t\t\treturn applyFilters(name, children || '', this.props);\n\t\t}\n\t}]);\n\n\treturn ApplyFilters;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (ApplyFilters);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9hcHBseS1maWx0ZXJzL2luZGV4LmpzP2NiYTUiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG4vKipcbiAqIFdvcmRQcmVzcyBkZXBlbmRlbmNpZXNcbiAqL1xudmFyIGFwcGx5RmlsdGVycyA9IHdwLmhvb2tzLmFwcGx5RmlsdGVycztcbnZhciBDb21wb25lbnQgPSB3cC5lbGVtZW50LkNvbXBvbmVudDtcblxuLyoqXG4gKiBDb21wb25lbnQgQ2xhc3NcbiAqL1xuXG52YXIgQXBwbHlGaWx0ZXJzID0gZnVuY3Rpb24gKF9Db21wb25lbnQpIHtcblx0X2luaGVyaXRzKEFwcGx5RmlsdGVycywgX0NvbXBvbmVudCk7XG5cblx0ZnVuY3Rpb24gQXBwbHlGaWx0ZXJzKCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBBcHBseUZpbHRlcnMpO1xuXG5cdFx0cmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChBcHBseUZpbHRlcnMuX19wcm90b19fIHx8IE9iamVjdC5nZXRQcm90b3R5cGVPZihBcHBseUZpbHRlcnMpKS5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTtcblx0fVxuXG5cdF9jcmVhdGVDbGFzcyhBcHBseUZpbHRlcnMsIFt7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG5cdFx0XHQgICAgbmFtZSA9IF9wcm9wcy5uYW1lLFxuXHRcdFx0ICAgIGNoaWxkcmVuID0gX3Byb3BzLmNoaWxkcmVuO1xuXG5cblx0XHRcdHJldHVybiBhcHBseUZpbHRlcnMobmFtZSwgY2hpbGRyZW4gfHwgJycsIHRoaXMucHJvcHMpO1xuXHRcdH1cblx0fV0pO1xuXG5cdHJldHVybiBBcHBseUZpbHRlcnM7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcGx5RmlsdGVycztcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9jb21wb25lbnRzL2FwcGx5LWZpbHRlcnMvaW5kZXguanNcbi8vIG1vZHVsZSBpZCA9IDI0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///24\n");
359
+
360
+ /***/ }),
361
+ /* 25 */
362
+ /*!*********************************!*\
363
+ !*** ./src/blocks/grid/save.js ***!
364
+ \*********************************/
365
+ /*! exports provided: default */
366
+ /*! exports used: default */
367
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
368
+
369
+ "use strict";
370
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_classnames__);\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Block: Grid\n */\n\n\n\nvar InnerBlocks = wp.blockEditor.InnerBlocks;\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (function (_ref) {\n\tvar _classnames;\n\n\tvar attributes = _ref.attributes;\n\tvar uniqueId = attributes.uniqueId,\n\t elementId = attributes.elementId,\n\t cssClasses = attributes.cssClasses;\n\n\n\treturn wp.element.createElement(\n\t\t'div',\n\t\t{\n\t\t\tid: !!elementId ? elementId : undefined,\n\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_0_classnames___default()((_classnames = {\n\t\t\t\t'gb-grid-wrapper': true\n\t\t\t}, _defineProperty(_classnames, 'gb-grid-wrapper-' + uniqueId, true), _defineProperty(_classnames, '' + cssClasses, '' !== cssClasses), _classnames))\n\t\t},\n\t\twp.element.createElement(InnerBlocks.Content, null)\n\t);\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvc2F2ZS5qcz80YzE2Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5cbi8qKlxuICogQmxvY2s6IEdyaWRcbiAqL1xuXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxudmFyIElubmVyQmxvY2tzID0gd3AuYmxvY2tFZGl0b3IuSW5uZXJCbG9ja3M7XG5cblxuZXhwb3J0IGRlZmF1bHQgKGZ1bmN0aW9uIChfcmVmKSB7XG5cdHZhciBfY2xhc3NuYW1lcztcblxuXHR2YXIgYXR0cmlidXRlcyA9IF9yZWYuYXR0cmlidXRlcztcblx0dmFyIHVuaXF1ZUlkID0gYXR0cmlidXRlcy51bmlxdWVJZCxcblx0ICAgIGVsZW1lbnRJZCA9IGF0dHJpYnV0ZXMuZWxlbWVudElkLFxuXHQgICAgY3NzQ2xhc3NlcyA9IGF0dHJpYnV0ZXMuY3NzQ2xhc3NlcztcblxuXG5cdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0J2RpdicsXG5cdFx0e1xuXHRcdFx0aWQ6ICEhZWxlbWVudElkID8gZWxlbWVudElkIDogdW5kZWZpbmVkLFxuXHRcdFx0Y2xhc3NOYW1lOiBjbGFzc25hbWVzKChfY2xhc3NuYW1lcyA9IHtcblx0XHRcdFx0J2diLWdyaWQtd3JhcHBlcic6IHRydWVcblx0XHRcdH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3NuYW1lcywgJ2diLWdyaWQtd3JhcHBlci0nICsgdW5pcXVlSWQsIHRydWUpLCBfZGVmaW5lUHJvcGVydHkoX2NsYXNzbmFtZXMsICcnICsgY3NzQ2xhc3NlcywgJycgIT09IGNzc0NsYXNzZXMpLCBfY2xhc3NuYW1lcykpXG5cdFx0fSxcblx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoSW5uZXJCbG9ja3MuQ29udGVudCwgbnVsbClcblx0KTtcbn0pO1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ncmlkL3NhdmUuanNcbi8vIG1vZHVsZSBpZCA9IDI1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///25\n");
371
+
372
+ /***/ }),
373
+ /* 26 */
374
+ /*!***************************************!*\
375
+ !*** ./src/blocks/grid/attributes.js ***!
376
+ \***************************************/
377
+ /*! exports provided: default */
378
+ /*! exports used: default */
379
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
380
+
381
+ "use strict";
382
+ eval("/* eslint-disable no-undef */\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n\tuniqueId: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\telementId: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\tcssClasses: {\n\t\ttype: 'string',\n\t\tdefault: ''\n\t},\n\tcolumns: {\n\t\ttype: 'number',\n\t\tdefault: ''\n\t},\n\thorizontalGap: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalGap\n\t},\n\tverticalGap: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalGap\n\t},\n\tverticalAlignment: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalAlignment\n\t},\n\thorizontalGapTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalGapTablet\n\t},\n\tverticalGapTablet: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalGapTablet\n\t},\n\tverticalAlignmentTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalAlignmentTablet\n\t},\n\thorizontalGapMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalGapMobile\n\t},\n\tverticalGapMobile: {\n\t\ttype: 'number',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalGapMobile\n\t},\n\tverticalAlignmentMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.verticalAlignmentMobile\n\t},\n\thorizontalAlignment: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalAlignment\n\t},\n\thorizontalAlignmentTablet: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalAlignmentTablet\n\t},\n\thorizontalAlignmentMobile: {\n\t\ttype: 'string',\n\t\tdefault: generateBlocksDefaults.gridContainer.horizontalAlignmentMobile\n\t}\n});\n/* eslint-enable no-undef *///# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2dyaWQvYXR0cmlidXRlcy5qcz80ZTMyIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmICovXG5leHBvcnQgZGVmYXVsdCB7XG5cdHVuaXF1ZUlkOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogJydcblx0fSxcblx0ZWxlbWVudElkOiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogJydcblx0fSxcblx0Y3NzQ2xhc3Nlczoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6ICcnXG5cdH0sXG5cdGNvbHVtbnM6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiAnJ1xuXHR9LFxuXHRob3Jpem9udGFsR2FwOiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLmhvcml6b250YWxHYXBcblx0fSxcblx0dmVydGljYWxHYXA6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIudmVydGljYWxHYXBcblx0fSxcblx0dmVydGljYWxBbGlnbm1lbnQ6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIudmVydGljYWxBbGlnbm1lbnRcblx0fSxcblx0aG9yaXpvbnRhbEdhcFRhYmxldDoge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci5ob3Jpem9udGFsR2FwVGFibGV0XG5cdH0sXG5cdHZlcnRpY2FsR2FwVGFibGV0OiB7XG5cdFx0dHlwZTogJ251bWJlcicsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLnZlcnRpY2FsR2FwVGFibGV0XG5cdH0sXG5cdHZlcnRpY2FsQWxpZ25tZW50VGFibGV0OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLnZlcnRpY2FsQWxpZ25tZW50VGFibGV0XG5cdH0sXG5cdGhvcml6b250YWxHYXBNb2JpbGU6IHtcblx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIuaG9yaXpvbnRhbEdhcE1vYmlsZVxuXHR9LFxuXHR2ZXJ0aWNhbEdhcE1vYmlsZToge1xuXHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci52ZXJ0aWNhbEdhcE1vYmlsZVxuXHR9LFxuXHR2ZXJ0aWNhbEFsaWdubWVudE1vYmlsZToge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci52ZXJ0aWNhbEFsaWdubWVudE1vYmlsZVxuXHR9LFxuXHRob3Jpem9udGFsQWxpZ25tZW50OiB7XG5cdFx0dHlwZTogJ3N0cmluZycsXG5cdFx0ZGVmYXVsdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5ncmlkQ29udGFpbmVyLmhvcml6b250YWxBbGlnbm1lbnRcblx0fSxcblx0aG9yaXpvbnRhbEFsaWdubWVudFRhYmxldDoge1xuXHRcdHR5cGU6ICdzdHJpbmcnLFxuXHRcdGRlZmF1bHQ6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuZ3JpZENvbnRhaW5lci5ob3Jpem9udGFsQWxpZ25tZW50VGFibGV0XG5cdH0sXG5cdGhvcml6b250YWxBbGlnbm1lbnRNb2JpbGU6IHtcblx0XHR0eXBlOiAnc3RyaW5nJyxcblx0XHRkZWZhdWx0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmdyaWRDb250YWluZXIuaG9yaXpvbnRhbEFsaWdubWVudE1vYmlsZVxuXHR9XG59O1xuLyogZXNsaW50LWVuYWJsZSBuby11bmRlZiAqL1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2Jsb2Nrcy9ncmlkL2F0dHJpYnV0ZXMuanNcbi8vIG1vZHVsZSBpZCA9IDI2XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///26\n");
383
+
384
+ /***/ }),
385
+ /* 27 */
386
+ /*!***************************************!*\
387
+ !*** ./src/blocks/container/block.js ***!
388
+ \***************************************/
389
+ /*! no exports provided */
390
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
391
+
392
+ "use strict";
393
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss__ = __webpack_require__(/*! ./style.scss */ 28);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__style_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__style_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss__ = __webpack_require__(/*! ./editor.scss */ 29);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__editor_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1__editor_scss__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__block_controls_js__ = __webpack_require__(/*! ./block-controls.js */ 30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__edit__ = __webpack_require__(/*! ./edit */ 31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__save__ = __webpack_require__(/*! ./save */ 38);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__attributes__ = __webpack_require__(/*! ./attributes */ 39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n/**\n * Block: Container\n */\n\n\n\n\n\n\n\n\n\n\nvar __ = wp.i18n.__;\nvar registerBlockType = wp.blocks.registerBlockType;\n\n/**\n * Register our Container block.\n *\n * @param {string} name Block name.\n * @param {Object} settings Block settings.\n * @return {?WPBlock} The block, if it has been successfully\n * registered; otherwise `undefined`.\n */\n\nregisterBlockType('generateblocks/container', {\n\ttitle: __('Container', 'generateblocks'),\n\tdescription: __('Organize your content into rows and sections.', 'generateblocks'),\n\ticon: Object(__WEBPACK_IMPORTED_MODULE_6__utils_get_icon__[\"a\" /* default */])('container'),\n\tcategory: 'generateblocks',\n\tkeywords: [__('section'), __('container'), __('generate')],\n\tattributes: __WEBPACK_IMPORTED_MODULE_5__attributes__[\"a\" /* default */],\n\tsupports: {\n\t\talign: false,\n\t\tanchor: false,\n\t\tclassName: false,\n\t\tcustomClassName: false\n\t},\n\tedit: __WEBPACK_IMPORTED_MODULE_3__edit__[\"a\" /* default */],\n\tsave: __WEBPACK_IMPORTED_MODULE_4__save__[\"a\" /* default */]\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9ibG9jay5qcz9lOGFkIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQmxvY2s6IENvbnRhaW5lclxuICovXG5cbmltcG9ydCAnLi9zdHlsZS5zY3NzJztcbmltcG9ydCAnLi9lZGl0b3Iuc2Nzcyc7XG5pbXBvcnQgJy4vYmxvY2stY29udHJvbHMuanMnO1xuXG5pbXBvcnQgZWRpdENvbnRhaW5lciBmcm9tICcuL2VkaXQnO1xuaW1wb3J0IHNhdmVDb250YWluZXIgZnJvbSAnLi9zYXZlJztcbmltcG9ydCBibG9ja0F0dHJpYnV0ZXMgZnJvbSAnLi9hdHRyaWJ1dGVzJztcbmltcG9ydCBnZXRJY29uIGZyb20gJy4uLy4uL3V0aWxzL2dldC1pY29uJztcblxudmFyIF9fID0gd3AuaTE4bi5fXztcbnZhciByZWdpc3RlckJsb2NrVHlwZSA9IHdwLmJsb2Nrcy5yZWdpc3RlckJsb2NrVHlwZTtcblxuLyoqXG4gKiBSZWdpc3RlciBvdXIgQ29udGFpbmVyIGJsb2NrLlxuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gICBuYW1lICAgICBCbG9jayBuYW1lLlxuICogQHBhcmFtICB7T2JqZWN0fSAgIHNldHRpbmdzIEJsb2NrIHNldHRpbmdzLlxuICogQHJldHVybiB7P1dQQmxvY2t9ICAgICAgICAgIFRoZSBibG9jaywgaWYgaXQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0ZXJlZDsgb3RoZXJ3aXNlIGB1bmRlZmluZWRgLlxuICovXG5cbnJlZ2lzdGVyQmxvY2tUeXBlKCdnZW5lcmF0ZWJsb2Nrcy9jb250YWluZXInLCB7XG5cdHRpdGxlOiBfXygnQ29udGFpbmVyJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdGRlc2NyaXB0aW9uOiBfXygnT3JnYW5pemUgeW91ciBjb250ZW50IGludG8gcm93cyBhbmQgc2VjdGlvbnMuJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdGljb246IGdldEljb24oJ2NvbnRhaW5lcicpLFxuXHRjYXRlZ29yeTogJ2dlbmVyYXRlYmxvY2tzJyxcblx0a2V5d29yZHM6IFtfXygnc2VjdGlvbicpLCBfXygnY29udGFpbmVyJyksIF9fKCdnZW5lcmF0ZScpXSxcblx0YXR0cmlidXRlczogYmxvY2tBdHRyaWJ1dGVzLFxuXHRzdXBwb3J0czoge1xuXHRcdGFsaWduOiBmYWxzZSxcblx0XHRhbmNob3I6IGZhbHNlLFxuXHRcdGNsYXNzTmFtZTogZmFsc2UsXG5cdFx0Y3VzdG9tQ2xhc3NOYW1lOiBmYWxzZVxuXHR9LFxuXHRlZGl0OiBlZGl0Q29udGFpbmVyLFxuXHRzYXZlOiBzYXZlQ29udGFpbmVyXG59KTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvY29udGFpbmVyL2Jsb2NrLmpzXG4vLyBtb2R1bGUgaWQgPSAyN1xuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///27\n");
394
+
395
+ /***/ }),
396
+ /* 28 */
397
+ /*!*****************************************!*\
398
+ !*** ./src/blocks/container/style.scss ***!
399
+ \*****************************************/
400
+ /*! dynamic exports provided */
401
+ /***/ (function(module, exports) {
402
+
403
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjguanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9zdHlsZS5zY3NzP2U0M2QiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvY29udGFpbmVyL3N0eWxlLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDI4XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///28\n");
404
+
405
+ /***/ }),
406
+ /* 29 */
407
+ /*!******************************************!*\
408
+ !*** ./src/blocks/container/editor.scss ***!
409
+ \******************************************/
410
+ /*! dynamic exports provided */
411
+ /***/ (function(module, exports) {
412
+
413
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMjkuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9lZGl0b3Iuc2Nzcz80YjRhIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9lZGl0b3Iuc2Nzc1xuLy8gbW9kdWxlIGlkID0gMjlcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///29\n");
414
+
415
+ /***/ }),
416
+ /* 30 */
417
+ /*!************************************************!*\
418
+ !*** ./src/blocks/container/block-controls.js ***!
419
+ \************************************************/
420
+ /*! no exports provided */
421
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
422
+
423
+ "use strict";
424
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n\n\n/**\n * WordPress Dependencies\n */\nvar __ = wp.i18n.__;\nvar addFilter = wp.hooks.addFilter;\nvar Fragment = wp.element.Fragment;\nvar BlockControls = wp.blockEditor.BlockControls;\nvar _wp$components = wp.components,\n Toolbar = _wp$components.Toolbar,\n Tooltip = _wp$components.Tooltip,\n Button = _wp$components.Button;\nvar createHigherOrderComponent = wp.compose.createHigherOrderComponent;\nvar cloneBlock = wp.blocks.cloneBlock;\n\n/**\n * Add mobile visibility controls on Advanced Block Panel.\n *\n * @param {function} BlockEdit Block edit component.\n *\n * @return {function} BlockEdit Modified block edit component.\n */\n\nvar withAdvancedControls = createHigherOrderComponent(function (BlockEdit) {\n\treturn function (props) {\n\t\tvar name = props.name,\n\t\t attributes = props.attributes,\n\t\t isSelected = props.isSelected,\n\t\t clientId = props.clientId;\n\t\tvar isGrid = attributes.isGrid;\n\n\n\t\tvar parentGridId = false;\n\n\t\tif (typeof wp.data.select('core/block-editor').getBlockParentsByBlockName === 'function') {\n\t\t\tparentGridId = wp.data.select('core/block-editor').getBlockParentsByBlockName(clientId, 'generateblocks/grid', true)[0];\n\t\t} else {\n\t\t\tparentGridId = wp.data.select('core/block-editor').getBlockRootClientId(clientId);\n\t\t}\n\n\t\treturn wp.element.createElement(\n\t\t\tFragment,\n\t\t\tnull,\n\t\t\tisSelected && isGrid && parentGridId && 'generateblocks/container' === name && wp.element.createElement(\n\t\t\t\tBlockControls,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tToolbar,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t{ text: __('Duplicate Grid Item', 'generateblocks') },\n\t\t\t\t\t\twp.element.createElement(Button, {\n\t\t\t\t\t\t\tclassName: 'gblocks-block-control-icon gblocks-add-grid-item',\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_0__utils_get_icon__[\"a\" /* default */])('addContainer'),\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\tvar thisBlock = wp.data.select('core/block-editor').getBlocksByClientId(clientId)[0];\n\t\t\t\t\t\t\t\tvar clonedBlock = cloneBlock(thisBlock);\n\n\t\t\t\t\t\t\t\twp.data.dispatch('core/block-editor').insertBlocks(clonedBlock, undefined, parentGridId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tToolbar,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t{ text: __('Select Parent Grid', 'generateblocks') },\n\t\t\t\t\t\twp.element.createElement(Button, {\n\t\t\t\t\t\t\tclassName: 'gblocks-block-control-icon',\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_0__utils_get_icon__[\"a\" /* default */])('grid'),\n\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\twp.data.dispatch('core/block-editor').selectBlock(parentGridId);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t),\n\t\t\twp.element.createElement(BlockEdit, props)\n\t\t);\n\t};\n}, 'withAdvancedControls');\n\naddFilter('editor.BlockEdit', 'generateblocks/container-block-controls', withAdvancedControls);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzAuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9ibG9jay1jb250cm9scy5qcz9kNGE2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBnZXRJY29uIGZyb20gJy4uLy4uL3V0aWxzL2dldC1pY29uJztcblxuLyoqXG4gKiBXb3JkUHJlc3MgRGVwZW5kZW5jaWVzXG4gKi9cbnZhciBfXyA9IHdwLmkxOG4uX187XG52YXIgYWRkRmlsdGVyID0gd3AuaG9va3MuYWRkRmlsdGVyO1xudmFyIEZyYWdtZW50ID0gd3AuZWxlbWVudC5GcmFnbWVudDtcbnZhciBCbG9ja0NvbnRyb2xzID0gd3AuYmxvY2tFZGl0b3IuQmxvY2tDb250cm9scztcbnZhciBfd3AkY29tcG9uZW50cyA9IHdwLmNvbXBvbmVudHMsXG4gICAgVG9vbGJhciA9IF93cCRjb21wb25lbnRzLlRvb2xiYXIsXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXAsXG4gICAgQnV0dG9uID0gX3dwJGNvbXBvbmVudHMuQnV0dG9uO1xudmFyIGNyZWF0ZUhpZ2hlck9yZGVyQ29tcG9uZW50ID0gd3AuY29tcG9zZS5jcmVhdGVIaWdoZXJPcmRlckNvbXBvbmVudDtcbnZhciBjbG9uZUJsb2NrID0gd3AuYmxvY2tzLmNsb25lQmxvY2s7XG5cbi8qKlxuICogQWRkIG1vYmlsZSB2aXNpYmlsaXR5IGNvbnRyb2xzIG9uIEFkdmFuY2VkIEJsb2NrIFBhbmVsLlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IEJsb2NrRWRpdCBCbG9jayBlZGl0IGNvbXBvbmVudC5cbiAqXG4gKiBAcmV0dXJuIHtmdW5jdGlvbn0gQmxvY2tFZGl0IE1vZGlmaWVkIGJsb2NrIGVkaXQgY29tcG9uZW50LlxuICovXG5cbnZhciB3aXRoQWR2YW5jZWRDb250cm9scyA9IGNyZWF0ZUhpZ2hlck9yZGVyQ29tcG9uZW50KGZ1bmN0aW9uIChCbG9ja0VkaXQpIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChwcm9wcykge1xuXHRcdHZhciBuYW1lID0gcHJvcHMubmFtZSxcblx0XHQgICAgYXR0cmlidXRlcyA9IHByb3BzLmF0dHJpYnV0ZXMsXG5cdFx0ICAgIGlzU2VsZWN0ZWQgPSBwcm9wcy5pc1NlbGVjdGVkLFxuXHRcdCAgICBjbGllbnRJZCA9IHByb3BzLmNsaWVudElkO1xuXHRcdHZhciBpc0dyaWQgPSBhdHRyaWJ1dGVzLmlzR3JpZDtcblxuXG5cdFx0dmFyIHBhcmVudEdyaWRJZCA9IGZhbHNlO1xuXG5cdFx0aWYgKHR5cGVvZiB3cC5kYXRhLnNlbGVjdCgnY29yZS9ibG9jay1lZGl0b3InKS5nZXRCbG9ja1BhcmVudHNCeUJsb2NrTmFtZSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0cGFyZW50R3JpZElkID0gd3AuZGF0YS5zZWxlY3QoJ2NvcmUvYmxvY2stZWRpdG9yJykuZ2V0QmxvY2tQYXJlbnRzQnlCbG9ja05hbWUoY2xpZW50SWQsICdnZW5lcmF0ZWJsb2Nrcy9ncmlkJywgdHJ1ZSlbMF07XG5cdFx0fSBlbHNlIHtcblx0XHRcdHBhcmVudEdyaWRJZCA9IHdwLmRhdGEuc2VsZWN0KCdjb3JlL2Jsb2NrLWVkaXRvcicpLmdldEJsb2NrUm9vdENsaWVudElkKGNsaWVudElkKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRudWxsLFxuXHRcdFx0aXNTZWxlY3RlZCAmJiBpc0dyaWQgJiYgcGFyZW50R3JpZElkICYmICdnZW5lcmF0ZWJsb2Nrcy9jb250YWluZXInID09PSBuYW1lICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0QmxvY2tDb250cm9scyxcblx0XHRcdFx0bnVsbCxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFRvb2xiYXIsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnRHVwbGljYXRlIEdyaWQgSXRlbScsICdnZW5lcmF0ZWJsb2NrcycpIH0sXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQnV0dG9uLCB7XG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtYmxvY2stY29udHJvbC1pY29uIGdibG9ja3MtYWRkLWdyaWQtaXRlbScsXG5cdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2FkZENvbnRhaW5lcicpLFxuXHRcdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdHZhciB0aGlzQmxvY2sgPSB3cC5kYXRhLnNlbGVjdCgnY29yZS9ibG9jay1lZGl0b3InKS5nZXRCbG9ja3NCeUNsaWVudElkKGNsaWVudElkKVswXTtcblx0XHRcdFx0XHRcdFx0XHR2YXIgY2xvbmVkQmxvY2sgPSBjbG9uZUJsb2NrKHRoaXNCbG9jayk7XG5cblx0XHRcdFx0XHRcdFx0XHR3cC5kYXRhLmRpc3BhdGNoKCdjb3JlL2Jsb2NrLWVkaXRvcicpLmluc2VydEJsb2NrcyhjbG9uZWRCbG9jaywgdW5kZWZpbmVkLCBwYXJlbnRHcmlkSWQpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KSxcblx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFRvb2xiYXIsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRUb29sdGlwLFxuXHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnU2VsZWN0IFBhcmVudCBHcmlkJywgJ2dlbmVyYXRlYmxvY2tzJykgfSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChCdXR0b24sIHtcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZ2Jsb2Nrcy1ibG9jay1jb250cm9sLWljb24nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCdncmlkJyksXG5cdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0d3AuZGF0YS5kaXNwYXRjaCgnY29yZS9ibG9jay1lZGl0b3InKS5zZWxlY3RCbG9jayhwYXJlbnRHcmlkSWQpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdClcblx0XHRcdFx0KVxuXHRcdFx0KSxcblx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChCbG9ja0VkaXQsIHByb3BzKVxuXHRcdCk7XG5cdH07XG59LCAnd2l0aEFkdmFuY2VkQ29udHJvbHMnKTtcblxuYWRkRmlsdGVyKCdlZGl0b3IuQmxvY2tFZGl0JywgJ2dlbmVyYXRlYmxvY2tzL2NvbnRhaW5lci1ibG9jay1jb250cm9scycsIHdpdGhBZHZhbmNlZENvbnRyb2xzKTtcblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9ibG9ja3MvY29udGFpbmVyL2Jsb2NrLWNvbnRyb2xzLmpzXG4vLyBtb2R1bGUgaWQgPSAzMFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///30\n");
425
+
426
+ /***/ }),
427
+ /* 31 */
428
+ /*!**************************************!*\
429
+ !*** ./src/blocks/container/edit.js ***!
430
+ \**************************************/
431
+ /*! exports provided: default */
432
+ /*! exports used: default */
433
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
434
+
435
+ "use strict";
436
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__section_tag__ = __webpack_require__(/*! ./section-tag */ 12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_color_picker__ = __webpack_require__(/*! ../../components/color-picker */ 7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_get_icon__ = __webpack_require__(/*! ../../utils/get-icon */ 1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(/*! classnames */ 0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_dimensions___ = __webpack_require__(/*! ../../components/dimensions/ */ 9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_panel_area___ = __webpack_require__(/*! ../../components/panel-area/ */ 4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_typography__ = __webpack_require__(/*! ../../components/typography */ 11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_gradient___ = __webpack_require__(/*! ../../components/gradient/ */ 13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_responsive_tabs__ = __webpack_require__(/*! ../../components/responsive-tabs */ 2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__css_desktop_js__ = __webpack_require__(/*! ./css/desktop.js */ 37);\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Block: Container\n */\n\n\n\n\n\n\n\n\n\n\n\n\nvar _wp$i18n = wp.i18n,\n __ = _wp$i18n.__,\n _x = _wp$i18n._x,\n sprintf = _wp$i18n.sprintf;\nvar _wp$components = wp.components,\n RangeControl = _wp$components.RangeControl,\n Button = _wp$components.Button,\n ButtonGroup = _wp$components.ButtonGroup,\n ResponsiveWrapper = _wp$components.ResponsiveWrapper,\n ToggleControl = _wp$components.ToggleControl,\n SelectControl = _wp$components.SelectControl,\n TextControl = _wp$components.TextControl,\n Tooltip = _wp$components.Tooltip,\n BaseControl = _wp$components.BaseControl;\nvar _wp$element = wp.element,\n Fragment = _wp$element.Fragment,\n Component = _wp$element.Component;\nvar _wp$blockEditor = wp.blockEditor,\n InspectorControls = _wp$blockEditor.InspectorControls,\n InnerBlocks = _wp$blockEditor.InnerBlocks,\n MediaUpload = _wp$blockEditor.MediaUpload,\n AlignmentToolbar = _wp$blockEditor.AlignmentToolbar;\nvar applyFilters = wp.hooks.applyFilters;\n\n\nvar ELEMENT_ID_REGEX = /[\\s#]/g;\nvar gbContainerIds = [];\n\nvar GenerateBlockContainer = function (_Component) {\n\t_inherits(GenerateBlockContainer, _Component);\n\n\tfunction GenerateBlockContainer() {\n\t\t_classCallCheck(this, GenerateBlockContainer);\n\n\t\tvar _this = _possibleConstructorReturn(this, (GenerateBlockContainer.__proto__ || Object.getPrototypeOf(GenerateBlockContainer)).apply(this, arguments));\n\n\t\t_this.state = {\n\t\t\tselectedDevice: 'desktop'\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(GenerateBlockContainer, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tvar id = this.props.clientId.substr(2, 9).replace('-', '');\n\n\t\t\tif (!this.props.attributes.uniqueId) {\n\t\t\t\tthis.props.setAttributes({\n\t\t\t\t\tuniqueId: id\n\t\t\t\t});\n\n\t\t\t\tgbContainerIds.push(id);\n\t\t\t} else if (gbContainerIds.includes(this.props.attributes.uniqueId)) {\n\t\t\t\tthis.props.setAttributes({\n\t\t\t\t\tuniqueId: id\n\t\t\t\t});\n\n\t\t\t\tgbContainerIds.push(id);\n\t\t\t} else {\n\t\t\t\tgbContainerIds.push(this.props.attributes.uniqueId);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _this2 = this,\n\t\t\t _classnames2,\n\t\t\t _classnames3;\n\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t setAttributes = _props.setAttributes,\n\t\t\t hasChildBlocks = _props.hasChildBlocks,\n\t\t\t clientId = _props.clientId;\n\t\t\tvar selectedDevice = this.state.selectedDevice;\n\n\n\t\t\tvar onSelectBgImage = function onSelectBgImage(media) {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tbgImage: {\n\t\t\t\t\t\tid: media.id,\n\t\t\t\t\t\timage: media.sizes.full\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tvar onRemoveBgImage = function onRemoveBgImage() {\n\t\t\t\tsetAttributes({\n\t\t\t\t\tbgImage: null\n\t\t\t\t});\n\t\t\t};\n\n\t\t\tvar uniqueId = attributes.uniqueId,\n\t\t\t tagName = attributes.tagName,\n\t\t\t elementId = attributes.elementId,\n\t\t\t cssClasses = attributes.cssClasses,\n\t\t\t isGrid = attributes.isGrid,\n\t\t\t width = attributes.width,\n\t\t\t widthTablet = attributes.widthTablet,\n\t\t\t widthMobile = attributes.widthMobile,\n\t\t\t outerContainer = attributes.outerContainer,\n\t\t\t innerContainer = attributes.innerContainer,\n\t\t\t containerWidth = attributes.containerWidth,\n\t\t\t minHeight = attributes.minHeight,\n\t\t\t minHeightUnit = attributes.minHeightUnit,\n\t\t\t minHeightTablet = attributes.minHeightTablet,\n\t\t\t minHeightUnitTablet = attributes.minHeightUnitTablet,\n\t\t\t minHeightMobile = attributes.minHeightMobile,\n\t\t\t minHeightUnitMobile = attributes.minHeightUnitMobile,\n\t\t\t borderColor = attributes.borderColor,\n\t\t\t borderColorOpacity = attributes.borderColorOpacity,\n\t\t\t backgroundColor = attributes.backgroundColor,\n\t\t\t backgroundColorOpacity = attributes.backgroundColorOpacity,\n\t\t\t textColor = attributes.textColor,\n\t\t\t linkColor = attributes.linkColor,\n\t\t\t linkColorHover = attributes.linkColorHover,\n\t\t\t bgImage = attributes.bgImage,\n\t\t\t bgOptions = attributes.bgOptions,\n\t\t\t verticalAlignment = attributes.verticalAlignment,\n\t\t\t verticalAlignmentTablet = attributes.verticalAlignmentTablet,\n\t\t\t verticalAlignmentMobile = attributes.verticalAlignmentMobile,\n\t\t\t zindex = attributes.zindex,\n\t\t\t removeVerticalGap = attributes.removeVerticalGap,\n\t\t\t removeVerticalGapTablet = attributes.removeVerticalGapTablet,\n\t\t\t removeVerticalGapMobile = attributes.removeVerticalGapMobile,\n\t\t\t orderTablet = attributes.orderTablet,\n\t\t\t orderMobile = attributes.orderMobile,\n\t\t\t alignment = attributes.alignment,\n\t\t\t alignmentTablet = attributes.alignmentTablet,\n\t\t\t alignmentMobile = attributes.alignmentMobile,\n\t\t\t fontFamily = attributes.fontFamily,\n\t\t\t googleFont = attributes.googleFont,\n\t\t\t googleFontVariants = attributes.googleFontVariants,\n\t\t\t fullWidthContent = attributes.fullWidthContent;\n\n\n\t\t\tvar minHeightUnits = [{\n\t\t\t\tname: _x('Pixel', 'A size unit for CSS markup'),\n\t\t\t\tunitValue: 'px'\n\t\t\t}, {\n\t\t\t\tname: _x('VH', 'A size unit for CSS markup'),\n\t\t\t\tunitValue: 'vh'\n\t\t\t}, {\n\t\t\t\tname: _x('VW', 'A size unit for CSS markup'),\n\t\t\t\tunitValue: 'vw'\n\t\t\t}];\n\n\t\t\tvar pageBuilderContainerOption = document.getElementById('_generate-full-width-content');\n\t\t\tvar changeEvent = new Event('change'); // eslint-disable-line no-undef\n\t\t\tvar getRootId = wp.data.select('core/block-editor').getBlockHierarchyRootClientId(clientId);\n\t\t\tvar isRootContainer = getRootId === clientId;\n\n\t\t\tvar fullWidthContentOptions = function fullWidthContentOptions() {\n\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\tnull,\n\t\t\t\t\tgenerateBlocksInfo.isGeneratePress && isRootContainer && pageBuilderContainerOption && wp.element.createElement(ToggleControl, {\n\t\t\t\t\t\tlabel: __('Set Full Width Content', 'generateblocks'),\n\t\t\t\t\t\thelp: __('This option tells the content container that contains all of the blocks on this page to be full width.', 'generateblocks'),\n\t\t\t\t\t\tchecked: fullWidthContent ? true : false,\n\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\tif (value) {\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.checked = true;\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.setAttribute('value', 'true');\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.dispatchEvent(changeEvent);\n\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tfullWidthContent: 'true'\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.checked = false;\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.setAttribute('value', '');\n\t\t\t\t\t\t\t\tdocument.querySelector('input[name=\"_generate-full-width-content\"]#default-content').checked = true;\n\t\t\t\t\t\t\t\tpageBuilderContainerOption.dispatchEvent(changeEvent);\n\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tfullWidthContent: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t);\n\t\t\t};\n\n\t\t\tvar googleFontsAttr = '';\n\n\t\t\tif (googleFontVariants) {\n\t\t\t\tgoogleFontsAttr = ':' + googleFontVariants;\n\t\t\t}\n\n\t\t\tvar parentBlockId = false,\n\t\t\t parentBlock = false,\n\t\t\t hasGridContainer = false,\n\t\t\t gridContainerId = '';\n\n\t\t\tif (typeof wp.data.select('core/block-editor').getBlockParents === 'function') {\n\t\t\t\tparentBlockId = wp.data.select('core/block-editor').getBlockParents(clientId, true)[0];\n\n\t\t\t\tif (parentBlockId) {\n\t\t\t\t\tparentBlock = wp.data.select('core/block-editor').getBlocksByClientId(parentBlockId);\n\n\t\t\t\t\tif (parentBlock && 'generateblocks/grid' === parentBlock[0].name) {\n\t\t\t\t\t\thasGridContainer = true;\n\t\t\t\t\t\tgridContainerId = parentBlock[0].attributes.uniqueId;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn wp.element.createElement(\n\t\t\t\tFragment,\n\t\t\t\tnull,\n\t\t\t\twp.element.createElement(\n\t\t\t\t\tInspectorControls,\n\t\t\t\t\tnull,\n\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_8__components_responsive_tabs__[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\tselectedDevice: selectedDevice,\n\t\t\t\t\t\tonClick: function onClick(device) {\n\t\t\t\t\t\t\t_this2.setState({\n\t\t\t\t\t\t\t\tselectedDevice: device\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t})),\n\t\t\t\t\t!isGrid && wp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Layout', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: true,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('layout'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerLayout',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\thasGridContainer && wp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\t\tlabel: __('Grid Item', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('This Container is inside a Grid Block but is not set as a grid item. Enable this option for optimal results.', 'generateblocks'),\n\t\t\t\t\t\t\t\tchecked: !!isGrid,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tisGrid: value,\n\t\t\t\t\t\t\t\t\t\tgridId: gridContainerId\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tfullWidthContentOptions(),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Container', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: outerContainer,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Full width', 'generateblocks'), value: 'full' }, { label: __('Contained', 'generateblocks'), value: 'contained' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\touterContainer: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t!generateBlocksInfo.isGeneratePress && 'full' === outerContainer && wp.element.createElement(BaseControl, {\n\t\t\t\t\t\t\t\tlabel: __('Full width containers will only work if your theme allows you to set your content to be full width.', 'generateblocks')\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Inner Container', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: innerContainer,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Full width', 'generateblocks'), value: 'full' }, { label: __('Contained', 'generateblocks'), value: 'contained' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tinnerContainer: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Container Width', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Pixel Units'), key: 'container-width-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'container-width-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Pixel Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'px'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tvalue: parseFloat(containerWidth) || '',\n\t\t\t\t\t\t\t\tplaceholder: generateBlocksDefaults.container.containerWidth,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tcontainerWidth: '' !== value ? parseFloat(value) : undefined\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerLayout', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\tisGrid && wp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Layout', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: true,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('layout'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerGridLayout',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t!hasGridContainer && wp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\tlabel: __('Grid Item', 'generateblocks'),\n\t\t\t\t\t\t\thelp: __('This container is set as a grid item but is not inside a grid block. Deactivate this option for optimal results.', 'generateblocks'),\n\t\t\t\t\t\t\tchecked: !!isGrid,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tisGrid: value,\n\t\t\t\t\t\t\t\t\tgridId: ''\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t'desktop' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Container Width', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Percentage Units'), key: 'percentage-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'percentage-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Percentage Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'%'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'widthButtons' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 25, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 25 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'25'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 33.33, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 33.33 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'33'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 50, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 50 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'50'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 66.66, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 66.66 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'66'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 75, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 75 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'75'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: width === 100, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ width: 100 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'100'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-column-width-control',\n\t\t\t\t\t\t\t\tvalue: width || '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\twidth: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\t\t\tstep: 0.01,\n\t\t\t\t\t\t\t\tinitialPosition: generateBlocksDefaults.container.width\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('Align grid item content. Does not apply if vertical alignment is set in the grid.', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignment,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignment: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\t\tlabel: __('Remove Vertical Gap', 'generateblocks'),\n\t\t\t\t\t\t\t\tchecked: !!removeVerticalGap,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tremoveVerticalGap: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'tablet' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Container Width', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Percentage Units'), key: 'percentage-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'percentage-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Percentage Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'%'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'widthButtons' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 25, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 25 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'25'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 33.33, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 33.33 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'33'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 50, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 50 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'50'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 66.66, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 66.66 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'66'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 75, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 75 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'75'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthTablet === 100, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthTablet: 100 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'100'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-column-width-control',\n\t\t\t\t\t\t\t\tvalue: widthTablet || '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\twidthTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\t\t\tstep: 0.01,\n\t\t\t\t\t\t\t\tinitialPosition: generateBlocksDefaults.container.widthTablet\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('Align grid item content. Does not apply if vertical alignment is set in the grid.', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentTablet,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\t\tlabel: __('Remove Vertical Gap', 'generateblocks'),\n\t\t\t\t\t\t\t\tchecked: !!removeVerticalGapTablet,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tremoveVerticalGapTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tlabel: __('Order', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: orderTablet || 0 === orderTablet ? orderTablet : '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\torderTablet: parseFloat(value)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'mobile' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__label' },\n\t\t\t\t\t\t\t\t\t__('Container Width', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t{ text: __('Percentage Units'), key: 'percentage-unit' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tkey: 'percentage-unit',\n\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: true\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': __('Percentage Units')\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t'%'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t{ className: 'widthButtons' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 25, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 25 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'25'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 33.33, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 33.33 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'33'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 50, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 50 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'50'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 66.66, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 66.66 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'66'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 75, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 75 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'75'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t{ isLarge: true, isPrimary: widthMobile === 100, onClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ widthMobile: 100 });\n\t\t\t\t\t\t\t\t\t\t} },\n\t\t\t\t\t\t\t\t\t'100'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(RangeControl, {\n\t\t\t\t\t\t\t\tclassName: 'gblocks-column-width-control',\n\t\t\t\t\t\t\t\tvalue: widthMobile || '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\twidthMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tmin: 0,\n\t\t\t\t\t\t\t\tmax: 100,\n\t\t\t\t\t\t\t\tstep: 0.01,\n\t\t\t\t\t\t\t\tinitialPosition: generateBlocksDefaults.container.widthMobile\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\thelp: __('Align grid item content. Does not apply if vertical alignment is set in the grid.', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentMobile,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\t\tlabel: __('Remove Vertical Gap', 'generateblocks'),\n\t\t\t\t\t\t\t\tchecked: !!removeVerticalGapMobile,\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tremoveVerticalGapMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tlabel: __('Order', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: orderMobile || 0 === orderMobile ? orderMobile : '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\torderMobile: parseFloat(value)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerGridLayout', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Typography', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('typography'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerTypography',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t'desktop' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t\t{ label: __('Text Alignment', 'generateblocks') },\n\t\t\t\t\t\t\t\twp.element.createElement(AlignmentToolbar, {\n\t\t\t\t\t\t\t\t\tisCollapsed: false,\n\t\t\t\t\t\t\t\t\tvalue: alignment,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\tsetAttributes({ alignment: value });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_6__components_typography__[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tshowFontFamily: true,\n\t\t\t\t\t\t\t\tshowFontWeight: true,\n\t\t\t\t\t\t\t\tshowTextTransform: true,\n\t\t\t\t\t\t\t\tshowFontSize: true,\n\t\t\t\t\t\t\t\tdefaultFontSize: generateBlocksDefaults.container.fontSize,\n\t\t\t\t\t\t\t\tdefaultFontSizeUnit: generateBlocksDefaults.container.fontSizeUnit,\n\t\t\t\t\t\t\t\tdefaultLineHeight: generateBlocksDefaults.container.lineHeight,\n\t\t\t\t\t\t\t\tdefaultLineHeightUnit: generateBlocksDefaults.container.lineHeightUnit,\n\t\t\t\t\t\t\t\tdefaultLetterSpacing: generateBlocksDefaults.container.letterSpacing\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'tablet' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t\t{ label: __('Text Alignment', 'generateblocks') },\n\t\t\t\t\t\t\t\twp.element.createElement(AlignmentToolbar, {\n\t\t\t\t\t\t\t\t\tisCollapsed: false,\n\t\t\t\t\t\t\t\t\tvalue: alignmentTablet,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\tsetAttributes({ alignmentTablet: value });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_6__components_typography__[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tshowFontSize: true,\n\t\t\t\t\t\t\t\tdefaultFontSize: generateBlocksDefaults.container.fontSizeTablet,\n\t\t\t\t\t\t\t\tdefaultFontSizeUnit: generateBlocksDefaults.container.fontSizeUnit,\n\t\t\t\t\t\t\t\tdefaultLineHeight: generateBlocksDefaults.container.lineHeightTablet,\n\t\t\t\t\t\t\t\tdefaultLineHeightUnit: generateBlocksDefaults.container.lineHeightUnit,\n\t\t\t\t\t\t\t\tdefaultLetterSpacing: generateBlocksDefaults.container.letterSpacingTablet\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'mobile' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\tBaseControl,\n\t\t\t\t\t\t\t\t{ label: __('Text Alignment', 'generateblocks') },\n\t\t\t\t\t\t\t\twp.element.createElement(AlignmentToolbar, {\n\t\t\t\t\t\t\t\t\tisCollapsed: false,\n\t\t\t\t\t\t\t\t\tvalue: alignmentMobile,\n\t\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\t\tsetAttributes({ alignmentMobile: value });\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_6__components_typography__[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tshowFontSize: true,\n\t\t\t\t\t\t\t\tdefaultFontSize: generateBlocksDefaults.container.fontSizeMobile,\n\t\t\t\t\t\t\t\tdefaultFontSizeUnit: generateBlocksDefaults.container.fontSizeUnit,\n\t\t\t\t\t\t\t\tdefaultLineHeight: generateBlocksDefaults.container.lineHeightMobile,\n\t\t\t\t\t\t\t\tdefaultLineHeightUnit: generateBlocksDefaults.container.lineHeightUnit,\n\t\t\t\t\t\t\t\tdefaultLetterSpacing: generateBlocksDefaults.container.letterSpacingMobile\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerTypography', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Spacing', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('spacing'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerSpacing',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t'desktop' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__label' },\n\t\t\t\t\t\t\t\t\t__('Minimum Height', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__units', 'aria-label': __('Select Units') },\n\t\t\t\t\t\t\t\t\t\tminHeightUnits.map(function (unit) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: minHeightUnit === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': minHeightUnit === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ minHeightUnit: unit.unitValue });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tvalue: minHeight ? minHeight : '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tminHeight: parseFloat(value)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t!!minHeight && !isGrid && wp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignment,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignment: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Padding', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'paddingTop',\n\t\t\t\t\t\t\t\tattrRight: 'paddingRight',\n\t\t\t\t\t\t\t\tattrBottom: 'paddingBottom',\n\t\t\t\t\t\t\t\tattrLeft: 'paddingLeft',\n\t\t\t\t\t\t\t\tattrUnit: 'paddingUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'paddingSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'margin',\n\t\t\t\t\t\t\t\tlabel: __('Margin', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'marginTop',\n\t\t\t\t\t\t\t\tattrRight: 'marginRight',\n\t\t\t\t\t\t\t\tattrBottom: 'marginBottom',\n\t\t\t\t\t\t\t\tattrLeft: 'marginLeft',\n\t\t\t\t\t\t\t\tattrUnit: 'marginUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'marginSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Size', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderSizeTop',\n\t\t\t\t\t\t\t\tattrRight: 'borderSizeRight',\n\t\t\t\t\t\t\t\tattrBottom: 'borderSizeBottom',\n\t\t\t\t\t\t\t\tattrLeft: 'borderSizeLeft',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderSizeSyncUnits',\n\t\t\t\t\t\t\t\tdisplayUnit: 'px',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Radius', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderRadiusTopLeft',\n\t\t\t\t\t\t\t\tattrRight: 'borderRadiusTopRight',\n\t\t\t\t\t\t\t\tattrBottom: 'borderRadiusBottomRight',\n\t\t\t\t\t\t\t\tattrLeft: 'borderRadiusBottomLeft',\n\t\t\t\t\t\t\t\tattrUnit: 'borderRadiusUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderRadiusSyncUnits',\n\t\t\t\t\t\t\t\tlabelTop: __('T-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelRight: __('T-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelBottom: __('B-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelLeft: __('B-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'tablet' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__label' },\n\t\t\t\t\t\t\t\t\t__('Minimum Height', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__units', 'aria-label': __('Select Units') },\n\t\t\t\t\t\t\t\t\t\tminHeightUnits.map(function (unit) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: minHeightUnitTablet === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': minHeightUnitTablet === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ minHeightUnitTablet: unit.unitValue });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tvalue: minHeightTablet ? minHeightTablet : '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tminHeightTablet: parseFloat(value)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t(!!minHeight || !!minHeightTablet) && !isGrid && wp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentTablet,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentTablet: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Padding', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'paddingTopTablet',\n\t\t\t\t\t\t\t\tattrRight: 'paddingRightTablet',\n\t\t\t\t\t\t\t\tattrBottom: 'paddingBottomTablet',\n\t\t\t\t\t\t\t\tattrLeft: 'paddingLeftTablet',\n\t\t\t\t\t\t\t\tattrUnit: 'paddingUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'paddingSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'margin',\n\t\t\t\t\t\t\t\tlabel: __('Margin', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'marginTopTablet',\n\t\t\t\t\t\t\t\tattrRight: 'marginRightTablet',\n\t\t\t\t\t\t\t\tattrBottom: 'marginBottomTablet',\n\t\t\t\t\t\t\t\tattrLeft: 'marginLeftTablet',\n\t\t\t\t\t\t\t\tattrUnit: 'marginUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'marginSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Size', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderSizeTopTablet',\n\t\t\t\t\t\t\t\tattrRight: 'borderSizeRightTablet',\n\t\t\t\t\t\t\t\tattrBottom: 'borderSizeBottomTablet',\n\t\t\t\t\t\t\t\tattrLeft: 'borderSizeLeftTablet',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderSizeSyncUnits',\n\t\t\t\t\t\t\t\tdisplayUnit: 'px',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Radius', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderRadiusTopLeftTablet',\n\t\t\t\t\t\t\t\tattrRight: 'borderRadiusTopRightTablet',\n\t\t\t\t\t\t\t\tattrBottom: 'borderRadiusBottomRightTablet',\n\t\t\t\t\t\t\t\tattrLeft: 'borderRadiusBottomLeftTablet',\n\t\t\t\t\t\t\t\tattrUnit: 'borderRadiusUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderRadiusSyncUnits',\n\t\t\t\t\t\t\t\tlabelTop: __('T-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelRight: __('T-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelBottom: __('B-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelLeft: __('B-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\t'mobile' === selectedDevice && wp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__header' },\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__label' },\n\t\t\t\t\t\t\t\t\t__('Minimum Height', 'generateblocks')\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-control__units' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButtonGroup,\n\t\t\t\t\t\t\t\t\t\t{ className: 'components-gblocks-dimensions-control__units', 'aria-label': __('Select Units') },\n\t\t\t\t\t\t\t\t\t\tminHeightUnits.map(function (unit) {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\tTooltip,\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ text: sprintf(__('%s Units'), unit.name), key: unit.unitValue },\n\t\t\t\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey: unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName: 'components-gblocks-dimensions-control__units--' + unit.name,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisPrimary: minHeightUnitMobile === unit.unitValue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'aria-pressed': minHeightUnitMobile === unit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: values associated with CSS syntax, 'Pixel', 'Em', 'Percentage' */\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t, 'aria-label': sprintf(__('%s Units'), unit.name),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick: function onClick() {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn setAttributes({ minHeightUnitMobile: unit.unitValue });\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tunit.unitValue\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\t\tvalue: minHeightMobile ? minHeightMobile : '',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tminHeightMobile: parseFloat(value)\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t(!!minHeight || !!minHeightTablet || !!minHeightMobile) && !isGrid && wp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Vertical Alignment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: verticalAlignmentMobile,\n\t\t\t\t\t\t\t\toptions: [{ label: __('Inherit', 'generateblocks'), value: 'inherit' }, { label: __('Default', 'generateblocks'), value: '' }, { label: __('Top', 'generateblocks'), value: 'flex-start' }, { label: __('Center', 'generateblocks'), value: 'center' }, { label: __('Bottom', 'generateblocks'), value: 'flex-end' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tverticalAlignmentMobile: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Padding', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'paddingTopMobile',\n\t\t\t\t\t\t\t\tattrRight: 'paddingRightMobile',\n\t\t\t\t\t\t\t\tattrBottom: 'paddingBottomMobile',\n\t\t\t\t\t\t\t\tattrLeft: 'paddingLeftMobile',\n\t\t\t\t\t\t\t\tattrUnit: 'paddingUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'paddingSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'margin',\n\t\t\t\t\t\t\t\tlabel: __('Margin', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'marginTopMobile',\n\t\t\t\t\t\t\t\tattrRight: 'marginRightMobile',\n\t\t\t\t\t\t\t\tattrBottom: 'marginBottomMobile',\n\t\t\t\t\t\t\t\tattrLeft: 'marginLeftMobile',\n\t\t\t\t\t\t\t\tattrUnit: 'marginUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'marginSyncUnits',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Size', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderSizeTopMobile',\n\t\t\t\t\t\t\t\tattrRight: 'borderSizeRightMobile',\n\t\t\t\t\t\t\t\tattrBottom: 'borderSizeBottomMobile',\n\t\t\t\t\t\t\t\tattrLeft: 'borderSizeLeftMobile',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderSizeSyncUnits',\n\t\t\t\t\t\t\t\tdisplayUnit: 'px',\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_4__components_dimensions___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\t\tdevice: selectedDevice,\n\t\t\t\t\t\t\t\ttype: 'padding',\n\t\t\t\t\t\t\t\tlabel: __('Border Radius', 'generateblocks'),\n\t\t\t\t\t\t\t\tattrTop: 'borderRadiusTopLeftMobile',\n\t\t\t\t\t\t\t\tattrRight: 'borderRadiusTopRightMobile',\n\t\t\t\t\t\t\t\tattrBottom: 'borderRadiusBottomRightMobile',\n\t\t\t\t\t\t\t\tattrLeft: 'borderRadiusBottomLeftMobile',\n\t\t\t\t\t\t\t\tattrUnit: 'borderRadiusUnit',\n\t\t\t\t\t\t\t\tattrSyncUnits: 'borderRadiusSyncUnits',\n\t\t\t\t\t\t\t\tlabelTop: __('T-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelRight: __('T-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelBottom: __('B-Right', 'generateblocks'),\n\t\t\t\t\t\t\t\tlabelLeft: __('B-Left', 'generateblocks'),\n\t\t\t\t\t\t\t\tdefaults: generateBlocksDefaults.container\n\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerSpacing', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Colors', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('colors'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerColors',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\tFragment,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__components_color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tlabel: __('Background Color', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: backgroundColor,\n\t\t\t\t\t\t\t\talpha: true,\n\t\t\t\t\t\t\t\tvalueOpacity: backgroundColorOpacity,\n\t\t\t\t\t\t\t\tattrOpacity: 'backgroundColorOpacity',\n\t\t\t\t\t\t\t\tonChange: function onChange(nextBackgroundColor) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tbackgroundColor: nextBackgroundColor\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonOpacityChange: function onOpacityChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tbackgroundColorOpacity: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__components_color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tlabel: __('Text Color', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: textColor,\n\t\t\t\t\t\t\t\talpha: false,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextTextColor) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\ttextColor: nextTextColor\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__components_color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tlabel: __('Link Color', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: linkColor,\n\t\t\t\t\t\t\t\talpha: false,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextLinkColor) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tlinkColor: nextLinkColor\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__components_color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tlabel: __('Link Color Hover', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: linkColorHover,\n\t\t\t\t\t\t\t\talpha: false,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextLinkColorHover) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tlinkColorHover: nextLinkColorHover\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_1__components_color_picker__[\"a\" /* default */], {\n\t\t\t\t\t\t\t\tlabel: __('Border Color', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: borderColor,\n\t\t\t\t\t\t\t\talpha: true,\n\t\t\t\t\t\t\t\tvalueOpacity: borderColorOpacity,\n\t\t\t\t\t\t\t\tattrOpacity: 'borderColorOpacity',\n\t\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tborderColor: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonOpacityChange: function onOpacityChange(value) {\n\t\t\t\t\t\t\t\t\treturn setAttributes({\n\t\t\t\t\t\t\t\t\t\tborderColorOpacity: value\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerColors', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Background Gradient', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('gradients'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerBackgroundGradient',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_7__components_gradient___[\"a\" /* default */], _extends({}, this.props, {\n\t\t\t\t\t\t\tattrGradient: 'gradient',\n\t\t\t\t\t\t\tattrGradientDirection: 'gradientDirection',\n\t\t\t\t\t\t\tattrGradientColorOne: 'gradientColorOne',\n\t\t\t\t\t\t\tattrGradientColorStopOne: 'gradientColorStopOne',\n\t\t\t\t\t\t\tattrGradientColorTwo: 'gradientColorTwo',\n\t\t\t\t\t\t\tattrGradientColorStopTwo: 'gradientColorStopTwo',\n\t\t\t\t\t\t\tattrGradientColorOneOpacity: 'gradientColorOneOpacity',\n\t\t\t\t\t\t\tattrGradientColorTwoOpacity: 'gradientColorTwoOpacity',\n\t\t\t\t\t\t\tdefaultColorOne: generateBlocksDefaults.container.gradientColorOne,\n\t\t\t\t\t\t\tdefaultColorTwo: generateBlocksDefaults.container.gradientColorTwo\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerBackgroundGradient', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Background Image', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('backgrounds'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerBackgroundImage',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t!bgImage && wp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\twp.element.createElement(MediaUpload, {\n\t\t\t\t\t\t\t\ttitle: __('Set background image', 'generateblocks'),\n\t\t\t\t\t\t\t\tonSelect: onSelectBgImage,\n\t\t\t\t\t\t\t\tallowedTypes: ['image'],\n\t\t\t\t\t\t\t\tmodalClass: 'editor-post-featured-image__media-modal',\n\t\t\t\t\t\t\t\trender: function render(_ref) {\n\t\t\t\t\t\t\t\t\tvar open = _ref.open;\n\t\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{ className: 'editor-post-featured-image__toggle', onClick: open },\n\t\t\t\t\t\t\t\t\t\t__('Set background image', 'generateblocks')\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\t!!bgImage && wp.element.createElement(MediaUpload, {\n\t\t\t\t\t\t\ttitle: __('Set background image', 'generateblocks'),\n\t\t\t\t\t\t\tonSelect: onSelectBgImage,\n\t\t\t\t\t\t\tallowedTypes: ['image'],\n\t\t\t\t\t\t\tvalue: bgImage.id,\n\t\t\t\t\t\t\tmodalClass: 'editor-post-featured-image__media-modal',\n\t\t\t\t\t\t\trender: function render(_ref2) {\n\t\t\t\t\t\t\t\tvar open = _ref2.open;\n\t\t\t\t\t\t\t\treturn wp.element.createElement(\n\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t{ className: 'editor-bg-image' },\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t{ className: 'editor-post-featured-image__preview', onClick: open },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tResponsiveWrapper,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tnaturalWidth: bgImage.image.width,\n\t\t\t\t\t\t\t\t\t\t\t\tnaturalHeight: bgImage.image.height\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\twp.element.createElement('img', { src: bgImage.image.url, alt: __('BG Image') })\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t\t\t{ className: 'edit-bg-buttons' },\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{ onClick: open, isDefault: true, isLarge: true },\n\t\t\t\t\t\t\t\t\t\t\t__('Replace image')\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t\t\t\t\tButton,\n\t\t\t\t\t\t\t\t\t\t\t{ onClick: onRemoveBgImage, isLink: true, isDestructive: true },\n\t\t\t\t\t\t\t\t\t\t\t__('Remove background image', 'generateblocks')\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t!!bgImage && wp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{ className: 'section-bg-settings' },\n\t\t\t\t\t\t\twp.element.createElement(ToggleControl, {\n\t\t\t\t\t\t\t\tlabel: __('Background Color Overlay', 'generateblocks'),\n\t\t\t\t\t\t\t\tchecked: !!bgOptions.overlay,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextOverlay) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tbgOptions: Object.assign({}, bgOptions, {\n\t\t\t\t\t\t\t\t\t\t\toverlay: nextOverlay\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t!!bgOptions.overlay && wp.element.createElement(\n\t\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t\t{ className: 'gblocks-notice' },\n\t\t\t\t\t\t\t\t__('Your background color must have transparency for the image to show.', 'generateblocks')\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\tlabel: __('Size', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: bgOptions.size,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextSize) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tbgOptions: Object.assign({}, bgOptions, {\n\t\t\t\t\t\t\t\t\t\t\tsize: nextSize\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\t\tlabel: __('Position', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: bgOptions.position,\n\t\t\t\t\t\t\t\tonChange: function onChange(nextPosition) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tbgOptions: Object.assign({}, bgOptions, {\n\t\t\t\t\t\t\t\t\t\t\tposition: nextPosition\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Repeat', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: bgOptions.repeat,\n\t\t\t\t\t\t\t\toptions: [{ label: 'no-repeat', value: 'no-repeat' }, { label: 'repeat', value: 'repeat' }, { label: 'repeat-x', value: 'repeat-x' }, { label: 'repeat-y', value: 'repeat-y' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(nextRepeat) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tbgOptions: Object.assign({}, bgOptions, {\n\t\t\t\t\t\t\t\t\t\t\trepeat: nextRepeat\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\t\tlabel: __('Attachment', 'generateblocks'),\n\t\t\t\t\t\t\t\tvalue: bgOptions.attachment,\n\t\t\t\t\t\t\t\toptions: [{ label: 'scroll', value: '' }, { label: 'fixed', value: 'fixed' }, { label: 'local', value: 'local' }],\n\t\t\t\t\t\t\t\tonChange: function onChange(nextAttachment) {\n\t\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\t\tbgOptions: Object.assign({}, bgOptions, {\n\t\t\t\t\t\t\t\t\t\t\tattachment: nextAttachment\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerBackgroundImage', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Advanced', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('advanced'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerAdvanced',\n\t\t\t\t\t\t\tstate: this.state,\n\t\t\t\t\t\t\tshowPanel: 'desktop' === selectedDevice || false\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(SelectControl, {\n\t\t\t\t\t\t\tlabel: __('Element Tag', 'generateblocks'),\n\t\t\t\t\t\t\tvalue: tagName,\n\t\t\t\t\t\t\toptions: [{ label: 'div', value: 'div' }, { label: 'section', value: 'section' }, { label: 'header', value: 'header' }, { label: 'footer', value: 'footer' }],\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\ttagName: value\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('Element ID', 'generateblocks'),\n\t\t\t\t\t\t\tvalue: elementId,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tvar newElementId = value.replace(ELEMENT_ID_REGEX, '-');\n\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\telementId: newElementId\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('CSS Classes', 'generateblocks'),\n\t\t\t\t\t\t\tvalue: cssClasses,\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tcssClasses: value\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(TextControl, {\n\t\t\t\t\t\t\tlabel: __('z-index', 'generateblocks'),\n\t\t\t\t\t\t\ttype: 'number',\n\t\t\t\t\t\t\tvalue: zindex || 0 === zindex ? zindex : '',\n\t\t\t\t\t\t\tonChange: function onChange(value) {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tzindex: value\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonBlur: function onBlur() {\n\t\t\t\t\t\t\t\tsetAttributes({\n\t\t\t\t\t\t\t\t\tzindex: parseFloat(zindex)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tonClick: function onClick(e) {\n\t\t\t\t\t\t\t\t// Make sure onBlur fires in Firefox.\n\t\t\t\t\t\t\t\te.currentTarget.focus();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerAdvanced', this.props, this.state)\n\t\t\t\t\t),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_5__components_panel_area___[\"a\" /* default */],\n\t\t\t\t\t\t_extends({}, this.props, {\n\t\t\t\t\t\t\ttitle: __('Documentation', 'generateblocks'),\n\t\t\t\t\t\t\tinitialOpen: false,\n\t\t\t\t\t\t\ticon: Object(__WEBPACK_IMPORTED_MODULE_2__utils_get_icon__[\"a\" /* default */])('documentation'),\n\t\t\t\t\t\t\tclassName: 'gblocks-panel-label',\n\t\t\t\t\t\t\tid: 'containerDocumentation',\n\t\t\t\t\t\t\tstate: this.state\n\t\t\t\t\t\t}),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'p',\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t__('Need help with this block?', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'a',\n\t\t\t\t\t\t\t{ href: 'https://docs.generateblocks.com/collection/container/', target: '_blank', rel: 'noreferrer noopener' },\n\t\t\t\t\t\t\t__('Visit our documentation', 'generateblocks')\n\t\t\t\t\t\t),\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.controls', '', 'containerDocumentation', this.props, this.state)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\twp.element.createElement(__WEBPACK_IMPORTED_MODULE_9__css_desktop_js__[\"a\" /* default */], this.props),\n\t\t\t\tfontFamily && googleFont && wp.element.createElement('link', {\n\t\t\t\t\trel: 'stylesheet',\n\t\t\t\t\thref: 'https://fonts.googleapis.com/css?family=' + fontFamily.replace(/ /g, '+') + googleFontsAttr\n\t\t\t\t}),\n\t\t\t\t!!isGrid && wp.element.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ className: __WEBPACK_IMPORTED_MODULE_3_classnames___default()(_defineProperty({\n\t\t\t\t\t\t\t'gb-grid-column': true\n\t\t\t\t\t\t}, 'gb-grid-column-' + uniqueId, true)) },\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0__section_tag__[\"a\" /* default */],\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttagName: tagName,\n\t\t\t\t\t\t\tid: elementId,\n\t\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_3_classnames___default()((_classnames2 = {\n\t\t\t\t\t\t\t\t'gb-container': true\n\t\t\t\t\t\t\t}, _defineProperty(_classnames2, 'gb-container-' + uniqueId, true), _defineProperty(_classnames2, '' + cssClasses, '' !== cssClasses), _classnames2))\n\t\t\t\t\t\t},\n\t\t\t\t\t\tapplyFilters('generateblocks.editor.insideContainerWrapper', '', this.props),\n\t\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t\t'div',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_3_classnames___default()({\n\t\t\t\t\t\t\t\t\t'gb-inside-container': true\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\twp.element.createElement(InnerBlocks, {\n\t\t\t\t\t\t\t\ttemplateLock: false,\n\t\t\t\t\t\t\t\trenderAppender: hasChildBlocks ? undefined : function () {\n\t\t\t\t\t\t\t\t\treturn wp.element.createElement(InnerBlocks.ButtonBlockAppender, null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t\t\t!isGrid && wp.element.createElement(\n\t\t\t\t\t__WEBPACK_IMPORTED_MODULE_0__section_tag__[\"a\" /* default */],\n\t\t\t\t\t{\n\t\t\t\t\t\ttagName: tagName,\n\t\t\t\t\t\tid: elementId,\n\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_3_classnames___default()((_classnames3 = {\n\t\t\t\t\t\t\t'gb-container': true\n\t\t\t\t\t\t}, _defineProperty(_classnames3, 'gb-container-' + uniqueId, true), _defineProperty(_classnames3, '' + cssClasses, '' !== cssClasses), _classnames3))\n\t\t\t\t\t},\n\t\t\t\t\tapplyFilters('generateblocks.editor.insideContainerWrapper', '', this.props),\n\t\t\t\t\twp.element.createElement(\n\t\t\t\t\t\t'div',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName: __WEBPACK_IMPORTED_MODULE_3_classnames___default()({\n\t\t\t\t\t\t\t\t'gb-inside-container': true\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t\twp.element.createElement(InnerBlocks, {\n\t\t\t\t\t\t\ttemplateLock: false,\n\t\t\t\t\t\t\trenderAppender: hasChildBlocks ? undefined : function () {\n\t\t\t\t\t\t\t\treturn wp.element.createElement(InnerBlocks.ButtonBlockAppender, null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn GenerateBlockContainer;\n}(Component);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (GenerateBlockContainer);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9lZGl0LmpzPzRjYjAiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7IGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7IHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07IGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHsgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzb3VyY2UsIGtleSkpIHsgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTsgfSB9IH0gcmV0dXJuIHRhcmdldDsgfTtcblxudmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uICgpIHsgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7IGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHsgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTsgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlOyBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7IGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTtcblxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cblxuZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpOyB9IH1cblxuZnVuY3Rpb24gX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4oc2VsZiwgY2FsbCkgeyBpZiAoIXNlbGYpIHsgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpOyB9IHJldHVybiBjYWxsICYmICh0eXBlb2YgY2FsbCA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgY2FsbCA9PT0gXCJmdW5jdGlvblwiKSA/IGNhbGwgOiBzZWxmOyB9XG5cbmZ1bmN0aW9uIF9pbmhlcml0cyhzdWJDbGFzcywgc3VwZXJDbGFzcykgeyBpZiAodHlwZW9mIHN1cGVyQ2xhc3MgIT09IFwiZnVuY3Rpb25cIiAmJiBzdXBlckNsYXNzICE9PSBudWxsKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfVxuXG4vKipcbiAqIEJsb2NrOiBDb250YWluZXJcbiAqL1xuXG5pbXBvcnQgU2VjdGlvbiBmcm9tICcuL3NlY3Rpb24tdGFnJztcbmltcG9ydCBDb2xvclBpY2tlciBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbG9yLXBpY2tlcic7XG5pbXBvcnQgZ2V0SWNvbiBmcm9tICcuLi8uLi91dGlscy9nZXQtaWNvbic7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBEaW1lbnNpb25zQ29udHJvbCBmcm9tICcuLi8uLi9jb21wb25lbnRzL2RpbWVuc2lvbnMvJztcbmltcG9ydCBQYW5lbEFyZWEgZnJvbSAnLi4vLi4vY29tcG9uZW50cy9wYW5lbC1hcmVhLyc7XG5pbXBvcnQgVHlwb2dyYXBoeUNvbnRyb2xzIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvdHlwb2dyYXBoeSc7XG5pbXBvcnQgR3JhZGllbnRDb250cm9sIGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZ3JhZGllbnQvJztcbmltcG9ydCBSZXNwb25zaXZlVGFicyBmcm9tICcuLi8uLi9jb21wb25lbnRzL3Jlc3BvbnNpdmUtdGFicyc7XG5pbXBvcnQgRGVza3RvcENTUyBmcm9tICcuL2Nzcy9kZXNrdG9wLmpzJztcblxudmFyIF93cCRpMThuID0gd3AuaTE4bixcbiAgICBfXyA9IF93cCRpMThuLl9fLFxuICAgIF94ID0gX3dwJGkxOG4uX3gsXG4gICAgc3ByaW50ZiA9IF93cCRpMThuLnNwcmludGY7XG52YXIgX3dwJGNvbXBvbmVudHMgPSB3cC5jb21wb25lbnRzLFxuICAgIFJhbmdlQ29udHJvbCA9IF93cCRjb21wb25lbnRzLlJhbmdlQ29udHJvbCxcbiAgICBCdXR0b24gPSBfd3AkY29tcG9uZW50cy5CdXR0b24sXG4gICAgQnV0dG9uR3JvdXAgPSBfd3AkY29tcG9uZW50cy5CdXR0b25Hcm91cCxcbiAgICBSZXNwb25zaXZlV3JhcHBlciA9IF93cCRjb21wb25lbnRzLlJlc3BvbnNpdmVXcmFwcGVyLFxuICAgIFRvZ2dsZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5Ub2dnbGVDb250cm9sLFxuICAgIFNlbGVjdENvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5TZWxlY3RDb250cm9sLFxuICAgIFRleHRDb250cm9sID0gX3dwJGNvbXBvbmVudHMuVGV4dENvbnRyb2wsXG4gICAgVG9vbHRpcCA9IF93cCRjb21wb25lbnRzLlRvb2x0aXAsXG4gICAgQmFzZUNvbnRyb2wgPSBfd3AkY29tcG9uZW50cy5CYXNlQ29udHJvbDtcbnZhciBfd3AkZWxlbWVudCA9IHdwLmVsZW1lbnQsXG4gICAgRnJhZ21lbnQgPSBfd3AkZWxlbWVudC5GcmFnbWVudCxcbiAgICBDb21wb25lbnQgPSBfd3AkZWxlbWVudC5Db21wb25lbnQ7XG52YXIgX3dwJGJsb2NrRWRpdG9yID0gd3AuYmxvY2tFZGl0b3IsXG4gICAgSW5zcGVjdG9yQ29udHJvbHMgPSBfd3AkYmxvY2tFZGl0b3IuSW5zcGVjdG9yQ29udHJvbHMsXG4gICAgSW5uZXJCbG9ja3MgPSBfd3AkYmxvY2tFZGl0b3IuSW5uZXJCbG9ja3MsXG4gICAgTWVkaWFVcGxvYWQgPSBfd3AkYmxvY2tFZGl0b3IuTWVkaWFVcGxvYWQsXG4gICAgQWxpZ25tZW50VG9vbGJhciA9IF93cCRibG9ja0VkaXRvci5BbGlnbm1lbnRUb29sYmFyO1xudmFyIGFwcGx5RmlsdGVycyA9IHdwLmhvb2tzLmFwcGx5RmlsdGVycztcblxuXG52YXIgRUxFTUVOVF9JRF9SRUdFWCA9IC9bXFxzI10vZztcbnZhciBnYkNvbnRhaW5lcklkcyA9IFtdO1xuXG52YXIgR2VuZXJhdGVCbG9ja0NvbnRhaW5lciA9IGZ1bmN0aW9uIChfQ29tcG9uZW50KSB7XG5cdF9pbmhlcml0cyhHZW5lcmF0ZUJsb2NrQ29udGFpbmVyLCBfQ29tcG9uZW50KTtcblxuXHRmdW5jdGlvbiBHZW5lcmF0ZUJsb2NrQ29udGFpbmVyKCkge1xuXHRcdF9jbGFzc0NhbGxDaGVjayh0aGlzLCBHZW5lcmF0ZUJsb2NrQ29udGFpbmVyKTtcblxuXHRcdHZhciBfdGhpcyA9IF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChHZW5lcmF0ZUJsb2NrQ29udGFpbmVyLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoR2VuZXJhdGVCbG9ja0NvbnRhaW5lcikpLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuXG5cdFx0X3RoaXMuc3RhdGUgPSB7XG5cdFx0XHRzZWxlY3RlZERldmljZTogJ2Rlc2t0b3AnXG5cdFx0fTtcblx0XHRyZXR1cm4gX3RoaXM7XG5cdH1cblxuXHRfY3JlYXRlQ2xhc3MoR2VuZXJhdGVCbG9ja0NvbnRhaW5lciwgW3tcblx0XHRrZXk6ICdjb21wb25lbnREaWRNb3VudCcsXG5cdFx0dmFsdWU6IGZ1bmN0aW9uIGNvbXBvbmVudERpZE1vdW50KCkge1xuXHRcdFx0dmFyIGlkID0gdGhpcy5wcm9wcy5jbGllbnRJZC5zdWJzdHIoMiwgOSkucmVwbGFjZSgnLScsICcnKTtcblxuXHRcdFx0aWYgKCF0aGlzLnByb3BzLmF0dHJpYnV0ZXMudW5pcXVlSWQpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHR1bmlxdWVJZDogaWRcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Z2JDb250YWluZXJJZHMucHVzaChpZCk7XG5cdFx0XHR9IGVsc2UgaWYgKGdiQ29udGFpbmVySWRzLmluY2x1ZGVzKHRoaXMucHJvcHMuYXR0cmlidXRlcy51bmlxdWVJZCkpIHtcblx0XHRcdFx0dGhpcy5wcm9wcy5zZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHR1bmlxdWVJZDogaWRcblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0Z2JDb250YWluZXJJZHMucHVzaChpZCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRnYkNvbnRhaW5lcklkcy5wdXNoKHRoaXMucHJvcHMuYXR0cmlidXRlcy51bmlxdWVJZCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9LCB7XG5cdFx0a2V5OiAncmVuZGVyJyxcblx0XHR2YWx1ZTogZnVuY3Rpb24gcmVuZGVyKCkge1xuXHRcdFx0dmFyIF90aGlzMiA9IHRoaXMsXG5cdFx0XHQgICAgX2NsYXNzbmFtZXMyLFxuXHRcdFx0ICAgIF9jbGFzc25hbWVzMztcblxuXHRcdFx0dmFyIF9wcm9wcyA9IHRoaXMucHJvcHMsXG5cdFx0XHQgICAgYXR0cmlidXRlcyA9IF9wcm9wcy5hdHRyaWJ1dGVzLFxuXHRcdFx0ICAgIHNldEF0dHJpYnV0ZXMgPSBfcHJvcHMuc2V0QXR0cmlidXRlcyxcblx0XHRcdCAgICBoYXNDaGlsZEJsb2NrcyA9IF9wcm9wcy5oYXNDaGlsZEJsb2Nrcyxcblx0XHRcdCAgICBjbGllbnRJZCA9IF9wcm9wcy5jbGllbnRJZDtcblx0XHRcdHZhciBzZWxlY3RlZERldmljZSA9IHRoaXMuc3RhdGUuc2VsZWN0ZWREZXZpY2U7XG5cblxuXHRcdFx0dmFyIG9uU2VsZWN0QmdJbWFnZSA9IGZ1bmN0aW9uIG9uU2VsZWN0QmdJbWFnZShtZWRpYSkge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRiZ0ltYWdlOiB7XG5cdFx0XHRcdFx0XHRpZDogbWVkaWEuaWQsXG5cdFx0XHRcdFx0XHRpbWFnZTogbWVkaWEuc2l6ZXMuZnVsbFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9O1xuXG5cdFx0XHR2YXIgb25SZW1vdmVCZ0ltYWdlID0gZnVuY3Rpb24gb25SZW1vdmVCZ0ltYWdlKCkge1xuXHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRiZ0ltYWdlOiBudWxsXG5cdFx0XHRcdH0pO1xuXHRcdFx0fTtcblxuXHRcdFx0dmFyIHVuaXF1ZUlkID0gYXR0cmlidXRlcy51bmlxdWVJZCxcblx0XHRcdCAgICB0YWdOYW1lID0gYXR0cmlidXRlcy50YWdOYW1lLFxuXHRcdFx0ICAgIGVsZW1lbnRJZCA9IGF0dHJpYnV0ZXMuZWxlbWVudElkLFxuXHRcdFx0ICAgIGNzc0NsYXNzZXMgPSBhdHRyaWJ1dGVzLmNzc0NsYXNzZXMsXG5cdFx0XHQgICAgaXNHcmlkID0gYXR0cmlidXRlcy5pc0dyaWQsXG5cdFx0XHQgICAgd2lkdGggPSBhdHRyaWJ1dGVzLndpZHRoLFxuXHRcdFx0ICAgIHdpZHRoVGFibGV0ID0gYXR0cmlidXRlcy53aWR0aFRhYmxldCxcblx0XHRcdCAgICB3aWR0aE1vYmlsZSA9IGF0dHJpYnV0ZXMud2lkdGhNb2JpbGUsXG5cdFx0XHQgICAgb3V0ZXJDb250YWluZXIgPSBhdHRyaWJ1dGVzLm91dGVyQ29udGFpbmVyLFxuXHRcdFx0ICAgIGlubmVyQ29udGFpbmVyID0gYXR0cmlidXRlcy5pbm5lckNvbnRhaW5lcixcblx0XHRcdCAgICBjb250YWluZXJXaWR0aCA9IGF0dHJpYnV0ZXMuY29udGFpbmVyV2lkdGgsXG5cdFx0XHQgICAgbWluSGVpZ2h0ID0gYXR0cmlidXRlcy5taW5IZWlnaHQsXG5cdFx0XHQgICAgbWluSGVpZ2h0VW5pdCA9IGF0dHJpYnV0ZXMubWluSGVpZ2h0VW5pdCxcblx0XHRcdCAgICBtaW5IZWlnaHRUYWJsZXQgPSBhdHRyaWJ1dGVzLm1pbkhlaWdodFRhYmxldCxcblx0XHRcdCAgICBtaW5IZWlnaHRVbml0VGFibGV0ID0gYXR0cmlidXRlcy5taW5IZWlnaHRVbml0VGFibGV0LFxuXHRcdFx0ICAgIG1pbkhlaWdodE1vYmlsZSA9IGF0dHJpYnV0ZXMubWluSGVpZ2h0TW9iaWxlLFxuXHRcdFx0ICAgIG1pbkhlaWdodFVuaXRNb2JpbGUgPSBhdHRyaWJ1dGVzLm1pbkhlaWdodFVuaXRNb2JpbGUsXG5cdFx0XHQgICAgYm9yZGVyQ29sb3IgPSBhdHRyaWJ1dGVzLmJvcmRlckNvbG9yLFxuXHRcdFx0ICAgIGJvcmRlckNvbG9yT3BhY2l0eSA9IGF0dHJpYnV0ZXMuYm9yZGVyQ29sb3JPcGFjaXR5LFxuXHRcdFx0ICAgIGJhY2tncm91bmRDb2xvciA9IGF0dHJpYnV0ZXMuYmFja2dyb3VuZENvbG9yLFxuXHRcdFx0ICAgIGJhY2tncm91bmRDb2xvck9wYWNpdHkgPSBhdHRyaWJ1dGVzLmJhY2tncm91bmRDb2xvck9wYWNpdHksXG5cdFx0XHQgICAgdGV4dENvbG9yID0gYXR0cmlidXRlcy50ZXh0Q29sb3IsXG5cdFx0XHQgICAgbGlua0NvbG9yID0gYXR0cmlidXRlcy5saW5rQ29sb3IsXG5cdFx0XHQgICAgbGlua0NvbG9ySG92ZXIgPSBhdHRyaWJ1dGVzLmxpbmtDb2xvckhvdmVyLFxuXHRcdFx0ICAgIGJnSW1hZ2UgPSBhdHRyaWJ1dGVzLmJnSW1hZ2UsXG5cdFx0XHQgICAgYmdPcHRpb25zID0gYXR0cmlidXRlcy5iZ09wdGlvbnMsXG5cdFx0XHQgICAgdmVydGljYWxBbGlnbm1lbnQgPSBhdHRyaWJ1dGVzLnZlcnRpY2FsQWxpZ25tZW50LFxuXHRcdFx0ICAgIHZlcnRpY2FsQWxpZ25tZW50VGFibGV0ID0gYXR0cmlidXRlcy52ZXJ0aWNhbEFsaWdubWVudFRhYmxldCxcblx0XHRcdCAgICB2ZXJ0aWNhbEFsaWdubWVudE1vYmlsZSA9IGF0dHJpYnV0ZXMudmVydGljYWxBbGlnbm1lbnRNb2JpbGUsXG5cdFx0XHQgICAgemluZGV4ID0gYXR0cmlidXRlcy56aW5kZXgsXG5cdFx0XHQgICAgcmVtb3ZlVmVydGljYWxHYXAgPSBhdHRyaWJ1dGVzLnJlbW92ZVZlcnRpY2FsR2FwLFxuXHRcdFx0ICAgIHJlbW92ZVZlcnRpY2FsR2FwVGFibGV0ID0gYXR0cmlidXRlcy5yZW1vdmVWZXJ0aWNhbEdhcFRhYmxldCxcblx0XHRcdCAgICByZW1vdmVWZXJ0aWNhbEdhcE1vYmlsZSA9IGF0dHJpYnV0ZXMucmVtb3ZlVmVydGljYWxHYXBNb2JpbGUsXG5cdFx0XHQgICAgb3JkZXJUYWJsZXQgPSBhdHRyaWJ1dGVzLm9yZGVyVGFibGV0LFxuXHRcdFx0ICAgIG9yZGVyTW9iaWxlID0gYXR0cmlidXRlcy5vcmRlck1vYmlsZSxcblx0XHRcdCAgICBhbGlnbm1lbnQgPSBhdHRyaWJ1dGVzLmFsaWdubWVudCxcblx0XHRcdCAgICBhbGlnbm1lbnRUYWJsZXQgPSBhdHRyaWJ1dGVzLmFsaWdubWVudFRhYmxldCxcblx0XHRcdCAgICBhbGlnbm1lbnRNb2JpbGUgPSBhdHRyaWJ1dGVzLmFsaWdubWVudE1vYmlsZSxcblx0XHRcdCAgICBmb250RmFtaWx5ID0gYXR0cmlidXRlcy5mb250RmFtaWx5LFxuXHRcdFx0ICAgIGdvb2dsZUZvbnQgPSBhdHRyaWJ1dGVzLmdvb2dsZUZvbnQsXG5cdFx0XHQgICAgZ29vZ2xlRm9udFZhcmlhbnRzID0gYXR0cmlidXRlcy5nb29nbGVGb250VmFyaWFudHMsXG5cdFx0XHQgICAgZnVsbFdpZHRoQ29udGVudCA9IGF0dHJpYnV0ZXMuZnVsbFdpZHRoQ29udGVudDtcblxuXG5cdFx0XHR2YXIgbWluSGVpZ2h0VW5pdHMgPSBbe1xuXHRcdFx0XHRuYW1lOiBfeCgnUGl4ZWwnLCAnQSBzaXplIHVuaXQgZm9yIENTUyBtYXJrdXAnKSxcblx0XHRcdFx0dW5pdFZhbHVlOiAncHgnXG5cdFx0XHR9LCB7XG5cdFx0XHRcdG5hbWU6IF94KCdWSCcsICdBIHNpemUgdW5pdCBmb3IgQ1NTIG1hcmt1cCcpLFxuXHRcdFx0XHR1bml0VmFsdWU6ICd2aCdcblx0XHRcdH0sIHtcblx0XHRcdFx0bmFtZTogX3goJ1ZXJywgJ0Egc2l6ZSB1bml0IGZvciBDU1MgbWFya3VwJyksXG5cdFx0XHRcdHVuaXRWYWx1ZTogJ3Z3J1xuXHRcdFx0fV07XG5cblx0XHRcdHZhciBwYWdlQnVpbGRlckNvbnRhaW5lck9wdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdfZ2VuZXJhdGUtZnVsbC13aWR0aC1jb250ZW50Jyk7XG5cdFx0XHR2YXIgY2hhbmdlRXZlbnQgPSBuZXcgRXZlbnQoJ2NoYW5nZScpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG5cdFx0XHR2YXIgZ2V0Um9vdElkID0gd3AuZGF0YS5zZWxlY3QoJ2NvcmUvYmxvY2stZWRpdG9yJykuZ2V0QmxvY2tIaWVyYXJjaHlSb290Q2xpZW50SWQoY2xpZW50SWQpO1xuXHRcdFx0dmFyIGlzUm9vdENvbnRhaW5lciA9IGdldFJvb3RJZCA9PT0gY2xpZW50SWQ7XG5cblx0XHRcdHZhciBmdWxsV2lkdGhDb250ZW50T3B0aW9ucyA9IGZ1bmN0aW9uIGZ1bGxXaWR0aENvbnRlbnRPcHRpb25zKCkge1xuXHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0Z2VuZXJhdGVCbG9ja3NJbmZvLmlzR2VuZXJhdGVQcmVzcyAmJiBpc1Jvb3RDb250YWluZXIgJiYgcGFnZUJ1aWxkZXJDb250YWluZXJPcHRpb24gJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdGxhYmVsOiBfXygnU2V0IEZ1bGwgV2lkdGggQ29udGVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0aGVscDogX18oJ1RoaXMgb3B0aW9uIHRlbGxzIHRoZSBjb250ZW50IGNvbnRhaW5lciB0aGF0IGNvbnRhaW5zIGFsbCBvZiB0aGUgYmxvY2tzIG9uIHRoaXMgcGFnZSB0byBiZSBmdWxsIHdpZHRoLicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0Y2hlY2tlZDogZnVsbFdpZHRoQ29udGVudCA/IHRydWUgOiBmYWxzZSxcblx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRpZiAodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRwYWdlQnVpbGRlckNvbnRhaW5lck9wdGlvbi5jaGVja2VkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRwYWdlQnVpbGRlckNvbnRhaW5lck9wdGlvbi5zZXRBdHRyaWJ1dGUoJ3ZhbHVlJywgJ3RydWUnKTtcblx0XHRcdFx0XHRcdFx0XHRwYWdlQnVpbGRlckNvbnRhaW5lck9wdGlvbi5kaXNwYXRjaEV2ZW50KGNoYW5nZUV2ZW50KTtcblxuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0ZnVsbFdpZHRoQ29udGVudDogJ3RydWUnXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cGFnZUJ1aWxkZXJDb250YWluZXJPcHRpb24uY2hlY2tlZCA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRcdHBhZ2VCdWlsZGVyQ29udGFpbmVyT3B0aW9uLnNldEF0dHJpYnV0ZSgndmFsdWUnLCAnJyk7XG5cdFx0XHRcdFx0XHRcdFx0ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbbmFtZT1cIl9nZW5lcmF0ZS1mdWxsLXdpZHRoLWNvbnRlbnRcIl0jZGVmYXVsdC1jb250ZW50JykuY2hlY2tlZCA9IHRydWU7XG5cdFx0XHRcdFx0XHRcdFx0cGFnZUJ1aWxkZXJDb250YWluZXJPcHRpb24uZGlzcGF0Y2hFdmVudChjaGFuZ2VFdmVudCk7XG5cblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdGZ1bGxXaWR0aENvbnRlbnQ6ICcnXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHQpO1xuXHRcdFx0fTtcblxuXHRcdFx0dmFyIGdvb2dsZUZvbnRzQXR0ciA9ICcnO1xuXG5cdFx0XHRpZiAoZ29vZ2xlRm9udFZhcmlhbnRzKSB7XG5cdFx0XHRcdGdvb2dsZUZvbnRzQXR0ciA9ICc6JyArIGdvb2dsZUZvbnRWYXJpYW50cztcblx0XHRcdH1cblxuXHRcdFx0dmFyIHBhcmVudEJsb2NrSWQgPSBmYWxzZSxcblx0XHRcdCAgICBwYXJlbnRCbG9jayA9IGZhbHNlLFxuXHRcdFx0ICAgIGhhc0dyaWRDb250YWluZXIgPSBmYWxzZSxcblx0XHRcdCAgICBncmlkQ29udGFpbmVySWQgPSAnJztcblxuXHRcdFx0aWYgKHR5cGVvZiB3cC5kYXRhLnNlbGVjdCgnY29yZS9ibG9jay1lZGl0b3InKS5nZXRCbG9ja1BhcmVudHMgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0cGFyZW50QmxvY2tJZCA9IHdwLmRhdGEuc2VsZWN0KCdjb3JlL2Jsb2NrLWVkaXRvcicpLmdldEJsb2NrUGFyZW50cyhjbGllbnRJZCwgdHJ1ZSlbMF07XG5cblx0XHRcdFx0aWYgKHBhcmVudEJsb2NrSWQpIHtcblx0XHRcdFx0XHRwYXJlbnRCbG9jayA9IHdwLmRhdGEuc2VsZWN0KCdjb3JlL2Jsb2NrLWVkaXRvcicpLmdldEJsb2Nrc0J5Q2xpZW50SWQocGFyZW50QmxvY2tJZCk7XG5cblx0XHRcdFx0XHRpZiAocGFyZW50QmxvY2sgJiYgJ2dlbmVyYXRlYmxvY2tzL2dyaWQnID09PSBwYXJlbnRCbG9ja1swXS5uYW1lKSB7XG5cdFx0XHRcdFx0XHRoYXNHcmlkQ29udGFpbmVyID0gdHJ1ZTtcblx0XHRcdFx0XHRcdGdyaWRDb250YWluZXJJZCA9IHBhcmVudEJsb2NrWzBdLmF0dHJpYnV0ZXMudW5pcXVlSWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRudWxsLFxuXHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0SW5zcGVjdG9yQ29udHJvbHMsXG5cdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmVzcG9uc2l2ZVRhYnMsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRzZWxlY3RlZERldmljZTogc2VsZWN0ZWREZXZpY2UsXG5cdFx0XHRcdFx0XHRvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKGRldmljZSkge1xuXHRcdFx0XHRcdFx0XHRfdGhpczIuc2V0U3RhdGUoe1xuXHRcdFx0XHRcdFx0XHRcdHNlbGVjdGVkRGV2aWNlOiBkZXZpY2Vcblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdCFpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdMYXlvdXQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IHRydWUsXG5cdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2xheW91dCcpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLXBhbmVsLWxhYmVsJyxcblx0XHRcdFx0XHRcdFx0aWQ6ICdjb250YWluZXJMYXlvdXQnLFxuXHRcdFx0XHRcdFx0XHRzdGF0ZTogdGhpcy5zdGF0ZSxcblx0XHRcdFx0XHRcdFx0c2hvd1BhbmVsOiAnZGVza3RvcCcgPT09IHNlbGVjdGVkRGV2aWNlIHx8IGZhbHNlXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdGhhc0dyaWRDb250YWluZXIgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0dyaWQgSXRlbScsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGhlbHA6IF9fKCdUaGlzIENvbnRhaW5lciBpcyBpbnNpZGUgYSBHcmlkIEJsb2NrIGJ1dCBpcyBub3Qgc2V0IGFzIGEgZ3JpZCBpdGVtLiBFbmFibGUgdGhpcyBvcHRpb24gZm9yIG9wdGltYWwgcmVzdWx0cy4nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRjaGVja2VkOiAhIWlzR3JpZCxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpc0dyaWQ6IHZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRncmlkSWQ6IGdyaWRDb250YWluZXJJZFxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0ZnVsbFdpZHRoQ29udGVudE9wdGlvbnMoKSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0NvbnRhaW5lcicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBvdXRlckNvbnRhaW5lcixcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogX18oJ0Z1bGwgd2lkdGgnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmdWxsJyB9LCB7IGxhYmVsOiBfXygnQ29udGFpbmVkJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnY29udGFpbmVkJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvdXRlckNvbnRhaW5lcjogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdCFnZW5lcmF0ZUJsb2Nrc0luZm8uaXNHZW5lcmF0ZVByZXNzICYmICdmdWxsJyA9PT0gb3V0ZXJDb250YWluZXIgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KEJhc2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdGdWxsIHdpZHRoIGNvbnRhaW5lcnMgd2lsbCBvbmx5IHdvcmsgaWYgeW91ciB0aGVtZSBhbGxvd3MgeW91IHRvIHNldCB5b3VyIGNvbnRlbnQgdG8gYmUgZnVsbCB3aWR0aC4nLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0lubmVyIENvbnRhaW5lcicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBpbm5lckNvbnRhaW5lcixcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogX18oJ0Z1bGwgd2lkdGgnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmdWxsJyB9LCB7IGxhYmVsOiBfXygnQ29udGFpbmVkJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnY29udGFpbmVkJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpbm5lckNvbnRhaW5lcjogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb250YWluZXIgV2lkdGgnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGl4ZWwgVW5pdHMnKSwga2V5OiAnY29udGFpbmVyLXdpZHRoLXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiAnY29udGFpbmVyLXdpZHRoLXVuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LyogdHJhbnNsYXRvcnM6ICVzOiB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIENTUyBzeW50YXgsICdQaXhlbCcsICdFbScsICdQZXJjZW50YWdlJyAqL1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0LCAnYXJpYS1sYWJlbCc6IF9fKCdQaXhlbCBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQncHgnXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBwYXJzZUZsb2F0KGNvbnRhaW5lcldpZHRoKSB8fCAnJyxcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcjogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuY29udGFpbmVyV2lkdGgsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29udGFpbmVyV2lkdGg6ICcnICE9PSB2YWx1ZSA/IHBhcnNlRmxvYXQodmFsdWUpIDogdW5kZWZpbmVkXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2NvbnRhaW5lckxheW91dCcsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdMYXlvdXQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IHRydWUsXG5cdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2xheW91dCcpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLXBhbmVsLWxhYmVsJyxcblx0XHRcdFx0XHRcdFx0aWQ6ICdjb250YWluZXJHcmlkTGF5b3V0Jyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0IWhhc0dyaWRDb250YWluZXIgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRvZ2dsZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdHcmlkIEl0ZW0nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aGVscDogX18oJ1RoaXMgY29udGFpbmVyIGlzIHNldCBhcyBhIGdyaWQgaXRlbSBidXQgaXMgbm90IGluc2lkZSBhIGdyaWQgYmxvY2suIERlYWN0aXZhdGUgdGhpcyBvcHRpb24gZm9yIG9wdGltYWwgcmVzdWx0cy4nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0Y2hlY2tlZDogISFpc0dyaWQsXG5cdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0aXNHcmlkOiB2YWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdGdyaWRJZDogJydcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHQnZGVza3RvcCcgPT09IHNlbGVjdGVkRGV2aWNlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb250YWluZXIgV2lkdGgnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGVyY2VudGFnZSBVbml0cycpLCBrZXk6ICdwZXJjZW50YWdlLXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiAncGVyY2VudGFnZS11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBfXygnUGVyY2VudGFnZSBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnJSdcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbkdyb3VwLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd2lkdGhCdXR0b25zJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gMjUsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aDogMjUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCcyNSdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gMzMuMzMsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aDogMzMuMzMgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCczMydcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gNTAsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aDogNTAgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc1MCdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gNjYuNjYsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aDogNjYuNjYgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc2Nidcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gNzUsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aDogNzUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc3NSdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aCA9PT0gMTAwLCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGg6IDEwMCB9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0JzEwMCdcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLWNvbHVtbi13aWR0aC1jb250cm9sJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogd2lkdGggfHwgJycsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0XHRtYXg6IDEwMCxcblx0XHRcdFx0XHRcdFx0XHRzdGVwOiAwLjAxLFxuXHRcdFx0XHRcdFx0XHRcdGluaXRpYWxQb3NpdGlvbjogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIud2lkdGhcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdWZXJ0aWNhbCBBbGlnbm1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRoZWxwOiBfXygnQWxpZ24gZ3JpZCBpdGVtIGNvbnRlbnQuIERvZXMgbm90IGFwcGx5IGlmIHZlcnRpY2FsIGFsaWdubWVudCBpcyBzZXQgaW4gdGhlIGdyaWQuJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsQWxpZ25tZW50LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJycgfSwgeyBsYWJlbDogX18oJ1RvcCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtc3RhcnQnIH0sIHsgbGFiZWw6IF9fKCdDZW50ZXInLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdjZW50ZXInIH0sIHsgbGFiZWw6IF9fKCdCb3R0b20nLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LWVuZCcgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxBbGlnbm1lbnQ6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUmVtb3ZlIFZlcnRpY2FsIEdhcCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGNoZWNrZWQ6ICEhcmVtb3ZlVmVydGljYWxHYXAsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVtb3ZlVmVydGljYWxHYXA6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0J3RhYmxldCcgPT09IHNlbGVjdGVkRGV2aWNlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdDb250YWluZXIgV2lkdGgnLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1jb250cm9sX191bml0cycgfSxcblx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBfXygnUGVyY2VudGFnZSBVbml0cycpLCBrZXk6ICdwZXJjZW50YWdlLXVuaXQnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiAncGVyY2VudGFnZS11bml0Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBfXygnUGVyY2VudGFnZSBVbml0cycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnJSdcblx0XHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdEJ1dHRvbkdyb3VwLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnd2lkdGhCdXR0b25zJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gMjUsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aFRhYmxldDogMjUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCcyNSdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gMzMuMzMsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aFRhYmxldDogMzMuMzMgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCczMydcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gNTAsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aFRhYmxldDogNTAgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc1MCdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gNjYuNjYsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aFRhYmxldDogNjYuNjYgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc2Nidcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gNzUsIG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyB3aWR0aFRhYmxldDogNzUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCc3NSdcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdHsgaXNMYXJnZTogdHJ1ZSwgaXNQcmltYXJ5OiB3aWR0aFRhYmxldCA9PT0gMTAwLCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhUYWJsZXQ6IDEwMCB9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0JzEwMCdcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChSYW5nZUNvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLWNvbHVtbi13aWR0aC1jb250cm9sJyxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogd2lkdGhUYWJsZXQgfHwgJycsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0d2lkdGhUYWJsZXQ6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdG1pbjogMCxcblx0XHRcdFx0XHRcdFx0XHRtYXg6IDEwMCxcblx0XHRcdFx0XHRcdFx0XHRzdGVwOiAwLjAxLFxuXHRcdFx0XHRcdFx0XHRcdGluaXRpYWxQb3NpdGlvbjogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIud2lkdGhUYWJsZXRcblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChTZWxlY3RDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdWZXJ0aWNhbCBBbGlnbm1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRoZWxwOiBfXygnQWxpZ24gZ3JpZCBpdGVtIGNvbnRlbnQuIERvZXMgbm90IGFwcGx5IGlmIHZlcnRpY2FsIGFsaWdubWVudCBpcyBzZXQgaW4gdGhlIGdyaWQuJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsQWxpZ25tZW50VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnSW5oZXJpdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2luaGVyaXQnIH0sIHsgbGFiZWw6IF9fKCdEZWZhdWx0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnJyB9LCB7IGxhYmVsOiBfXygnVG9wJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1zdGFydCcgfSwgeyBsYWJlbDogX18oJ0NlbnRlcicsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2NlbnRlcicgfSwgeyBsYWJlbDogX18oJ0JvdHRvbScsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtZW5kJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEFsaWdubWVudFRhYmxldDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdSZW1vdmUgVmVydGljYWwgR2FwJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0Y2hlY2tlZDogISFyZW1vdmVWZXJ0aWNhbEdhcFRhYmxldCxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZW1vdmVWZXJ0aWNhbEdhcFRhYmxldDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnT3JkZXInLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogb3JkZXJUYWJsZXQgfHwgMCA9PT0gb3JkZXJUYWJsZXQgPyBvcmRlclRhYmxldCA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG9yZGVyVGFibGV0OiBwYXJzZUZsb2F0KHZhbHVlKVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdCdtb2JpbGUnID09PSBzZWxlY3RlZERldmljZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fbGFiZWwnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRfXygnQ29udGFpbmVyIFdpZHRoJywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogX18oJ1BlcmNlbnRhZ2UgVW5pdHMnKSwga2V5OiAncGVyY2VudGFnZS11bml0JyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGtleTogJ3BlcmNlbnRhZ2UtdW5pdCcsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1NtYWxsOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNQcmltYXJ5OiB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdhcmlhLWxhYmVsJzogX18oJ1BlcmNlbnRhZ2UgVW5pdHMnKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0JyUnXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCdXR0b25Hcm91cCxcblx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3dpZHRoQnV0dG9ucycgfSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDI1LCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhNb2JpbGU6IDI1IH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHQnMjUnXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDMzLjMzLCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhNb2JpbGU6IDMzLjMzIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHQnMzMnXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDUwLCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhNb2JpbGU6IDUwIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHQnNTAnXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDY2LjY2LCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhNb2JpbGU6IDY2LjY2IH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHQnNjYnXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDc1LCBvbkNsaWNrOiBmdW5jdGlvbiBvbkNsaWNrKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgd2lkdGhNb2JpbGU6IDc1IH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IH0sXG5cdFx0XHRcdFx0XHRcdFx0XHQnNzUnXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGlzTGFyZ2U6IHRydWUsIGlzUHJpbWFyeTogd2lkdGhNb2JpbGUgPT09IDEwMCwgb25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7IHdpZHRoTW9iaWxlOiAxMDAgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0gfSxcblx0XHRcdFx0XHRcdFx0XHRcdCcxMDAnXG5cdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoUmFuZ2VDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZ2Jsb2Nrcy1jb2x1bW4td2lkdGgtY29udHJvbCcsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHdpZHRoTW9iaWxlIHx8ICcnLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoTW9iaWxlOiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRtaW46IDAsXG5cdFx0XHRcdFx0XHRcdFx0bWF4OiAxMDAsXG5cdFx0XHRcdFx0XHRcdFx0c3RlcDogMC4wMSxcblx0XHRcdFx0XHRcdFx0XHRpbml0aWFsUG9zaXRpb246IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyLndpZHRoTW9iaWxlXG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVmVydGljYWwgQWxpZ25tZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0aGVscDogX18oJ0FsaWduIGdyaWQgaXRlbSBjb250ZW50LiBEb2VzIG5vdCBhcHBseSBpZiB2ZXJ0aWNhbCBhbGlnbm1lbnQgaXMgc2V0IGluIHRoZSBncmlkLicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2ZXJ0aWNhbEFsaWdubWVudE1vYmlsZSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogX18oJ0luaGVyaXQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdpbmhlcml0JyB9LCB7IGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJycgfSwgeyBsYWJlbDogX18oJ1RvcCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtc3RhcnQnIH0sIHsgbGFiZWw6IF9fKCdDZW50ZXInLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdjZW50ZXInIH0sIHsgbGFiZWw6IF9fKCdCb3R0b20nLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LWVuZCcgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxBbGlnbm1lbnRNb2JpbGU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVG9nZ2xlQ29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUmVtb3ZlIFZlcnRpY2FsIEdhcCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGNoZWNrZWQ6ICEhcmVtb3ZlVmVydGljYWxHYXBNb2JpbGUsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmVtb3ZlVmVydGljYWxHYXBNb2JpbGU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ09yZGVyJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IG9yZGVyTW9iaWxlIHx8IDAgPT09IG9yZGVyTW9iaWxlID8gb3JkZXJNb2JpbGUgOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRvcmRlck1vYmlsZTogcGFyc2VGbG9hdCh2YWx1ZSlcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRhcHBseUZpbHRlcnMoJ2dlbmVyYXRlYmxvY2tzLmVkaXRvci5jb250cm9scycsICcnLCAnY29udGFpbmVyR3JpZExheW91dCcsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEFyZWEsXG5cdFx0XHRcdFx0XHRfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ1R5cG9ncmFwaHknLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCd0eXBvZ3JhcGh5JyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtcGFuZWwtbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRpZDogJ2NvbnRhaW5lclR5cG9ncmFwaHknLFxuXHRcdFx0XHRcdFx0XHRzdGF0ZTogdGhpcy5zdGF0ZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHQnZGVza3RvcCcgPT09IHNlbGVjdGVkRGV2aWNlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdFx0XHR7IGxhYmVsOiBfXygnVGV4dCBBbGlnbm1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChBbGlnbm1lbnRUb29sYmFyLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0NvbGxhcHNlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYWxpZ25tZW50LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBhbGlnbm1lbnQ6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5Q29udHJvbHMsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0c2hvd0ZvbnRGYW1pbHk6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0c2hvd0ZvbnRXZWlnaHQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0c2hvd1RleHRUcmFuc2Zvcm06IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0c2hvd0ZvbnRTaXplOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRGb250U2l6ZTogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemUsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdEZvbnRTaXplVW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemVVbml0LFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lci5saW5lSGVpZ2h0LFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0VW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIubGluZUhlaWdodFVuaXQsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdExldHRlclNwYWNpbmc6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyLmxldHRlclNwYWNpbmdcblx0XHRcdFx0XHRcdFx0fSkpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0J3RhYmxldCcgPT09IHNlbGVjdGVkRGV2aWNlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdFx0XHR7IGxhYmVsOiBfXygnVGV4dCBBbGlnbm1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChBbGlnbm1lbnRUb29sYmFyLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0NvbGxhcHNlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYWxpZ25tZW50VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBhbGlnbm1lbnRUYWJsZXQ6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5Q29udHJvbHMsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0c2hvd0ZvbnRTaXplOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRGb250U2l6ZTogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemVUYWJsZXQsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdEZvbnRTaXplVW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemVVbml0LFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lci5saW5lSGVpZ2h0VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0VW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIubGluZUhlaWdodFVuaXQsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdExldHRlclNwYWNpbmc6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyLmxldHRlclNwYWNpbmdUYWJsZXRcblx0XHRcdFx0XHRcdFx0fSkpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0J21vYmlsZScgPT09IHNlbGVjdGVkRGV2aWNlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0RnJhZ21lbnQsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRCYXNlQ29udHJvbCxcblx0XHRcdFx0XHRcdFx0XHR7IGxhYmVsOiBfXygnVGV4dCBBbGlnbm1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChBbGlnbm1lbnRUb29sYmFyLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRpc0NvbGxhcHNlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYWxpZ25tZW50TW9iaWxlLFxuXHRcdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoeyBhbGlnbm1lbnRNb2JpbGU6IHZhbHVlIH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUeXBvZ3JhcGh5Q29udHJvbHMsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0c2hvd0ZvbnRTaXplOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRGb250U2l6ZTogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemVNb2JpbGUsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdEZvbnRTaXplVW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZm9udFNpemVVbml0LFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0OiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lci5saW5lSGVpZ2h0TW9iaWxlLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRMaW5lSGVpZ2h0VW5pdDogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIubGluZUhlaWdodFVuaXQsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdExldHRlclNwYWNpbmc6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyLmxldHRlclNwYWNpbmdNb2JpbGVcblx0XHRcdFx0XHRcdFx0fSkpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2NvbnRhaW5lclR5cG9ncmFwaHknLCB0aGlzLnByb3BzLCB0aGlzLnN0YXRlKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdTcGFjaW5nJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdGluaXRpYWxPcGVuOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0aWNvbjogZ2V0SWNvbignc3BhY2luZycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLXBhbmVsLWxhYmVsJyxcblx0XHRcdFx0XHRcdFx0aWQ6ICdjb250YWluZXJTcGFjaW5nJyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGVcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0J2Rlc2t0b3AnID09PSBzZWxlY3RlZERldmljZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX2xhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ01pbmltdW0gSGVpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbkdyb3VwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX3VuaXRzJywgJ2FyaWEtbGFiZWwnOiBfXygnU2VsZWN0IFVuaXRzJykgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWluSGVpZ2h0VW5pdHMubWFwKGZ1bmN0aW9uICh1bml0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBzcHJpbnRmKF9fKCclcyBVbml0cycpLCB1bml0Lm5hbWUpLCBrZXk6IHVuaXQudW5pdFZhbHVlIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiB1bml0LnVuaXRWYWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX3VuaXRzLS0nICsgdW5pdC5uYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogbWluSGVpZ2h0VW5pdCA9PT0gdW5pdC51bml0VmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYXJpYS1wcmVzc2VkJzogbWluSGVpZ2h0VW5pdCA9PT0gdW5pdC51bml0VmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBzcHJpbnRmKF9fKCclcyBVbml0cycpLCB1bml0Lm5hbWUpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBtaW5IZWlnaHRVbml0OiB1bml0LnVuaXRWYWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaXQudW5pdFZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IG1pbkhlaWdodCA/IG1pbkhlaWdodCA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbkhlaWdodDogcGFyc2VGbG9hdCh2YWx1ZSlcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdCEhbWluSGVpZ2h0ICYmICFpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1ZlcnRpY2FsIEFsaWdubWVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2ZXJ0aWNhbEFsaWdubWVudCxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogX18oJ0RlZmF1bHQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICcnIH0sIHsgbGFiZWw6IF9fKCdUb3AnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LXN0YXJ0JyB9LCB7IGxhYmVsOiBfXygnQ2VudGVyJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnY2VudGVyJyB9LCB7IGxhYmVsOiBfXygnQm90dG9tJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1lbmQnIH1dLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsQWxpZ25tZW50OiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KERpbWVuc2lvbnNDb250cm9sLCBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHRcdGRldmljZTogc2VsZWN0ZWREZXZpY2UsXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3BhZGRpbmcnLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnUGFkZGluZycsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJUb3A6ICdwYWRkaW5nVG9wJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyUmlnaHQ6ICdwYWRkaW5nUmlnaHQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJCb3R0b206ICdwYWRkaW5nQm90dG9tJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyTGVmdDogJ3BhZGRpbmdMZWZ0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVW5pdDogJ3BhZGRpbmdVbml0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyU3luY1VuaXRzOiAncGFkZGluZ1N5bmNVbml0cycsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdHM6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdH0pKSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KERpbWVuc2lvbnNDb250cm9sLCBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHRcdGRldmljZTogc2VsZWN0ZWREZXZpY2UsXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ21hcmdpbicsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdNYXJnaW4nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVG9wOiAnbWFyZ2luVG9wJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyUmlnaHQ6ICdtYXJnaW5SaWdodCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckJvdHRvbTogJ21hcmdpbkJvdHRvbScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckxlZnQ6ICdtYXJnaW5MZWZ0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVW5pdDogJ21hcmdpblVuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJTeW5jVW5pdHM6ICdtYXJnaW5TeW5jVW5pdHMnLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRzOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEaW1lbnNpb25zQ29udHJvbCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0XHRkZXZpY2U6IHNlbGVjdGVkRGV2aWNlLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdwYWRkaW5nJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JvcmRlciBTaXplJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0YXR0clRvcDogJ2JvcmRlclNpemVUb3AnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJSaWdodDogJ2JvcmRlclNpemVSaWdodCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckJvdHRvbTogJ2JvcmRlclNpemVCb3R0b20nLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJMZWZ0OiAnYm9yZGVyU2l6ZUxlZnQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJTeW5jVW5pdHM6ICdib3JkZXJTaXplU3luY1VuaXRzJyxcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5VW5pdDogJ3B4Jyxcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0czogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXJcblx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGltZW5zaW9uc0NvbnRyb2wsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBzZWxlY3RlZERldmljZSxcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAncGFkZGluZycsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCb3JkZXIgUmFkaXVzJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0YXR0clRvcDogJ2JvcmRlclJhZGl1c1RvcExlZnQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJSaWdodDogJ2JvcmRlclJhZGl1c1RvcFJpZ2h0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyQm90dG9tOiAnYm9yZGVyUmFkaXVzQm90dG9tUmlnaHQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJMZWZ0OiAnYm9yZGVyUmFkaXVzQm90dG9tTGVmdCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clVuaXQ6ICdib3JkZXJSYWRpdXNVbml0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyU3luY1VuaXRzOiAnYm9yZGVyUmFkaXVzU3luY1VuaXRzJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbFRvcDogX18oJ1QtTGVmdCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsUmlnaHQ6IF9fKCdULVJpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWxCb3R0b206IF9fKCdCLVJpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWxMZWZ0OiBfXygnQi1MZWZ0JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdHM6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdH0pKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdCd0YWJsZXQnID09PSBzZWxlY3RlZERldmljZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19oZWFkZXInIH0sXG5cdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX2xhYmVsJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0X18oJ01pbmltdW0gSGVpZ2h0JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtY29udHJvbF9fdW5pdHMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbkdyb3VwLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX3VuaXRzJywgJ2FyaWEtbGFiZWwnOiBfXygnU2VsZWN0IFVuaXRzJykgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWluSGVpZ2h0VW5pdHMubWFwKGZ1bmN0aW9uICh1bml0KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0VG9vbHRpcCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyB0ZXh0OiBzcHJpbnRmKF9fKCclcyBVbml0cycpLCB1bml0Lm5hbWUpLCBrZXk6IHVuaXQudW5pdFZhbHVlIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0a2V5OiB1bml0LnVuaXRWYWx1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2NvbXBvbmVudHMtZ2Jsb2Nrcy1kaW1lbnNpb25zLWNvbnRyb2xfX3VuaXRzLS0nICsgdW5pdC5uYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aXNTbWFsbDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzUHJpbWFyeTogbWluSGVpZ2h0VW5pdFRhYmxldCA9PT0gdW5pdC51bml0VmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQnYXJpYS1wcmVzc2VkJzogbWluSGVpZ2h0VW5pdFRhYmxldCA9PT0gdW5pdC51bml0VmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8qIHRyYW5zbGF0b3JzOiAlczogdmFsdWVzIGFzc29jaWF0ZWQgd2l0aCBDU1Mgc3ludGF4LCAnUGl4ZWwnLCAnRW0nLCAnUGVyY2VudGFnZScgKi9cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCwgJ2FyaWEtbGFiZWwnOiBzcHJpbnRmKF9fKCclcyBVbml0cycpLCB1bml0Lm5hbWUpLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljaygpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoeyBtaW5IZWlnaHRVbml0VGFibGV0OiB1bml0LnVuaXRWYWx1ZSB9KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaXQudW5pdFZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ251bWJlcicsXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IG1pbkhlaWdodFRhYmxldCA/IG1pbkhlaWdodFRhYmxldCA6ICcnLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbkhlaWdodFRhYmxldDogcGFyc2VGbG9hdCh2YWx1ZSlcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdCghIW1pbkhlaWdodCB8fCAhIW1pbkhlaWdodFRhYmxldCkgJiYgIWlzR3JpZCAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnVmVydGljYWwgQWxpZ25tZW50JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHZlcnRpY2FsQWxpZ25tZW50VGFibGV0LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiBfXygnSW5oZXJpdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2luaGVyaXQnIH0sIHsgbGFiZWw6IF9fKCdEZWZhdWx0JywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnJyB9LCB7IGxhYmVsOiBfXygnVG9wJywgJ2dlbmVyYXRlYmxvY2tzJyksIHZhbHVlOiAnZmxleC1zdGFydCcgfSwgeyBsYWJlbDogX18oJ0NlbnRlcicsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2NlbnRlcicgfSwgeyBsYWJlbDogX18oJ0JvdHRvbScsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtZW5kJyB9XSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbEFsaWdubWVudFRhYmxldDogdmFsdWVcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEaW1lbnNpb25zQ29udHJvbCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0XHRkZXZpY2U6IHNlbGVjdGVkRGV2aWNlLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdwYWRkaW5nJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1BhZGRpbmcnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVG9wOiAncGFkZGluZ1RvcFRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clJpZ2h0OiAncGFkZGluZ1JpZ2h0VGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyQm90dG9tOiAncGFkZGluZ0JvdHRvbVRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckxlZnQ6ICdwYWRkaW5nTGVmdFRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clVuaXQ6ICdwYWRkaW5nVW5pdCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clN5bmNVbml0czogJ3BhZGRpbmdTeW5jVW5pdHMnLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRzOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEaW1lbnNpb25zQ29udHJvbCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0XHRkZXZpY2U6IHNlbGVjdGVkRGV2aWNlLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdtYXJnaW4nLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnTWFyZ2luJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0YXR0clRvcDogJ21hcmdpblRvcFRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clJpZ2h0OiAnbWFyZ2luUmlnaHRUYWJsZXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJCb3R0b206ICdtYXJnaW5Cb3R0b21UYWJsZXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJMZWZ0OiAnbWFyZ2luTGVmdFRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clVuaXQ6ICdtYXJnaW5Vbml0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyU3luY1VuaXRzOiAnbWFyZ2luU3luY1VuaXRzJyxcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0czogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXJcblx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGltZW5zaW9uc0NvbnRyb2wsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBzZWxlY3RlZERldmljZSxcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAncGFkZGluZycsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCb3JkZXIgU2l6ZScsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJUb3A6ICdib3JkZXJTaXplVG9wVGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyUmlnaHQ6ICdib3JkZXJTaXplUmlnaHRUYWJsZXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJCb3R0b206ICdib3JkZXJTaXplQm90dG9tVGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyTGVmdDogJ2JvcmRlclNpemVMZWZ0VGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyU3luY1VuaXRzOiAnYm9yZGVyU2l6ZVN5bmNVbml0cycsXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheVVuaXQ6ICdweCcsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdHM6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdH0pKSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KERpbWVuc2lvbnNDb250cm9sLCBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHRcdGRldmljZTogc2VsZWN0ZWREZXZpY2UsXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3BhZGRpbmcnLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQm9yZGVyIFJhZGl1cycsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJUb3A6ICdib3JkZXJSYWRpdXNUb3BMZWZ0VGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyUmlnaHQ6ICdib3JkZXJSYWRpdXNUb3BSaWdodFRhYmxldCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckJvdHRvbTogJ2JvcmRlclJhZGl1c0JvdHRvbVJpZ2h0VGFibGV0Jyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyTGVmdDogJ2JvcmRlclJhZGl1c0JvdHRvbUxlZnRUYWJsZXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJVbml0OiAnYm9yZGVyUmFkaXVzVW5pdCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clN5bmNVbml0czogJ2JvcmRlclJhZGl1c1N5bmNVbml0cycsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWxUb3A6IF9fKCdULUxlZnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbFJpZ2h0OiBfXygnVC1SaWdodCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsQm90dG9tOiBfXygnQi1SaWdodCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsTGVmdDogX18oJ0ItTGVmdCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRzOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHR9KSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHQnbW9iaWxlJyA9PT0gc2VsZWN0ZWREZXZpY2UgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRGcmFnbWVudCxcblx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWRpbWVuc2lvbnMtY29udHJvbF9faGVhZGVyJyB9LFxuXHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX19sYWJlbCcgfSxcblx0XHRcdFx0XHRcdFx0XHRcdF9fKCdNaW5pbXVtIEhlaWdodCcsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnY29tcG9uZW50cy1nYmxvY2tzLWNvbnRyb2xfX3VuaXRzJyB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b25Hcm91cCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX191bml0cycsICdhcmlhLWxhYmVsJzogX18oJ1NlbGVjdCBVbml0cycpIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdG1pbkhlaWdodFVuaXRzLm1hcChmdW5jdGlvbiAodW5pdCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFRvb2x0aXAsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogc3ByaW50ZihfXygnJXMgVW5pdHMnKSwgdW5pdC5uYW1lKSwga2V5OiB1bml0LnVuaXRWYWx1ZSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGtleTogdW5pdC51bml0VmFsdWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdjb21wb25lbnRzLWdibG9ja3MtZGltZW5zaW9ucy1jb250cm9sX191bml0cy0tJyArIHVuaXQubmFtZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlzU21hbGw6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpc1ByaW1hcnk6IG1pbkhlaWdodFVuaXRNb2JpbGUgPT09IHVuaXQudW5pdFZhbHVlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0J2FyaWEtcHJlc3NlZCc6IG1pbkhlaWdodFVuaXRNb2JpbGUgPT09IHVuaXQudW5pdFZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvKiB0cmFuc2xhdG9yczogJXM6IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggQ1NTIHN5bnRheCwgJ1BpeGVsJywgJ0VtJywgJ1BlcmNlbnRhZ2UnICovXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQsICdhcmlhLWxhYmVsJzogc3ByaW50ZihfXygnJXMgVW5pdHMnKSwgdW5pdC5uYW1lKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG9uQ2xpY2s6IGZ1bmN0aW9uIG9uQ2xpY2soKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHsgbWluSGVpZ2h0VW5pdE1vYmlsZTogdW5pdC51bml0VmFsdWUgfSk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1bml0LnVuaXRWYWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdudW1iZXInLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBtaW5IZWlnaHRNb2JpbGUgPyBtaW5IZWlnaHRNb2JpbGUgOiAnJyxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRtaW5IZWlnaHRNb2JpbGU6IHBhcnNlRmxvYXQodmFsdWUpXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHQoISFtaW5IZWlnaHQgfHwgISFtaW5IZWlnaHRUYWJsZXQgfHwgISFtaW5IZWlnaHRNb2JpbGUpICYmICFpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1ZlcnRpY2FsIEFsaWdubWVudCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiB2ZXJ0aWNhbEFsaWdubWVudE1vYmlsZSxcblx0XHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogX18oJ0luaGVyaXQnLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdpbmhlcml0JyB9LCB7IGxhYmVsOiBfXygnRGVmYXVsdCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJycgfSwgeyBsYWJlbDogX18oJ1RvcCcsICdnZW5lcmF0ZWJsb2NrcycpLCB2YWx1ZTogJ2ZsZXgtc3RhcnQnIH0sIHsgbGFiZWw6IF9fKCdDZW50ZXInLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdjZW50ZXInIH0sIHsgbGFiZWw6IF9fKCdCb3R0b20nLCAnZ2VuZXJhdGVibG9ja3MnKSwgdmFsdWU6ICdmbGV4LWVuZCcgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dmVydGljYWxBbGlnbm1lbnRNb2JpbGU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGltZW5zaW9uc0NvbnRyb2wsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBzZWxlY3RlZERldmljZSxcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAncGFkZGluZycsXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQYWRkaW5nJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0YXR0clRvcDogJ3BhZGRpbmdUb3BNb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJSaWdodDogJ3BhZGRpbmdSaWdodE1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckJvdHRvbTogJ3BhZGRpbmdCb3R0b21Nb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJMZWZ0OiAncGFkZGluZ0xlZnRNb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJVbml0OiAncGFkZGluZ1VuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJTeW5jVW5pdHM6ICdwYWRkaW5nU3luY1VuaXRzJyxcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0czogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXJcblx0XHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoRGltZW5zaW9uc0NvbnRyb2wsIF9leHRlbmRzKHt9LCB0aGlzLnByb3BzLCB7XG5cdFx0XHRcdFx0XHRcdFx0ZGV2aWNlOiBzZWxlY3RlZERldmljZSxcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiAnbWFyZ2luJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ01hcmdpbicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJUb3A6ICdtYXJnaW5Ub3BNb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJSaWdodDogJ21hcmdpblJpZ2h0TW9iaWxlJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyQm90dG9tOiAnbWFyZ2luQm90dG9tTW9iaWxlJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyTGVmdDogJ21hcmdpbkxlZnRNb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJVbml0OiAnbWFyZ2luVW5pdCcsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clN5bmNVbml0czogJ21hcmdpblN5bmNVbml0cycsXG5cdFx0XHRcdFx0XHRcdFx0ZGVmYXVsdHM6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyXG5cdFx0XHRcdFx0XHRcdH0pKSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KERpbWVuc2lvbnNDb250cm9sLCBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHRcdGRldmljZTogc2VsZWN0ZWREZXZpY2UsXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogJ3BhZGRpbmcnLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnQm9yZGVyIFNpemUnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVG9wOiAnYm9yZGVyU2l6ZVRvcE1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clJpZ2h0OiAnYm9yZGVyU2l6ZVJpZ2h0TW9iaWxlJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyQm90dG9tOiAnYm9yZGVyU2l6ZUJvdHRvbU1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckxlZnQ6ICdib3JkZXJTaXplTGVmdE1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clN5bmNVbml0czogJ2JvcmRlclNpemVTeW5jVW5pdHMnLFxuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXlVbml0OiAncHgnLFxuXHRcdFx0XHRcdFx0XHRcdGRlZmF1bHRzOiBnZW5lcmF0ZUJsb2Nrc0RlZmF1bHRzLmNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHR9KSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEaW1lbnNpb25zQ29udHJvbCwgX2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0XHRkZXZpY2U6IHNlbGVjdGVkRGV2aWNlLFxuXHRcdFx0XHRcdFx0XHRcdHR5cGU6ICdwYWRkaW5nJyxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JvcmRlciBSYWRpdXMnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVG9wOiAnYm9yZGVyUmFkaXVzVG9wTGVmdE1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0clJpZ2h0OiAnYm9yZGVyUmFkaXVzVG9wUmlnaHRNb2JpbGUnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJCb3R0b206ICdib3JkZXJSYWRpdXNCb3R0b21SaWdodE1vYmlsZScsXG5cdFx0XHRcdFx0XHRcdFx0YXR0ckxlZnQ6ICdib3JkZXJSYWRpdXNCb3R0b21MZWZ0TW9iaWxlJyxcblx0XHRcdFx0XHRcdFx0XHRhdHRyVW5pdDogJ2JvcmRlclJhZGl1c1VuaXQnLFxuXHRcdFx0XHRcdFx0XHRcdGF0dHJTeW5jVW5pdHM6ICdib3JkZXJSYWRpdXNTeW5jVW5pdHMnLFxuXHRcdFx0XHRcdFx0XHRcdGxhYmVsVG9wOiBfXygnVC1MZWZ0JywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWxSaWdodDogX18oJ1QtUmlnaHQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbEJvdHRvbTogX18oJ0ItUmlnaHQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRsYWJlbExlZnQ6IF9fKCdCLUxlZnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRkZWZhdWx0czogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXJcblx0XHRcdFx0XHRcdFx0fSkpXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2NvbnRhaW5lclNwYWNpbmcnLCB0aGlzLnByb3BzLCB0aGlzLnN0YXRlKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdDb2xvcnMnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCdjb2xvcnMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZ2Jsb2Nrcy1wYW5lbC1sYWJlbCcsXG5cdFx0XHRcdFx0XHRcdGlkOiAnY29udGFpbmVyQ29sb3JzJyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGUsXG5cdFx0XHRcdFx0XHRcdHNob3dQYW5lbDogJ2Rlc2t0b3AnID09PSBzZWxlY3RlZERldmljZSB8fCBmYWxzZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdEZyYWdtZW50LFxuXHRcdFx0XHRcdFx0XHRudWxsLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JhY2tncm91bmQgQ29sb3InLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYmFja2dyb3VuZENvbG9yLFxuXHRcdFx0XHRcdFx0XHRcdGFscGhhOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlT3BhY2l0eTogYmFja2dyb3VuZENvbG9yT3BhY2l0eSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyT3BhY2l0eTogJ2JhY2tncm91bmRDb2xvck9wYWNpdHknLFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShuZXh0QmFja2dyb3VuZENvbG9yKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmRDb2xvcjogbmV4dEJhY2tncm91bmRDb2xvclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRvbk9wYWNpdHlDaGFuZ2U6IGZ1bmN0aW9uIG9uT3BhY2l0eUNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kQ29sb3JPcGFjaXR5OiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KENvbG9yUGlja2VyLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdUZXh0IENvbG9yJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdFx0dmFsdWU6IHRleHRDb2xvcixcblx0XHRcdFx0XHRcdFx0XHRhbHBoYTogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRUZXh0Q29sb3IpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGV4dENvbG9yOiBuZXh0VGV4dENvbG9yXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0xpbmsgQ29sb3InLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogbGlua0NvbG9yLFxuXHRcdFx0XHRcdFx0XHRcdGFscGhhOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UobmV4dExpbmtDb2xvcikge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5rQ29sb3I6IG5leHRMaW5rQ29sb3Jcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChDb2xvclBpY2tlciwge1xuXHRcdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnTGluayBDb2xvciBIb3ZlcicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBsaW5rQ29sb3JIb3Zlcixcblx0XHRcdFx0XHRcdFx0XHRhbHBoYTogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRMaW5rQ29sb3JIb3Zlcikge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRsaW5rQ29sb3JIb3ZlcjogbmV4dExpbmtDb2xvckhvdmVyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoQ29sb3JQaWNrZXIsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0JvcmRlciBDb2xvcicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBib3JkZXJDb2xvcixcblx0XHRcdFx0XHRcdFx0XHRhbHBoYTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZU9wYWNpdHk6IGJvcmRlckNvbG9yT3BhY2l0eSxcblx0XHRcdFx0XHRcdFx0XHRhdHRyT3BhY2l0eTogJ2JvcmRlckNvbG9yT3BhY2l0eScsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gc2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlckNvbG9yOiB2YWx1ZVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRvbk9wYWNpdHlDaGFuZ2U6IGZ1bmN0aW9uIG9uT3BhY2l0eUNoYW5nZSh2YWx1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib3JkZXJDb2xvck9wYWNpdHk6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2NvbnRhaW5lckNvbG9ycycsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEFyZWEsXG5cdFx0XHRcdFx0XHRfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0JhY2tncm91bmQgR3JhZGllbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCdncmFkaWVudHMnKSxcblx0XHRcdFx0XHRcdFx0Y2xhc3NOYW1lOiAnZ2Jsb2Nrcy1wYW5lbC1sYWJlbCcsXG5cdFx0XHRcdFx0XHRcdGlkOiAnY29udGFpbmVyQmFja2dyb3VuZEdyYWRpZW50Jyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGUsXG5cdFx0XHRcdFx0XHRcdHNob3dQYW5lbDogJ2Rlc2t0b3AnID09PSBzZWxlY3RlZERldmljZSB8fCBmYWxzZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoR3JhZGllbnRDb250cm9sLCBfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHRhdHRyR3JhZGllbnQ6ICdncmFkaWVudCcsXG5cdFx0XHRcdFx0XHRcdGF0dHJHcmFkaWVudERpcmVjdGlvbjogJ2dyYWRpZW50RGlyZWN0aW9uJyxcblx0XHRcdFx0XHRcdFx0YXR0ckdyYWRpZW50Q29sb3JPbmU6ICdncmFkaWVudENvbG9yT25lJyxcblx0XHRcdFx0XHRcdFx0YXR0ckdyYWRpZW50Q29sb3JTdG9wT25lOiAnZ3JhZGllbnRDb2xvclN0b3BPbmUnLFxuXHRcdFx0XHRcdFx0XHRhdHRyR3JhZGllbnRDb2xvclR3bzogJ2dyYWRpZW50Q29sb3JUd28nLFxuXHRcdFx0XHRcdFx0XHRhdHRyR3JhZGllbnRDb2xvclN0b3BUd286ICdncmFkaWVudENvbG9yU3RvcFR3bycsXG5cdFx0XHRcdFx0XHRcdGF0dHJHcmFkaWVudENvbG9yT25lT3BhY2l0eTogJ2dyYWRpZW50Q29sb3JPbmVPcGFjaXR5Jyxcblx0XHRcdFx0XHRcdFx0YXR0ckdyYWRpZW50Q29sb3JUd29PcGFjaXR5OiAnZ3JhZGllbnRDb2xvclR3b09wYWNpdHknLFxuXHRcdFx0XHRcdFx0XHRkZWZhdWx0Q29sb3JPbmU6IGdlbmVyYXRlQmxvY2tzRGVmYXVsdHMuY29udGFpbmVyLmdyYWRpZW50Q29sb3JPbmUsXG5cdFx0XHRcdFx0XHRcdGRlZmF1bHRDb2xvclR3bzogZ2VuZXJhdGVCbG9ja3NEZWZhdWx0cy5jb250YWluZXIuZ3JhZGllbnRDb2xvclR3b1xuXHRcdFx0XHRcdFx0fSkpLFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuY29udHJvbHMnLCAnJywgJ2NvbnRhaW5lckJhY2tncm91bmRHcmFkaWVudCcsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEFyZWEsXG5cdFx0XHRcdFx0XHRfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0JhY2tncm91bmQgSW1hZ2UnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCdiYWNrZ3JvdW5kcycpLFxuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6ICdnYmxvY2tzLXBhbmVsLWxhYmVsJyxcblx0XHRcdFx0XHRcdFx0aWQ6ICdjb250YWluZXJCYWNrZ3JvdW5kSW1hZ2UnLFxuXHRcdFx0XHRcdFx0XHRzdGF0ZTogdGhpcy5zdGF0ZSxcblx0XHRcdFx0XHRcdFx0c2hvd1BhbmVsOiAnZGVza3RvcCcgPT09IHNlbGVjdGVkRGV2aWNlIHx8IGZhbHNlXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdCFiZ0ltYWdlICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdG51bGwsXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChNZWRpYVVwbG9hZCwge1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnU2V0IGJhY2tncm91bmQgaW1hZ2UnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRvblNlbGVjdDogb25TZWxlY3RCZ0ltYWdlLFxuXHRcdFx0XHRcdFx0XHRcdGFsbG93ZWRUeXBlczogWydpbWFnZSddLFxuXHRcdFx0XHRcdFx0XHRcdG1vZGFsQ2xhc3M6ICdlZGl0b3ItcG9zdC1mZWF0dXJlZC1pbWFnZV9fbWVkaWEtbW9kYWwnLFxuXHRcdFx0XHRcdFx0XHRcdHJlbmRlcjogZnVuY3Rpb24gcmVuZGVyKF9yZWYpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHZhciBvcGVuID0gX3JlZi5vcGVuO1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0QnV0dG9uLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ2VkaXRvci1wb3N0LWZlYXR1cmVkLWltYWdlX190b2dnbGUnLCBvbkNsaWNrOiBvcGVuIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdTZXQgYmFja2dyb3VuZCBpbWFnZScsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHQhIWJnSW1hZ2UgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KE1lZGlhVXBsb2FkLCB7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBfXygnU2V0IGJhY2tncm91bmQgaW1hZ2UnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0b25TZWxlY3Q6IG9uU2VsZWN0QmdJbWFnZSxcblx0XHRcdFx0XHRcdFx0YWxsb3dlZFR5cGVzOiBbJ2ltYWdlJ10sXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBiZ0ltYWdlLmlkLFxuXHRcdFx0XHRcdFx0XHRtb2RhbENsYXNzOiAnZWRpdG9yLXBvc3QtZmVhdHVyZWQtaW1hZ2VfX21lZGlhLW1vZGFsJyxcblx0XHRcdFx0XHRcdFx0cmVuZGVyOiBmdW5jdGlvbiByZW5kZXIoX3JlZjIpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgb3BlbiA9IF9yZWYyLm9wZW47XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdlZGl0b3ItYmctaW1hZ2UnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEJ1dHRvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdlZGl0b3ItcG9zdC1mZWF0dXJlZC1pbWFnZV9fcHJldmlldycsIG9uQ2xpY2s6IG9wZW4gfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFJlc3BvbnNpdmVXcmFwcGVyLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG5hdHVyYWxXaWR0aDogYmdJbWFnZS5pbWFnZS53aWR0aCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG5hdHVyYWxIZWlnaHQ6IGJnSW1hZ2UuaW1hZ2UuaGVpZ2h0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycsIHsgc3JjOiBiZ0ltYWdlLmltYWdlLnVybCwgYWx0OiBfXygnQkcgSW1hZ2UnKSB9KVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQnZGl2Jyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eyBjbGFzc05hbWU6ICdlZGl0LWJnLWJ1dHRvbnMnIH0sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBvbkNsaWNrOiBvcGVuLCBpc0RlZmF1bHQ6IHRydWUsIGlzTGFyZ2U6IHRydWUgfSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRfXygnUmVwbGFjZSBpbWFnZScpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRCdXR0b24sXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0eyBvbkNsaWNrOiBvblJlbW92ZUJnSW1hZ2UsIGlzTGluazogdHJ1ZSwgaXNEZXN0cnVjdGl2ZTogdHJ1ZSB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdF9fKCdSZW1vdmUgYmFja2dyb3VuZCBpbWFnZScsICdnZW5lcmF0ZWJsb2NrcycpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdCEhYmdJbWFnZSAmJiB3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHR7IGNsYXNzTmFtZTogJ3NlY3Rpb24tYmctc2V0dGluZ3MnIH0sXG5cdFx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUb2dnbGVDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdCYWNrZ3JvdW5kIENvbG9yIE92ZXJsYXknLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHRjaGVja2VkOiAhIWJnT3B0aW9ucy5vdmVybGF5LFxuXHRcdFx0XHRcdFx0XHRcdG9uQ2hhbmdlOiBmdW5jdGlvbiBvbkNoYW5nZShuZXh0T3ZlcmxheSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJnT3B0aW9uczogT2JqZWN0LmFzc2lnbih7fSwgYmdPcHRpb25zLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0b3ZlcmxheTogbmV4dE92ZXJsYXlcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRcdCEhYmdPcHRpb25zLm92ZXJsYXkgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0XHRcdHsgY2xhc3NOYW1lOiAnZ2Jsb2Nrcy1ub3RpY2UnIH0sXG5cdFx0XHRcdFx0XHRcdFx0X18oJ1lvdXIgYmFja2dyb3VuZCBjb2xvciBtdXN0IGhhdmUgdHJhbnNwYXJlbmN5IGZvciB0aGUgaW1hZ2UgdG8gc2hvdy4nLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoVGV4dENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1NpemUnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYmdPcHRpb25zLnNpemUsXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRTaXplKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmdPcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBiZ09wdGlvbnMsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaXplOiBuZXh0U2l6ZVxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWw6IF9fKCdQb3NpdGlvbicsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBiZ09wdGlvbnMucG9zaXRpb24sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRQb3NpdGlvbikge1xuXHRcdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGJnT3B0aW9uczogT2JqZWN0LmFzc2lnbih7fSwgYmdPcHRpb25zLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IG5leHRQb3NpdGlvblxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ1JlcGVhdCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBiZ09wdGlvbnMucmVwZWF0LFxuXHRcdFx0XHRcdFx0XHRcdG9wdGlvbnM6IFt7IGxhYmVsOiAnbm8tcmVwZWF0JywgdmFsdWU6ICduby1yZXBlYXQnIH0sIHsgbGFiZWw6ICdyZXBlYXQnLCB2YWx1ZTogJ3JlcGVhdCcgfSwgeyBsYWJlbDogJ3JlcGVhdC14JywgdmFsdWU6ICdyZXBlYXQteCcgfSwgeyBsYWJlbDogJ3JlcGVhdC15JywgdmFsdWU6ICdyZXBlYXQteScgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRSZXBlYXQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRiZ09wdGlvbnM6IE9iamVjdC5hc3NpZ24oe30sIGJnT3B0aW9ucywge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlcGVhdDogbmV4dFJlcGVhdFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFNlbGVjdENvbnRyb2wsIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0F0dGFjaG1lbnQnLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogYmdPcHRpb25zLmF0dGFjaG1lbnQsXG5cdFx0XHRcdFx0XHRcdFx0b3B0aW9uczogW3sgbGFiZWw6ICdzY3JvbGwnLCB2YWx1ZTogJycgfSwgeyBsYWJlbDogJ2ZpeGVkJywgdmFsdWU6ICdmaXhlZCcgfSwgeyBsYWJlbDogJ2xvY2FsJywgdmFsdWU6ICdsb2NhbCcgfV0sXG5cdFx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKG5leHRBdHRhY2htZW50KSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmdPcHRpb25zOiBPYmplY3QuYXNzaWduKHt9LCBiZ09wdGlvbnMsIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhdHRhY2htZW50OiBuZXh0QXR0YWNobWVudFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGFwcGx5RmlsdGVycygnZ2VuZXJhdGVibG9ja3MuZWRpdG9yLmNvbnRyb2xzJywgJycsICdjb250YWluZXJCYWNrZ3JvdW5kSW1hZ2UnLCB0aGlzLnByb3BzLCB0aGlzLnN0YXRlKVxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFx0UGFuZWxBcmVhLFxuXHRcdFx0XHRcdFx0X2V4dGVuZHMoe30sIHRoaXMucHJvcHMsIHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6IF9fKCdBZHZhbmNlZCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHRpbml0aWFsT3BlbjogZmFsc2UsXG5cdFx0XHRcdFx0XHRcdGljb246IGdldEljb24oJ2FkdmFuY2VkJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtcGFuZWwtbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRpZDogJ2NvbnRhaW5lckFkdmFuY2VkJyxcblx0XHRcdFx0XHRcdFx0c3RhdGU6IHRoaXMuc3RhdGUsXG5cdFx0XHRcdFx0XHRcdHNob3dQYW5lbDogJ2Rlc2t0b3AnID09PSBzZWxlY3RlZERldmljZSB8fCBmYWxzZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoU2VsZWN0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0VsZW1lbnQgVGFnJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiB0YWdOYW1lLFxuXHRcdFx0XHRcdFx0XHRvcHRpb25zOiBbeyBsYWJlbDogJ2RpdicsIHZhbHVlOiAnZGl2JyB9LCB7IGxhYmVsOiAnc2VjdGlvbicsIHZhbHVlOiAnc2VjdGlvbicgfSwgeyBsYWJlbDogJ2hlYWRlcicsIHZhbHVlOiAnaGVhZGVyJyB9LCB7IGxhYmVsOiAnZm9vdGVyJywgdmFsdWU6ICdmb290ZXInIH1dLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdHRhZ05hbWU6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnRWxlbWVudCBJRCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHR2YWx1ZTogZWxlbWVudElkLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHR2YXIgbmV3RWxlbWVudElkID0gdmFsdWUucmVwbGFjZShFTEVNRU5UX0lEX1JFR0VYLCAnLScpO1xuXG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRlbGVtZW50SWQ6IG5ld0VsZW1lbnRJZFxuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChUZXh0Q29udHJvbCwge1xuXHRcdFx0XHRcdFx0XHRsYWJlbDogX18oJ0NTUyBDbGFzc2VzJywgJ2dlbmVyYXRlYmxvY2tzJyksXG5cdFx0XHRcdFx0XHRcdHZhbHVlOiBjc3NDbGFzc2VzLFxuXHRcdFx0XHRcdFx0XHRvbkNoYW5nZTogZnVuY3Rpb24gb25DaGFuZ2UodmFsdWUpIHtcblx0XHRcdFx0XHRcdFx0XHRzZXRBdHRyaWJ1dGVzKHtcblx0XHRcdFx0XHRcdFx0XHRcdGNzc0NsYXNzZXM6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFRleHRDb250cm9sLCB7XG5cdFx0XHRcdFx0XHRcdGxhYmVsOiBfXygnei1pbmRleCcsICdnZW5lcmF0ZWJsb2NrcycpLFxuXHRcdFx0XHRcdFx0XHR0eXBlOiAnbnVtYmVyJyxcblx0XHRcdFx0XHRcdFx0dmFsdWU6IHppbmRleCB8fCAwID09PSB6aW5kZXggPyB6aW5kZXggOiAnJyxcblx0XHRcdFx0XHRcdFx0b25DaGFuZ2U6IGZ1bmN0aW9uIG9uQ2hhbmdlKHZhbHVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0QXR0cmlidXRlcyh7XG5cdFx0XHRcdFx0XHRcdFx0XHR6aW5kZXg6IHZhbHVlXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdG9uQmx1cjogZnVuY3Rpb24gb25CbHVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdHNldEF0dHJpYnV0ZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0emluZGV4OiBwYXJzZUZsb2F0KHppbmRleClcblx0XHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0b25DbGljazogZnVuY3Rpb24gb25DbGljayhlKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gTWFrZSBzdXJlIG9uQmx1ciBmaXJlcyBpbiBGaXJlZm94LlxuXHRcdFx0XHRcdFx0XHRcdGUuY3VycmVudFRhcmdldC5mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdGFwcGx5RmlsdGVycygnZ2VuZXJhdGVibG9ja3MuZWRpdG9yLmNvbnRyb2xzJywgJycsICdjb250YWluZXJBZHZhbmNlZCcsIHRoaXMucHJvcHMsIHRoaXMuc3RhdGUpXG5cdFx0XHRcdFx0KSxcblx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRQYW5lbEFyZWEsXG5cdFx0XHRcdFx0XHRfZXh0ZW5kcyh7fSwgdGhpcy5wcm9wcywge1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogX18oJ0RvY3VtZW50YXRpb24nLCAnZ2VuZXJhdGVibG9ja3MnKSxcblx0XHRcdFx0XHRcdFx0aW5pdGlhbE9wZW46IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBnZXRJY29uKCdkb2N1bWVudGF0aW9uJyksXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogJ2dibG9ja3MtcGFuZWwtbGFiZWwnLFxuXHRcdFx0XHRcdFx0XHRpZDogJ2NvbnRhaW5lckRvY3VtZW50YXRpb24nLFxuXHRcdFx0XHRcdFx0XHRzdGF0ZTogdGhpcy5zdGF0ZVxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdwJyxcblx0XHRcdFx0XHRcdFx0bnVsbCxcblx0XHRcdFx0XHRcdFx0X18oJ05lZWQgaGVscCB3aXRoIHRoaXMgYmxvY2s/JywgJ2dlbmVyYXRlYmxvY2tzJylcblx0XHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0XHR3cC5lbGVtZW50LmNyZWF0ZUVsZW1lbnQoXG5cdFx0XHRcdFx0XHRcdCdhJyxcblx0XHRcdFx0XHRcdFx0eyBocmVmOiAnaHR0cHM6Ly9kb2NzLmdlbmVyYXRlYmxvY2tzLmNvbS9jb2xsZWN0aW9uL2NvbnRhaW5lci8nLCB0YXJnZXQ6ICdfYmxhbmsnLCByZWw6ICdub3JlZmVycmVyIG5vb3BlbmVyJyB9LFxuXHRcdFx0XHRcdFx0XHRfXygnVmlzaXQgb3VyIGRvY3VtZW50YXRpb24nLCAnZ2VuZXJhdGVibG9ja3MnKVxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGFwcGx5RmlsdGVycygnZ2VuZXJhdGVibG9ja3MuZWRpdG9yLmNvbnRyb2xzJywgJycsICdjb250YWluZXJEb2N1bWVudGF0aW9uJywgdGhpcy5wcm9wcywgdGhpcy5zdGF0ZSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChEZXNrdG9wQ1NTLCB0aGlzLnByb3BzKSxcblx0XHRcdFx0Zm9udEZhbWlseSAmJiBnb29nbGVGb250ICYmIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycsIHtcblx0XHRcdFx0XHRyZWw6ICdzdHlsZXNoZWV0Jyxcblx0XHRcdFx0XHRocmVmOiAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PScgKyBmb250RmFtaWx5LnJlcGxhY2UoLyAvZywgJysnKSArIGdvb2dsZUZvbnRzQXR0clxuXHRcdFx0XHR9KSxcblx0XHRcdFx0ISFpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdHsgY2xhc3NOYW1lOiBjbGFzc25hbWVzKF9kZWZpbmVQcm9wZXJ0eSh7XG5cdFx0XHRcdFx0XHRcdCdnYi1ncmlkLWNvbHVtbic6IHRydWVcblx0XHRcdFx0XHRcdH0sICdnYi1ncmlkLWNvbHVtbi0nICsgdW5pcXVlSWQsIHRydWUpKSB9LFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFNlY3Rpb24sXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdHRhZ05hbWU6IHRhZ05hbWUsXG5cdFx0XHRcdFx0XHRcdGlkOiBlbGVtZW50SWQsXG5cdFx0XHRcdFx0XHRcdGNsYXNzTmFtZTogY2xhc3NuYW1lcygoX2NsYXNzbmFtZXMyID0ge1xuXHRcdFx0XHRcdFx0XHRcdCdnYi1jb250YWluZXInOiB0cnVlXG5cdFx0XHRcdFx0XHRcdH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3NuYW1lczIsICdnYi1jb250YWluZXItJyArIHVuaXF1ZUlkLCB0cnVlKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc25hbWVzMiwgJycgKyBjc3NDbGFzc2VzLCAnJyAhPT0gY3NzQ2xhc3NlcyksIF9jbGFzc25hbWVzMikpXG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0YXBwbHlGaWx0ZXJzKCdnZW5lcmF0ZWJsb2Nrcy5lZGl0b3IuaW5zaWRlQ29udGFpbmVyV3JhcHBlcicsICcnLCB0aGlzLnByb3BzKSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdFx0J2RpdicsXG5cdFx0XHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6IGNsYXNzbmFtZXMoe1xuXHRcdFx0XHRcdFx0XHRcdFx0J2diLWluc2lkZS1jb250YWluZXInOiB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0d3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KElubmVyQmxvY2tzLCB7XG5cdFx0XHRcdFx0XHRcdFx0dGVtcGxhdGVMb2NrOiBmYWxzZSxcblx0XHRcdFx0XHRcdFx0XHRyZW5kZXJBcHBlbmRlcjogaGFzQ2hpbGRCbG9ja3MgPyB1bmRlZmluZWQgOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KElubmVyQmxvY2tzLkJ1dHRvbkJsb2NrQXBwZW5kZXIsIG51bGwpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdCFpc0dyaWQgJiYgd3AuZWxlbWVudC5jcmVhdGVFbGVtZW50KFxuXHRcdFx0XHRcdFNlY3Rpb24sXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0dGFnTmFtZTogdGFnTmFtZSxcblx0XHRcdFx0XHRcdGlkOiBlbGVtZW50SWQsXG5cdFx0XHRcdFx0XHRjbGFzc05hbWU6IGNsYXNzbmFtZXMoKF9jbGFzc25hbWVzMyA9IHtcblx0XHRcdFx0XHRcdFx0J2diLWNvbnRhaW5lcic6IHRydWVcblx0XHRcdFx0XHRcdH0sIF9kZWZpbmVQcm9wZXJ0eShfY2xhc3NuYW1lczMsICdnYi1jb250YWluZXItJyArIHVuaXF1ZUlkLCB0cnVlKSwgX2RlZmluZVByb3BlcnR5KF9jbGFzc25hbWVzMywgJycgKyBjc3NDbGFzc2VzLCAnJyAhPT0gY3NzQ2xhc3NlcyksIF9jbGFzc25hbWVzMykpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRhcHBseUZpbHRlcnMoJ2dlbmVyYXRlYmxvY2tzLmVkaXRvci5pbnNpZGVDb250YWluZXJXcmFwcGVyJywgJycsIHRoaXMucHJvcHMpLFxuXHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChcblx0XHRcdFx0XHRcdCdkaXYnLFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRjbGFzc05hbWU6IGNsYXNzbmFtZXMoe1xuXHRcdFx0XHRcdFx0XHRcdCdnYi1pbnNpZGUtY29udGFpbmVyJzogdHJ1ZVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbm5lckJsb2Nrcywge1xuXHRcdFx0XHRcdFx0XHR0ZW1wbGF0ZUxvY2s6IGZhbHNlLFxuXHRcdFx0XHRcdFx0XHRyZW5kZXJBcHBlbmRlcjogaGFzQ2hpbGRCbG9ja3MgPyB1bmRlZmluZWQgOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHdwLmVsZW1lbnQuY3JlYXRlRWxlbWVudChJbm5lckJsb2Nrcy5CdXR0b25CbG9ja0FwcGVuZGVyLCBudWxsKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHQpXG5cdFx0XHRcdClcblx0XHRcdCk7XG5cdFx0fVxuXHR9XSk7XG5cblx0cmV0dXJuIEdlbmVyYXRlQmxvY2tDb250YWluZXI7XG59KENvbXBvbmVudCk7XG5cbmV4cG9ydCBkZWZhdWx0IEdlbmVyYXRlQmxvY2tDb250YWluZXI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvYmxvY2tzL2NvbnRhaW5lci9lZGl0LmpzXG4vLyBtb2R1bGUgaWQgPSAzMVxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///31\n");
437
+
438
+ /***/ }),
439
+ /* 32 */
440
+ /*!*************************************************!*\
441
+ !*** ./src/components/color-picker/editor.scss ***!
442
+ \*************************************************/
443
+ /*! dynamic exports provided */
444
+ /***/ (function(module, exports) {
445
+
446
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzIuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9jb2xvci1waWNrZXIvZWRpdG9yLnNjc3M/MmQ5MCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vc3JjL2NvbXBvbmVudHMvY29sb3ItcGlja2VyL2VkaXRvci5zY3NzXG4vLyBtb2R1bGUgaWQgPSAzMlxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiJBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///32\n");
447
+
448
+ /***/ }),
449
+ /* 33 */
450
+ /*!***********************************************!*\
451
+ !*** ./src/components/dimensions/editor.scss ***!
452
+ \***********************************************/
453
+ /*! dynamic exports provided */
454
+ /***/ (function(module, exports) {
455
+
456
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9kaW1lbnNpb25zL2VkaXRvci5zY3NzPzdmZjUiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9jb21wb25lbnRzL2RpbWVuc2lvbnMvZWRpdG9yLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDMzXG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///33\n");
457
+
458
+ /***/ }),
459
+ /* 34 */
460
+ /*!***********************************************!*\
461
+ !*** ./src/components/typography/editor.scss ***!
462
+ \***********************************************/
463
+ /*! dynamic exports provided */
464
+ /***/ (function(module, exports) {
465
+
466
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzQuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2VkaXRvci5zY3NzPzc1OGIiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9jb21wb25lbnRzL3R5cG9ncmFwaHkvZWRpdG9yLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDM0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCJdLCJtYXBwaW5ncyI6IkFBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///34\n");
467
+
468
+ /***/ }),
469
+ /* 35 */
470
+ /*!***************************************************!*\
471
+ !*** ./src/components/typography/google-fonts.js ***!
472
+ \***************************************************/
473
+ /*! exports provided: default */
474
+ /*! exports used: default */
475
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
476
+
477
+ "use strict";
478
+ eval("var fonts = {\n \"Roboto\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Open Sans\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lato\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Montserrat\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Source Sans Pro\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Roboto Condensed\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oswald\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Roboto Mono\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Raleway\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Poppins\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Sans\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Roboto Slab\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Merriweather\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"PT Sans\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ubuntu\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Playfair Display\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Muli\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Open Sans Condensed\": {\n \"weight\": [\"300\", \"300italic\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"PT Serif\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Lora\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Slabo 27px\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Nunito\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Sans JP\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Work Sans\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"100italic\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Rubik\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Serif\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Fira Sans\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Titillium Web\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Quicksand\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Sans KR\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nanum Gothic\": {\n \"weight\": [\"regular\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Mukta\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Sans TC\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nunito Sans\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Heebo\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"PT Sans Narrow\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Arimo\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Inconsolata\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"monospace\"\n },\n \"Barlow\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oxygen\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Dosis\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bitter\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Libre Baskerville\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Crimson Text\": {\n \"weight\": [\"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Libre Franklin\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Karla\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Josefin Sans\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"100italic\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cabin\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Anton\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Source Code Pro\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"monospace\"\n },\n \"Hind\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Abel\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Amiri\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Fjalla One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lobster\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Pacifico\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Indie Flower\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Exo 2\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"100italic\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Dancing Script\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Source Serif Pro\": {\n \"weight\": [\"regular\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Arvo\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Hind Siliguri\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Varela Round\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Merriweather Sans\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cairo\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"600\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Yanone Kaffeesatz\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Overpass\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Shadows Into Light\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Barlow Condensed\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"IBM Plex Sans\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Comfortaa\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Asap\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Prompt\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kanit\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Questrial\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Martel\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Archivo Narrow\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Abril Fatface\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Amatic SC\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Acme\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Catamaran\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fira Sans Condensed\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"EB Garamond\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\"],\n \"fallback\": \"serif\"\n },\n \"Bree Serif\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Zilla Slab\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Noto Sans SC\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cormorant Garamond\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Hind Madurai\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Teko\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Righteous\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Signika\": {\n \"weight\": [\"300\", \"regular\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Play\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Domine\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Exo\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Russo One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cinzel\": {\n \"weight\": [\"regular\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"PT Sans Caption\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Rajdhani\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Maven Pro\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fredoka One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IBM Plex Serif\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Ubuntu Condensed\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Patua One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Caveat\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Permanent Marker\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Assistant\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"ABeeZee\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Vollkorn\": {\n \"weight\": [\"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Crete Round\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Special Elite\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rokkitt\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Bangers\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Francois One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Barlow Semi Condensed\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Alegreya Sans\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Satisfy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Tajawal\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bebas Neue\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Patrick Hand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Cuprum\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Viga\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Courgette\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Ropa Sans\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Noto Serif JP\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Gochi Hand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Alegreya\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Luckiest Guy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Noticia Text\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Tinos\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Passion One\": {\n \"weight\": [\"regular\", \"700\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Alfa Slab One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Nanum Myeongjo\": {\n \"weight\": [\"regular\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Monda\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lobster Two\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Kalam\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Kaushan Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Archivo Black\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cardo\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Archivo\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Great Vibes\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Volkhov\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Quattrocento Sans\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"News Cycle\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Pathway Gothic One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sacramento\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Frank Ruhl Libre\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Yantramanav\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cantarell\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Istok Web\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Didact Gothic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Concert One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Taviraj\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Old Standard TT\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Montserrat Alternates\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Economica\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Changa\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fira Sans Extra Condensed\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gloria Hallelujah\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Parisienne\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Orbitron\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Asap Condensed\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Playfair Display SC\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Chivo\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sriracha\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Hind Vadodara\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"DM Sans\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Prata\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Quattrocento\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Cookie\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Poiret One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Handlee\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sarabun\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"BenchNine\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Merienda\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"M PLUS 1p\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"PT Mono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Lalezar\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sanchez\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Lemonada\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Markazi Text\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Neuton\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"italic\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Hind Guntur\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Josefin Slab\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Philosopher\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Advent Pro\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Do Hyeon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sawarabi Mincho\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ruda\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Vidaloka\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Ultra\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Neucha\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Arapey\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Gudea\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Paytone One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kreon\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"M PLUS Rounded 1c\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Pragati Narrow\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Press Start 2P\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Hammersmith One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gentium Basic\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Monoton\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Alef\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Alice\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Aclonica\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sigmar One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Spectral\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"serif\"\n },\n \"Marck Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Electrolize\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Actor\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Architects Daughter\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Adamina\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Pontano Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Audiowide\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Inter\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cabin Condensed\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Unica One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Yellowtail\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"El Messiri\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Squada One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Staatliches\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Amaranth\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Enriqueta\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Mitr\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Glegoo\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Bowlby One SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Basic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nanum Gothic Coding\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"monospace\"\n },\n \"Sarala\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bad Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Homemade Apple\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Tangerine\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Cormorant\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Oleo Script\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Karma\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Julius Sans One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Carter One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Khand\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nanum Pen Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Cambay\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fugaz One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Shadows Into Light Two\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Coda\": {\n \"weight\": [\"regular\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Signika Negative\": {\n \"weight\": [\"300\", \"regular\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Pridi\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Playball\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Saira\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Rock Salt\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Gothic A1\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gentium Book Basic\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Allura\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Yeseva One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"DM Serif Text\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Lusitana\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Jura\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Average\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Yrsa\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Sorts Mill Goudy\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Cantata One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Armata\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Scada\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Abhaya Libre\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Damion\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Marmelad\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Varela\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Quantico\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Covered By Your Grace\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"PT Serif Caption\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Ramabhadra\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Unna\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Encode Sans\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Arsenal\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Black Han Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sawarabi Gothic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ubuntu Mono\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Pinyon Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Black Ops One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Marcellus\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Fauna One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Lilita One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sintony\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Khula\": {\n \"weight\": [\"300\", \"regular\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Jaldi\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Rubik Mono One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Allan\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Reenie Beanie\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Alex Brush\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Mr Dafoe\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Palanquin\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Encode Sans Condensed\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Antic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Knewave\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Caveat Brush\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Rambla\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Spinnaker\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"IBM Plex Mono\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Michroma\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nothing You Could Do\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Kelly Slab\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Boogaloo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Chewy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"ZCOOL XiaoWei\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Rancho\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Noto Serif SC\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Pangolin\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Fira Mono\": {\n \"weight\": [\"regular\", \"500\", \"700\"],\n \"fallback\": \"monospace\"\n },\n \"Forum\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Antic Slab\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Alegreya Sans SC\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Anonymous Pro\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Lateef\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Annie Use Your Telescope\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Noto Sans HK\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Martel Sans\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Chakra Petch\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Rufina\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Bai Jamjuree\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Scheherazade\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Share\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Tenor Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"DM Serif Display\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"VT323\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Share Tech Mono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Mali\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"handwriting\"\n },\n \"Cousine\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Cinzel Decorative\": {\n \"weight\": [\"regular\", \"700\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Overlock\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"display\"\n },\n \"Arbutus Slab\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Reem Kufi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cabin Sketch\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Saira Extra Condensed\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Eczar\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Leckerli One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Krub\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Berkshire Swash\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Fredericka the Great\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Saira Condensed\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Overpass Mono\": {\n \"weight\": [\"300\", \"regular\", \"600\", \"700\"],\n \"fallback\": \"monospace\"\n },\n \"Itim\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Rasa\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Bevan\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Arima Madurai\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"700\", \"800\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Italianno\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Coda Caption\": {\n \"weight\": [\"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Shrikhand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Just Another Hand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Saira Semi Condensed\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Almarai\": {\n \"weight\": [\"300\", \"regular\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Mukta Malar\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oranienbaum\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Nobile\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Candal\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Six Caps\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Space Mono\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Capriola\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Biryani\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Halant\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Allerta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Trirong\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Mallanna\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Aldrich\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Aleo\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Suez One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Caudex\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Niconne\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Mrs Saint Delafield\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Gruppo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Miriam Libre\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Contrail One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Days One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Allerta Stencil\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Average Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Coming Soon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Pattaya\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Londrina Solid\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Bungee\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Coustard\": {\n \"weight\": [\"regular\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Marcellus SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Racing Sans One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bentham\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Bungee Inline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Magra\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Judson\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Rochester\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Grand Hotel\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Gelasio\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Yesteryear\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Syncopate\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Hanuman\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Kosugi Maru\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Copse\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Mada\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Titan One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Noto Serif TC\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Kameron\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Telex\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Norican\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Maitree\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"IM Fell Double Pica\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Molengo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sunflower\": {\n \"weight\": [\"300\", \"500\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Alegreya SC\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Red Hat Display\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Jua\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ovo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"IBM Plex Sans Condensed\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nixie One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Aladin\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Arizonia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Bubblegum Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Changa One\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"display\"\n },\n \"Lexend Deca\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sofia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Jockey One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Suranna\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Amethysta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Schoolbell\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Nanum Brush Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Cedarville Cursive\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Cutive Mono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Delius\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Raleway Dots\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Graduate\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lustria\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Mukta Vaani\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kadwa\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Rozha One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Buenard\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Cambo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Marvel\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Krona One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Carrois Gothic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Carme\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Slabo 13px\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Lemon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Love Ya Like A Sister\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rosario\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Merienda One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Public Sans\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"100italic\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Petit Formal Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Ceviche One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Voltaire\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fresca\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Averia Serif Libre\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Rye\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Noto Serif KR\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Chelsea Market\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Calligraffitti\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Freckle Face\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Duru Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Trocchi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Metrophobic\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Mate\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Harmattan\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gilda Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Cormorant Infant\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Spartan\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oxygen Mono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Chonburi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Goudy Bookletter 1911\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Sansita\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Emilys Candy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Amiko\": {\n \"weight\": [\"regular\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kristi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Palanquin Dark\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lekton\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cutive\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Herr Von Muellerhoff\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"GFS Didot\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Radley\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Sue Ellen Francisco\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Pompiere\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gabriela\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Niramit\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Seaweed Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sedgwick Ave\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Federo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"McLaren\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IM Fell DW Pica\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Sniglet\": {\n \"weight\": [\"regular\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Mr De Haviland\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Shojumaru\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Poly\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Belleza\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Faustina\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"IM Fell English\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Rammetto One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Amita\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Inder\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Antic Didone\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Alike Angular\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Montez\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"K2D\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"UnifrakturMaguntia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gurajada\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Proza Libre\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Athiti\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Andada\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Liu Jian Mao Cao\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Megrim\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Vast Shadow\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Wallpoet\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Unkempt\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Fanwood Text\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Doppio One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Comic Neue\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"handwriting\"\n },\n \"Corben\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Frijole\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Balthazar\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Mirza\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"display\"\n },\n \"IM Fell French Canon SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Brawler\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Oleo Script Swash Caps\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Mandali\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Convergence\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fondamento\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"handwriting\"\n },\n \"Alike\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Baumans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Esteban\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Gravitas One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Anaheim\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Wendy One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Stardos Stencil\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Spicy Rice\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rakkas\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"La Belle Aurore\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Secular One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Belgrano\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Bungee Shade\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Crafty Girls\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Battambang\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Quando\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Mouse Memoirs\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gugi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Faster One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"B612 Mono\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Limelight\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Short Stack\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Mountains of Christmas\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Share Tech\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Laila\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Literata\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Cormorant SC\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Fjord One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Podkova\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Homenaje\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Walter Turncoat\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sen\": {\n \"weight\": [\"regular\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Patrick Hand SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Voces\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Qwigley\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Happy Monkey\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rouge Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Baloo Chettan 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"NTR\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Skranji\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Strait\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Dawning of a New Day\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Iceland\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Expletus Sans\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Montserrat Subrayada\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oregano\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"display\"\n },\n \"Give You Glory\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Alata\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Puritan\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Mako\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Andika\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cormorant Upright\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Zeyada\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Bowlby One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Aref Ruqaa\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Numans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kurale\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Spirax\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Clicker Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Waiting for the Sunrise\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Holtwood One SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Katibeh\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Carrois Gothic SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Livvic\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Eater\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Fontdiner Swanky\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Finger Paint\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bellefair\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Wire One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Kosugi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Charm\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Delius Swash Caps\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Vesper Libre\": {\n \"weight\": [\"regular\", \"500\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Red Hat Text\": {\n \"weight\": [\"regular\", \"italic\", \"500\", \"500italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Gafata\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Averia Sans Libre\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Denk One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Geo\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Tauri\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cherry Swash\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Codystar\": {\n \"weight\": [\"300\", \"regular\"],\n \"fallback\": \"display\"\n },\n \"Cantora One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Encode Sans Semi Condensed\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nova Square\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"BioRhyme\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Timmana\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Atma\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Tienne\": {\n \"weight\": [\"regular\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Meddon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Galada\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Padauk\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Loved by the King\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"The Girl Next Door\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Darker Grotesque\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Life Savers\": {\n \"weight\": [\"regular\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Bilbo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Shanti\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Headland One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Euphoria Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Imprima\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Aguafina Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Baloo 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Over the Rainbow\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sarpanch\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Orienta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Spectral SC\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"serif\"\n },\n \"Port Lligat Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Artifika\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Ledger\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Ruluko\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sail\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Alatsi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sonsie One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bilbo Swash Caps\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Slackey\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Salsa\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rationale\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Hepta Slab\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Nosifer\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Dekko\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Encode Sans Expanded\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lily Script One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Zilla Slab Highlight\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Dokdo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Kotta One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Macondo Swash Caps\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Encode Sans Semi Expanded\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Prosto One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Trade Winds\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Farsan\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Manuale\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"italic\", \"500italic\", \"600italic\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Creepster\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Medula One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ranchers\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"David Libre\": {\n \"weight\": [\"regular\", \"500\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Libre Barcode 39\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Vampiro One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Metamorphous\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bubbler One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nova Mono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Princess Sofia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Just Me Again Down Here\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Notable\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Fascinate Inline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Vibur\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Vollkorn SC\": {\n \"weight\": [\"regular\", \"600\", \"700\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Crushed\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sumana\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Elsie\": {\n \"weight\": [\"regular\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Ranga\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Port Lligat Slab\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Amarante\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ruslan Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Germania One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sirin Stencil\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Pavanam\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Peralta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Scope One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Jomolhari\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Kranky\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Yatra One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Jacques Francois Shadow\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ribeye\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Averia Libre\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Saira Stencil One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Cherry Cream Soda\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Mukta Mahee\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Srisakdi\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Trochut\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Coiny\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ma Shan Zheng\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Asul\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ewert\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Arya\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Hanalei Fill\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Grenze\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"Ribeye Marrow\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IM Fell English SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Chau Philomene One\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Sarina\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Chicle\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Manjari\": {\n \"weight\": [\"100\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Montaga\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Italiana\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Akronim\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Habibi\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Englebert\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Dynalight\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Mate SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Henny Penny\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sree Krushnadevaraya\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Engagement\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Girassol\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Kite One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Ibarra Real Nova\": {\n \"weight\": [\"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Gaegu\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Fenix\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Pirata One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Tulpen One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IM Fell Great Primer\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Chathura\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Unlock\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Nova Round\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sura\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Kumar One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Baskervville\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Quintessential\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Milonga\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bayon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Be Vietnam\": {\n \"weight\": [\"100\", \"100italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Crimson Pro\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\", \"200italic\", \"300italic\", \"italic\", \"500italic\", \"600italic\", \"700italic\", \"800italic\", \"900italic\"],\n \"fallback\": \"serif\"\n },\n \"B612\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"League Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Inknut Antiqua\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"serif\"\n },\n \"Mogra\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Mystery Quest\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Monsieur La Doulaise\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Vibes\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rosarivo\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Uncial Antiqua\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Dorsa\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Almendra\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Diplomata\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Simonetta\": {\n \"weight\": [\"regular\", \"italic\", \"900\", \"900italic\"],\n \"fallback\": \"display\"\n },\n \"New Rocker\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Snippet\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Petrona\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Ramaraja\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Averia Gruesa Libre\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Baloo Bhaina 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Kodchasan\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Meera Inimai\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Flamenco\": {\n \"weight\": [\"300\", \"regular\"],\n \"fallback\": \"display\"\n },\n \"Khmer\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Paprika\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Koulen\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Mansalva\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Lovers Quarrel\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Condiment\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Baloo Thambi 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Stoke\": {\n \"weight\": [\"300\", \"regular\"],\n \"fallback\": \"serif\"\n },\n \"Barrio\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Barriecito\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Donegal One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Kavoon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Big Shoulders Display\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Mina\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Big Shoulders Text\": {\n \"weight\": [\"100\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Prociono\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Text Me One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"IM Fell French Canon\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Overlock SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Cagliostro\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Marko One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Swanky and Moo Moo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Maiden Orange\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Blinker\": {\n \"weight\": [\"100\", \"200\", \"300\", \"regular\", \"600\", \"700\", \"800\", \"900\"],\n \"fallback\": \"sans-serif\"\n },\n \"Miniver\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Angkor\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Chango\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Thasadith\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Modak\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Junge\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Stint Ultra Condensed\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Stalemate\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Tillana\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"handwriting\"\n },\n \"UnifrakturCook\": {\n \"weight\": [\"700\"],\n \"fallback\": \"display\"\n },\n \"Rum Raisin\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Farro\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Delius Unicase\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"Sancreek\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Julee\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Margarine\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lakki Reddy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Stint Ultra Expanded\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bigshot One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Griffy\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Moul\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Diplomata SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Oxanium\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Offside\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Fira Code\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"monospace\"\n },\n \"Eagle Lake\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Flavors\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Londrina Outline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Tomorrow\": {\n \"weight\": [\"100\", \"100italic\", \"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\", \"800\", \"800italic\", \"900\", \"900italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nokora\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Calistoga\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gotu\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Della Respira\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Cormorant Unicase\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"600\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Libre Caslon Text\": {\n \"weight\": [\"regular\", \"italic\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Buda\": {\n \"weight\": [\"300\"],\n \"fallback\": \"display\"\n },\n \"Asar\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Poller One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Autour One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Nova Slim\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Underdog\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Redressed\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Yeon Sung\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Content\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Kantumruy\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Baloo Paaji 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Jim Nightshade\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Glass Antiqua\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Snowburst One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gamja Flower\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Revalia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Metal Mania\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Charmonman\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"handwriting\"\n },\n \"IM Fell DW Pica SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Inika\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Elsie Swash Caps\": {\n \"weight\": [\"regular\", \"900\"],\n \"fallback\": \"display\"\n },\n \"Wellfleet\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Chela One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Rhodium Libre\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Mrs Sheppards\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sedgwick Ave Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Modern Antiqua\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ravi Prakash\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Galdeano\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Oldenburg\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Arbutus\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Poor Story\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Hi Melody\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Joti One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Nova Flat\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"ZCOOL QingKe HuangYou\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Linden Hill\": {\n \"weight\": [\"regular\", \"italic\"],\n \"fallback\": \"serif\"\n },\n \"Bokor\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Courier Prime\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"monospace\"\n },\n \"Trykker\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"KoHo\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Song Myung\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Ruthie\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Libre Barcode 39 Extended Text\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Chilanka\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Fahkwang\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"500\", \"500italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Felipa\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Monofett\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Odibee Sans\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Smythe\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Major Mono Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"monospace\"\n },\n \"Jomhuria\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Croissant One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Dangrek\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Original Surfer\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bahiana\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gorditas\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Odor Mean Chey\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Iceberg\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"MedievalSharp\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Caesar Dressing\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sahitya\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Stylish\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Nova Cut\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Purple Purse\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Devonshire\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Smokum\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Almendra Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Galindo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Preahvihear\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Siemreap\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Irish Grover\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gupter\": {\n \"weight\": [\"regular\", \"500\", \"700\"],\n \"fallback\": \"serif\"\n },\n \"Meie Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Libre Barcode 128\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Keania One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"GFS Neohellenic\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Cute Font\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Londrina Shadow\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"East Sea Dokdo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Libre Barcode 39 Extended\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Risque\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lancelot\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Libre Caslon Display\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Plaster\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Goblin One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Asset\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Almendra SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Jacques Francois\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Jolly Lodger\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lexend Exa\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Molle\": {\n \"weight\": [\"italic\"],\n \"fallback\": \"handwriting\"\n },\n \"Kavivanar\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Kirang Haerang\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Piedra\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Atomic Age\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Kulim Park\": {\n \"weight\": [\"200\", \"200italic\", \"300\", \"300italic\", \"regular\", \"italic\", \"600\", \"600italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Libre Barcode 39 Text\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IM Fell Great Primer SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Tenali Ramakrishna\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Butcherman\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Dr Sugiyama\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Geostar Fill\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Romanesco\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Libre Barcode 128 Text\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Sunshiney\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Kumar One Outline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Peddana\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Baloo Bhai 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Kdam Thmor\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Ruge Boogie\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Freehand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bonbon\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Caladea\": {\n \"weight\": [\"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Single Day\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Baloo Tamma 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Inria Sans\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"sans-serif\"\n },\n \"Hanalei\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Emblema One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Seymour One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Miss Fajardose\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sevillana\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Inria Serif\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"serif\"\n },\n \"Bungee Outline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Metal\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"IM Fell Double Pica SC\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Lexend Giga\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"ZCOOL KuaiLe\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Astloch\": {\n \"weight\": [\"regular\", \"700\"],\n \"fallback\": \"display\"\n },\n \"Mr Bedfort\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Macondo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Butterfly Kids\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Supermercado One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Fruktur\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Taprom\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lacquer\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Black And White Picture\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bigelow Rules\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Beth Ellen\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Sofadi One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Combo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bellota\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Federant\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Miltonian Tattoo\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Londrina Sketch\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Suwannaphum\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Bungee Hairline\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Fascinate\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Erica One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Nova Oval\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Baloo Da 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Sulphur Point\": {\n \"weight\": [\"300\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Aubrey\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gidugu\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bellota Text\": {\n \"weight\": [\"300\", \"300italic\", \"regular\", \"italic\", \"700\", \"700italic\"],\n \"fallback\": \"display\"\n },\n \"Nova Script\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Miltonian\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Gayathri\": {\n \"weight\": [\"100\", \"regular\", \"700\"],\n \"fallback\": \"sans-serif\"\n },\n \"Geostar\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Moulpali\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Passero One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Stalinist One\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Long Cang\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Solway\": {\n \"weight\": [\"300\", \"regular\", \"500\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Zhi Mang Xing\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"handwriting\"\n },\n \"Baloo Tammudu 2\": {\n \"weight\": [\"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Chenla\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Suravaram\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Fasthand\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"serif\"\n },\n \"Kenia\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Dhurjati\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lexend Tera\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"BioRhyme Expanded\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"700\", \"800\"],\n \"fallback\": \"serif\"\n },\n \"Turret Road\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"700\", \"800\"],\n \"fallback\": \"display\"\n },\n \"Warnes\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Viaoda Libre\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Lexend Mega\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Bahianita\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"display\"\n },\n \"Manrope\": {\n \"weight\": [\"200\", \"300\", \"regular\", \"500\", \"600\", \"700\", \"800\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lexend Zetta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n },\n \"Lexend Peta\": {\n \"weight\": [\"regular\"],\n \"fallback\": \"sans-serif\"\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (fonts);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2dvb2dsZS1mb250cy5qcz81ZTU2Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBmb250cyA9IHtcbiAgXCJSb2JvdG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk9wZW4gU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTGF0b1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTW9udHNlcnJhdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU291cmNlIFNhbnMgUHJvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiOTAwXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJSb2JvdG8gQ29uZGVuc2VkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPc3dhbGRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlJvYm90byBNb25vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIxMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIlJhbGV3YXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlBvcHBpbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5vdG8gU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUm9ib3RvIFNsYWJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNZXJyaXdlYXRoZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJQVCBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJVYnVudHVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlBsYXlmYWlyIERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIiwgXCJpdGFsaWNcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNdWxpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwaXRhbGljXCIsIFwiaXRhbGljXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPcGVuIFNhbnMgQ29uZGVuc2VkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlBUIFNlcmlmXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTG9yYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIml0YWxpY1wiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlNsYWJvIDI3cHhcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOdW5pdG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5vdG8gU2FucyBKUFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiV29yayBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwaXRhbGljXCIsIFwiaXRhbGljXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJSdWJpa1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTm90byBTZXJpZlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkZpcmEgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVGl0aWxsaXVtIFdlYlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUXVpY2tzYW5kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOb3RvIFNhbnMgS1JcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5hbnVtIEdvdGhpY1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTXVrdGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5vdG8gU2FucyBUQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTnVuaXRvIFNhbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkhlZWJvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQVCBTYW5zIE5hcnJvd1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQXJpbW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkluY29uc29sYXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIkJhcmxvd1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiT3h5Z2VuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJEb3Npc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQml0dGVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTGlicmUgQmFza2VydmlsbGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJDcmltc29uIFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJMaWJyZSBGcmFua2xpblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiS2FybGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkpvc2VmaW4gU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMGl0YWxpY1wiLCBcIml0YWxpY1wiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ2FiaW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFudG9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTb3VyY2UgQ29kZSBQcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiSGluZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWJlbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQW1pcmlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJGamFsbGEgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMb2JzdGVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQYWNpZmljb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkluZGllIEZsb3dlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkV4byAyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwaXRhbGljXCIsIFwiaXRhbGljXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJEYW5jaW5nIFNjcmlwdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlNvdXJjZSBTZXJpZiBQcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJBcnZvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiSGluZCBTaWxpZ3VyaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVmFyZWxhIFJvdW5kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJNZXJyaXdlYXRoZXIgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ2Fpcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIllhbm9uZSBLYWZmZWVzYXR6XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPdmVycGFzc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2hhZG93cyBJbnRvIExpZ2h0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQmFybG93IENvbmRlbnNlZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSUJNIFBsZXggU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ29tZm9ydGFhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBc2FwXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQcm9tcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkthbml0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIxMDBpdGFsaWNcIiwgXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJRdWVzdHJpYWxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk1hcnRlbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkFyY2hpdm8gTmFycm93XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBYnJpbCBGYXRmYWNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbWF0aWMgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBY21lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDYXRhbWFyYW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkZpcmEgU2FucyBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkVCIEdhcmFtb25kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiaXRhbGljXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQnJlZSBTZXJpZlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlppbGxhIFNsYWJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOb3RvIFNhbnMgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNvcm1vcmFudCBHYXJhbW9uZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkhpbmQgTWFkdXJhaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVGVrb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUmlnaHRlb3VzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTaWduaWthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQbGF5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJEb21pbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJFeG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlJ1c3NvIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ2luemVsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUFQgU2FucyBDYXB0aW9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJSYWpkaGFuaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWF2ZW4gUHJvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJGcmVkb2thIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSUJNIFBsZXggU2VyaWZcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJVYnVudHUgQ29uZGVuc2VkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQYXR1YSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNhdmVhdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlBlcm1hbmVudCBNYXJrZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBc3Npc3RhbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFCZWVaZWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlZvbGxrb3JuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiOTAwXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQ3JldGUgUm91bmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJTcGVjaWFsIEVsaXRlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJSb2traXR0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQmFuZ2Vyc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRnJhbmNvaXMgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCYXJsb3cgU2VtaSBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFsZWdyZXlhIFNhbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNhdGlzZnlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJUYWphd2FsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCZWJhcyBOZXVlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQYXRyaWNrIEhhbmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDdXBydW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlZpZ2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNvdXJnZXR0ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlJvcGEgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTm90byBTZXJpZiBKUFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkdvY2hpIEhhbmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBbGVncmV5YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkx1Y2tpZXN0IEd1eVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTm90aWNpYSBUZXh0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiVGlub3NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJQYXNzaW9uIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQWxmYSBTbGFiIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTmFudW0gTXllb25nam9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNb25kYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTG9ic3RlciBUd29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkthbGFtXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiS2F1c2hhbiBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBcmNoaXZvIEJsYWNrXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDYXJkb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkFyY2hpdm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkdyZWF0IFZpYmVzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiVm9sa2hvdlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlF1YXR0cm9jZW50byBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOZXdzIEN5Y2xlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQYXRod2F5IEdvdGhpYyBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNhY3JhbWVudG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJGcmFuayBSdWhsIExpYnJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiWWFudHJhbWFuYXZcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNhbnRhcmVsbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSXN0b2sgV2ViXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJEaWRhY3QgR290aGljXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDb25jZXJ0IE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiVGF2aXJhalwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk9sZCBTdGFuZGFyZCBUVFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1vbnRzZXJyYXQgQWx0ZXJuYXRlc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRWNvbm9taWNhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDaGFuZ2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkZpcmEgU2FucyBFeHRyYSBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkdsb3JpYSBIYWxsZWx1amFoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiUGFyaXNpZW5uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIk9yYml0cm9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBc2FwIENvbmRlbnNlZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUGxheWZhaXIgRGlzcGxheSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNoaXZvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiOTAwXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTcmlyYWNoYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkhpbmQgVmFkb2RhcmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkRNIFNhbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlByYXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUXVhdHRyb2NlbnRvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQ29va2llXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiUG9pcmV0IE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSGFuZGxlZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlNhcmFidW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkJlbmNoTmluZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWVyaWVuZGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJNIFBMVVMgMXBcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlBUIE1vbm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiTGFsZXphclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2FuY2hlelwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkxlbW9uYWRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNYXJrYXppIFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOZXV0b25cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJIaW5kIEd1bnR1clwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSm9zZWZpbiBTbGFiXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIxMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUGhpbG9zb3BoZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFkdmVudCBQcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkRvIEh5ZW9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTYXdhcmFiaSBNaW5jaG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlJ1ZGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlZpZGFsb2thXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiVWx0cmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOZXVjaGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBcmFwZXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJHdWRlYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUGF5dG9uZSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIktyZW9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTSBQTFVTIFJvdW5kZWQgMWNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlByYWdhdGkgTmFycm93XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQcmVzcyBTdGFydCAyUFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSGFtbWVyc21pdGggT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJHZW50aXVtIEJhc2ljXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTW9ub3RvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQWxlZlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWxpY2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJBY2xvbmljYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2lnbWFyIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3BlY3RyYWxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNYXJjayBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJFbGVjdHJvbGl6ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWN0b3JcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFyY2hpdGVjdHMgRGF1Z2h0ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBZGFtaW5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUG9udGFubyBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBdWRpb3dpZGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkludGVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDYWJpbiBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlVuaWNhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiWWVsbG93dGFpbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkVsIE1lc3NpcmlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNxdWFkYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlN0YWF0bGljaGVzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbWFyYW50aFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRW5yaXF1ZXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTWl0clwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiR2xlZ29vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQm93bGJ5IE9uZSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmFzaWNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5hbnVtIEdvdGhpYyBDb2RpbmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiU2FyYWxhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCYWQgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiSG9tZW1hZGUgQXBwbGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJUYW5nZXJpbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDb3Jtb3JhbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJPbGVvIFNjcmlwdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiS2FybWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJKdWxpdXMgU2FucyBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNhcnRlciBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIktoYW5kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOYW51bSBQZW4gU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQ2FtYmF5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJGdWdheiBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNoYWRvd3MgSW50byBMaWdodCBUd29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDb2RhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTaWduaWthIE5lZ2F0aXZlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQcmlkaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlBsYXliYWxsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTYWlyYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUm9jayBTYWx0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiR290aGljIEExXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJHZW50aXVtIEJvb2sgQmFzaWNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJBbGx1cmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJZZXNldmEgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJETSBTZXJpZiBUZXh0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTHVzaXRhbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJKdXJhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBdmVyYWdlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiWXJzYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlNvcnRzIE1pbGwgR291ZHlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJDYW50YXRhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkFybWF0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2NhZGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFiaGF5YSBMaWJyZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkRhbWlvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIk1hcm1lbGFkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJWYXJlbGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlF1YW50aWNvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDb3ZlcmVkIEJ5IFlvdXIgR3JhY2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJQVCBTZXJpZiBDYXB0aW9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUmFtYWJoYWRyYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVW5uYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkVuY29kZSBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBcnNlbmFsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCbGFjayBIYW4gU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2F3YXJhYmkgR290aGljXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJVYnVudHUgTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJQaW55b24gU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQmxhY2sgT3BzIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTWFyY2VsbHVzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRmF1bmEgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTGlsaXRhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2ludG9ueVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiS2h1bGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkphbGRpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJSdWJpayBNb25vIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWxsYW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlJlZW5pZSBCZWFuaWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBbGV4IEJydXNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTXIgRGFmb2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJQYWxhbnF1aW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkVuY29kZSBTYW5zIENvbmRlbnNlZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQW50aWNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIktuZXdhdmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNhdmVhdCBCcnVzaFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlJhbWJsYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU3Bpbm5ha2VyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJJQk0gUGxleCBNb25vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIxMDBpdGFsaWNcIiwgXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIk1pY2hyb21hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOb3RoaW5nIFlvdSBDb3VsZCBEb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIktlbGx5IFNsYWJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJvb2dhbG9vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDaGV3eVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiWkNPT0wgWGlhb1dlaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlJhbmNob1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIk5vdG8gU2VyaWYgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJQYW5nb2xpblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkZpcmEgTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJGb3J1bVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQW50aWMgU2xhYlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkFsZWdyZXlhIFNhbnMgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFub255bW91cyBQcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiTGF0ZWVmXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQW5uaWUgVXNlIFlvdXIgVGVsZXNjb3BlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTm90byBTYW5zIEhLXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJNYXJ0ZWwgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ2hha3JhIFBldGNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJSdWZpbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCYWkgSmFtanVyZWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNjaGVoZXJhemFkZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlNoYXJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJUZW5vciBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJETSBTZXJpZiBEaXNwbGF5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiVlQzMjNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiU2hhcmUgVGVjaCBNb25vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIk1hbGlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDb3VzaW5lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIkNpbnplbCBEZWNvcmF0aXZlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJPdmVybG9ja1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQXJidXR1cyBTbGFiXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUmVlbSBLdWZpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDYWJpbiBTa2V0Y2hcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNhaXJhIEV4dHJhIENvbmRlbnNlZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRWN6YXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJMZWNrZXJsaSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJLcnViXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCZXJrc2hpcmUgU3dhc2hcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJGcmVkZXJpY2thIHRoZSBHcmVhdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2FpcmEgQ29uZGVuc2VkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPdmVycGFzcyBNb25vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJtb25vc3BhY2VcIlxuICB9LFxuICBcIkl0aW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJSYXNhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQmV2YW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFyaW1hIE1hZHVyYWlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkl0YWxpYW5ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkNvZGEgQ2FwdGlvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTaHJpa2hhbmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkp1c3QgQW5vdGhlciBIYW5kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU2FpcmEgU2VtaSBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFsbWFyYWlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk11a3RhIE1hbGFyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPcmFuaWVuYmF1bVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk5vYmlsZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ2FuZGFsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTaXggQ2Fwc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU3BhY2UgTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJDYXByaW9sYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQmlyeWFuaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSGFsYW50XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQWxsZXJ0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVHJpcm9uZ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1hbGxhbm5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBbGRyaWNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBbGVvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiU3VleiBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJDYXVkZXhcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOaWNvbm5lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTXJzIFNhaW50IERlbGFmaWVsZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkdydXBwb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTWlyaWFtIExpYnJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDb250cmFpbCBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkRheXMgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBbGxlcnRhIFN0ZW5jaWxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkF2ZXJhZ2UgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ29taW5nIFNvb25cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJQYXR0YXlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMb25kcmluYSBTb2xpZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQnVuZ2VlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDb3VzdGFyZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1hcmNlbGx1cyBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlJhY2luZyBTYW5zIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmVudGhhbVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkJ1bmdlZSBJbmxpbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1hZ3JhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJKdWRzb25cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSb2NoZXN0ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJHcmFuZCBIb3RlbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkdlbGFzaW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJZZXN0ZXJ5ZWFyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU3luY29wYXRlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJIYW51bWFuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiS29zdWdpIE1hcnVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNvcHNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTWFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVGl0YW4gT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJOb3RvIFNlcmlmIFRDXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiS2FtZXJvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlRlbGV4XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOb3JpY2FuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTWFpdHJlZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIklNIEZlbGwgRG91YmxlIFBpY2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNb2xlbmdvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTdW5mbG93ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjUwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWxlZ3JleWEgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSZWQgSGF0IERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkp1YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiT3ZvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiSUJNIFBsZXggU2FucyBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5peGllIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQWxhZGluXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQXJpem9uaWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJCdWJibGVndW0gU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQ2hhbmdhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTGV4ZW5kIERlY2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNvZmlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiSm9ja2V5IE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU3VyYW5uYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkFtZXRoeXN0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlNjaG9vbGJlbGxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJOYW51bSBCcnVzaCBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDZWRhcnZpbGxlIEN1cnNpdmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDdXRpdmUgTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJEZWxpdXNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJSYWxld2F5IERvdHNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkdyYWR1YXRlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMdXN0cmlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTXVrdGEgVmFhbmlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkthZHdhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUm96aGEgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQnVlbmFyZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNhbWJvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTWFydmVsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJLcm9uYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNhcnJvaXMgR290aGljXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDYXJtZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2xhYm8gMTNweFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkxlbW9uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMb3ZlIFlhIExpa2UgQSBTaXN0ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlJvc2FyaW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJpdGFsaWNcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk1lcmllbmRhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlB1YmxpYyBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwaXRhbGljXCIsIFwiaXRhbGljXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQZXRpdCBGb3JtYWwgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQ2V2aWNoZSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlZvbHRhaXJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJGcmVzY2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkF2ZXJpYSBTZXJpZiBMaWJyZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUnllXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJOb3RvIFNlcmlmIEtSXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQ2hlbHNlYSBNYXJrZXRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNhbGxpZ3JhZmZpdHRpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiRnJlY2tsZSBGYWNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEdXJ1IFNhbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlRyb2NjaGlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNZXRyb3Bob2JpY1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWF0ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkhhcm1hdHRhblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiR2lsZGEgRGlzcGxheVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNvcm1vcmFudCBJbmZhbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJTcGFydGFuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPeHlnZW4gTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJDaG9uYnVyaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR291ZHkgQm9va2xldHRlciAxOTExXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiU2Fuc2l0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiLCBcIjkwMFwiLCBcIjkwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRW1pbHlzIENhbmR5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbWlrb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiS3Jpc3RpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiUGFsYW5xdWluIERhcmtcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkxla3RvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ3V0aXZlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiSGVyciBWb24gTXVlbGxlcmhvZmZcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJHRlMgRGlkb3RcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSYWRsZXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJTdWUgRWxsZW4gRnJhbmNpc2NvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiUG9tcGllcmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkdhYnJpZWxhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTmlyYW1pdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU2Vhd2VlZCBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNlZGd3aWNrIEF2ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkZlZGVyb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWNMYXJlblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSU0gRmVsbCBEVyBQaWNhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiU25pZ2xldFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTXIgRGUgSGF2aWxhbmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJTaG9qdW1hcnVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlBvbHlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCZWxsZXphXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJGYXVzdGluYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIml0YWxpY1wiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIklNIEZlbGwgRW5nbGlzaFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlJhbW1ldHRvIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQW1pdGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJJbmRlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQW50aWMgRGlkb25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQWxpa2UgQW5ndWxhclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1vbnRlelwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIksyRFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiVW5pZnJha3R1ck1hZ3VudGlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJHdXJhamFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlByb3phIExpYnJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwXCIsIFwiODAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJBdGhpdGlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFuZGFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkxpdSBKaWFuIE1hbyBDYW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJNZWdyaW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlZhc3QgU2hhZG93XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJXYWxscG9ldFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiVW5rZW1wdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRmFud29vZCBUZXh0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRG9wcGlvIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ29taWMgTmV1ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkNvcmJlblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRnJpam9sZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmFsdGhhemFyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTWlyemFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIklNIEZlbGwgRnJlbmNoIENhbm9uIFNDXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQnJhd2xlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk9sZW8gU2NyaXB0IFN3YXNoIENhcHNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1hbmRhbGlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNvbnZlcmdlbmNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJGb25kYW1lbnRvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQWxpa2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCYXVtYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJFc3RlYmFuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiR3Jhdml0YXMgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbmFoZWltXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJXZW5keSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlN0YXJkb3MgU3RlbmNpbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3BpY3kgUmljZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUmFra2FzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMYSBCZWxsZSBBdXJvcmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJTZWN1bGFyIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQmVsZ3Jhbm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCdW5nZWUgU2hhZGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNyYWZ0eSBHaXJsc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkJhdHRhbWJhbmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlF1YW5kb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1vdXNlIE1lbW9pcnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkd1Z2lcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkZhc3RlciBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkI2MTIgTW9ub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJMaW1lbGlnaHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNob3J0IFN0YWNrXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTW91bnRhaW5zIG9mIENocmlzdG1hc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2hhcmUgVGVjaFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTGFpbGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJMaXRlcmF0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIml0YWxpY1wiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNvcm1vcmFudCBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkZqb3JkIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlBvZGtvdmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJIb21lbmFqZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiV2FsdGVyIFR1cm5jb2F0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU2VuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJQYXRyaWNrIEhhbmQgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJWb2Nlc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUXdpZ2xleVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkhhcHB5IE1vbmtleVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUm91Z2UgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQmFsb28gQ2hldHRhbiAyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJOVFJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNrcmFuamlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlN0cmFpdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRGF3bmluZyBvZiBhIE5ldyBEYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJJY2VsYW5kXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJFeHBsZXR1cyBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNb250c2VycmF0IFN1YnJheWFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiT3JlZ2Fub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR2l2ZSBZb3UgR2xvcnlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJBbGF0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUHVyaXRhblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWFrb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQW5kaWthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDb3Jtb3JhbnQgVXByaWdodFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlpleWFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkJvd2xieSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFyZWYgUnVxYWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJOdW1hbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkt1cmFsZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlNwaXJheFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQ2xpY2tlciBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJXYWl0aW5nIGZvciB0aGUgU3VucmlzZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkhvbHR3b29kIE9uZSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkthdGliZWhcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNhcnJvaXMgR290aGljIFNDXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMaXZ2aWNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkVhdGVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJGb250ZGluZXIgU3dhbmt5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJGaW5nZXIgUGFpbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJlbGxlZmFpclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIldpcmUgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJLb3N1Z2lcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkNoYXJtXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiRGVsaXVzIFN3YXNoIENhcHNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJWZXNwZXIgTGlicmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSZWQgSGF0IFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkdhZmF0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQXZlcmlhIFNhbnMgTGlicmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkRlbmsgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJHZW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlRhdXJpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDaGVycnkgU3dhc2hcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNvZHlzdGFyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDYW50b3JhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRW5jb2RlIFNhbnMgU2VtaSBDb25kZW5zZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5vdmEgU3F1YXJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCaW9SaHltZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlRpbW1hbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkF0bWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlRpZW5uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIk1lZGRvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkdhbGFkYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUGFkYXVrXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMb3ZlZCBieSB0aGUgS2luZ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlRoZSBHaXJsIE5leHQgRG9vclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkRhcmtlciBHcm90ZXNxdWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkxpZmUgU2F2ZXJzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCaWxib1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlNoYW50aVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSGVhZGxhbmQgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRXVwaG9yaWEgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiSW1wcmltYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQWd1YWZpbmEgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQmFsb28gMlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiT3ZlciB0aGUgUmFpbmJvd1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlNhcnBhbmNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJPcmllbnRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTcGVjdHJhbCBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMjAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlBvcnQgTGxpZ2F0IFNhbnNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFydGlmaWthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTGVkZ2VyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUnVsdWtvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTYWlsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbGF0c2lcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNvbnNpZSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJpbGJvIFN3YXNoIENhcHNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJTbGFja2V5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTYWxzYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUmF0aW9uYWxlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJIZXB0YSBTbGFiXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCIsIFwiOTAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTm9zaWZlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRGVra29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJFbmNvZGUgU2FucyBFeHBhbmRlZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTGlseSBTY3JpcHQgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJaaWxsYSBTbGFiIEhpZ2hsaWdodFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRG9rZG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJLb3R0YSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNYWNvbmRvIFN3YXNoIENhcHNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkVuY29kZSBTYW5zIFNlbWkgRXhwYW5kZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlByb3N0byBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlRyYWRlIFdpbmRzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJGYXJzYW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1hbnVhbGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCJpdGFsaWNcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJDcmVlcHN0ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1lZHVsYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlJhbmNoZXJzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEYXZpZCBMaWJyZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkxpYnJlIEJhcmNvZGUgMzlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlZhbXBpcm8gT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNZXRhbW9ycGhvdXNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJ1YmJsZXIgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOb3ZhIE1vbm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiUHJpbmNlc3MgU29maWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJKdXN0IE1lIEFnYWluIERvd24gSGVyZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIk5vdGFibGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkZhc2NpbmF0ZSBJbmxpbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlZpYnVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiVm9sbGtvcm4gU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJDcnVzaGVkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTdW1hbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJFbHNpZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUmFuZ2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlBvcnQgTGxpZ2F0IFNsYWJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJBbWFyYW50ZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUnVzbGFuIERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkdlcm1hbmlhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2lyaW4gU3RlbmNpbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUGF2YW5hbVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiUGVyYWx0YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2NvcGUgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiSm9tb2xoYXJpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiS3Jhbmt5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJZYXRyYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkphY3F1ZXMgRnJhbmNvaXMgU2hhZG93XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJSaWJleWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkF2ZXJpYSBMaWJyZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2FpcmEgU3RlbmNpbCBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNoZXJyeSBDcmVhbSBTb2RhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNdWt0YSBNYWhlZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiU3Jpc2FrZGlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlRyb2NodXRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNvaW55XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNYSBTaGFuIFpoZW5nXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiQXN1bFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRXdlcnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFyeWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkhhbmFsZWkgRmlsbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR3JlbnplXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIxMDBcIiwgXCIxMDBpdGFsaWNcIiwgXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNTAwXCIsIFwiNTAwaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCIsIFwiODAwXCIsIFwiODAwaXRhbGljXCIsIFwiOTAwXCIsIFwiOTAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUmliZXllIE1hcnJvd1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSU0gRmVsbCBFbmdsaXNoIFNDXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQ2hhdSBQaGlsb21lbmUgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJTYXJpbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNoaWNsZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTWFuamFyaVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTW9udGFnYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkl0YWxpYW5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQWtyb25pbVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSGFiaWJpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRW5nbGViZXJ0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJEeW5hbGlnaHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1hdGUgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJIZW5ueSBQZW5ueVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3JlZSBLcnVzaG5hZGV2YXJheWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJFbmdhZ2VtZW50XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiR2lyYXNzb2xcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIktpdGUgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJJYmFycmEgUmVhbCBOb3ZhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiR2FlZ3VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJGZW5peFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlBpcmF0YSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlR1bHBlbiBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIklNIEZlbGwgR3JlYXQgUHJpbWVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQ2hhdGh1cmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlVubG9ja1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTm92YSBSb3VuZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3VyYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkt1bWFyIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmFza2VydnZpbGxlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiUXVpbnRlc3NlbnRpYWxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJNaWxvbmdhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCYXlvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmUgVmlldG5hbVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMTAwaXRhbGljXCIsIFwiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjUwMFwiLCBcIjUwMGl0YWxpY1wiLCBcIjYwMFwiLCBcIjYwMGl0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiLCBcIjgwMFwiLCBcIjgwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQ3JpbXNvbiBQcm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBpdGFsaWNcIiwgXCJpdGFsaWNcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCNjEyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMZWFndWUgU2NyaXB0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiSW5rbnV0IEFudGlxdWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNb2dyYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTXlzdGVyeSBRdWVzdFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTW9uc2lldXIgTGEgRG91bGFpc2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJWaWJlc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUm9zYXJpdm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJVbmNpYWwgQW50aXF1YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRG9yc2FcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkFsbWVuZHJhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRGlwbG9tYXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTaW1vbmV0dGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk5ldyBSb2NrZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNuaXBwZXRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlBldHJvbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSYW1hcmFqYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkF2ZXJpYSBHcnVlc2EgTGlicmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJhbG9vIEJoYWluYSAyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJLb2RjaGFzYW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk1lZXJhIEluaW1haVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRmxhbWVuY29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIktobWVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQYXByaWthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJLb3VsZW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1hbnNhbHZhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTG92ZXJzIFF1YXJyZWxcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJDb25kaW1lbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJCYWxvbyBUaGFtYmkgMlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3Rva2VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCYXJyaW9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJhcnJpZWNpdG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkRvbmVnYWwgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiS2F2b29uXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCaWcgU2hvdWxkZXJzIERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIiwgXCI5MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1pbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkJpZyBTaG91bGRlcnMgVGV4dFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUHJvY2lvbm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJUZXh0IE1lIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiSU0gRmVsbCBGcmVuY2ggQ2Fub25cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJPdmVybG9jayBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQ2FnbGlvc3Ryb1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWFya28gT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiU3dhbmt5IGFuZCBNb28gTW9vXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTWFpZGVuIE9yYW5nZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmxpbmtlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMTAwXCIsIFwiMjAwXCIsIFwiMzAwXCIsIFwicmVndWxhclwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTWluaXZlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQW5na29yXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDaGFuZ29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlRoYXNhZGl0aFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTW9kYWtcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkp1bmdlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiU3RpbnQgVWx0cmEgQ29uZGVuc2VkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTdGFsZW1hdGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJUaWxsYW5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiVW5pZnJha3R1ckNvb2tcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUnVtIFJhaXNpblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRmFycm9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkRlbGl1cyBVbmljYXNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU2FuY3JlZWtcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkp1bGVlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTWFyZ2FyaW5lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMYWtraSBSZWRkeVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlN0aW50IFVsdHJhIEV4cGFuZGVkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCaWdzaG90IE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR3JpZmZ5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNb3VsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEaXBsb21hdGEgU0NcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk94YW5pdW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk9mZnNpZGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkZpcmEgQ29kZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwibW9ub3NwYWNlXCJcbiAgfSxcbiAgXCJFYWdsZSBMYWtlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiRmxhdm9yc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTG9uZHJpbmEgT3V0bGluZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiVG9tb3Jyb3dcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcIjEwMGl0YWxpY1wiLCBcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIiwgXCI4MDBcIiwgXCI4MDBpdGFsaWNcIiwgXCI5MDBcIiwgXCI5MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk5va29yYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNhbGlzdG9nYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR290dVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiRGVsbGEgUmVzcGlyYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkNvcm1vcmFudCBVbmljYXNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTGlicmUgQ2FzbG9uIFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCdWRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFzYXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJQb2xsZXIgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBdXRvdXIgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJOb3ZhIFNsaW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlVuZGVyZG9nXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJSZWRyZXNzZWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJZZW9uIFN1bmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNvbnRlbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkthbnR1bXJ1eVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQmFsb28gUGFhamkgMlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSmltIE5pZ2h0c2hhZGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJHbGFzcyBBbnRpcXVhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTbm93YnVyc3QgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJHYW1qYSBGbG93ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJSZXZhbGlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNZXRhbCBNYW5pYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQ2hhcm1vbm1hblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIklNIEZlbGwgRFcgUGljYSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkluaWthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiRWxzaWUgU3dhc2ggQ2Fwc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjkwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiV2VsbGZsZWV0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDaGVsYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlJob2RpdW0gTGlicmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJNcnMgU2hlcHBhcmRzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU2VkZ3dpY2sgQXZlIERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJNb2Rlcm4gQW50aXF1YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUmF2aSBQcmFrYXNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJHYWxkZWFub1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiT2xkZW5idXJnXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBcmJ1dHVzXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQb29yIFN0b3J5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJIaSBNZWxvZHlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJKb3RpIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTm92YSBGbGF0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJaQ09PTCBRaW5nS2UgSHVhbmdZb3VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkxpbmRlbiBIaWxsXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiQm9rb3JcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNvdXJpZXIgUHJpbWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiVHJ5a2tlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIktvSG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIlNvbmcgTXl1bmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJSdXRoaWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJMaWJyZSBCYXJjb2RlIDM5IEV4dGVuZGVkIFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNoaWxhbmthXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiRmFoa3dhbmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjIwMGl0YWxpY1wiLCBcIjMwMFwiLCBcIjMwMGl0YWxpY1wiLCBcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI1MDBcIiwgXCI1MDBpdGFsaWNcIiwgXCI2MDBcIiwgXCI2MDBpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkZlbGlwYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIk1vbm9mZXR0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJPZGliZWUgU2Fuc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU215dGhlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNYWpvciBNb25vIERpc3BsYXlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcIm1vbm9zcGFjZVwiXG4gIH0sXG4gIFwiSm9taHVyaWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkNyb2lzc2FudCBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkRhbmdyZWtcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk9yaWdpbmFsIFN1cmZlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmFoaWFuYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR29yZGl0YXNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk9kb3IgTWVhbiBDaGV5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJJY2ViZXJnXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNZWRpZXZhbFNoYXJwXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDYWVzYXIgRHJlc3NpbmdcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlNhaGl0eWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJTdHlsaXNoXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJOb3ZhIEN1dFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUHVycGxlIFB1cnNlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEZXZvbnNoaXJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU21va3VtXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbG1lbmRyYSBEaXNwbGF5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJHYWxpbmRvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQcmVhaHZpaGVhclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2llbXJlYXBcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIklyaXNoIEdyb3ZlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR3VwdGVyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiTWVpZSBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJMaWJyZSBCYXJjb2RlIDEyOFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiS2VhbmlhIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR0ZTIE5lb2hlbGxlbmljXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJDdXRlIEZvbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkxvbmRyaW5hIFNoYWRvd1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRWFzdCBTZWEgRG9rZG9cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJMaWJyZSBCYXJjb2RlIDM5IEV4dGVuZGVkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJSaXNxdWVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkxhbmNlbG90XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMaWJyZSBDYXNsb24gRGlzcGxheVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIlBsYXN0ZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkdvYmxpbiBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFzc2V0XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBbG1lbmRyYSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkphY3F1ZXMgRnJhbmNvaXNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJKb2xseSBMb2RnZXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkxleGVuZCBFeGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk1vbGxlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJLYXZpdmFuYXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJLaXJhbmcgSGFlcmFuZ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUGllZHJhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJBdG9taWMgQWdlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJLdWxpbSBQYXJrXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIyMDBpdGFsaWNcIiwgXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNjAwXCIsIFwiNjAwaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMaWJyZSBCYXJjb2RlIDM5IFRleHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIklNIEZlbGwgR3JlYXQgUHJpbWVyIFNDXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiVGVuYWxpIFJhbWFrcmlzaG5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJCdXRjaGVybWFuXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEciBTdWdpeWFtYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkdlb3N0YXIgRmlsbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiUm9tYW5lc2NvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiTGlicmUgQmFyY29kZSAxMjggVGV4dFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3Vuc2hpbmV5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiS3VtYXIgT25lIE91dGxpbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlBlZGRhbmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJCYWxvbyBCaGFpIDJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI2MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIktkYW0gVGhtb3JcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlJ1Z2UgQm9vZ2llXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiRnJlZWhhbmRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJvbmJvblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkNhbGFkZWFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCJpdGFsaWNcIiwgXCI3MDBcIiwgXCI3MDBpdGFsaWNcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJTaW5nbGUgRGF5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCYWxvbyBUYW1tYSAyXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJJbnJpYSBTYW5zXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCIzMDBpdGFsaWNcIiwgXCJyZWd1bGFyXCIsIFwiaXRhbGljXCIsIFwiNzAwXCIsIFwiNzAwaXRhbGljXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJIYW5hbGVpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJFbWJsZW1hIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU2V5bW91ciBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIk1pc3MgRmFqYXJkb3NlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU2V2aWxsYW5hXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJJbnJpYSBTZXJpZlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkJ1bmdlZSBPdXRsaW5lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNZXRhbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiSU0gRmVsbCBEb3VibGUgUGljYSBTQ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIkxleGVuZCBHaWdhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJaQ09PTCBLdWFpTGVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkFzdGxvY2hcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1yIEJlZGZvcnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJNYWNvbmRvXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJCdXR0ZXJmbHkgS2lkc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIlN1cGVybWVyY2FkbyBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkZydWt0dXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIlRhcHJvbVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTGFjcXVlclwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmxhY2sgQW5kIFdoaXRlIFBpY3R1cmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkJpZ2Vsb3cgUnVsZXNcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJldGggRWxsZW5cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImhhbmR3cml0aW5nXCJcbiAgfSxcbiAgXCJTb2ZhZGkgT25lXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJDb21ib1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmVsbG90YVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRmVkZXJhbnRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1pbHRvbmlhbiBUYXR0b29cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkxvbmRyaW5hIFNrZXRjaFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3V3YW5uYXBodW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIkJ1bmdlZSBIYWlybGluZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiRmFzY2luYXRlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJFcmljYSBPbmVcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk5vdmEgT3ZhbFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQmFsb28gRGEgMlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3VscGh1ciBQb2ludFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwicmVndWxhclwiLCBcIjcwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQXVicmV5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJHaWR1Z3VcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkJlbGxvdGEgVGV4dFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wiMzAwXCIsIFwiMzAwaXRhbGljXCIsIFwicmVndWxhclwiLCBcIml0YWxpY1wiLCBcIjcwMFwiLCBcIjcwMGl0YWxpY1wiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTm92YSBTY3JpcHRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1pbHRvbmlhblwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiR2F5YXRocmlcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjEwMFwiLCBcInJlZ3VsYXJcIiwgXCI3MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkdlb3N0YXJcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIk1vdWxwYWxpXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJQYXNzZXJvIE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiU3RhbGluaXN0IE9uZVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiTG9uZyBDYW5nXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJoYW5kd3JpdGluZ1wiXG4gIH0sXG4gIFwiU29sd2F5XCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiWmhpIE1hbmcgWGluZ1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiaGFuZHdyaXRpbmdcIlxuICB9LFxuICBcIkJhbG9vIFRhbW11ZHUgMlwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiLCBcIjUwMFwiLCBcIjYwMFwiLCBcIjcwMFwiLCBcIjgwMFwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiQ2hlbmxhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJTdXJhdmFyYW1cIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNlcmlmXCJcbiAgfSxcbiAgXCJGYXN0aGFuZFwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2VyaWZcIlxuICB9LFxuICBcIktlbmlhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJEaHVyamF0aVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiTGV4ZW5kIFRlcmFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkJpb1JoeW1lIEV4cGFuZGVkXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzZXJpZlwiXG4gIH0sXG4gIFwiVHVycmV0IFJvYWRcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcIjIwMFwiLCBcIjMwMFwiLCBcInJlZ3VsYXJcIiwgXCI1MDBcIiwgXCI3MDBcIiwgXCI4MDBcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcImRpc3BsYXlcIlxuICB9LFxuICBcIldhcm5lc1wiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwiZGlzcGxheVwiXG4gIH0sXG4gIFwiVmlhb2RhIExpYnJlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJMZXhlbmQgTWVnYVwiOiB7XG4gICAgXCJ3ZWlnaHRcIjogW1wicmVndWxhclwiXSxcbiAgICBcImZhbGxiYWNrXCI6IFwic2Fucy1zZXJpZlwiXG4gIH0sXG4gIFwiQmFoaWFuaXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJkaXNwbGF5XCJcbiAgfSxcbiAgXCJNYW5yb3BlXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCIyMDBcIiwgXCIzMDBcIiwgXCJyZWd1bGFyXCIsIFwiNTAwXCIsIFwiNjAwXCIsIFwiNzAwXCIsIFwiODAwXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfSxcbiAgXCJMZXhlbmQgWmV0dGFcIjoge1xuICAgIFwid2VpZ2h0XCI6IFtcInJlZ3VsYXJcIl0sXG4gICAgXCJmYWxsYmFja1wiOiBcInNhbnMtc2VyaWZcIlxuICB9LFxuICBcIkxleGVuZCBQZXRhXCI6IHtcbiAgICBcIndlaWdodFwiOiBbXCJyZWd1bGFyXCJdLFxuICAgIFwiZmFsbGJhY2tcIjogXCJzYW5zLXNlcmlmXCJcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgZm9udHM7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvY29tcG9uZW50cy90eXBvZ3JhcGh5L2dvb2dsZS1mb250cy5qc1xuLy8gbW9kdWxlIGlkID0gMzVcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///35\n");
479
+
480
+ /***/ }),
481
+ /* 36 */
482
+ /*!*********************************************!*\
483
+ !*** ./src/components/gradient/editor.scss ***!
484
+ \*********************************************/
485
+ /*! dynamic exports provided */
486
+ /***/ (function(module, exports) {
487
+
488
+ eval("// removed by extract-text-webpack-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMzYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9ncmFkaWVudC9lZGl0b3Iuc2Nzcz9jZDVjIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvY29tcG9uZW50cy9ncmFkaWVudC9lZGl0b3Iuc2Nzc1xuLy8gbW9kdWxlIGlkID0gMzZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIl0sIm1hcHBpbmdzIjoiQUFBQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///36\n");
489
+
490
+ /***/ }),
491
+ /* 37 */
492
+ /*!*********************************************!*\
493
+ !*** ./src/blocks/container/css/desktop.js ***!
494
+ \*********************************************/
495
+ /*! exports provided: default */
496
+ /*! exports used: default */
497
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
498
+
499
+ "use strict";
500
+ eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__utils_build_css__ = __webpack_require__(/*! ../../../utils/build-css */ 3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__utils_shorthand_css__ = __webpack_require__(/*! ../../../utils/shorthand-css */ 10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_color_picker_hex_to_rgba__ = __webpack_require__(/*! ../../../components/color-picker/hex-to-rgba */ 8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__utils_value_with_unit__ = __webpack_require__(/*! ../../../utils/value-with-unit */ 6);\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* eslint-disable quotes */\n\n\n\n\n\nvar Component = wp.element.Component;\nvar applyFilters = wp.hooks.applyFilters;\n\nvar DesktopCSS = function (_Component) {\n\t_inherits(DesktopCSS, _Component);\n\n\tfunction DesktopCSS() {\n\t\t_classCallCheck(this, DesktopCSS);\n\n\t\treturn _possibleConstructorReturn(this, (DesktopCSS.__proto__ || Object.getPrototypeOf(DesktopCSS)).apply(this, arguments));\n\t}\n\n\t_createClass(DesktopCSS, [{\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar _props = this.props,\n\t\t\t attributes = _props.attributes,\n\t\t\t clientId = _props.clientId;\n\t\t\tvar uniqueId = attributes.uniqueId,\n\t\t\t isGrid = attributes.isGrid,\n\t\t\t width = attributes.width,\n\t\t\t outerContainer = attributes.outerContainer,\n\t\t\t innerContainer = attributes.innerContainer,\n\t\t\t containerWidth = attributes.containerWidth,\n\t\t\t minHeight = attributes.minHeight,\n\t\t\t minHeightUnit = attributes.minHeightUnit,\n\t\t\t paddingTop = attributes.paddingTop,\n\t\t\t paddingRight = attributes.paddingRight,\n\t\t\t paddingBottom = attributes.paddingBottom,\n\t\t\t paddingLeft = attributes.paddingLeft,\n\t\t\t paddingUnit = attributes.paddingUnit,\n\t\t\t marginTop = attributes.marginTop,\n\t\t\t marginRight = attributes.marginRight,\n\t\t\t marginBottom = attributes.marginBottom,\n\t\t\t marginLeft = attributes.marginLeft,\n\t\t\t marginUnit = attributes.marginUnit,\n\t\t\t borderSizeTop = attributes.borderSizeTop,\n\t\t\t borderSizeRight = attributes.borderSizeRight,\n\t\t\t borderSizeBottom = attributes.borderSizeBottom,\n\t\t\t borderSizeLeft = attributes.borderSizeLeft,\n\t\t\t borderRadiusTopRight = attributes.borderRadiusTopRight,\n\t\t\t borderRadiusBottomRight = attributes.borderRadiusBottomRight,\n\t\t\t borderRadiusBottomLeft = attributes.borderRadiusBottomLeft,\n\t\t\t borderRadiusTopLeft = attributes.borderRadiusTopLeft,\n\t\t\t borderRadiusUnit = attributes.borderRadiusUnit,\n\t\t\t borderColor = attributes.borderColor,\n\t\t\t borderColorOpacity = attributes.borderColorOpacity,\n\t\t\t backgroundColor = attributes.backgroundColor,\n\t\t\t backgroundColorOpacity = attributes.backgroundColorOpacity,\n\t\t\t gradient = attributes.gradient,\n\t\t\t gradientDirection = attributes.gradientDirection,\n\t\t\t gradientColorOne = attributes.gradientColorOne,\n\t\t\t gradientColorOneOpacity = attributes.gradientColorOneOpacity,\n\t\t\t gradientColorStopOne = attributes.gradientColorStopOne,\n\t\t\t gradientColorTwo = attributes.gradientColorTwo,\n\t\t\t gradientColorTwoOpacity = attributes.gradientColorTwoOpacity,\n\t\t\t gradientColorStopTwo = attributes.gradientColorStopTwo,\n\t\t\t textColor = attributes.textColor,\n\t\t\t linkColor = attributes.linkColor,\n\t\t\t linkColorHover = attributes.linkColorHover,\n\t\t\t bgImage = attributes.bgImage,\n\t\t\t bgOptions = attributes.bgOptions,\n\t\t\t verticalAlignment = attributes.verticalAlignment,\n\t\t\t zindex = attributes.zindex,\n\t\t\t removeVerticalGap = attributes.removeVerticalGap,\n\t\t\t alignment = attributes.alignment,\n\t\t\t fontFamily = attributes.fontFamily,\n\t\t\t fontFamilyFallback = attributes.fontFamilyFallback,\n\t\t\t fontWeight = attributes.fontWeight,\n\t\t\t fontSize = attributes.fontSize,\n\t\t\t fontSizeUnit = attributes.fontSizeUnit,\n\t\t\t textTransform = attributes.textTransform;\n\n\n\t\t\tvar backgroundImageValue = void 0,\n\t\t\t gradientColorStopOneValue = '',\n\t\t\t gradientColorStopTwoValue = '';\n\n\t\t\tif (gradient) {\n\t\t\t\tif (gradientColorOne && '' !== gradientColorStopOne) {\n\t\t\t\t\tgradientColorStopOneValue = ' ' + gradientColorStopOne + '%';\n\t\t\t\t}\n\n\t\t\t\tif (gradientColorTwo && '' !== gradientColorStopTwo) {\n\t\t\t\t\tgradientColorStopTwoValue = ' ' + gradientColorStopTwo + '%';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (bgImage) {\n\t\t\t\tbackgroundImageValue = 'url(' + bgImage.image.url + ')';\n\n\t\t\t\tif (bgOptions.overlay) {\n\t\t\t\t\tif (gradient) {\n\t\t\t\t\t\tbackgroundImageValue = 'linear-gradient(' + gradientDirection + 'deg, ' + Object(__WEBPACK_IMPORTED_MODULE_2_