highmark-markdown 1.0.177 → 1.0.178
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/example.js +1673 -2462
- package/lib/example/view/div/preview.js +19 -19
- package/lib/example/view/div/sizeable/left.js +2 -2
- package/lib/example/view/textarea/plainText.js +3 -3
- package/lib/example/view/xmp.js +3 -3
- package/lib/example/view.js +7 -8
- package/lib/index.js +15 -7
- package/lib/map/className.js +4 -45
- package/lib/map/node/html.js +12 -5
- package/lib/map/node/markdown.js +2 -2
- package/lib/map/tagName.js +4 -45
- package/lib/node/html/topmost.js +21 -39
- package/lib/node/html.js +15 -1
- package/lib/node/markdown/directive/embee.js +8 -8
- package/lib/node/markdown/directive/include.js +7 -7
- package/lib/node/markdown/division.js +21 -220
- package/lib/node/markdown/subDivision.js +11 -14
- package/lib/node/markdown/topmost.js +3 -3
- package/lib/queries.js +4 -3
- package/lib/ruleNames.js +11 -6
- package/lib/transform/{subDivision/contentsDirective.js → contentsDirective.js} +2 -3
- package/lib/transform/contentsList.js +2 -3
- package/lib/transform/footnote.js +2 -3
- package/lib/transform/{subDivision/footnote.js → footnoteIdentifier.js} +3 -4
- package/lib/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +2 -3
- package/lib/transform/footnotesList.js +2 -3
- package/lib/transform/{subDivision/indexDirective.js → indexDirective.js} +2 -3
- package/lib/transform/{embedDirective.js → markdown/directive/embed.js} +12 -12
- package/lib/transform/{ignoreDirective.js → markdown/directive/ignore.js} +12 -12
- package/lib/transform/{includeDirective.js → markdown/directive/include.js} +12 -12
- package/lib/transform/{subDivision.js → markdown/subDivision.js} +12 -12
- package/lib/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +2 -3
- package/lib/utilities/dom.js +62 -0
- package/lib/utilities/footnotes.js +2 -3
- package/lib/utilities/html.js +135 -50
- package/lib/utilities/index.js +5 -5
- package/lib/utilities/markdown.js +89 -0
- package/lib/utilities/query.js +17 -129
- package/package.json +4 -4
- package/src/example/view/div/preview.js +16 -16
- package/src/example/view/div/sizeable/left.js +1 -1
- package/src/example/view/textarea/plainText.js +2 -2
- package/src/example/view/xmp.js +3 -2
- package/src/example/view.js +9 -10
- package/src/index.js +2 -0
- package/src/map/className.js +3 -6
- package/src/map/node/html.js +14 -2
- package/src/map/node/markdown.js +2 -2
- package/src/map/tagName.js +3 -6
- package/src/node/html/topmost.js +16 -47
- package/src/node/html.js +12 -0
- package/src/node/markdown/directive/embee.js +5 -5
- package/src/node/markdown/directive/include.js +5 -5
- package/src/node/markdown/division.js +128 -135
- package/src/node/markdown/subDivision.js +7 -10
- package/src/node/markdown/topmost.js +1 -1
- package/src/queries.js +5 -3
- package/src/ruleNames.js +4 -2
- package/src/transform/{subDivision/contentsDirective.js → contentsDirective.js} +0 -2
- package/src/transform/contentsList.js +0 -1
- package/src/transform/footnote.js +0 -2
- package/src/transform/{subDivision/footnote.js → footnoteIdentifier.js} +0 -2
- package/src/transform/{subDivision/footnotesDirective.js → footnotesDirective.js} +0 -2
- package/src/transform/footnotesList.js +0 -2
- package/src/transform/{subDivision/indexDirective.js → indexDirective.js} +0 -2
- package/src/transform/{embedDirective.js → markdown/directive/embed.js} +3 -3
- package/src/transform/{ignoreDirective.js → markdown/directive/ignore.js} +3 -3
- package/src/transform/{includeDirective.js → markdown/directive/include.js} +3 -3
- package/src/transform/{subDivision.js → markdown/subDivision.js} +3 -3
- package/src/transform/{subDivision/pageNumberDirective.js → pageNumberDirective.js} +0 -2
- package/src/utilities/dom.js +58 -0
- package/src/utilities/footnotes.js +0 -2
- package/src/utilities/html.js +122 -49
- package/src/utilities/index.js +4 -4
- package/src/utilities/markdown.js +72 -0
- package/src/utilities/query.js +12 -122
|
@@ -9,12 +9,8 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../transform/footnotesList"));
|
|
15
|
-
var _ignoreDirective = /*#__PURE__*/ _interop_require_default(require("../../transform/ignoreDirective"));
|
|
16
|
-
var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnote"));
|
|
17
|
-
var _query = require("../../utilities/query");
|
|
12
|
+
var _ignore = /*#__PURE__*/ _interop_require_default(require("../../transform/markdown/directive/ignore"));
|
|
13
|
+
var _markdown1 = require("../../utilities/markdown");
|
|
18
14
|
function _assert_this_initialized(self) {
|
|
19
15
|
if (self === void 0) {
|
|
20
16
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -144,6 +140,13 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
144
140
|
this.divisionClassName = divisionClassName;
|
|
145
141
|
}
|
|
146
142
|
},
|
|
143
|
+
{
|
|
144
|
+
key: "isIgnored",
|
|
145
|
+
value: function isIgnored() {
|
|
146
|
+
var node = this, ignoreDirectiveMarkdownNode = (0, _markdown1.ignoreDirectiveMarkdownNodeFromNode)(node), ignored = ignoreDirectiveMarkdownNode !== null;
|
|
147
|
+
return ignored;
|
|
148
|
+
}
|
|
149
|
+
},
|
|
147
150
|
{
|
|
148
151
|
key: "className",
|
|
149
152
|
value: function className(context) {
|
|
@@ -151,13 +154,6 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
151
154
|
return className;
|
|
152
155
|
}
|
|
153
156
|
},
|
|
154
|
-
{
|
|
155
|
-
key: "isIgnored",
|
|
156
|
-
value: function isIgnored() {
|
|
157
|
-
var node = this, ignoreDirectiveMarkdownNode = (0, _query.ignoreDirectiveMarkdownNodeFromNode)(node), ignored = ignoreDirectiveMarkdownNode !== null;
|
|
158
|
-
return ignored;
|
|
159
|
-
}
|
|
160
|
-
},
|
|
161
157
|
{
|
|
162
158
|
key: "resolveIgnored",
|
|
163
159
|
value: function resolveIgnored(topmostMarkdownNode, context) {
|
|
@@ -165,22 +161,22 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
165
161
|
if (!ignored) {
|
|
166
162
|
return;
|
|
167
163
|
}
|
|
168
|
-
var divisionMarkdownNode = this,
|
|
169
|
-
|
|
164
|
+
var divisionMarkdownNode = this, ignoreDirectiveMarkdownTransform = _ignore.default.fromDivisionMarkdownNode(divisionMarkdownNode);
|
|
165
|
+
ignoreDirectiveMarkdownTransform.removeFromTopmostMarkdownNode(topmostMarkdownNode, context);
|
|
170
166
|
}
|
|
171
167
|
},
|
|
172
168
|
{
|
|
173
169
|
key: "resolveIncludes",
|
|
174
170
|
value: function resolveIncludes(topmostMarkdownNode, context) {
|
|
175
|
-
var node = this, includeDirectiveMarkdownNodes = (0,
|
|
176
|
-
var
|
|
177
|
-
if (
|
|
178
|
-
|
|
171
|
+
var node = this, includeDirectiveMarkdownNodes = (0, _markdown1.includeDirectiveMarkdownNodesFromNode)(node), includeDirectiveMarkdownTransforms = includeDirectiveMarkdownNodes.reduce(function(includeDirectiveMarkdownTransforms, includeDirectiveMarkdownNode) {
|
|
172
|
+
var includeDirectiveMarkdownTransform = includeDirectiveMarkdownNode.resolveInclude(context);
|
|
173
|
+
if (includeDirectiveMarkdownTransform !== null) {
|
|
174
|
+
includeDirectiveMarkdownTransforms.push(includeDirectiveMarkdownTransform);
|
|
179
175
|
}
|
|
180
|
-
return
|
|
176
|
+
return includeDirectiveMarkdownTransforms;
|
|
181
177
|
}, []);
|
|
182
|
-
|
|
183
|
-
var divisionMarkdownNode =
|
|
178
|
+
includeDirectiveMarkdownTransforms.forEach(function(includeDirectiveMarkdownTransform) {
|
|
179
|
+
var divisionMarkdownNode = includeDirectiveMarkdownTransform.appendToTopmostMarkdownNode(topmostMarkdownNode, context);
|
|
184
180
|
divisionMarkdownNode.resolveIncludes(topmostMarkdownNode, context);
|
|
185
181
|
});
|
|
186
182
|
}
|
|
@@ -192,192 +188,16 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
192
188
|
this.forEachSubDivisionMarkdownNode(function(subDivisionMarkdownNode) {
|
|
193
189
|
var embeddingsResolved = subDivisionMarkdownNode.resolveEmbeddings(divisionMarkdownNode, context);
|
|
194
190
|
if (embeddingsResolved) {
|
|
195
|
-
var subDivisionTransform =
|
|
191
|
+
var subDivisionTransform = SubDivisionTransform.fromSubDivisionMarkdownNode(subDivisionMarkdownNode);
|
|
196
192
|
subDivisionTransform.removeFromDivisionMarkdownNode(divisionMarkdownNode, context);
|
|
197
193
|
}
|
|
198
194
|
});
|
|
199
195
|
}
|
|
200
196
|
},
|
|
201
|
-
{
|
|
202
|
-
// getPageNumber() {
|
|
203
|
-
// let pageNumber = null;
|
|
204
|
-
//
|
|
205
|
-
// const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
|
|
206
|
-
//
|
|
207
|
-
// if (pageNumberDirectiveMarkdownNode !== null) {
|
|
208
|
-
// pageNumber = pageNumberDirectiveMarkdownNode.getPageNumber();
|
|
209
|
-
// }
|
|
210
|
-
//
|
|
211
|
-
// return pageNumber;
|
|
212
|
-
// }
|
|
213
|
-
//
|
|
214
|
-
// setPageNumber(pageNumber) {
|
|
215
|
-
// const pageNumberDirectiveMarkdownNode = this.findPageNumberDirectiveMarkdownNode();
|
|
216
|
-
//
|
|
217
|
-
// if (pageNumberDirectiveMarkdownNode !== null) {
|
|
218
|
-
// pageNumberDirectiveMarkdownNode.setPageNumber(pageNumber);
|
|
219
|
-
// }
|
|
220
|
-
// }
|
|
221
|
-
//
|
|
222
|
-
// paginate(markdownNodes, context) {
|
|
223
|
-
// const footnotesDirectiveDivisionTransform = this.removeDivisionMarkdownNode(FootnotesDirectiveDivisionTransform, context),
|
|
224
|
-
// pageNumberDirectiveDivisionTransform = this.removeDivisionMarkdownNode(PageNumberDirectiveDivisionTransform, context),
|
|
225
|
-
// subDivisionTransforms = [
|
|
226
|
-
// footnotesDirectiveDivisionTransform,
|
|
227
|
-
// pageNumberDirectiveDivisionTransform
|
|
228
|
-
// ];
|
|
229
|
-
//
|
|
230
|
-
// filter(subDivisionTransforms, (subDivisionTransform) => {
|
|
231
|
-
// if (subDivisionTransform !== null) {
|
|
232
|
-
// return true;
|
|
233
|
-
// }
|
|
234
|
-
// });
|
|
235
|
-
//
|
|
236
|
-
// const { linesPerPage } = context,
|
|
237
|
-
// paginatedChildNodes = [];
|
|
238
|
-
//
|
|
239
|
-
// let { pageNumber } = context,
|
|
240
|
-
// totalLines = 0;
|
|
241
|
-
//
|
|
242
|
-
// this.forEachChildNode((childNode) => {
|
|
243
|
-
// const lines = childNode.lines(context);
|
|
244
|
-
//
|
|
245
|
-
// if ((totalLines + lines) > linesPerPage) {
|
|
246
|
-
// paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
|
|
247
|
-
//
|
|
248
|
-
// pageNumber++;
|
|
249
|
-
//
|
|
250
|
-
// totalLines = 0;
|
|
251
|
-
//
|
|
252
|
-
// clear(paginatedChildNodes);
|
|
253
|
-
// }
|
|
254
|
-
//
|
|
255
|
-
// const paginatedChildNode = childNode; ///
|
|
256
|
-
//
|
|
257
|
-
// paginatedChildNodes.push(paginatedChildNode);
|
|
258
|
-
//
|
|
259
|
-
// totalLines += lines;
|
|
260
|
-
// });
|
|
261
|
-
//
|
|
262
|
-
// if (totalLines > 0) {
|
|
263
|
-
// paginateDivisionMarkdownNode(paginatedChildNodes, subDivisionTransforms, this.divisionClassName, markdownNodes, pageNumber, context);
|
|
264
|
-
//
|
|
265
|
-
// pageNumber++;
|
|
266
|
-
// }
|
|
267
|
-
//
|
|
268
|
-
// Object.assign(context, {
|
|
269
|
-
// pageNumber
|
|
270
|
-
// });
|
|
271
|
-
// }
|
|
272
|
-
//
|
|
273
|
-
// createIndex(divisionMarkdownNodes, context) {
|
|
274
|
-
// let indexCreated = false;
|
|
275
|
-
//
|
|
276
|
-
// const indexDirectiveDivisionTransform = this.findDivisionTransform(IndexDirectiveDivisionTransform, context);
|
|
277
|
-
//
|
|
278
|
-
// if (indexDirectiveDivisionTransform !== null) {
|
|
279
|
-
// const divisionMarkdownNode = this, ///
|
|
280
|
-
// indexTransform = IndexTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
|
|
281
|
-
//
|
|
282
|
-
// if (indexTransform !== null) {
|
|
283
|
-
// indexTransform.replaceIndexDirectiveSubdivisionTransform(indexDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
284
|
-
//
|
|
285
|
-
// indexCreated = true;
|
|
286
|
-
// }
|
|
287
|
-
// }
|
|
288
|
-
//
|
|
289
|
-
// return indexCreated;
|
|
290
|
-
// }
|
|
291
|
-
//
|
|
292
|
-
// createContents(divisionMarkdownNodes, context) {
|
|
293
|
-
// let contentsCreated = false;
|
|
294
|
-
//
|
|
295
|
-
// const contentsDirectiveDivisionTransform = this.findDivisionTransform(ContentsDirectiveDivisionTransform, context);
|
|
296
|
-
//
|
|
297
|
-
// if (contentsDirectiveDivisionTransform !== null) {
|
|
298
|
-
// const divisionMarkdownNode = this, ///
|
|
299
|
-
// contentsListTransform = ContentsListTransform.fromDivisionMarkdownNodesAndDivisionMarkdownNode(divisionMarkdownNodes, divisionMarkdownNode, context);
|
|
300
|
-
//
|
|
301
|
-
// if (contentsListTransform !== null) {
|
|
302
|
-
// contentsListTransform.replaceContentsDirectiveSubdivisionTransform(contentsDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
303
|
-
//
|
|
304
|
-
// contentsCreated = true;
|
|
305
|
-
// }
|
|
306
|
-
// }
|
|
307
|
-
//
|
|
308
|
-
// return contentsCreated;
|
|
309
|
-
// }
|
|
310
|
-
//
|
|
311
|
-
// createFootnotes(footnoteTransformMap, context) {
|
|
312
|
-
// const footnotesDirectiveDivisionTransform = this.findDivisionTransform(FootnotesDirectiveDivisionTransform, context);
|
|
313
|
-
//
|
|
314
|
-
// if (footnotesDirectiveDivisionTransform !== null) {
|
|
315
|
-
// const divisionMarkdownNode = this, ///
|
|
316
|
-
// footnotesListDivisionTransform = FootnotesListTransform.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
|
|
317
|
-
//
|
|
318
|
-
// if (footnotesListDivisionTransform !== null) {
|
|
319
|
-
// footnotesListDivisionTransform.replaceFootnotesDirectiveDivisionTransform(footnotesDirectiveDivisionTransform, divisionMarkdownNode, context);
|
|
320
|
-
// }
|
|
321
|
-
//
|
|
322
|
-
// renumberFootnoteLinkMarkdownNodes(divisionMarkdownNode, footnoteTransformMap, context);
|
|
323
|
-
// }
|
|
324
|
-
// }
|
|
325
|
-
//
|
|
326
|
-
// prepareFootnotes(footnoteTransformMap, context) {
|
|
327
|
-
// const footnoteDivisionTransforms = this.removeDivisionMarkdownNodes(FootnoteDivisionTransform, context);
|
|
328
|
-
//
|
|
329
|
-
// footnoteDivisionTransforms.forEach((footnoteDivisionTransform) => {
|
|
330
|
-
// const footnoteTransform = FootnoteTransform.fromFootnoteDivisionTransform(footnoteDivisionTransform),
|
|
331
|
-
// identifier = footnoteDivisionTransform.identifier(context);
|
|
332
|
-
//
|
|
333
|
-
// footnoteTransformMap[identifier] = footnoteTransform;
|
|
334
|
-
// });
|
|
335
|
-
// }
|
|
336
|
-
key: "findDivisionTransform",
|
|
337
|
-
value: function findDivisionTransform(DivisionTransform, context) {
|
|
338
|
-
var subDivisionTransform = null;
|
|
339
|
-
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
|
|
340
|
-
subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
|
|
341
|
-
subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
|
|
342
|
-
if (subDivisionTransform !== null) {
|
|
343
|
-
return true;
|
|
344
|
-
}
|
|
345
|
-
});
|
|
346
|
-
return subDivisionTransform;
|
|
347
|
-
}
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
key: "findDivisionTransforms",
|
|
351
|
-
value: function findDivisionTransforms(DivisionTransform, context) {
|
|
352
|
-
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes(), subDivisionTransforms = subDivisionMarkdownNodes.reduce(function(subDivisionTransforms, subDivisionMarkdownNode) {
|
|
353
|
-
var subDivisionTransform = DivisionTransform.fromDivisionMarkdownNode(subDivisionMarkdownNode, context);
|
|
354
|
-
if (subDivisionTransform !== null) {
|
|
355
|
-
subDivisionTransforms.push(subDivisionTransform);
|
|
356
|
-
}
|
|
357
|
-
return subDivisionTransforms;
|
|
358
|
-
}, []);
|
|
359
|
-
return subDivisionTransforms;
|
|
360
|
-
}
|
|
361
|
-
},
|
|
362
|
-
{
|
|
363
|
-
key: "findPageNumberDirectiveMarkdownNode",
|
|
364
|
-
value: function findPageNumberDirectiveMarkdownNode() {
|
|
365
|
-
var pageNumberDirectiveMarkdownNode = null;
|
|
366
|
-
var subDivisionMarkdownNodes = this.findDivisionMarkdownNodes();
|
|
367
|
-
subDivisionMarkdownNodes.some(function(subDivisionMarkdownNode) {
|
|
368
|
-
var node = subDivisionMarkdownNode; ///
|
|
369
|
-
pageNumberDirectiveMarkdownNode = (0, _query.pageNumberDirectiveMarkdownNodeFromNode)(node);
|
|
370
|
-
if (pageNumberDirectiveMarkdownNode !== null) {
|
|
371
|
-
return true;
|
|
372
|
-
}
|
|
373
|
-
});
|
|
374
|
-
return pageNumberDirectiveMarkdownNode;
|
|
375
|
-
}
|
|
376
|
-
},
|
|
377
197
|
{
|
|
378
198
|
key: "getSubDivisionMarkdownNodes",
|
|
379
199
|
value: function getSubDivisionMarkdownNodes() {
|
|
380
|
-
var node = this, subDivisionMarkdownNodes = (0,
|
|
200
|
+
var node = this, subDivisionMarkdownNodes = (0, _markdown1.subDivisionMarkdownNodesFromNode)(node);
|
|
381
201
|
return subDivisionMarkdownNodes;
|
|
382
202
|
}
|
|
383
203
|
},
|
|
@@ -388,25 +208,6 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
388
208
|
subDivisionMarkdownNodes.forEach(callback);
|
|
389
209
|
}
|
|
390
210
|
},
|
|
391
|
-
{
|
|
392
|
-
key: "removeSubDivisionMarkdownNode",
|
|
393
|
-
value: function removeSubDivisionMarkdownNode(subDivisionMarkdownNode) {
|
|
394
|
-
var childNode = subDivisionMarkdownNode; ///
|
|
395
|
-
this.removeChildNode(childNode);
|
|
396
|
-
}
|
|
397
|
-
},
|
|
398
|
-
{
|
|
399
|
-
key: "createFootnotesListTransform",
|
|
400
|
-
value: function createFootnotesListTransform(footnoteTransformMap, context) {
|
|
401
|
-
var footnoteDivisionTransforms = this.findDivisionTransforms(_footnote1.default, context);
|
|
402
|
-
footnoteDivisionTransforms.forEach(function(footnoteDivisionTransform) {
|
|
403
|
-
var footnoteTransform = _footnote.default.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
|
|
404
|
-
footnoteTransformMap[identifier] = footnoteTransform;
|
|
405
|
-
});
|
|
406
|
-
var divisionMarkdownNode = this, footnotesListDivisionTransform = _footnotesList.default.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
|
|
407
|
-
return footnotesListDivisionTransform;
|
|
408
|
-
}
|
|
409
|
-
},
|
|
410
211
|
{
|
|
411
212
|
key: "clone",
|
|
412
213
|
value: function clone() {
|
|
@@ -442,4 +243,4 @@ var DivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
442
243
|
// }
|
|
443
244
|
(_markdown.default);
|
|
444
245
|
|
|
445
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5pbXBvcnQgRm9vdG5vdGVUcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9mb290bm90ZVwiO1xuaW1wb3J0IFN1YkRpdmlzaW9uVHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vc3ViRGl2aXNpb25cIjtcbmltcG9ydCBGb290bm90ZXNMaXN0VHJhbnNmb3JtIGZyb20gXCIuLi8uLi90cmFuc2Zvcm0vZm9vdG5vdGVzTGlzdFwiO1xuaW1wb3J0IElnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybSBmcm9tIFwiLi4vLi4vdHJhbnNmb3JtL2lnbm9yZURpcmVjdGl2ZVwiO1xuaW1wb3J0IEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9zdWJEaXZpc2lvbi9mb290bm90ZVwiO1xuXG5pbXBvcnQgeyBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLFxuICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSxcbiAgICAgICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICBjb25zdHJ1Y3RvcihydWxlTmFtZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSwgZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICBzdXBlcihydWxlTmFtZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSk7XG5cbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBnZXREaXZpc2lvbkNsYXNzTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIHNldERpdmlzaW9uQ2xhc3NOYW1lKGRpdmlzaW9uQ2xhc3NOYW1lKSB7XG4gICAgdGhpcy5kaXZpc2lvbkNsYXNzTmFtZSA9IGRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgY2xhc3NOYW1lKGNvbnRleHQpIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lOyAvLy9cblxuICAgIHJldHVybiBjbGFzc05hbWU7XG4gIH1cblxuICBpc0lnbm9yZWQoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIHJlc29sdmVJZ25vcmVkKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBpZ25vcmVkID0gdGhpcy5pc0lnbm9yZWQoKTtcblxuICAgIGlmICghaWdub3JlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGlnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybSA9IElnbm9yZURpcmVjdGl2ZVRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuXG4gICAgaWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtLnJlbW92ZUZyb21Ub3Btb3N0TWFya2Rvd25Ob2RlKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICB9XG5cbiAgcmVzb2x2ZUluY2x1ZGVzKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtcyA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzLnJlZHVjZSgoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXMsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVEaXJlY3RpdmVUcmFuc2Zvcm0gPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlLnJlc29sdmVJbmNsdWRlKGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3Jtcy5wdXNoKGluY2x1ZGVEaXJlY3RpdmVUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXM7XG4gICAgICAgICAgfSwgW10pO1xuXG4gICAgaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybXMuZm9yRWFjaCgoaW5jbHVkZURpcmVjdGl2ZVRyYW5zZm9ybSkgPT4ge1xuICAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtLmFwcGVuZFRvVG9wbW9zdE1hcmtkb3duTm9kZSh0b3Btb3N0TWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcblxuICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGVzKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzb2x2ZUVtYmVkZGluZ3MoY29udGV4dCkge1xuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpczsgIC8vL1xuXG4gICAgdGhpcy5mb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjb25zdCBlbWJlZGRpbmdzUmVzb2x2ZWQgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGlmIChlbWJlZGRpbmdzUmVzb2x2ZWQpIHtcbiAgICAgICAgY29uc3Qgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBTdWJEaXZpc2lvblRyYW5zZm9ybS5mcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpXG5cbiAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm0ucmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vIGdldFBhZ2VOdW1iZXIoKSB7XG4gIC8vICAgbGV0IHBhZ2VOdW1iZXIgPSBudWxsO1xuICAvL1xuICAvLyAgIGNvbnN0IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSB0aGlzLmZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCk7XG4gIC8vXG4gIC8vICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXIgPSBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlLmdldFBhZ2VOdW1iZXIoKTtcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgcmV0dXJuIHBhZ2VOdW1iZXI7XG4gIC8vIH1cbiAgLy9cbiAgLy8gc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKSB7XG4gIC8vICAgY29uc3QgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHRoaXMuZmluZFBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUoKTtcbiAgLy9cbiAgLy8gICBpZiAocGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCkge1xuICAvLyAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZS5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvL1xuICAvLyBwYWdpbmF0ZShtYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlKEZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSxcbiAgLy8gICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlKFBhZ2VOdW1iZXJEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCksXG4gIC8vICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zID0gW1xuICAvLyAgICAgICAgICAgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sXG4gIC8vICAgICAgICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm1cbiAgLy8gICAgICAgICBdO1xuICAvL1xuICAvLyAgIGZpbHRlcihzdWJEaXZpc2lvblRyYW5zZm9ybXMsIChzdWJEaXZpc2lvblRyYW5zZm9ybSkgPT4ge1xuICAvLyAgICAgaWYgKHN1YkRpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIHJldHVybiB0cnVlO1xuICAvLyAgICAgfVxuICAvLyAgIH0pO1xuICAvL1xuICAvLyAgIGNvbnN0IHsgbGluZXNQZXJQYWdlIH0gPSBjb250ZXh0LFxuICAvLyAgICAgICAgIHBhZ2luYXRlZENoaWxkTm9kZXMgPSBbXTtcbiAgLy9cbiAgLy8gICBsZXQgeyBwYWdlTnVtYmVyIH0gPSBjb250ZXh0LFxuICAvLyAgICAgICB0b3RhbExpbmVzID0gMDtcbiAgLy9cbiAgLy8gICB0aGlzLmZvckVhY2hDaGlsZE5vZGUoKGNoaWxkTm9kZSkgPT4ge1xuICAvLyAgICAgY29uc3QgbGluZXMgPSBjaGlsZE5vZGUubGluZXMoY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoKHRvdGFsTGluZXMgKyBsaW5lcykgPiBsaW5lc1BlclBhZ2UpIHtcbiAgLy8gICAgICAgcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIHRoaXMuZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgICBwYWdlTnVtYmVyKys7XG4gIC8vXG4gIC8vICAgICAgIHRvdGFsTGluZXMgPSAwO1xuICAvL1xuICAvLyAgICAgICBjbGVhcihwYWdpbmF0ZWRDaGlsZE5vZGVzKTtcbiAgLy8gICAgIH1cbiAgLy9cbiAgLy8gICAgIGNvbnN0IHBhZ2luYXRlZENoaWxkTm9kZSA9IGNoaWxkTm9kZTsgIC8vL1xuICAvL1xuICAvLyAgICAgcGFnaW5hdGVkQ2hpbGROb2Rlcy5wdXNoKHBhZ2luYXRlZENoaWxkTm9kZSk7XG4gIC8vXG4gIC8vICAgICB0b3RhbExpbmVzICs9IGxpbmVzO1xuICAvLyAgIH0pO1xuICAvL1xuICAvLyAgIGlmICh0b3RhbExpbmVzID4gMCkge1xuICAvLyAgICAgcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIHRoaXMuZGl2aXNpb25DbGFzc05hbWUsIG1hcmtkb3duTm9kZXMsIHBhZ2VOdW1iZXIsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgcGFnZU51bWJlcisrO1xuICAvLyAgIH1cbiAgLy9cbiAgLy8gICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXJcbiAgLy8gICB9KTtcbiAgLy8gfVxuICAvL1xuICAvLyBjcmVhdGVJbmRleChkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgLy8gICBsZXQgaW5kZXhDcmVhdGVkID0gZmFsc2U7XG4gIC8vXG4gIC8vICAgY29uc3QgaW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKEluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChpbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGluZGV4VHJhbnNmb3JtID0gSW5kZXhUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKGluZGV4VHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGluZGV4VHJhbnNmb3JtLnJlcGxhY2VJbmRleERpcmVjdGl2ZVN1YmRpdmlzaW9uVHJhbnNmb3JtKGluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgaW5kZXhDcmVhdGVkID0gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgcmV0dXJuIGluZGV4Q3JlYXRlZDtcbiAgLy8gfVxuICAvL1xuICAvLyBjcmVhdGVDb250ZW50cyhkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGNvbnRleHQpIHtcbiAgLy8gICBsZXQgY29udGVudHNDcmVhdGVkID0gZmFsc2U7XG4gIC8vXG4gIC8vICAgY29uc3QgY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtKENvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChjb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGNvbnRlbnRzTGlzdFRyYW5zZm9ybSA9IENvbnRlbnRzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVzQW5kRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoY29udGVudHNMaXN0VHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGNvbnRlbnRzTGlzdFRyYW5zZm9ybS5yZXBsYWNlQ29udGVudHNEaXJlY3RpdmVTdWJkaXZpc2lvblRyYW5zZm9ybShjb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICAgIGNvbnRlbnRzQ3JlYXRlZCA9IHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBjb250ZW50c0NyZWF0ZWQ7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlRm9vdG5vdGVzKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgaWYgKGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSA9IEZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlQW5kRm9vdG5vdGVUcmFuc2Zvcm1NYXAoZGl2aXNpb25NYXJrZG93bk5vZGUsIGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgLy8gICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtLnJlcGxhY2VGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybShmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvLyAgICAgfVxuICAvL1xuICAvLyAgICAgcmVudW1iZXJGb290bm90ZUxpbmtNYXJrZG93bk5vZGVzKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vICAgfVxuICAvLyB9XG4gIC8vXG4gIC8vIHByZXBhcmVGb290bm90ZXMoZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgLy8gICBjb25zdCBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMucmVtb3ZlRGl2aXNpb25NYXJrZG93bk5vZGVzKEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gIC8vICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgLy8gICB9KTtcbiAgLy8gfVxuXG4gIGZpbmREaXZpc2lvblRyYW5zZm9ybShEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCkge1xuICAgIGxldCBzdWJEaXZpc2lvblRyYW5zZm9ybSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBEaXZpc2lvblRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoc3ViRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm07XG4gIH1cblxuICBmaW5kRGl2aXNpb25UcmFuc2Zvcm1zKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5maW5kRGl2aXNpb25NYXJrZG93bk5vZGVzKCksXG4gICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLnJlZHVjZSgoc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3ViRGl2aXNpb25UcmFuc2Zvcm0gPSBEaXZpc2lvblRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBpZiAoc3ViRGl2aXNpb25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLnB1c2goc3ViRGl2aXNpb25UcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvblRyYW5zZm9ybXM7XG4gIH1cblxuICBmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpIHtcbiAgICBsZXQgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IG51bGw7XG5cbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5zb21lKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlOyAvLy9cblxuICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSA9IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKTtcblxuICAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZTtcbiAgfVxuXG4gIGdldFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcyxcbiAgICAgICAgICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZShub2RlKTtcblxuICAgIHJldHVybiBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXM7XG4gIH1cblxuICBmb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmdldFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goY2FsbGJhY2spO1xuICB9XG5cbiAgcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpIHtcbiAgICBjb25zdCBjaGlsZE5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgIC8vL1xuXG4gICAgdGhpcy5yZW1vdmVDaGlsZE5vZGUoY2hpbGROb2RlKTtcbiAgfVxuXG4gIGNyZWF0ZUZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0oZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpIHtcbiAgICBjb25zdCBmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyA9IHRoaXMuZmluZERpdmlzaW9uVHJhbnNmb3JtcyhGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcblxuICAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuXG4gICAgICBmb290bm90ZVRyYW5zZm9ybU1hcFtpZGVudGlmaWVyXSA9IGZvb3Rub3RlVHJhbnNmb3JtO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtID0gRm9vdG5vdGVzTGlzdFRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcChkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybTtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuLy8gZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KSB7XG4vLyAgIGxldCBtYXJrZG93bk5vZGU7XG4vL1xuLy8gICBjb25zdCBpbmRleEFuY2hvclRyYW5zZm9ybSA9IEluZGV4QW5jaG9yVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIsIGNvbnRleHQpLFxuLy8gICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IERpdmlzaW9uTWFya2Rvd25Ob2RlLmZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzRGl2aXNpb25UcmFuc2Zvcm1zQW5kRGl2aXNpb25DbGFzc05hbWUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCksXG4vLyAgICAgICAgIGFuY2hvck1hcmtkb3duTm9kZSA9IGluZGV4QW5jaG9yVHJhbnNmb3JtLmdldEFuY2hvck1hcmtkb3duTm9kZSgpO1xuLy9cbi8vICAgZGl2aXNpb25NYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbi8vXG4vLyAgIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuLy9cbi8vICAgbWFya2Rvd25Ob2Rlcy5wdXNoKG1hcmtkb3duTm9kZSk7XG4vL1xuLy8gICBtYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4vL1xuLy8gICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbi8vIH0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJjbGFzc05hbWUiLCJjb250ZXh0IiwiaXNJZ25vcmVkIiwibm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSIsImlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlIiwiaWdub3JlZCIsInJlc29sdmVJZ25vcmVkIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtIiwiSWdub3JlRGlyZWN0aXZlVHJhbnNmb3JtIiwiZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVtb3ZlRnJvbVRvcG1vc3RNYXJrZG93bk5vZGUiLCJyZXNvbHZlSW5jbHVkZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2RlcyIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtcyIsInJlZHVjZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlVHJhbnNmb3JtIiwicmVzb2x2ZUluY2x1ZGUiLCJwdXNoIiwiZm9yRWFjaCIsImFwcGVuZFRvVG9wbW9zdE1hcmtkb3duTm9kZSIsInJlc29sdmVFbWJlZGRpbmdzIiwiZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwic3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJlbWJlZGRpbmdzUmVzb2x2ZWQiLCJzdWJEaXZpc2lvblRyYW5zZm9ybSIsIlN1YkRpdmlzaW9uVHJhbnNmb3JtIiwiZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVtb3ZlRnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiZmluZERpdmlzaW9uVHJhbnNmb3JtIiwiRGl2aXNpb25UcmFuc2Zvcm0iLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJmaW5kRGl2aXNpb25NYXJrZG93bk5vZGVzIiwic29tZSIsImZpbmREaXZpc2lvblRyYW5zZm9ybXMiLCJzdWJEaXZpc2lvblRyYW5zZm9ybXMiLCJmaW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSIsInBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwicmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjaGlsZE5vZGUiLCJyZW1vdmVDaGlsZE5vZGUiLCJjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm1NYXAiLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyIsIkZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm0iLCJGb290bm90ZVRyYW5zZm9ybSIsImZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiaWRlbnRpZmllciIsImZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSIsIkZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0iLCJmcm9tRGl2aXNpb25NYXJrZG93bk5vZGVBbmRGb290bm90ZVRyYW5zZm9ybU1hcCIsImNsb25lIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJNYXJrZG93bk5vZGUiXSwibWFwcGlu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
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL2RpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5pbXBvcnQgSWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gZnJvbSBcIi4uLy4uL3RyYW5zZm9ybS9tYXJrZG93bi9kaXJlY3RpdmUvaWdub3JlXCI7XG5cbmltcG9ydCB7IGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlLCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSwgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvbWFya2Rvd25cIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICAvLyBnZXRQYWdlTnVtYmVyKCkge1xuICAvLyAgIGxldCBwYWdlTnVtYmVyID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gdGhpcy5maW5kUGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZSgpO1xuICAvL1xuICAvLyAgIGlmIChwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlICE9PSBudWxsKSB7XG4gIC8vICAgICBwYWdlTnVtYmVyID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZS5nZXRQYWdlTnVtYmVyKCk7XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBwYWdlTnVtYmVyO1xuICAvLyB9XG4gIC8vXG4gIC8vIHNldFBhZ2VOdW1iZXIocGFnZU51bWJlcikge1xuICAvLyAgIGNvbnN0IHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSB0aGlzLmZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCk7XG4gIC8vXG4gIC8vICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgLy8gICB9XG4gIC8vIH1cbiAgLy9cbiAgLy8gcGFnaW5hdGUobWFya2Rvd25Ob2RlcywgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5yZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShGb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCksXG4gIC8vICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5yZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShQYWdlTnVtYmVyRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpLFxuICAvLyAgICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtcyA9IFtcbiAgLy8gICAgICAgICAgIGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLFxuICAvLyAgICAgICAgICAgcGFnZU51bWJlckRpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtXG4gIC8vICAgICAgICAgXTtcbiAgLy9cbiAgLy8gICBmaWx0ZXIoc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCAoc3ViRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBjb25zdCB7IGxpbmVzUGVyUGFnZSB9ID0gY29udGV4dCxcbiAgLy8gICAgICAgICBwYWdpbmF0ZWRDaGlsZE5vZGVzID0gW107XG4gIC8vXG4gIC8vICAgbGV0IHsgcGFnZU51bWJlciB9ID0gY29udGV4dCxcbiAgLy8gICAgICAgdG90YWxMaW5lcyA9IDA7XG4gIC8vXG4gIC8vICAgdGhpcy5mb3JFYWNoQ2hpbGROb2RlKChjaGlsZE5vZGUpID0+IHtcbiAgLy8gICAgIGNvbnN0IGxpbmVzID0gY2hpbGROb2RlLmxpbmVzKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKCh0b3RhbExpbmVzICsgbGluZXMpID4gbGluZXNQZXJQYWdlKSB7XG4gIC8vICAgICAgIHBhZ2luYXRlRGl2aXNpb25NYXJrZG93bk5vZGUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgcGFnZU51bWJlcisrO1xuICAvL1xuICAvLyAgICAgICB0b3RhbExpbmVzID0gMDtcbiAgLy9cbiAgLy8gICAgICAgY2xlYXIocGFnaW5hdGVkQ2hpbGROb2Rlcyk7XG4gIC8vICAgICB9XG4gIC8vXG4gIC8vICAgICBjb25zdCBwYWdpbmF0ZWRDaGlsZE5vZGUgPSBjaGlsZE5vZGU7ICAvLy9cbiAgLy9cbiAgLy8gICAgIHBhZ2luYXRlZENoaWxkTm9kZXMucHVzaChwYWdpbmF0ZWRDaGlsZE5vZGUpO1xuICAvL1xuICAvLyAgICAgdG90YWxMaW5lcyArPSBsaW5lcztcbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBpZiAodG90YWxMaW5lcyA+IDApIHtcbiAgLy8gICAgIHBhZ2luYXRlRGl2aXNpb25NYXJrZG93bk5vZGUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIHBhZ2VOdW1iZXIrKztcbiAgLy8gICB9XG4gIC8vXG4gIC8vICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gIC8vICAgICBwYWdlTnVtYmVyXG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlSW5kZXgoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IGluZGV4Q3JlYXRlZCA9IGZhbHNlO1xuICAvL1xuICAvLyAgIGNvbnN0IGluZGV4RGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShJbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBpZiAoaW5kZXhEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBpbmRleFRyYW5zZm9ybSA9IEluZGV4VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZXNBbmREaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZXMsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChpbmRleFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICBpbmRleFRyYW5zZm9ybS5yZXBsYWNlSW5kZXhEaXJlY3RpdmVTdWJkaXZpc2lvblRyYW5zZm9ybShpbmRleERpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICAgIGluZGV4Q3JlYXRlZCA9IHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvL1xuICAvLyAgIHJldHVybiBpbmRleENyZWF0ZWQ7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlQ29udGVudHMoZGl2aXNpb25NYXJrZG93bk5vZGVzLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IGNvbnRlbnRzQ3JlYXRlZCA9IGZhbHNlO1xuICAvL1xuICAvLyAgIGNvbnN0IGNvbnRlbnRzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0gPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybShDb250ZW50c0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBpZiAoY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBjb250ZW50c0xpc3RUcmFuc2Zvcm0gPSBDb250ZW50c0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2Rlc0FuZERpdmlzaW9uTWFya2Rvd25Ob2RlKGRpdmlzaW9uTWFya2Rvd25Ob2RlcywgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgaWYgKGNvbnRlbnRzTGlzdFRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICBjb250ZW50c0xpc3RUcmFuc2Zvcm0ucmVwbGFjZUNvbnRlbnRzRGlyZWN0aXZlU3ViZGl2aXNpb25UcmFuc2Zvcm0oY29udGVudHNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSwgZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgICBjb250ZW50c0NyZWF0ZWQgPSB0cnVlO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy9cbiAgLy8gICByZXR1cm4gY29udGVudHNDcmVhdGVkO1xuICAvLyB9XG4gIC8vXG4gIC8vIGNyZWF0ZUZvb3Rub3Rlcyhmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3Rlc0RpcmVjdGl2ZURpdmlzaW9uVHJhbnNmb3JtID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm0oRm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGlmIChmb290bm90ZXNEaXJlY3RpdmVEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gIC8vICAgICAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gPSBGb290bm90ZXNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgICBpZiAoZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gIC8vICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybS5yZXBsYWNlRm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVzRGlyZWN0aXZlRGl2aXNpb25UcmFuc2Zvcm0sIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy8gICAgIH1cbiAgLy9cbiAgLy8gICAgIHJlbnVtYmVyRm9vdG5vdGVMaW5rTWFya2Rvd25Ob2RlcyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgZm9vdG5vdGVUcmFuc2Zvcm1NYXAsIGNvbnRleHQpO1xuICAvLyAgIH1cbiAgLy8gfVxuICAvL1xuICAvLyBwcmVwYXJlRm9vdG5vdGVzKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gIC8vICAgY29uc3QgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMgPSB0aGlzLnJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlcyhGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICBmb290bm90ZURpdmlzaW9uVHJhbnNmb3Jtcy5mb3JFYWNoKChmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSA9PiB7XG4gIC8vICAgICBjb25zdCBmb290bm90ZVRyYW5zZm9ybSA9IEZvb3Rub3RlVHJhbnNmb3JtLmZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pLFxuICAvLyAgICAgICAgICAgaWRlbnRpZmllciA9IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0uaWRlbnRpZmllcihjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGZvb3Rub3RlVHJhbnNmb3JtTWFwW2lkZW50aWZpZXJdID0gZm9vdG5vdGVUcmFuc2Zvcm07XG4gIC8vICAgfSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gZmluZERpdmlzaW9uVHJhbnNmb3JtKERpdmlzaW9uVHJhbnNmb3JtLCBjb250ZXh0KSB7XG4gIC8vICAgbGV0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcbiAgLy9cbiAgLy8gICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMuc29tZSgoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gRGl2aXNpb25UcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICByZXR1cm4gdHJ1ZTtcbiAgLy8gICAgIH1cbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm07XG4gIC8vIH1cbiAgLy9cbiAgLy8gZmluZERpdmlzaW9uVHJhbnNmb3JtcyhEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IHRoaXMuZmluZERpdmlzaW9uTWFya2Rvd25Ob2RlcygpLFxuICAvLyAgICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtcyA9IHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5yZWR1Y2UoKHN1YkRpdmlzaW9uVHJhbnNmb3Jtcywgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gRGl2aXNpb25UcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgLy9cbiAgLy8gICAgICAgICAgIGlmIChzdWJEaXZpc2lvblRyYW5zZm9ybSAhPT0gbnVsbCkge1xuICAvLyAgICAgICAgICAgICBzdWJEaXZpc2lvblRyYW5zZm9ybXMucHVzaChzdWJEaXZpc2lvblRyYW5zZm9ybSk7XG4gIC8vICAgICAgICAgICB9XG4gIC8vXG4gIC8vICAgICAgICAgICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAvLyAgICAgICAgIH0sIFtdKTtcbiAgLy9cbiAgLy8gICByZXR1cm4gc3ViRGl2aXNpb25UcmFuc2Zvcm1zO1xuICAvLyB9XG4gIC8vXG4gIC8vIGZpbmRQYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlKCkge1xuICAvLyAgIGxldCBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gbnVsbDtcbiAgLy9cbiAgLy8gICBjb25zdCBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmZpbmREaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcbiAgLy9cbiAgLy8gICBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMuc29tZSgoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgLy8gICAgIGNvbnN0IG5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4gIC8vXG4gIC8vICAgICBwYWdlTnVtYmVyRGlyZWN0aXZlTWFya2Rvd25Ob2RlID0gcGFnZU51bWJlckRpcmVjdGl2ZU1hcmtkb3duTm9kZUZyb21Ob2RlKG5vZGUpO1xuICAvL1xuICAvLyAgICAgaWYgKHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGUgIT09IG51bGwpIHtcbiAgLy8gICAgICAgcmV0dXJuIHRydWU7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vXG4gIC8vICAgcmV0dXJuIHBhZ2VOdW1iZXJEaXJlY3RpdmVNYXJrZG93bk5vZGU7XG4gIC8vIH1cbiAgLy9cbiAgLy8gcmVtb3ZlU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUpIHtcbiAgLy8gICBjb25zdCBjaGlsZE5vZGUgPSBzdWJEaXZpc2lvbk1hcmtkb3duTm9kZTsgIC8vL1xuICAvL1xuICAvLyAgIHRoaXMucmVtb3ZlQ2hpbGROb2RlKGNoaWxkTm9kZSk7XG4gIC8vIH1cbiAgLy9cbiAgLy8gY3JlYXRlRm9vdG5vdGVzTGlzdFRyYW5zZm9ybShmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCkge1xuICAvLyAgIGNvbnN0IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zID0gdGhpcy5maW5kRGl2aXNpb25UcmFuc2Zvcm1zKEZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0sIGNvbnRleHQpO1xuICAvL1xuICAvLyAgIGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm1zLmZvckVhY2goKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pID0+IHtcbiAgLy8gICAgIGNvbnN0IGZvb3Rub3RlVHJhbnNmb3JtID0gRm9vdG5vdGVUcmFuc2Zvcm0uZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0oZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSksXG4gIC8vICAgICAgICAgICBpZGVudGlmaWVyID0gZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybS5pZGVudGlmaWVyKGNvbnRleHQpO1xuICAvL1xuICAvLyAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgLy8gICB9KTtcbiAgLy9cbiAgLy8gICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXMsICAvLy9cbiAgLy8gICAgICAgICBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm0gPSBGb290bm90ZXNMaXN0VHJhbnNmb3JtLmZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwKGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBmb290bm90ZVRyYW5zZm9ybU1hcCwgY29udGV4dCk7XG4gIC8vXG4gIC8vICAgcmV0dXJuIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybTtcbiAgLy8gfVxuXG4gIGNvbnN0cnVjdG9yKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlLCBkaXZpc2lvbkNsYXNzTmFtZSkge1xuICAgIHN1cGVyKHJ1bGVOYW1lLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTtcblxuICAgIHRoaXMuZGl2aXNpb25DbGFzc05hbWUgPSBkaXZpc2lvbkNsYXNzTmFtZTtcbiAgfVxuXG4gIGdldERpdmlzaW9uQ2xhc3NOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lO1xuICB9XG5cbiAgc2V0RGl2aXNpb25DbGFzc05hbWUoZGl2aXNpb25DbGFzc05hbWUpIHtcbiAgICB0aGlzLmRpdmlzaW9uQ2xhc3NOYW1lID0gZGl2aXNpb25DbGFzc05hbWU7XG4gIH1cblxuICBpc0lnbm9yZWQoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGUgPSBpZ25vcmVEaXJlY3RpdmVNYXJrZG93bk5vZGVGcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBpZ25vcmVkID0gKGlnbm9yZURpcmVjdGl2ZU1hcmtkb3duTm9kZSAhPT0gbnVsbCk7XG5cbiAgICByZXR1cm4gaWdub3JlZDtcbiAgfVxuXG4gIGNsYXNzTmFtZShjb250ZXh0KSB7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5kaXZpc2lvbkNsYXNzTmFtZTsgLy8vXG5cbiAgICByZXR1cm4gY2xhc3NOYW1lO1xuICB9XG5cbiAgcmVzb2x2ZUlnbm9yZWQodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGlnbm9yZWQgPSB0aGlzLmlzSWdub3JlZCgpO1xuXG4gICAgaWYgKCFpZ25vcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gPSBJZ25vcmVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybS5mcm9tRGl2aXNpb25NYXJrZG93bk5vZGUoZGl2aXNpb25NYXJrZG93bk5vZGUpO1xuXG4gICAgaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0ucmVtb3ZlRnJvbVRvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gIH1cblxuICByZXNvbHZlSW5jbHVkZXModG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMgPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMgPSBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlcy5yZWR1Y2UoKGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMsIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUucmVzb2x2ZUluY2x1ZGUoY29udGV4dCk7XG5cbiAgICAgICAgICAgIGlmIChpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3Jtcy5wdXNoKGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zO1xuICAgICAgICAgIH0sIFtdKTtcblxuICAgIGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMuZm9yRWFjaCgoaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtKSA9PiB7XG4gICAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IGluY2x1ZGVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybS5hcHBlbmRUb1RvcG1vc3RNYXJrZG93bk5vZGUodG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJbmNsdWRlcyh0b3Btb3N0TWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc29sdmVFbWJlZGRpbmdzKGNvbnRleHQpIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IHRoaXM7ICAvLy9cblxuICAgIHRoaXMuZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKChzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSkgPT4ge1xuICAgICAgY29uc3QgZW1iZWRkaW5nc1Jlc29sdmVkID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZ3MoZGl2aXNpb25NYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAoZW1iZWRkaW5nc1Jlc29sdmVkKSB7XG4gICAgICAgIGNvbnN0IHN1YkRpdmlzaW9uVHJhbnNmb3JtID0gU3ViRGl2aXNpb25UcmFuc2Zvcm0uZnJvbVN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKHN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKVxuXG4gICAgICAgIHN1YkRpdmlzaW9uVHJhbnNmb3JtLnJlbW92ZUZyb21EaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsXG4gICAgICAgICAgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSk7XG5cbiAgICByZXR1cm4gc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzO1xuICB9XG5cbiAgZm9yRWFjaFN1YkRpdmlzaW9uTWFya2Rvd25Ob2RlKGNhbGxiYWNrKSB7XG4gICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5nZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMoKTtcblxuICAgIHN1YkRpdmlzaW9uTWFya2Rvd25Ob2Rlcy5mb3JFYWNoKGNhbGxiYWNrKTtcbiAgfVxuXG4gIGNsb25lKCkgeyByZXR1cm4gc3VwZXIuY2xvbmUodGhpcy5kaXZpc2lvbkNsYXNzTmFtZSk7IH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHtcbiAgICBjb25zdCBkaXZpc2lvbkNsYXNzTmFtZSA9IG51bGwsXG4gICAgICAgICAgZGl2aXNpb25NYXJrZG93bk5vZGUgPSBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoRGl2aXNpb25NYXJrZG93bk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBkaXZpc2lvbkNsYXNzTmFtZSk7XG5cbiAgICByZXR1cm4gZGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cbn1cblxuLy8gZnVuY3Rpb24gcGFnaW5hdGVEaXZpc2lvbk1hcmtkb3duTm9kZShwYWdpbmF0ZWRDaGlsZE5vZGVzLCBzdWJEaXZpc2lvblRyYW5zZm9ybXMsIGRpdmlzaW9uQ2xhc3NOYW1lLCBtYXJrZG93bk5vZGVzLCBwYWdlTnVtYmVyLCBjb250ZXh0KSB7XG4vLyAgIGxldCBtYXJrZG93bk5vZGU7XG4vL1xuLy8gICBjb25zdCBpbmRleEFuY2hvclRyYW5zZm9ybSA9IEluZGV4QW5jaG9yVHJhbnNmb3JtLmZyb21QYWdlTnVtYmVyKHBhZ2VOdW1iZXIsIGNvbnRleHQpLFxuLy8gICAgICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZSA9IERpdmlzaW9uTWFya2Rvd25Ob2RlLmZyb21QYWdpbmF0ZWRDaGlsZE5vZGVzRGl2aXNpb25UcmFuc2Zvcm1zQW5kRGl2aXNpb25DbGFzc05hbWUocGFnaW5hdGVkQ2hpbGROb2Rlcywgc3ViRGl2aXNpb25UcmFuc2Zvcm1zLCBkaXZpc2lvbkNsYXNzTmFtZSwgY29udGV4dCksXG4vLyAgICAgICAgIGFuY2hvck1hcmtkb3duTm9kZSA9IGluZGV4QW5jaG9yVHJhbnNmb3JtLmdldEFuY2hvck1hcmtkb3duTm9kZSgpO1xuLy9cbi8vICAgZGl2aXNpb25NYXJrZG93bk5vZGUuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbi8vXG4vLyAgIG1hcmtkb3duTm9kZSA9IGFuY2hvck1hcmtkb3duTm9kZTsgIC8vL1xuLy9cbi8vICAgbWFya2Rvd25Ob2Rlcy5wdXNoKG1hcmtkb3duTm9kZSk7XG4vL1xuLy8gICBtYXJrZG93bk5vZGUgPSBkaXZpc2lvbk1hcmtkb3duTm9kZTsgLy8vXG4vL1xuLy8gICBtYXJrZG93bk5vZGVzLnB1c2gobWFya2Rvd25Ob2RlKTtcbi8vIH0iXSwibmFtZXMiOlsiRGl2aXNpb25NYXJrZG93bk5vZGUiLCJydWxlTmFtZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJkaXZpc2lvbkNsYXNzTmFtZSIsImdldERpdmlzaW9uQ2xhc3NOYW1lIiwic2V0RGl2aXNpb25DbGFzc05hbWUiLCJpc0lnbm9yZWQiLCJub2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25Ob2RlRnJvbU5vZGUiLCJpZ25vcmVkIiwiY2xhc3NOYW1lIiwiY29udGV4dCIsInJlc29sdmVJZ25vcmVkIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiaWdub3JlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0iLCJJZ25vcmVEaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZSIsInJlbW92ZUZyb21Ub3Btb3N0TWFya2Rvd25Ob2RlIiwicmVzb2x2ZUluY2x1ZGVzIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIiwiaW5jbHVkZURpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcyIsInJlZHVjZSIsImluY2x1ZGVEaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJpbmNsdWRlRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm0iLCJyZXNvbHZlSW5jbHVkZSIsInB1c2giLCJmb3JFYWNoIiwiYXBwZW5kVG9Ub3Btb3N0TWFya2Rvd25Ob2RlIiwicmVzb2x2ZUVtYmVkZGluZ3MiLCJmb3JFYWNoU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImVtYmVkZGluZ3NSZXNvbHZlZCIsInN1YkRpdmlzaW9uVHJhbnNmb3JtIiwiU3ViRGl2aXNpb25UcmFuc2Zvcm0iLCJmcm9tU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJyZW1vdmVGcm9tRGl2aXNpb25NYXJrZG93bk5vZGUiLCJnZXRTdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwiY2xvbmUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eSIsIk1hcmtkb3duTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFPcUJBOzs7K0RBTEk7NkRBQ29CO3lCQUVnRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTlHLElBQUEsQUFBTUEscUNBQU47Y0FBTUE7YUFBQUEscUJBK01QQyxRQUFRLEVBQUVDLFVBQVUsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsaUJBQWlCO2dDQS9NakVOOztnQkFnTmpCLGtCQWhOaUJBO1lBZ05YQztZQUFVQztZQUFZQztZQUFZQztZQUFTQzs7UUFFakQsTUFBS0MsaUJBQWlCLEdBQUdBOzs7a0JBbE5STjs7WUFxTm5CTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELGlCQUFpQjtZQUMvQjs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQSxxQkFBcUJGLGlCQUFpQjtnQkFDcEMsSUFBSSxDQUFDQSxpQkFBaUIsR0FBR0E7WUFDM0I7OztZQUVBRyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsT0FBTyxJQUFJLEVBQ1hDLDhCQUE4QkMsSUFBQUEsOENBQW1DLEVBQUNGLE9BQ2xFRyxVQUFXRixnQ0FBZ0M7Z0JBRWpE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
|
|
@@ -10,10 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
|
|
13
|
-
var
|
|
14
|
-
var _footnotesList = /*#__PURE__*/ _interop_require_default(require("../../transform/footnotesList"));
|
|
15
|
-
var _footnote1 = /*#__PURE__*/ _interop_require_default(require("../../transform/subDivision/footnote"));
|
|
16
|
-
var _query = require("../../utilities/query");
|
|
13
|
+
var _markdown1 = require("../../utilities/markdown");
|
|
17
14
|
function _assert_this_initialized(self) {
|
|
18
15
|
if (self === void 0) {
|
|
19
16
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -104,16 +101,16 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
104
101
|
key: "resolveEmbeddings",
|
|
105
102
|
value: function resolveEmbeddings(divisionMarkdownNode, context) {
|
|
106
103
|
var embeddingsResolved = false;
|
|
107
|
-
var node = this, embedDirectiveMarkdownNodes = (0,
|
|
104
|
+
var node = this, embedDirectiveMarkdownNodes = (0, _markdown1.embedDirectiveMarkdownNodesFromNode)(node), embedDirectiveMarkdownTransforms = embedDirectiveMarkdownNodes.reduce(function(embedDirectiveMarkdownTransforms, embedDirectiveMarkdownNode) {
|
|
108
105
|
var embedDirectiveTransform = embedDirectiveMarkdownNode.resolveEmbedding(context);
|
|
109
106
|
if (embedDirectiveTransform !== null) {
|
|
110
|
-
|
|
107
|
+
embedDirectiveMarkdownTransforms.push(embedDirectiveTransform);
|
|
111
108
|
}
|
|
112
|
-
return
|
|
113
|
-
}, []),
|
|
114
|
-
if (
|
|
109
|
+
return embedDirectiveMarkdownTransforms;
|
|
110
|
+
}, []), embedDirectiveMarkdownTransformsLength = embedDirectiveMarkdownTransforms.length;
|
|
111
|
+
if (embedDirectiveMarkdownTransformsLength > 0) {
|
|
115
112
|
var subDivisionMarkdownNode = this; ///
|
|
116
|
-
backwardsForEach(
|
|
113
|
+
backwardsForEach(embedDirectiveMarkdownTransforms, function(embedDirectiveTransform) {
|
|
117
114
|
embedDirectiveTransform.addAfterSubDivisionMarkdownNode(subDivisionMarkdownNode, divisionMarkdownNode, context);
|
|
118
115
|
});
|
|
119
116
|
embeddingsResolved = true;
|
|
@@ -124,12 +121,12 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
124
121
|
{
|
|
125
122
|
key: "createFootnotesListTransform",
|
|
126
123
|
value: function createFootnotesListTransform(footnoteTransformMap, context) {
|
|
127
|
-
var footnoteDivisionTransforms = this.findDivisionTransforms(
|
|
124
|
+
var footnoteDivisionTransforms = this.findDivisionTransforms(FootnoteDivisionTransform, context);
|
|
128
125
|
footnoteDivisionTransforms.forEach(function(footnoteDivisionTransform) {
|
|
129
|
-
var footnoteTransform =
|
|
126
|
+
var footnoteTransform = FootnoteTransform.fromFootnoteDivisionTransform(footnoteDivisionTransform), identifier = footnoteDivisionTransform.identifier(context);
|
|
130
127
|
footnoteTransformMap[identifier] = footnoteTransform;
|
|
131
128
|
});
|
|
132
|
-
var divisionMarkdownNode = this, footnotesListDivisionTransform =
|
|
129
|
+
var divisionMarkdownNode = this, footnotesListDivisionTransform = FootnotesListTransform.fromDivisionMarkdownNodeAndFootnoteTransformMap(divisionMarkdownNode, footnoteTransformMap, context);
|
|
133
130
|
return footnotesListDivisionTransform;
|
|
134
131
|
}
|
|
135
132
|
}
|
|
@@ -144,4 +141,4 @@ var SubDivisionMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
144
141
|
return SubDivisionMarkdownNode;
|
|
145
142
|
}(_markdown.default);
|
|
146
143
|
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3N1YkRpdmlzaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuaW1wb3J0IE1hcmtkb3duTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9tYXJrZG93blwiO1xuXG5pbXBvcnQgeyBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvbWFya2Rvd25cIjtcblxuY29uc3QgeyBiYWNrd2FyZHNGb3JFYWNoIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU3ViRGl2aXNpb25NYXJrZG93bk5vZGUgZXh0ZW5kcyBNYXJrZG93bk5vZGUge1xuICByZXNvbHZlRW1iZWRkaW5ncyhkaXZpc2lvbk1hcmtkb3duTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBlbWJlZGRpbmdzUmVzb2x2ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLCAgLy8vXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGVzRnJvbU5vZGUobm9kZSksXG4gICAgICAgICAgZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMgPSBlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMucmVkdWNlKChlbWJlZERpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcywgZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtID0gZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUucmVzb2x2ZUVtYmVkZGluZyhjb250ZXh0KTtcblxuICAgICAgICAgICAgaWYgKGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zLnB1c2goZW1iZWREaXJlY3RpdmVUcmFuc2Zvcm0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXM7XG4gICAgICAgICAgfSwgW10pLFxuICAgICAgICAgIGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zTGVuZ3RoID0gZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXMubGVuZ3RoO1xuXG4gICAgaWYgKGVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zTGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc3ViRGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzOyAvLy9cblxuICAgICAgYmFja3dhcmRzRm9yRWFjaChlbWJlZERpcmVjdGl2ZU1hcmtkb3duVHJhbnNmb3JtcywgKGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtKSA9PiB7XG4gICAgICAgIGVtYmVkRGlyZWN0aXZlVHJhbnNmb3JtLmFkZEFmdGVyU3ViRGl2aXNpb25NYXJrZG93bk5vZGUoc3ViRGl2aXNpb25NYXJrZG93bk5vZGUsIGRpdmlzaW9uTWFya2Rvd25Ob2RlLCBjb250ZXh0KTtcbiAgICAgIH0pO1xuXG4gICAgICBlbWJlZGRpbmdzUmVzb2x2ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBlbWJlZGRpbmdzUmVzb2x2ZWQ7XG4gIH1cblxuICBjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtKGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybXMgPSB0aGlzLmZpbmREaXZpc2lvblRyYW5zZm9ybXMoRm9vdG5vdGVEaXZpc2lvblRyYW5zZm9ybSwgY29udGV4dCk7XG5cbiAgICBmb290bm90ZURpdmlzaW9uVHJhbnNmb3Jtcy5mb3JFYWNoKChmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKSA9PiB7XG4gICAgICBjb25zdCBmb290bm90ZVRyYW5zZm9ybSA9IEZvb3Rub3RlVHJhbnNmb3JtLmZyb21Gb290bm90ZURpdmlzaW9uVHJhbnNmb3JtKGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0pLFxuICAgICAgICAgICAgaWRlbnRpZmllciA9IGZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0uaWRlbnRpZmllcihjb250ZXh0KTtcblxuICAgICAgZm9vdG5vdGVUcmFuc2Zvcm1NYXBbaWRlbnRpZmllcl0gPSBmb290bm90ZVRyYW5zZm9ybTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRpdmlzaW9uTWFya2Rvd25Ob2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGZvb3Rub3Rlc0xpc3REaXZpc2lvblRyYW5zZm9ybSA9IEZvb3Rub3Rlc0xpc3RUcmFuc2Zvcm0uZnJvbURpdmlzaW9uTWFya2Rvd25Ob2RlQW5kRm9vdG5vdGVUcmFuc2Zvcm1NYXAoZGl2aXNpb25NYXJrZG93bk5vZGUsIGZvb3Rub3RlVHJhbnNmb3JtTWFwLCBjb250ZXh0KTtcblxuICAgIHJldHVybiBmb290bm90ZXNMaXN0RGl2aXNpb25UcmFuc2Zvcm07XG4gIH1cblxuICBzdGF0aWMgZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkocnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpIHsgcmV0dXJuIE1hcmtkb3duTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzQW5kT3BhY2l0eShTdWJEaXZpc2lvbk1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJiYWNrd2FyZHNGb3JFYWNoIiwiYXJyYXlVdGlsaXRpZXMiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY29udGV4dCIsImVtYmVkZGluZ3NSZXNvbHZlZCIsIm5vZGUiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXMiLCJlbWJlZERpcmVjdGl2ZU1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImVtYmVkRGlyZWN0aXZlTWFya2Rvd25UcmFuc2Zvcm1zIiwicmVkdWNlIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93bk5vZGUiLCJlbWJlZERpcmVjdGl2ZVRyYW5zZm9ybSIsInJlc29sdmVFbWJlZGRpbmciLCJwdXNoIiwiZW1iZWREaXJlY3RpdmVNYXJrZG93blRyYW5zZm9ybXNMZW5ndGgiLCJsZW5ndGgiLCJzdWJEaXZpc2lvbk1hcmtkb3duTm9kZSIsImFkZEFmdGVyU3ViRGl2aXNpb25NYXJrZG93bk5vZGUiLCJjcmVhdGVGb290bm90ZXNMaXN0VHJhbnNmb3JtIiwiZm9vdG5vdGVUcmFuc2Zvcm1NYXAiLCJmb290bm90ZURpdmlzaW9uVHJhbnNmb3JtcyIsImZpbmREaXZpc2lvblRyYW5zZm9ybXMiLCJGb290bm90ZURpdmlzaW9uVHJhbnNmb3JtIiwiZm9yRWFjaCIsImZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJmb290bm90ZVRyYW5zZm9ybSIsIkZvb3Rub3RlVHJhbnNmb3JtIiwiZnJvbUZvb3Rub3RlRGl2aXNpb25UcmFuc2Zvcm0iLCJpZGVudGlmaWVyIiwiZm9vdG5vdGVzTGlzdERpdmlzaW9uVHJhbnNmb3JtIiwiRm9vdG5vdGVzTGlzdFRyYW5zZm9ybSIsImZyb21EaXZpc2lvbk1hcmtkb3duTm9kZUFuZEZvb3Rub3RlVHJhbnNmb3JtTWFwIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVTsrREFFTjt5QkFFMkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEQsSUFBTSxBQUFFQyxtQkFBcUJDLHlCQUFjLENBQW5DRDtBQUVPLElBQUEsQUFBTUQsd0NBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO2VBQU4sa0JBQU1BOztrQkFBQUE7O1lBQ25CRyxLQUFBQTttQkFBQUEsU0FBQUEsa0JBQWtCQyxvQkFBb0IsRUFBRUMsT0FBTztnQkFDN0MsSUFBSUMscUJBQXFCO2dCQUV6QixJQUFNQyxPQUFPLElBQUksRUFDWEMsOEJBQThCQyxJQUFBQSw4Q0FBbUMsRUFBQ0YsT0FDbEVHLG1DQUFtQ0YsNEJBQTRCRyxNQUFNLENBQUMsU0FBQ0Qsa0NBQWtDRTtvQkFDdkcsSUFBTUMsMEJBQTBCRCwyQkFBMkJFLGdCQUFnQixDQUFDVDtvQkFFNUUsSUFBSVEsNEJBQTRCLE1BQU07d0JBQ3BDSCxpQ0FBaUNLLElBQUksQ0FBQ0Y7b0JBQ3hDO29CQUVBLE9BQU9IO2dCQUNULEdBQUcsRUFBRSxHQUNMTSx5Q0FBeUNOLGlDQUFpQ08sTUFBTTtnQkFFdEYsSUFBSUQseUNBQXlDLEdBQUc7b0JBQzlDLElBQU1FLDBCQUEwQixJQUFJLEVBQUUsR0FBRztvQkFFekNqQixpQkFBaUJTLGtDQUFrQyxTQUFDRzt3QkFDbERBLHdCQUF3Qk0sK0JBQStCLENBQUNELHlCQUF5QmQsc0JBQXNCQztvQkFDekc7b0JBRUFDLHFCQUFxQjtnQkFDdkI7Z0JBRUEsT0FBT0E7WUFDVDs7O1lBRUFjLEtBQUFBO21CQUFBQSxTQUFBQSw2QkFBNkJDLG9CQUFvQixFQUFFaEIsT0FBTztnQkFDeEQsSUFBTWlCLDZCQUE2QixJQUFJLENBQUNDLHNCQUFzQixDQUFDQywyQkFBMkJuQjtnQkFFMUZpQiwyQkFBMkJHLE9BQU8sQ0FBQyxTQUFDQztvQkFDbEMsSUFBTUMsb0JBQW9CQyxrQkFBa0JDLDZCQUE2QixDQUFDSCw0QkFDcEVJLGFBQWFKLDBCQUEwQkksVUFBVSxDQUFDekI7b0JBRXhEZ0Isb0JBQW9CLENBQUNTLFdBQVcsR0FBR0g7Z0JBQ3JDO2dCQUVBLElBQU12Qix1QkFBdUIsSUFBSSxFQUMzQjJCLGlDQUFpQ0MsdUJBQXVCQywrQ0FBK0MsQ0FBQzdCLHNCQUFzQmlCLHNCQUFzQmhCO2dCQUUxSixPQUFPMEI7WUFDVDs7OztZQUVPRyxLQUFBQTttQkFBUCxTQUFPQSxpQ0FBaUNDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPO2dCQUFJLE9BQU9DLGlCQUFZLENBQUNKLGdDQUFnQyxDQTlDMUdsQyx5QkE4Q29JbUMsVUFBVUMsWUFBWUM7WUFBVTs7O1dBOUNwS3JDO0VBQWdDc0MsaUJBQVkifQ==
|
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _necessary = require("necessary");
|
|
12
12
|
var _markdown = /*#__PURE__*/ _interop_require_default(require("../../node/markdown"));
|
|
13
|
-
var
|
|
13
|
+
var _markdown1 = require("../../utilities/markdown");
|
|
14
14
|
function _assert_this_initialized(self) {
|
|
15
15
|
if (self === void 0) {
|
|
16
16
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -117,7 +117,7 @@ var TopmostMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
117
117
|
{
|
|
118
118
|
key: "getDivisionMarkdownNodes",
|
|
119
119
|
value: function getDivisionMarkdownNodes() {
|
|
120
|
-
var node = this, divisionMarkdownNodes = (0,
|
|
120
|
+
var node = this, divisionMarkdownNodes = (0, _markdown1.divisionMarkdownNodesFromNode)(node);
|
|
121
121
|
return divisionMarkdownNodes;
|
|
122
122
|
}
|
|
123
123
|
},
|
|
@@ -155,4 +155,4 @@ var TopmostMarkdownNode = /*#__PURE__*/ function(MarkdownNode) {
|
|
|
155
155
|
return TopmostMarkdownNode;
|
|
156
156
|
}(_markdown.default);
|
|
157
157
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL21hcmtkb3duL3RvcG1vc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgTWFya2Rvd25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL21hcmtkb3duXCI7XG5cbmltcG9ydCB7IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9tYXJrZG93blwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVG9wbW9zdE1hcmtkb3duTm9kZSBleHRlbmRzIE1hcmtkb3duTm9kZSB7XG4gIHJlc29sdmUoY29udGV4dCkge1xuICAgIGNvbnN0IGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUgPSB0aGlzLmdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKTtcblxuICAgIGlmIChmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdG9wbW9zdE1hcmtkb3duTm9kZSA9IHRoaXM7IC8vL1xuXG4gICAgZmlyc3REaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlSW5jbHVkZXModG9wbW9zdE1hcmtkb3duTm9kZSwgY29udGV4dCk7XG5cbiAgICB0aGlzLmZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSgoZGl2aXNpb25NYXJrZG93bk5vZGUpID0+IHtcbiAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlLnJlc29sdmVJZ25vcmVkKHRvcG1vc3RNYXJrZG93bk5vZGUsIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5mb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBkaXZpc2lvbk1hcmtkb3duTm9kZS5yZXNvbHZlRW1iZWRkaW5ncyhjb250ZXh0KTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIGRpdmlzaW9uTWFya2Rvd25Ob2RlcyA9IGRpdmlzaW9uTWFya2Rvd25Ob2Rlc0Zyb21Ob2RlKG5vZGUpO1xuXG4gICAgcmV0dXJuIGRpdmlzaW9uTWFya2Rvd25Ob2RlcztcbiAgfVxuXG4gIGdldEZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUoKSB7XG4gICAgY29uc3QgZGl2aXNpb25NYXJrZG93bk5vZGVzID0gdGhpcy5nZXREaXZpc2lvbk1hcmtkb3duTm9kZXMoKSxcbiAgICAgICAgICBmaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlID0gZmlyc3QoZGl2aXNpb25NYXJrZG93bk5vZGVzKSB8fCBudWxsO1xuXG4gICAgcmV0dXJuIGZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGU7XG4gIH1cblxuICBmb3JFYWNoRGl2aXNpb25NYXJrZG93bk5vZGUoY2FsbGJhY2spIHtcbiAgICBjb25zdCBkaXZpc2lvbk1hcmtkb3duTm9kZXMgPSB0aGlzLmdldERpdmlzaW9uTWFya2Rvd25Ob2RlcygpO1xuXG4gICAgZGl2aXNpb25NYXJrZG93bk5vZGVzLmZvckVhY2goKGRpdmlzaW9uTWFya2Rvd25Ob2RlKSA9PiB7XG4gICAgICBjYWxsYmFjayhkaXZpc2lvbk1hcmtkb3duTm9kZSk7XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVEaXZpc2lvbk1hcmtkb3duTm9kZShkaXZpc2lvbk1hcmtkb3duTm9kZSkge1xuICAgIGNvbnN0IGNoaWxkTm9kZSA9IGRpdmlzaW9uTWFya2Rvd25Ob2RlOyAgLy8vXG5cbiAgICB0aGlzLnJlbW92ZUNoaWxkTm9kZShjaGlsZE5vZGUpO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNBbmRPcGFjaXR5KHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5KSB7IHJldHVybiBNYXJrZG93bk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkoVG9wbW9zdE1hcmtkb3duTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHkpOyB9XG59XG4iXSwibmFtZXMiOlsiVG9wbW9zdE1hcmtkb3duTm9kZSIsImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJyZXNvbHZlIiwiY29udGV4dCIsImZpcnN0RGl2aXNpb25NYXJrZG93bk5vZGUiLCJnZXRGaXJzdERpdmlzaW9uTWFya2Rvd25Ob2RlIiwidG9wbW9zdE1hcmtkb3duTm9kZSIsInJlc29sdmVJbmNsdWRlcyIsImZvckVhY2hEaXZpc2lvbk1hcmtkb3duTm9kZSIsImRpdmlzaW9uTWFya2Rvd25Ob2RlIiwicmVzb2x2ZUlnbm9yZWQiLCJyZXNvbHZlRW1iZWRkaW5ncyIsImdldERpdmlzaW9uTWFya2Rvd25Ob2RlcyIsIm5vZGUiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXMiLCJkaXZpc2lvbk1hcmtkb3duTm9kZXNGcm9tTm9kZSIsImNhbGxiYWNrIiwiZm9yRWFjaCIsInJlbW92ZURpdmlzaW9uTWFya2Rvd25Ob2RlIiwiY2hpbGROb2RlIiwicmVtb3ZlQ2hpbGROb2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc0FuZE9wYWNpdHkiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwiTWFya2Rvd25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7Ozt5QkFSVTsrREFFTjt5QkFFcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBTSxBQUFFQyxRQUFVQyx5QkFBYyxDQUF4QkQ7QUFFTyxJQUFBLEFBQU1ELG9DQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtlQUFOLGtCQUFNQTs7a0JBQUFBOztZQUNuQkcsS0FBQUE7bUJBQUFBLFNBQUFBLFFBQVFDLE9BQU87Z0JBQ2IsSUFBTUMsNEJBQTRCLElBQUksQ0FBQ0MsNEJBQTRCO2dCQUVuRSxJQUFJRCw4QkFBOEIsTUFBTTtvQkFDdEM7Z0JBQ0Y7Z0JBRUEsSUFBTUUsc0JBQXNCLElBQUksRUFBRSxHQUFHO2dCQUVyQ0YsMEJBQTBCRyxlQUFlLENBQUNELHFCQUFxQkg7Z0JBRS9ELElBQUksQ0FBQ0ssMkJBQTJCLENBQUMsU0FBQ0M7b0JBQ2hDQSxxQkFBcUJDLGNBQWMsQ0FBQ0oscUJBQXFCSDtnQkFDM0Q7Z0JBRUEsSUFBSSxDQUFDSywyQkFBMkIsQ0FBQyxTQUFDQztvQkFDaENBLHFCQUFxQkUsaUJBQWlCLENBQUNSO2dCQUN6QztZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLE9BQU8sSUFBSSxFQUNYQyx3QkFBd0JDLElBQUFBLHdDQUE2QixFQUFDRjtnQkFFNUQsT0FBT0M7WUFDVDs7O1lBRUFULEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNUyx3QkFBd0IsSUFBSSxDQUFDRix3QkFBd0IsSUFDckRSLDRCQUE0QkosTUFBTWMsMEJBQTBCO2dCQUVsRSxPQUFPVjtZQUNUOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLDRCQUE0QlEsUUFBUTtnQkFDbEMsSUFBTUYsd0JBQXdCLElBQUksQ0FBQ0Ysd0JBQXdCO2dCQUUzREUsc0JBQXNCRyxPQUFPLENBQUMsU0FBQ1I7b0JBQzdCTyxTQUFTUDtnQkFDWDtZQUNGOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBLDJCQUEyQlQsb0JBQW9CO2dCQUM3QyxJQUFNVSxZQUFZVixzQkFBdUIsR0FBRztnQkFFNUMsSUFBSSxDQUFDVyxlQUFlLENBQUNEO1lBQ3ZCOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLGlDQUFpQ0MsUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU87Z0JBQUksT0FBT0MsaUJBQVksQ0FBQ0osZ0NBQWdDLENBakQxR3RCLHFCQWlEZ0l1QixVQUFVQyxZQUFZQztZQUFVOzs7V0FqRGhLekI7RUFBNEIwQixpQkFBWSJ9
|
package/lib/queries.js
CHANGED
|
@@ -10,10 +10,11 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _occamquery = require("occam-query");
|
|
12
12
|
var _html = require("./map/node//html");
|
|
13
|
-
var queries =
|
|
13
|
+
var queries = [];
|
|
14
|
+
(0, _html.forEachHTMLNode)(function(Class, ruleName) {
|
|
14
15
|
var expressionString = "//".concat(ruleName), query = _occamquery.Query.fromExpressionString(expressionString);
|
|
15
|
-
|
|
16
|
+
queries.push(query);
|
|
16
17
|
});
|
|
17
18
|
var _default = queries;
|
|
18
19
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWVyaWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBRdWVyeSB9IGZyb20gXCJvY2NhbS1xdWVyeVwiO1xuXG5pbXBvcnQgeyBmb3JFYWNoSFRNTE5vZGUgfSBmcm9tIFwiLi9tYXAvbm9kZS8vaHRtbFwiO1xuXG5jb25zdCBxdWVyaWVzID0gW107XG5cbmZvckVhY2hIVE1MTm9kZSgoQ2xhc3MsIHJ1bGVOYW1lKSA9PiB7XG4gIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBgLy8ke3J1bGVOYW1lfWAsXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyk7XG5cbiAgcXVlcmllcy5wdXNoKHF1ZXJ5KTtcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBxdWVyaWVzOyJdLCJuYW1lcyI6WyJxdWVyaWVzIiwiZm9yRWFjaEhUTUxOb2RlIiwiQ2xhc3MiLCJydWxlTmFtZSIsImV4cHJlc3Npb25TdHJpbmciLCJxdWVyeSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFlQTs7O2VBQUE7OzswQkFic0I7b0JBRVU7QUFFaEMsSUFBTUEsVUFBVSxFQUFFO0FBRWxCQyxJQUFBQSxxQkFBZSxFQUFDLFNBQUNDLE9BQU9DO0lBQ3RCLElBQU1DLG1CQUFtQixBQUFDLEtBQWEsT0FBVEQsV0FDeEJFLFFBQVFDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDSDtJQUV6Q0osUUFBUVEsSUFBSSxDQUFDSDtBQUNmO0lBRUEsV0FBZUwifQ==
|