footprintjs 6.0.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +60 -49
- package/CLAUDE.md +52 -26
- package/README.md +2 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/lib/builder/FlowChartBuilder.js +190 -5
- package/dist/esm/lib/builder/index.js +2 -2
- package/dist/esm/lib/builder/types.js +1 -1
- package/dist/esm/lib/detach/types.js +1 -1
- package/dist/esm/lib/engine/handlers/ChildrenExecutor.js +4 -2
- package/dist/esm/lib/engine/handlers/SelectorHandler.js +5 -1
- package/dist/esm/lib/engine/index.js +1 -1
- package/dist/esm/lib/engine/narrative/FlowRecorderDispatcher.js +15 -1
- package/dist/esm/lib/engine/narrative/NullControlFlowNarrativeGenerator.js +2 -1
- package/dist/esm/lib/engine/narrative/index.js +1 -1
- package/dist/esm/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.js +3 -3
- package/dist/esm/lib/engine/narrative/types.js +1 -1
- package/dist/esm/lib/engine/traversal/FlowchartTraverser.js +26 -5
- package/dist/esm/lib/engine/types.js +1 -1
- package/dist/esm/lib/engine/walkSubflowSpec.js +33 -9
- package/dist/esm/lib/recorder/BoundaryStateTracker.js +3 -6
- package/dist/esm/lib/recorder/CombinedRecorder.js +8 -1
- package/dist/esm/lib/recorder/QualityRecorder.js +5 -5
- package/dist/esm/lib/recorder/SequenceStore.js +2 -2
- package/dist/esm/lib/runner/FlowChartExecutor.js +24 -5
- package/dist/esm/lib/runner/RunContext.js +14 -30
- package/dist/esm/trace.js +16 -7
- package/dist/index.js +3 -2
- package/dist/lib/builder/FlowChartBuilder.js +192 -6
- package/dist/lib/builder/index.js +3 -2
- package/dist/lib/builder/types.js +1 -1
- package/dist/lib/detach/types.js +1 -1
- package/dist/lib/engine/handlers/ChildrenExecutor.js +4 -2
- package/dist/lib/engine/handlers/SelectorHandler.js +5 -1
- package/dist/lib/engine/index.js +1 -1
- package/dist/lib/engine/narrative/FlowRecorderDispatcher.js +15 -1
- package/dist/lib/engine/narrative/NullControlFlowNarrativeGenerator.js +2 -1
- package/dist/lib/engine/narrative/index.js +1 -1
- package/dist/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.js +3 -3
- package/dist/lib/engine/narrative/types.js +1 -1
- package/dist/lib/engine/traversal/FlowchartTraverser.js +26 -5
- package/dist/lib/engine/types.js +1 -1
- package/dist/lib/engine/walkSubflowSpec.js +33 -9
- package/dist/lib/recorder/BoundaryStateTracker.js +3 -6
- package/dist/lib/recorder/CombinedRecorder.js +8 -1
- package/dist/lib/recorder/QualityRecorder.js +5 -5
- package/dist/lib/recorder/SequenceStore.js +2 -2
- package/dist/lib/runner/FlowChartExecutor.js +24 -5
- package/dist/lib/runner/RunContext.js +14 -30
- package/dist/trace.js +16 -7
- package/dist/types/index.d.ts +2 -2
- package/dist/types/lib/builder/FlowChartBuilder.d.ts +93 -4
- package/dist/types/lib/builder/index.d.ts +1 -1
- package/dist/types/lib/builder/types.d.ts +19 -0
- package/dist/types/lib/detach/types.d.ts +1 -1
- package/dist/types/lib/engine/handlers/ChildrenExecutor.d.ts +1 -1
- package/dist/types/lib/engine/index.d.ts +1 -1
- package/dist/types/lib/engine/narrative/FlowRecorderDispatcher.d.ts +2 -0
- package/dist/types/lib/engine/narrative/NullControlFlowNarrativeGenerator.d.ts +1 -0
- package/dist/types/lib/engine/narrative/index.d.ts +1 -1
- package/dist/types/lib/engine/narrative/recorders/SeparateNarrativeFlowRecorder.d.ts +2 -2
- package/dist/types/lib/engine/narrative/types.d.ts +35 -0
- package/dist/types/lib/engine/types.d.ts +19 -0
- package/dist/types/lib/recorder/BoundaryStateTracker.d.ts +2 -5
- package/dist/types/lib/recorder/QualityRecorder.d.ts +4 -4
- package/dist/types/lib/recorder/SequenceStore.d.ts +1 -1
- package/dist/types/lib/runner/FlowChartExecutor.d.ts +4 -4
- package/dist/types/lib/runner/RunContext.d.ts +9 -4
- package/dist/types/trace.d.ts +15 -6
- package/package.json +6 -4
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* executor.attachFlowRecorder(recorder);
|
|
14
14
|
* await executor.run();
|
|
15
15
|
*
|
|
16
|
-
* const
|
|
17
|
-
* const loopDetail = recorder.getLoopSentences();
|
|
16
|
+
* const mainEntries = executor.getNarrativeEntries(); // No loop sentences
|
|
17
|
+
* const loopDetail = recorder.getLoopSentences(); // All loop detail
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
20
|
import { NarrativeFlowRecorder } from '../NarrativeFlowRecorder.js';
|
|
@@ -51,4 +51,4 @@ export class SeparateNarrativeFlowRecorder extends NarrativeFlowRecorder {
|
|
|
51
51
|
this.loopCounts.clear();
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VwYXJhdGVOYXJyYXRpdmVGbG93UmVjb3JkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvcmVjb3JkZXJzL1NlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdwRSxNQUFNLE9BQU8sNkJBQThCLFNBQVEscUJBQXFCO0lBQzlELGFBQWEsR0FBYSxFQUFFLENBQUM7SUFDN0IsVUFBVSxHQUF3QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXBELFlBQVksRUFBVztRQUNyQixLQUFLLENBQUMsRUFBRSxJQUFJLG9CQUFvQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVRLE1BQU0sQ0FBQyxLQUFvQjtRQUNsQyxzREFBc0Q7UUFFdEQsMEJBQTBCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpDLDRCQUE0QjtRQUM1QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxTQUFTLEtBQUssS0FBSyxDQUFDLFdBQVcsU0FBUyxDQUFDLENBQUM7UUFDckYsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssQ0FBQyxTQUFTLFlBQVksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDakYsQ0FBQztJQUNILENBQUM7SUFFRCxtRUFBbUU7SUFDbkUsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsYUFBYTtRQUNYLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFUSxLQUFLO1FBQ1osS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyIOKAlCBDb2xsZWN0cyBsb29wIGl0ZXJhdGlvbnMgaW4gYSBzZXBhcmF0ZSBjaGFubmVsLlxuICpcbiAqIEtlZXBzIHRoZSBtYWluIG5hcnJhdGl2ZSBjbGVhbiAobm8gbG9vcCBzZW50ZW5jZXMpIHdoaWxlIHByZXNlcnZpbmcgZnVsbFxuICogaXRlcmF0aW9uIGRldGFpbCBpbiBhIHNlcGFyYXRlIGFjY2Vzc29yIGZvciBjb25zdW1lcnMgd2hvIG5lZWQgaXQuXG4gKlxuICogQmVzdCBmb3I6IFVJcyBvciByZXBvcnRzIHdoZXJlIGxvb3AgZGV0YWlsIGlzIGluIGEgY29sbGFwc2libGUgc2VjdGlvbixcbiAqIG9yIExMTSBwaXBlbGluZXMgd2hlcmUgbG9vcCBjb250ZXh0IHNob3VsZCBiZSBhdmFpbGFibGUgYnV0IG5vdCBpbiB0aGUgbWFpbiBwcm9tcHQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlY29yZGVyID0gbmV3IFNlcGFyYXRlTmFycmF0aXZlRmxvd1JlY29yZGVyKCk7XG4gKiBleGVjdXRvci5hdHRhY2hGbG93UmVjb3JkZXIocmVjb3JkZXIpO1xuICogYXdhaXQgZXhlY3V0b3IucnVuKCk7XG4gKlxuICogY29uc3QgbWFpbkVudHJpZXMgPSBleGVjdXRvci5nZXROYXJyYXRpdmVFbnRyaWVzKCk7IC8vIE5vIGxvb3Agc2VudGVuY2VzXG4gKiBjb25zdCBsb29wRGV0YWlsID0gcmVjb3JkZXIuZ2V0TG9vcFNlbnRlbmNlcygpOyAgICAgLy8gQWxsIGxvb3AgZGV0YWlsXG4gKiBgYGBcbiAqL1xuXG5pbXBvcnQgeyBOYXJyYXRpdmVGbG93UmVjb3JkZXIgfSBmcm9tICcuLi9OYXJyYXRpdmVGbG93UmVjb3JkZXIuanMnO1xuaW1wb3J0IHR5cGUgeyBGbG93TG9vcEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgU2VwYXJhdGVOYXJyYXRpdmVGbG93UmVjb3JkZXIgZXh0ZW5kcyBOYXJyYXRpdmVGbG93UmVjb3JkZXIge1xuICBwcml2YXRlIGxvb3BTZW50ZW5jZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgbG9vcENvdW50czogTWFwPHN0cmluZywgbnVtYmVyPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihpZD86IHN0cmluZykge1xuICAgIHN1cGVyKGlkID8/ICduYXJyYXRpdmUtc2VwYXJhdGUnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uTG9vcChldmVudDogRmxvd0xvb3BFdmVudCk6IHZvaWQge1xuICAgIC8vIERvbid0IGNhbGwgc3VwZXIg4oCUIGtlZXAgbG9vcHMgb3V0IG9mIG1haW4gbmFycmF0aXZlXG5cbiAgICAvLyBUcmFjayBjb3VudCBmb3Igc3VtbWFyeVxuICAgIGNvbnN0IGNvdW50ID0gKHRoaXMubG9vcENvdW50cy5nZXQoZXZlbnQudGFyZ2V0KSA/PyAwKSArIDE7XG4gICAgdGhpcy5sb29wQ291bnRzLnNldChldmVudC50YXJnZXQsIGNvdW50KTtcblxuICAgIC8vIFN0b3JlIGluIHNlcGFyYXRlIGNoYW5uZWxcbiAgICBpZiAoZXZlbnQuZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubG9vcFNlbnRlbmNlcy5wdXNoKGBPbiBwYXNzICR7ZXZlbnQuaXRlcmF0aW9ufTogJHtldmVudC5kZXNjcmlwdGlvbn0gYWdhaW4uYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9vcFNlbnRlbmNlcy5wdXNoKGBPbiBwYXNzICR7ZXZlbnQuaXRlcmF0aW9ufSB0aHJvdWdoICR7ZXZlbnQudGFyZ2V0fS5gKTtcbiAgICB9XG4gIH1cblxuICAvKiogUmV0dXJucyBhbGwgbG9vcCBpdGVyYXRpb24gc2VudGVuY2VzICh0aGUgc2VwYXJhdGUgY2hhbm5lbCkuICovXG4gIGdldExvb3BTZW50ZW5jZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5sb29wU2VudGVuY2VzXTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRvdGFsIGxvb3AgY291bnQgcGVyIHRhcmdldC4gKi9cbiAgZ2V0TG9vcENvdW50cygpOiBNYXA8c3RyaW5nLCBudW1iZXI+IHtcbiAgICByZXR1cm4gbmV3IE1hcCh0aGlzLmxvb3BDb3VudHMpO1xuICB9XG5cbiAgb3ZlcnJpZGUgY2xlYXIoKTogdm9pZCB7XG4gICAgc3VwZXIuY2xlYXIoKTtcbiAgICB0aGlzLmxvb3BTZW50ZW5jZXMgPSBbXTtcbiAgICB0aGlzLmxvb3BDb3VudHMuY2xlYXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
export {};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSUNvbnRyb2xGbG93TmFycmF0aXZlIOKAlCBJbnRlcmZhY2UgZm9yIGNvbnRyb2wgZmxvdyBuYXJyYXRpdmUgZ2VuZXJhdGlvbi5cbiAqXG4gKiBDYXB0dXJlcyBGTE9XIGV2ZW50cyBkdXJpbmcgdHJhdmVyc2FsOiBkZWNpc2lvbnMsIGZvcmtzLCBsb29wcywgc3ViZmxvd3MuXG4gKiBDb21wbGVtZW50YXJ5IHRvIHNjb3BlL3JlY29yZGVycy9OYXJyYXRpdmVSZWNvcmRlciB3aGljaCBjYXB0dXJlcyBEQVRBIGV2ZW50cy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBEZWNpc2lvbkV2aWRlbmNlLCBTZWxlY3Rpb25FdmlkZW5jZSB9IGZyb20gJy4uLy4uL2RlY2lkZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0cnVjdHVyZWRFcnJvckluZm8gfSBmcm9tICcuLi9lcnJvcnMvZXJyb3JJbmZvLmpzJztcblxuLyoqXG4gKlxuICogVXNlcyBOdWxsIE9iamVjdCBwYXR0ZXJuOiBOdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3Igc2F0aXNmaWVzIHRoaXNcbiAqIGludGVyZmFjZSB3aXRoIGVtcHR5IG1ldGhvZHMgZm9yIHplcm8tY29zdCBkaXNhYmxlZCBwYXRoLlxuICovXG5cbi8qKlxuICogVGhlIGtpbmQgb2Ygc3RhZ2UgdGhhdCBjb21wbGV0ZWQuIExldHMgY29uc3VtZXJzIHJvdXRlIHVuaWZvcm1cbiAqIFwiZGlkIHRoaXMgc3RhZ2UgZXhlY3V0ZVwiIGhhbmRsaW5nIHdpdGhvdXQgYSBzaWRlLXRhYmxlIGxvb2t1cCBpbnRvXG4gKiB0aGUgY2hhcnQgc3BlYy4gUmVxdWlyZWQgb24gZXZlcnkgYG9uU3RhZ2VFeGVjdXRlZGAgZXZlbnQgc2luY2VcbiAqIHByb3Bvc2FsICMwMDMgdW5pZmllZCB0aGUgZXZlbnQgdG8gZmlyZSBmb3IgQUxMIHN0YWdlIGtpbmRzLlxuICovXG5leHBvcnQgdHlwZSBTdGFnZVR5cGUgPSAnbGluZWFyJyB8ICdkZWNpZGVyJyB8ICdmb3JrJyB8ICdzZWxlY3RvcicgfCAnc3ViZmxvdy1tb3VudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRyb2xGbG93TmFycmF0aXZlIHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgc3RhZ2UgY29tcGxldGVzIGl0cyBtYWluIHdvcmsuIEZpcmVzIGZvciBBTEwgc3RhZ2VcbiAgICoga2luZHMgKGAnbGluZWFyJ2AsIGAnZGVjaWRlcidgLCBgJ2ZvcmsnYCwgYCdzZWxlY3RvcidgLCBgJ3N1YmZsb3ctbW91bnQnYClcbiAgICogQUZURVIgdGhlIGNvcnJlc3BvbmRpbmcgc3BlY2lhbGl6ZWQgZXZlbnQgKGBvbkRlY2lzaW9uYCwgYG9uRm9ya2AsXG4gICAqIGBvblNlbGVjdGVkYCwgYG9uU3ViZmxvd0VudHJ5YCkuIEZvciBsaW5lYXIgc3RhZ2VzLCBmaXJlcyBhZnRlclxuICAgKiB0aGUgc3RhZ2UgZnVuY3Rpb24gcmV0dXJucy5cbiAgICpcbiAgICogQ29uc3VtZXJzIHRyYWNraW5nIFwiZGlkIHRoaXMgc3RhZ2UgcnVuP1wiIHVzZSB0aGlzIGV2ZW50IHVuaWZvcm1seVxuICAgKiBhbmQgc3dpdGNoIG9uIGBzdGFnZVR5cGVgIGZvciBraW5kLXNwZWNpZmljIHdvcmsuXG4gICAqL1xuICBvblN0YWdlRXhlY3V0ZWQoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB0cmF2ZXJzYWxDb250ZXh0OiBUcmF2ZXJzYWxDb250ZXh0IHwgdW5kZWZpbmVkLFxuICAgIHN0YWdlVHlwZTogU3RhZ2VUeXBlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgb24gbGluZWFyIGNvbnRpbnVhdGlvbiBmcm9tIG9uZSBzdGFnZSB0byB0aGUgbmV4dC4gKi9cbiAgb25OZXh0KGZyb21TdGFnZTogc3RyaW5nLCB0b1N0YWdlOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIGEgZGVjaWRlciBzZWxlY3RzIGEgYnJhbmNoLiBNb3N0IHZhbHVhYmxlIGZvciBMTE0gY29udGV4dC4gKi9cbiAgb25EZWNpc2lvbihcbiAgICBkZWNpZGVyTmFtZTogc3RyaW5nLFxuICAgIGNob3NlbkJyYW5jaDogc3RyaW5nLFxuICAgIHJhdGlvbmFsZT86IHN0cmluZyxcbiAgICBkZWNpZGVyRGVzY3JpcHRpb24/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgZXZpZGVuY2U/OiBEZWNpc2lvbkV2aWRlbmNlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBhIGZvcmsgZXhlY3V0ZXMgYWxsIGNoaWxkcmVuIGluIHBhcmFsbGVsLiAqL1xuICBvbkZvcmsocGFyZW50U3RhZ2U6IHN0cmluZywgY2hpbGROYW1lczogc3RyaW5nW10sIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0KTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBzZWxlY3RvciBwaWNrcyBhIHN1YnNldCBvZiBjaGlsZHJlbi4gKi9cbiAgb25TZWxlY3RlZChcbiAgICBwYXJlbnRTdGFnZTogc3RyaW5nLFxuICAgIHNlbGVjdGVkTmFtZXM6IHN0cmluZ1tdLFxuICAgIHRvdGFsQ291bnQ6IG51bWJlcixcbiAgICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCxcbiAgICBldmlkZW5jZT86IFNlbGVjdGlvbkV2aWRlbmNlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBlbnRlcmluZyBhIHN1YmZsb3cgKG5lc3RlZCBjb250ZXh0IGJvdW5kYXJ5KS4gKi9cbiAgb25TdWJmbG93RW50cnkoXG4gICAgc3ViZmxvd05hbWU6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ/OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgbWFwcGVkSW5wdXQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gZXhpdGluZyBhIHN1YmZsb3cuICovXG4gIG9uU3ViZmxvd0V4aXQoXG4gICAgc3ViZmxvd05hbWU6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgb3V0cHV0U3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBkeW5hbWljIHN1YmZsb3cgaXMgcmVnaXN0ZXJlZCBkdXJpbmcgdHJhdmVyc2FsLiAqL1xuICBvblN1YmZsb3dSZWdpc3RlcmVkKHN1YmZsb3dJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBzcGVjU3RydWN0dXJlPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCBvbiBsb29wIGl0ZXJhdGlvbiAoYmFjay1lZGdlIHRyYXZlcnNhbCkuICovXG4gIG9uTG9vcCh0YXJnZXRTdGFnZTogc3RyaW5nLCBpdGVyYXRpb246IG51bWJlciwgZGVzY3JpcHRpb24/OiBzdHJpbmcsIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0KTogdm9pZDtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBzdGFnZSB0cmlnZ2VycyBicmVhayAoZWFybHkgdGVybWluYXRpb24pLlxuICAgKlxuICAgKiBAcGFyYW0gcmVhc29uIC0gT3B0aW9uYWwgc3RyaW5nIHBhc3NlZCB0byBgc2NvcGUuJGJyZWFrKHJlYXNvbilgLlxuICAgKiBAcGFyYW0gcHJvcGFnYXRlZEZyb21TdWJmbG93IC0gV2hlbiBzZXQsIHRoaXMgYnJlYWsgd2FzIHJhaXNlZCBvbiB0aGVcbiAgICogICBwYXJlbnQgYmVjYXVzZSBhbiBpbm5lciBzdWJmbG93ICh0aGlzIGlkKSBicm9rZSB3aXRoIGBwcm9wYWdhdGVCcmVha2BcbiAgICogICBlbmFibGVkLiBVc2VkIGJ5IHJlY29yZGVycyB0byBkaXN0aW5ndWlzaCBvcmlnaW5hdGluZyB2cyBwcm9wYWdhdGVkXG4gICAqICAgYnJlYWtzIGFuZCByZW5kZXIgdGhlbSBhY2NvcmRpbmdseS5cbiAgICovXG4gIG9uQnJlYWsoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICAgIHByb3BhZ2F0ZWRGcm9tU3ViZmxvdz86IHN0cmluZyxcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBzdGFnZSB0aHJvd3MgYW4gZXJyb3IuIFJhdyBlcnJvciBpcyBleHRyYWN0ZWQgaW50byBzdHJ1Y3R1cmVkIGRldGFpbHMuICovXG4gIG9uRXJyb3Ioc3RhZ2VOYW1lOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQpOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBhIHBhdXNhYmxlIHN0YWdlIHBhdXNlcyBleGVjdXRpb24uICovXG4gIG9uUGF1c2UoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgc3RhZ2VJZDogc3RyaW5nLFxuICAgIHBhdXNlRGF0YTogdW5rbm93bixcbiAgICBzdWJmbG93UGF0aDogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIGEgcGF1c2VkIHN0YWdlIGlzIHJlc3VtZWQuICovXG4gIG9uUmVzdW1lKHN0YWdlTmFtZTogc3RyaW5nLCBzdGFnZUlkOiBzdHJpbmcsIGhhc0lucHV0OiBib29sZWFuLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCwgQkVGT1JFIHRoZSBmaXJzdCBzdGFnZSBleGVjdXRlcy5cbiAgICogYGlucHV0YCBpcyB0aGUgdmFsdWUgcGFzc2VkIHZpYSBgcnVuKHtpbnB1dH0pYCAoYWZ0ZXIgc2NoZW1hIHZhbGlkYXRpb24pLlxuICAgKiBTdWJmbG93LXRyYXZlcnNlcnMgZG8gTk9UIGZpcmUgdGhpcyBldmVudCDigJQgdGhleSBmaXJlIGBvblN1YmZsb3dFbnRyeWAuXG4gICAqL1xuICBvblJ1blN0YXJ0KGlucHV0OiB1bmtub3duLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCwgQUZURVIgdGhlIGxhc3Qgc3RhZ2UgY29tbWl0cy5cbiAgICogYG91dHB1dGAgaXMgdGhlIHZhbHVlIHRoZSBjaGFydCByZXR1cm5lZC4gTk9UIGZpcmVkIG9uIHBhdXNlICh0aGUgcnVuXG4gICAqIGRpZG4ndCBlbmQ7IGl0IHN1c3BlbmRlZCkgb3Igb24gdW5jYXVnaHQgZXJyb3IuIFN1YmZsb3ctdHJhdmVyc2VycyBkb1xuICAgKiBOT1QgZmlyZSB0aGlzIGV2ZW50IOKAlCB0aGV5IGZpcmUgYG9uU3ViZmxvd0V4aXRgLlxuICAgKi9cbiAgb25SdW5FbmQob3V0cHV0OiB1bmtub3duLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqIFJldHVybnMgYWNjdW11bGF0ZWQgbmFycmF0aXZlIHNlbnRlbmNlcyBpbiBleGVjdXRpb24gb3JkZXIuICovXG4gIGdldFNlbnRlbmNlcygpOiBzdHJpbmdbXTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhdmVyc2FsQ29udGV4dCDigJQgcmVhZC1vbmx5IGV4ZWN1dGlvbiBjb250ZXh0IGZyb20gdGhlIHRyYXZlcnNlci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBUcmF2ZXJzYWwgY29udGV4dCBhdHRhY2hlZCB0byBldmVyeSBGbG93UmVjb3JkZXIgZXZlbnQuXG4gKiBDcmVhdGVkIGJ5IHRoZSB0cmF2ZXJzZXIgZHVyaW5nIERGUywgcGFzc2VkIHRvIHJlY29yZGVycyBhcyByZWFkLW9ubHkgZGF0YS5cbiAqIEVuYWJsZXMgcmVjb3JkZXJzIHRvIGJ1aWxkIHRyZWVzLCBncm91cCBieSBzdWJmbG93LCBhbmQgY29ycmVsYXRlIGV2ZW50c1xuICogd2l0aG91dCBtYWludGFpbmluZyB0aGVpciBvd24gc3RhY2tzIG9yIHBvc3QtcHJvY2Vzc2luZy5cbiAqXG4gKiBMaWtlIE9wZW5UZWxlbWV0cnkncyBzcGFuIGNvbnRleHQ6IHN0YWdlSWQgKyBwYXJlbnRTdGFnZUlkIGZvcm0gYSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYXZlcnNhbENvbnRleHQge1xuICAvKipcbiAgICogUGVyLWBleGVjdXRvci5ydW4oKWAgaWRlbnRpZmllci4gR2VuZXJhdGVkIG9uY2UgYXQgdGhlIHN0YXJ0IG9mIGV2ZXJ5XG4gICAqIGBydW4oKWAgKGFuZCBhZ2FpbiBvbiBgcmVzdW1lKClgKTsgc2hhcmVkIGJ5IGV2ZXJ5IGV2ZW50IG9mIHRoYXQgcnVuO1xuICAgKiBkaWZmZXJzIGFjcm9zcyBjb25zZWN1dGl2ZSBydW5zIG9mIHRoZSBzYW1lIGV4ZWN1dG9yLlxuICAgKlxuICAgKiBGb3JtYXQ6IGAke0RhdGUubm93KCl9LSR7Y291bnRlcn1gIOKAlCBzb3J0YWJsZSBsZXhpY29ncmFwaGljYWxseSAoPT1cbiAgICogY2hyb25vbG9naWNhbGx5IGZvciBydW5zID4gMW1zIGFwYXJ0KS4gUHJvY2Vzcy1sb2NhbCDigJQgZm9yIGNyb3NzLVxuICAgKiBwcm9jZXNzIGNvcnJlbGF0aW9uIHVzZSBgZ2V0RW52KCkudHJhY2VJZGAgKGNvbnN1bWVyLXN1cHBsaWVkKS5cbiAgICpcbiAgICogUmVjb3JkZXJzIHRoYXQgYWNjdW11bGF0ZSBzdGF0ZSBhY3Jvc3MgcnVucyAoZm9yayBib29ra2VlcGluZyxcbiAgICogc2libGluZy1oYW5kb2ZmIHN0YXRlLCBldGMuKSBkZXRlY3QgXCJuZXcgcnVuXCIgdmlhXG4gICAqIGBldmVudC50cmF2ZXJzYWxDb250ZXh0LnJ1bklkICE9PSB0aGlzLmxhc3RSdW5JZGAgYW5kIHJlc2V0XG4gICAqIHRyYW5zaWVudCBib29ra2VlcGluZy4gUmVjb3JkZXJzIHRoYXQgZG9uJ3QgY2FyZSBhYm91dCBzY29waW5nXG4gICAqIGlnbm9yZSB0aGUgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBydW5JZDogc3RyaW5nO1xuICAvKiogU3RhYmxlIHN0YWdlIGlkZW50aWZpZXIgZnJvbSB0aGUgYnVpbGRlciAobWF0Y2hlcyBzcGVjIG5vZGUgaWQpLiAqL1xuICByZWFkb25seSBzdGFnZUlkOiBzdHJpbmc7XG4gIC8qKiBVbmlxdWUgcGVyLWV4ZWN1dGlvbi1zdGVwIGlkZW50aWZpZXIuIEZvcm1hdDogW3N1YmZsb3dQYXRoL11zdGFnZUlkI2V4ZWN1dGlvbkluZGV4LlxuICAgKiAgQ291bnRlciByZXNldHMgcGVyIGV4ZWN1dG9yIOKAlCBjb21iaW5lIHdpdGggYHJ1bklkYCBmb3IgZ2xvYmFsbHkgdW5pcXVlIHN0ZXAga2V5cy4gKi9cbiAgcmVhZG9ubHkgcnVudGltZVN0YWdlSWQ6IHN0cmluZztcbiAgLyoqIEh1bWFuLXJlYWRhYmxlIHN0YWdlIG5hbWUuICovXG4gIHJlYWRvbmx5IHN0YWdlTmFtZTogc3RyaW5nO1xuICAvKiogUGFyZW50IHN0YWdlIElEIOKAlCB3YWxrIHVwIHRvIHJlY29uc3RydWN0IHRoZSB0cmVlLiBVbmRlZmluZWQgYXQgcm9vdC4gKi9cbiAgcmVhZG9ubHkgcGFyZW50U3RhZ2VJZD86IHN0cmluZztcbiAgLyoqIFN1YmZsb3cgSUQgd2hlbiBpbnNpZGUgYSBzdWJmbG93LiBVbmRlZmluZWQgYXQgcm9vdCBsZXZlbC4gKi9cbiAgcmVhZG9ubHkgc3ViZmxvd0lkPzogc3RyaW5nO1xuICAvKiogRnVsbCBzdWJmbG93IHBhdGggZm9yIG5lc3RlZCBzdWJmbG93cyAoZS5nLiwgXCJzZi1vdXRlci9zZi1pbm5lclwiKS4gKi9cbiAgcmVhZG9ubHkgc3ViZmxvd1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBOZXN0aW5nIGRlcHRoICgwID0gcm9vdCwgMSA9IGluc2lkZSBmaXJzdCBzdWJmbG93LCBldGMuKS4gKi9cbiAgcmVhZG9ubHkgZGVwdGg6IG51bWJlcjtcbiAgLyoqIExvb3AgaXRlcmF0aW9uIG51bWJlciB3aGVuIHJldmlzaXRpbmcgYSBub2RlIHZpYSBsb29wVG8uICovXG4gIHJlYWRvbmx5IGxvb3BJdGVyYXRpb24/OiBudW1iZXI7XG4gIC8qKiBGb3JrIGJyYW5jaCBJRCB3aGVuIGluc2lkZSBhIHBhcmFsbGVsIG9yIGRlY2lkZXIgYnJhbmNoLiAqL1xuICByZWFkb25seSBmb3JrQnJhbmNoPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGbG93UmVjb3JkZXIg4oCUIFBsdWdnYWJsZSBvYnNlcnZlciBmb3IgY29udHJvbCBmbG93IGV2ZW50cy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25TdGFnZUV4ZWN1dGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93U3RhZ2VFdmVudCB7XG4gIHN0YWdlTmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIFRyYXZlcnNhbCBjb250ZXh0IGZyb20gdGhlIGVuZ2luZSDigJQgcmVhZC1vbmx5LCBzZXQgYnkgdHJhdmVyc2VyLiAqL1xuICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dDtcbiAgLyoqXG4gICAqIFdoaWNoIGtpbmQgb2Ygc3RhZ2UgY29tcGxldGVkLiBUaGUgZW5naW5lIGZpcmVzIGBvblN0YWdlRXhlY3V0ZWRgXG4gICAqIHVuaWZvcm1seSBmb3IgZXZlcnkgc3RhZ2Uga2luZCAocHJvcG9zYWwgIzAwMyk7IGNvbnN1bWVycyByb3V0ZSBieVxuICAgKiBgc3RhZ2VUeXBlYCB3aXRob3V0IGEgY2hhcnQtc3BlYyBsb29rdXAuXG4gICAqL1xuICBzdGFnZVR5cGU6IFN0YWdlVHlwZTtcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25OZXh0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93TmV4dEV2ZW50IHtcbiAgZnJvbTogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uRGVjaXNpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dEZWNpc2lvbkV2ZW50IHtcbiAgZGVjaWRlcjogc3RyaW5nO1xuICBjaG9zZW46IHN0cmluZztcbiAgcmF0aW9uYWxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG4gIC8qKiBTdHJ1Y3R1cmVkIGRlY2lzaW9uIGV2aWRlbmNlIGZyb20gZGVjaWRlKCkgaGVscGVyLiAqL1xuICBldmlkZW5jZT86IERlY2lzaW9uRXZpZGVuY2U7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uRm9yay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0ZvcmtFdmVudCB7XG4gIHBhcmVudDogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblNlbGVjdGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93U2VsZWN0ZWRFdmVudCB7XG4gIHBhcmVudDogc3RyaW5nO1xuICBzZWxlY3RlZDogc3RyaW5nW107XG4gIHRvdGFsOiBudW1iZXI7XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xuICAvKiogU3RydWN0dXJlZCBzZWxlY3Rpb24gZXZpZGVuY2UgZnJvbSBzZWxlY3QoKSBoZWxwZXIuICovXG4gIGV2aWRlbmNlPzogU2VsZWN0aW9uRXZpZGVuY2U7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uU3ViZmxvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd1N1YmZsb3dFdmVudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFN1YmZsb3cgaWRlbnRpZmllciDigJQgdXNlIHRoaXMgdG8gbG9vayB1cCB0aGUgZnVsbCBzcGVjIHZpYSB0aGUgbWFuaWZlc3QuICovXG4gIHN1YmZsb3dJZD86IHN0cmluZztcbiAgLyoqIEJ1aWxkLXRpbWUgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGlzIHN1YmZsb3cgZG9lcy4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xuICAvKiogTWFwcGVkIGlucHV0IHZhbHVlcyBzZW50IElOVE8gdGhlIHN1YmZsb3cgKGZyb20gaW5wdXRNYXBwZXIvaW5wdXRLZXlzKS4gUHJlc2VudCBvbiBlbnRyeSBldmVudHMuICovXG4gIG1hcHBlZElucHV0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBTdWJmbG93IHNoYXJlZCBzdGF0ZSBhdCBleGl0LiBQcmVzZW50IG9uIGV4aXQgZXZlbnRzLiAqL1xuICBvdXRwdXRTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblN1YmZsb3dSZWdpc3RlcmVkIChkeW5hbWljIHN1YmZsb3cgYXR0YWNobWVudCkuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dTdWJmbG93UmVnaXN0ZXJlZEV2ZW50IHtcbiAgLyoqIFN1YmZsb3cgaWRlbnRpZmllci4gKi9cbiAgc3ViZmxvd0lkOiBzdHJpbmc7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBuYW1lLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBCdWlsZC10aW1lIGRlc2NyaXB0aW9uLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIEZ1bGwgc3BlYyBzdHJ1Y3R1cmUgKHdoZW4gYXZhaWxhYmxlIGZyb20gYnVpbGRUaW1lU3RydWN0dXJlKS4gKi9cbiAgc3BlY1N0cnVjdHVyZT86IHVua25vd247XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vbkxvb3AuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMb29wRXZlbnQge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgaXRlcmF0aW9uOiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dDtcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25CcmVhay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0JyZWFrRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBmcmVlLWZvcm0gcmVhc29uIHN1cHBsaWVkIGJ5IGBzY29wZS4kYnJlYWsocmVhc29uKWAuIEFic2VudFxuICAgKiB3aGVuIHRoZSBzdGFnZSBpbnZva2VkIGAkYnJlYWsoKWAgd2l0aG91dCBhbiBhcmd1bWVudC4gUHJvcGFnYXRlcyB3aGVuXG4gICAqIGEgc3ViZmxvdyBpcyBtb3VudGVkIHdpdGggYHByb3BhZ2F0ZUJyZWFrOiB0cnVlYCDigJQgdGhlIG91dGVyIGJyZWFrXG4gICAqIGV2ZW50IGNhcnJpZXMgdGhlIGlubmVyIGJyZWFrJ3MgcmVhc29uIHRvby5cbiAgICovXG4gIHJlYXNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSwgdGhpcyBicmVhayBldmVudCB3YXMgcmFpc2VkIG9uIHRoZSBQQVJFTlQgYmVjYXVzZSBhbiBpbm5lclxuICAgKiBzdWJmbG93J3MgYnJlYWsgcHJvcGFnYXRlZCB1cCAodmlhIGBTdWJmbG93TW91bnRPcHRpb25zLnByb3BhZ2F0ZUJyZWFrYCkuXG4gICAqIFRoZSBvcmlnaW5hdGluZyBpbm5lciBicmVhayBmaXJlcyBpdHMgb3duIGBvbkJyZWFrYCBldmVudCBzZXBhcmF0ZWx5XG4gICAqIOKAlCB0aGlzIGZsYWcgbGV0cyByZWNvcmRlcnMgZGlzdGluZ3Vpc2ggdGhlIHR3by5cbiAgICovXG4gIHByb3BhZ2F0ZWRGcm9tU3ViZmxvdz86IHN0cmluZztcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25FcnJvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0Vycm9yRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKiogU3RydWN0dXJlZCBlcnJvciBkZXRhaWxzIOKAlCBwcmVzZXJ2ZXMgZmllbGQtbGV2ZWwgaXNzdWVzLCBlcnJvciBjb2RlcywgZXRjLiAqL1xuICBzdHJ1Y3R1cmVkRXJyb3I6IFN0cnVjdHVyZWRFcnJvckluZm87XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblBhdXNlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UGF1c2VFdmVudCB7XG4gIHN0YWdlTmFtZTogc3RyaW5nO1xuICBzdGFnZUlkOiBzdHJpbmc7XG4gIC8qKiBEYXRhIGZyb20gdGhlIHBhdXNlIHNpZ25hbCAocXVlc3Rpb24sIHJlYXNvbiwgbWV0YWRhdGEpLiAqL1xuICBwYXVzZURhdGE/OiB1bmtub3duO1xuICAvKiogUGF0aCB0aHJvdWdoIHN1YmZsb3dzIHRvIHRoZSBwYXVzZWQgc3RhZ2UuIEVtcHR5IGF0IHJvb3QgbGV2ZWwuICovXG4gIHN1YmZsb3dQYXRoOiByZWFkb25seSBzdHJpbmdbXTtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uUmVzdW1lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UmVzdW1lRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgc3RhZ2VJZDogc3RyaW5nO1xuICAvKiogV2hldGhlciByZXN1bWUgaW5wdXQgd2FzIHByb3ZpZGVkLiAqL1xuICBoYXNJbnB1dDogYm9vbGVhbjtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKlxuICogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblJ1blN0YXJ0IC8gb25SdW5FbmQuXG4gKlxuICogQnJhY2tldHMgdGhlIHRvcC1sZXZlbCBgZXhlY3V0b3IucnVuKClgIGNhbGwuIFN1YmZsb3dzIGhhdmUgdGhlaXIgb3duXG4gKiBwYWlyIChgb25TdWJmbG93RW50cnlgIC8gYG9uU3ViZmxvd0V4aXRgKTsgdGhlIHJ1biBwYWlyIGlzIHRoZSBPVVRFUk1PU1RcbiAqIGJvdW5kYXJ5LCBzbyBjb25zdW1lcnMgYnVpbGRpbmcgXCJldmVyeSBzdGVwIGhhcyBhbiBpbi9vdXRcIiB2aWV3cyBjYW5cbiAqIGNsb3NlIHRoZSBjaGFpbiBhdCB0aGUgdG9wIGxldmVsLlxuICpcbiAqICAgLSBgb25SdW5TdGFydGAgcGF5bG9hZCDihpIgdGhlIGlucHV0IHBhc3NlZCB0byBgcnVuKHtpbnB1dH0pYFxuICogICAtIGBvblJ1bkVuZGAgICBwYXlsb2FkIOKGkiB0aGUgY2hhcnQncyByZXR1cm4gdmFsdWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UnVuRXZlbnQge1xuICAvKiogT24gYG9uUnVuU3RhcnRgOiB0aGUgaW5wdXQgZnJvbSBgcnVuKHtpbnB1dH0pYCBhZnRlciBzY2hlbWEgdmFsaWRhdGlvbi5cbiAgICogIE9uIGBvblJ1bkVuZGA6IHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgY2hhcnQuIFVuZGVmaW5lZCBpZiBuZWl0aGVyLiAqL1xuICBwYXlsb2FkPzogdW5rbm93bjtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKlxuICogRmxvd1JlY29yZGVyIOKAlCBQbHVnZ2FibGUgb2JzZXJ2ZXIgZm9yIGNvbnRyb2wgZmxvdyBldmVudHMuXG4gKlxuICogTWlycm9ycyB0aGUgc2NvcGUtbGV2ZWwgU2NvcGVSZWNvcmRlciBwYXR0ZXJuIGZvciB0aGUgZW5naW5lIGxheWVyLlxuICogQWxsIG1ldGhvZHMgYXJlIG9wdGlvbmFsIOKAlCBpbXBsZW1lbnQgb25seSB0aGUgaG9va3MgeW91IG5lZWQuXG4gKiBSZWNvcmRlcnMgYXJlIGludm9rZWQgc3luY2hyb25vdXNseSBpbiBhdHRhY2htZW50IG9yZGVyLlxuICogSWYgYSByZWNvcmRlciB0aHJvd3MsIHRoZSBlcnJvciBpcyBjYXVnaHQgYW5kIHN3YWxsb3dlZDsgZXhlY3V0aW9uIGNvbnRpbnVlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWV0cmljc1JlY29yZGVyOiBGbG93UmVjb3JkZXIgPSB7XG4gKiAgIGlkOiAnbWV0cmljcycsXG4gKiAgIG9uTG9vcDogKGV2ZW50KSA9PiByZWNvcmRNZXRyaWMoJ2xvb3AuaXRlcmF0aW9uJywgZXZlbnQuaXRlcmF0aW9uKSxcbiAqICAgb25EZWNpc2lvbjogKGV2ZW50KSA9PiByZWNvcmRNZXRyaWMoJ2RlY2lzaW9uJywgZXZlbnQuY2hvc2VuKSxcbiAqIH07XG4gKiBleGVjdXRvci5hdHRhY2hGbG93UmVjb3JkZXIobWV0cmljc1JlY29yZGVyKTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dSZWNvcmRlciB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIG9uU3RhZ2VFeGVjdXRlZD8oZXZlbnQ6IEZsb3dTdGFnZUV2ZW50KTogdm9pZDtcbiAgb25OZXh0PyhldmVudDogRmxvd05leHRFdmVudCk6IHZvaWQ7XG4gIG9uRGVjaXNpb24/KGV2ZW50OiBGbG93RGVjaXNpb25FdmVudCk6IHZvaWQ7XG4gIG9uRm9yaz8oZXZlbnQ6IEZsb3dGb3JrRXZlbnQpOiB2b2lkO1xuICBvblNlbGVjdGVkPyhldmVudDogRmxvd1NlbGVjdGVkRXZlbnQpOiB2b2lkO1xuICBvblN1YmZsb3dFbnRyeT8oZXZlbnQ6IEZsb3dTdWJmbG93RXZlbnQpOiB2b2lkO1xuICBvblN1YmZsb3dFeGl0PyhldmVudDogRmxvd1N1YmZsb3dFdmVudCk6IHZvaWQ7XG4gIC8qKiBDYWxsZWQgd2hlbiBhIGR5bmFtaWMgc3ViZmxvdyBpcyByZWdpc3RlcmVkIGR1cmluZyB0cmF2ZXJzYWwuICovXG4gIG9uU3ViZmxvd1JlZ2lzdGVyZWQ/KGV2ZW50OiBGbG93U3ViZmxvd1JlZ2lzdGVyZWRFdmVudCk6IHZvaWQ7XG4gIG9uTG9vcD8oZXZlbnQ6IEZsb3dMb29wRXZlbnQpOiB2b2lkO1xuICBvbkJyZWFrPyhldmVudDogRmxvd0JyZWFrRXZlbnQpOiB2b2lkO1xuICBvbkVycm9yPyhldmVudDogRmxvd0Vycm9yRXZlbnQpOiB2b2lkO1xuICBvblBhdXNlPyhldmVudDogRmxvd1BhdXNlRXZlbnQpOiB2b2lkO1xuICBvblJlc3VtZT8oZXZlbnQ6IEZsb3dSZXN1bWVFdmVudCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBDYWxsZWQgb25jZSBwZXIgdG9wLWxldmVsIGBleGVjdXRvci5ydW4oKWAgQkVGT1JFIHRyYXZlcnNhbCBiZWdpbnMuXG4gICAqIENhcnJpZXMgYGV2ZW50LnBheWxvYWQgPSBydW4oe2lucHV0fSlgLiBTdWJmbG93LXRyYXZlcnNlcnMgZG9uJ3QgZmlyZSBpdC5cbiAgICovXG4gIG9uUnVuU3RhcnQ/KGV2ZW50OiBGbG93UnVuRXZlbnQpOiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIG9uY2UgcGVyIHRvcC1sZXZlbCBgZXhlY3V0b3IucnVuKClgIEFGVEVSIHRyYXZlcnNhbCBjb21wbGV0ZXNcbiAgICogY2xlYW5seS4gQ2FycmllcyBgZXZlbnQucGF5bG9hZCA9IGNoYXJ0J3MgcmV0dXJuIHZhbHVlYC4gTk9UIGZpcmVkIG9uXG4gICAqIHBhdXNlICh0aGUgcnVuIGRpZG4ndCBlbmQpIG9yIHVuY2F1Z2h0IGVycm9yLlxuICAgKi9cbiAgb25SdW5FbmQ/KGV2ZW50OiBGbG93UnVuRXZlbnQpOiB2b2lkO1xuICAvKiogQ2FsbGVkIGJlZm9yZSBlYWNoIHJ1biB0byByZXNldCBwZXItcnVuIHN0YXRlLiBJbXBsZW1lbnQgZm9yIHN0YXRlZnVsIHJlY29yZGVycy4gKi9cbiAgY2xlYXI/KCk6IHZvaWQ7XG4gIC8qKiBPcHRpb25hbDogZXhwb3NlIGNvbGxlY3RlZCBkYXRhIGZvciBpbmNsdXNpb24gaW4gc25hcHNob3RzLiAqL1xuICB0b1NuYXBzaG90PygpOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHByZWZlcnJlZE9wZXJhdGlvbj86ICd0cmFuc2xhdGUnIHwgJ2FjY3VtdWxhdGUnIHwgJ2FnZ3JlZ2F0ZSc7XG4gICAgZGF0YTogdW5rbm93bjtcbiAgfTtcbn1cbiJdfQ==
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9uYXJyYXRpdmUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSUNvbnRyb2xGbG93TmFycmF0aXZlIOKAlCBJbnRlcmZhY2UgZm9yIGNvbnRyb2wgZmxvdyBuYXJyYXRpdmUgZ2VuZXJhdGlvbi5cbiAqXG4gKiBDYXB0dXJlcyBGTE9XIGV2ZW50cyBkdXJpbmcgdHJhdmVyc2FsOiBkZWNpc2lvbnMsIGZvcmtzLCBsb29wcywgc3ViZmxvd3MuXG4gKiBDb21wbGVtZW50YXJ5IHRvIHNjb3BlL3JlY29yZGVycy9OYXJyYXRpdmVSZWNvcmRlciB3aGljaCBjYXB0dXJlcyBEQVRBIGV2ZW50cy5cbiAqXG4gKiBAbW9kdWxlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBEZWNpc2lvbkV2aWRlbmNlLCBTZWxlY3Rpb25FdmlkZW5jZSB9IGZyb20gJy4uLy4uL2RlY2lkZS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFN0cnVjdHVyZWRFcnJvckluZm8gfSBmcm9tICcuLi9lcnJvcnMvZXJyb3JJbmZvLmpzJztcblxuLyoqXG4gKlxuICogVXNlcyBOdWxsIE9iamVjdCBwYXR0ZXJuOiBOdWxsQ29udHJvbEZsb3dOYXJyYXRpdmVHZW5lcmF0b3Igc2F0aXNmaWVzIHRoaXNcbiAqIGludGVyZmFjZSB3aXRoIGVtcHR5IG1ldGhvZHMgZm9yIHplcm8tY29zdCBkaXNhYmxlZCBwYXRoLlxuICovXG5cbi8qKlxuICogVGhlIGtpbmQgb2Ygc3RhZ2UgdGhhdCBjb21wbGV0ZWQuIExldHMgY29uc3VtZXJzIHJvdXRlIHVuaWZvcm1cbiAqIFwiZGlkIHRoaXMgc3RhZ2UgZXhlY3V0ZVwiIGhhbmRsaW5nIHdpdGhvdXQgYSBzaWRlLXRhYmxlIGxvb2t1cCBpbnRvXG4gKiB0aGUgY2hhcnQgc3BlYy4gUmVxdWlyZWQgb24gZXZlcnkgYG9uU3RhZ2VFeGVjdXRlZGAgZXZlbnQgc2luY2VcbiAqIHByb3Bvc2FsICMwMDMgdW5pZmllZCB0aGUgZXZlbnQgdG8gZmlyZSBmb3IgQUxMIHN0YWdlIGtpbmRzLlxuICovXG5leHBvcnQgdHlwZSBTdGFnZVR5cGUgPSAnbGluZWFyJyB8ICdkZWNpZGVyJyB8ICdmb3JrJyB8ICdzZWxlY3RvcicgfCAnc3ViZmxvdy1tb3VudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRyb2xGbG93TmFycmF0aXZlIHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIGEgc3RhZ2UgY29tcGxldGVzIGl0cyBtYWluIHdvcmsuIEZpcmVzIGZvciBBTEwgc3RhZ2VcbiAgICoga2luZHMgKGAnbGluZWFyJ2AsIGAnZGVjaWRlcidgLCBgJ2ZvcmsnYCwgYCdzZWxlY3RvcidgLCBgJ3N1YmZsb3ctbW91bnQnYClcbiAgICogQUZURVIgdGhlIGNvcnJlc3BvbmRpbmcgc3BlY2lhbGl6ZWQgZXZlbnQgKGBvbkRlY2lzaW9uYCwgYG9uRm9ya2AsXG4gICAqIGBvblNlbGVjdGVkYCwgYG9uU3ViZmxvd0VudHJ5YCkuIEZvciBsaW5lYXIgc3RhZ2VzLCBmaXJlcyBhZnRlclxuICAgKiB0aGUgc3RhZ2UgZnVuY3Rpb24gcmV0dXJucy5cbiAgICpcbiAgICogQ29uc3VtZXJzIHRyYWNraW5nIFwiZGlkIHRoaXMgc3RhZ2UgcnVuP1wiIHVzZSB0aGlzIGV2ZW50IHVuaWZvcm1seVxuICAgKiBhbmQgc3dpdGNoIG9uIGBzdGFnZVR5cGVgIGZvciBraW5kLXNwZWNpZmljIHdvcmsuXG4gICAqL1xuICBvblN0YWdlRXhlY3V0ZWQoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICB0cmF2ZXJzYWxDb250ZXh0OiBUcmF2ZXJzYWxDb250ZXh0IHwgdW5kZWZpbmVkLFxuICAgIHN0YWdlVHlwZTogU3RhZ2VUeXBlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgb24gbGluZWFyIGNvbnRpbnVhdGlvbiBmcm9tIG9uZSBzdGFnZSB0byB0aGUgbmV4dC4gKi9cbiAgb25OZXh0KGZyb21TdGFnZTogc3RyaW5nLCB0b1N0YWdlOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIGEgZGVjaWRlciBzZWxlY3RzIGEgYnJhbmNoLiBNb3N0IHZhbHVhYmxlIGZvciBMTE0gY29udGV4dC4gKi9cbiAgb25EZWNpc2lvbihcbiAgICBkZWNpZGVyTmFtZTogc3RyaW5nLFxuICAgIGNob3NlbkJyYW5jaDogc3RyaW5nLFxuICAgIHJhdGlvbmFsZT86IHN0cmluZyxcbiAgICBkZWNpZGVyRGVzY3JpcHRpb24/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgZXZpZGVuY2U/OiBEZWNpc2lvbkV2aWRlbmNlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBhIGZvcmsgZXhlY3V0ZXMgYWxsIGNoaWxkcmVuIGluIHBhcmFsbGVsLiAqL1xuICBvbkZvcmsocGFyZW50U3RhZ2U6IHN0cmluZywgY2hpbGROYW1lczogc3RyaW5nW10sIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0KTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBzZWxlY3RvciBwaWNrcyBhIHN1YnNldCBvZiBjaGlsZHJlbi4gKi9cbiAgb25TZWxlY3RlZChcbiAgICBwYXJlbnRTdGFnZTogc3RyaW5nLFxuICAgIHNlbGVjdGVkTmFtZXM6IHN0cmluZ1tdLFxuICAgIHRvdGFsQ291bnQ6IG51bWJlcixcbiAgICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCxcbiAgICBldmlkZW5jZT86IFNlbGVjdGlvbkV2aWRlbmNlLFxuICApOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBlbnRlcmluZyBhIHN1YmZsb3cgKG5lc3RlZCBjb250ZXh0IGJvdW5kYXJ5KS4gKi9cbiAgb25TdWJmbG93RW50cnkoXG4gICAgc3ViZmxvd05hbWU6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ/OiBzdHJpbmcsXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgbWFwcGVkSW5wdXQ/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gZXhpdGluZyBhIHN1YmZsb3cuICovXG4gIG9uU3ViZmxvd0V4aXQoXG4gICAgc3ViZmxvd05hbWU6IHN0cmluZyxcbiAgICBzdWJmbG93SWQ/OiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgb3V0cHV0U3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBkeW5hbWljIHN1YmZsb3cgaXMgcmVnaXN0ZXJlZCBkdXJpbmcgdHJhdmVyc2FsLiAqL1xuICBvblN1YmZsb3dSZWdpc3RlcmVkKHN1YmZsb3dJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcsIGRlc2NyaXB0aW9uPzogc3RyaW5nLCBzcGVjU3RydWN0dXJlPzogdW5rbm93bik6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCBvbiBsb29wIGl0ZXJhdGlvbiAoYmFjay1lZGdlIHRyYXZlcnNhbCkuICovXG4gIG9uTG9vcCh0YXJnZXRTdGFnZTogc3RyaW5nLCBpdGVyYXRpb246IG51bWJlciwgZGVzY3JpcHRpb24/OiBzdHJpbmcsIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0KTogdm9pZDtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gYSBzdGFnZSB0cmlnZ2VycyBicmVhayAoZWFybHkgdGVybWluYXRpb24pLlxuICAgKlxuICAgKiBAcGFyYW0gcmVhc29uIC0gT3B0aW9uYWwgc3RyaW5nIHBhc3NlZCB0byBgc2NvcGUuJGJyZWFrKHJlYXNvbilgLlxuICAgKiBAcGFyYW0gcHJvcGFnYXRlZEZyb21TdWJmbG93IC0gV2hlbiBzZXQsIHRoaXMgYnJlYWsgd2FzIHJhaXNlZCBvbiB0aGVcbiAgICogICBwYXJlbnQgYmVjYXVzZSBhbiBpbm5lciBzdWJmbG93ICh0aGlzIGlkKSBicm9rZSB3aXRoIGBwcm9wYWdhdGVCcmVha2BcbiAgICogICBlbmFibGVkLiBVc2VkIGJ5IHJlY29yZGVycyB0byBkaXN0aW5ndWlzaCBvcmlnaW5hdGluZyB2cyBwcm9wYWdhdGVkXG4gICAqICAgYnJlYWtzIGFuZCByZW5kZXIgdGhlbSBhY2NvcmRpbmdseS5cbiAgICovXG4gIG9uQnJlYWsoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICAgcmVhc29uPzogc3RyaW5nLFxuICAgIHByb3BhZ2F0ZWRGcm9tU3ViZmxvdz86IHN0cmluZyxcbiAgKTogdm9pZDtcblxuICAvKiogQ2FsbGVkIHdoZW4gYSBzdGFnZSB0aHJvd3MgYW4gZXJyb3IuIFJhdyBlcnJvciBpcyBleHRyYWN0ZWQgaW50byBzdHJ1Y3R1cmVkIGRldGFpbHMuICovXG4gIG9uRXJyb3Ioc3RhZ2VOYW1lOiBzdHJpbmcsIGVycm9yTWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQpOiB2b2lkO1xuXG4gIC8qKiBDYWxsZWQgd2hlbiBhIHBhdXNhYmxlIHN0YWdlIHBhdXNlcyBleGVjdXRpb24uICovXG4gIG9uUGF1c2UoXG4gICAgc3RhZ2VOYW1lOiBzdHJpbmcsXG4gICAgc3RhZ2VJZDogc3RyaW5nLFxuICAgIHBhdXNlRGF0YTogdW5rbm93bixcbiAgICBzdWJmbG93UGF0aDogcmVhZG9ubHkgc3RyaW5nW10sXG4gICAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQsXG4gICk6IHZvaWQ7XG5cbiAgLyoqIENhbGxlZCB3aGVuIGEgcGF1c2VkIHN0YWdlIGlzIHJlc3VtZWQuICovXG4gIG9uUmVzdW1lKHN0YWdlTmFtZTogc3RyaW5nLCBzdGFnZUlkOiBzdHJpbmcsIGhhc0lucHV0OiBib29sZWFuLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCwgQkVGT1JFIHRoZSBmaXJzdCBzdGFnZSBleGVjdXRlcy5cbiAgICogYGlucHV0YCBpcyB0aGUgdmFsdWUgcGFzc2VkIHZpYSBgcnVuKHtpbnB1dH0pYCAoYWZ0ZXIgc2NoZW1hIHZhbGlkYXRpb24pLlxuICAgKiBTdWJmbG93LXRyYXZlcnNlcnMgZG8gTk9UIGZpcmUgdGhpcyBldmVudCDigJQgdGhleSBmaXJlIGBvblN1YmZsb3dFbnRyeWAuXG4gICAqL1xuICBvblJ1blN0YXJ0KGlucHV0OiB1bmtub3duLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCwgQUZURVIgdGhlIGxhc3Qgc3RhZ2UgY29tbWl0cy5cbiAgICogYG91dHB1dGAgaXMgdGhlIHZhbHVlIHRoZSBjaGFydCByZXR1cm5lZC4gTk9UIGZpcmVkIG9uIHBhdXNlICh0aGUgcnVuXG4gICAqIGRpZG4ndCBlbmQ7IGl0IHN1c3BlbmRlZCkgb3Igb24gdW5jYXVnaHQgZXJyb3IuIFN1YmZsb3ctdHJhdmVyc2VycyBkb1xuICAgKiBOT1QgZmlyZSB0aGlzIGV2ZW50IOKAlCB0aGV5IGZpcmUgYG9uU3ViZmxvd0V4aXRgLlxuICAgKi9cbiAgb25SdW5FbmQob3V0cHV0OiB1bmtub3duLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCB3aGVuIHRyYXZlcnNhbCB0aHJvd3MgYVxuICAgKiBOT04tcGF1c2UgZXJyb3IsIEJFRk9SRSB0aGUgZXhjZXB0aW9uIHByb3BhZ2F0ZXMgdG8gYHJ1bigpYCdzIGNhbGxlci5cbiAgICpcbiAgICogVGhpcyBpcyB0aGUgVEVSTUlOQUwgY291bnRlcnBhcnQgdG8gYG9uUnVuRW5kYCDigJQgaXQgY2xvc2VzIHRoZSBydW5cbiAgICogYm91bmRhcnkgc3ltbWV0cmljYWxseSBzbyBldmVyeSBgb25SdW5TdGFydGAgaXMgZm9sbG93ZWQgYnkgZXhhY3RseVxuICAgKiBvbmUgb2YgYG9uUnVuRW5kYCAoY2xlYW4pIG9yIGBvblJ1bkZhaWxlZGAgKGVycm9yKS4gV2l0aG91dCBpdCwgYVxuICAgKiBsaXZlIG1vbml0b3Igc2VlcyBgb25SdW5TdGFydGAgdGhlbiBzaWxlbmNlIG9uIGEgZmFpbGVkIHJ1biBhbmQgY2FuJ3RcbiAgICogdGVsbCBcInN0aWxsIHJ1bm5pbmdcIiBmcm9tIFwiY3Jhc2hlZC5cIlxuICAgKlxuICAgKiBFcnJvcnMgU1RJTEwgdGhyb3cg4oCUIHRoaXMgaXMgdGhlIG9ic2VydmFibGUgdGVybWluYWwgc2lnbmFsLCBub3QgYVxuICAgKiByZWNvdmVyeSBtZWNoYW5pc20gKG5vIHJvdXRpbmcsIG5vIGVycm9yLXN1YmZsb3cpLiBQYXVzZSBpcyBOT1QgYW5cbiAgICogZXJyb3IsIHNvIGl0IGRvZXMgbm90IGZpcmUgdGhpcy4gU3ViZmxvdy10cmF2ZXJzZXJzIGRvIE5PVCBmaXJlIGl0O1xuICAgKiB0aGVpciBlcnJvcnMgcHJvcGFnYXRlIHRvIHRoZSBwYXJlbnQgYW5kIHN1cmZhY2UgYXQgdGhlIHRvcCBsZXZlbC5cbiAgICovXG4gIG9uUnVuRmFpbGVkKGVycm9yOiBTdHJ1Y3R1cmVkRXJyb3JJbmZvLCB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dCk6IHZvaWQ7XG5cbiAgLyoqIFJldHVybnMgYWNjdW11bGF0ZWQgbmFycmF0aXZlIHNlbnRlbmNlcyBpbiBleGVjdXRpb24gb3JkZXIuICovXG4gIGdldFNlbnRlbmNlcygpOiBzdHJpbmdbXTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVHJhdmVyc2FsQ29udGV4dCDigJQgcmVhZC1vbmx5IGV4ZWN1dGlvbiBjb250ZXh0IGZyb20gdGhlIHRyYXZlcnNlci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBUcmF2ZXJzYWwgY29udGV4dCBhdHRhY2hlZCB0byBldmVyeSBGbG93UmVjb3JkZXIgZXZlbnQuXG4gKiBDcmVhdGVkIGJ5IHRoZSB0cmF2ZXJzZXIgZHVyaW5nIERGUywgcGFzc2VkIHRvIHJlY29yZGVycyBhcyByZWFkLW9ubHkgZGF0YS5cbiAqIEVuYWJsZXMgcmVjb3JkZXJzIHRvIGJ1aWxkIHRyZWVzLCBncm91cCBieSBzdWJmbG93LCBhbmQgY29ycmVsYXRlIGV2ZW50c1xuICogd2l0aG91dCBtYWludGFpbmluZyB0aGVpciBvd24gc3RhY2tzIG9yIHBvc3QtcHJvY2Vzc2luZy5cbiAqXG4gKiBMaWtlIE9wZW5UZWxlbWV0cnkncyBzcGFuIGNvbnRleHQ6IHN0YWdlSWQgKyBwYXJlbnRTdGFnZUlkIGZvcm0gYSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYXZlcnNhbENvbnRleHQge1xuICAvKipcbiAgICogUGVyLWBleGVjdXRvci5ydW4oKWAgaWRlbnRpZmllci4gR2VuZXJhdGVkIG9uY2UgYXQgdGhlIHN0YXJ0IG9mIGV2ZXJ5XG4gICAqIGBydW4oKWAgKGFuZCBhZ2FpbiBvbiBgcmVzdW1lKClgKTsgc2hhcmVkIGJ5IGV2ZXJ5IGV2ZW50IG9mIHRoYXQgcnVuO1xuICAgKiBkaWZmZXJzIGFjcm9zcyBjb25zZWN1dGl2ZSBydW5zIG9mIHRoZSBzYW1lIGV4ZWN1dG9yLlxuICAgKlxuICAgKiBGb3JtYXQ6IGAke0RhdGUubm93KCl9LSR7Y291bnRlcn1gIOKAlCBzb3J0YWJsZSBsZXhpY29ncmFwaGljYWxseSAoPT1cbiAgICogY2hyb25vbG9naWNhbGx5IGZvciBydW5zID4gMW1zIGFwYXJ0KS4gUHJvY2Vzcy1sb2NhbCDigJQgZm9yIGNyb3NzLVxuICAgKiBwcm9jZXNzIGNvcnJlbGF0aW9uIHVzZSBgZ2V0RW52KCkudHJhY2VJZGAgKGNvbnN1bWVyLXN1cHBsaWVkKS5cbiAgICpcbiAgICogUmVjb3JkZXJzIHRoYXQgYWNjdW11bGF0ZSBzdGF0ZSBhY3Jvc3MgcnVucyAoZm9yayBib29ra2VlcGluZyxcbiAgICogc2libGluZy1oYW5kb2ZmIHN0YXRlLCBldGMuKSBkZXRlY3QgXCJuZXcgcnVuXCIgdmlhXG4gICAqIGBldmVudC50cmF2ZXJzYWxDb250ZXh0LnJ1bklkICE9PSB0aGlzLmxhc3RSdW5JZGAgYW5kIHJlc2V0XG4gICAqIHRyYW5zaWVudCBib29ra2VlcGluZy4gUmVjb3JkZXJzIHRoYXQgZG9uJ3QgY2FyZSBhYm91dCBzY29waW5nXG4gICAqIGlnbm9yZSB0aGUgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBydW5JZDogc3RyaW5nO1xuICAvKiogU3RhYmxlIHN0YWdlIGlkZW50aWZpZXIgZnJvbSB0aGUgYnVpbGRlciAobWF0Y2hlcyBzcGVjIG5vZGUgaWQpLiAqL1xuICByZWFkb25seSBzdGFnZUlkOiBzdHJpbmc7XG4gIC8qKiBVbmlxdWUgcGVyLWV4ZWN1dGlvbi1zdGVwIGlkZW50aWZpZXIuIEZvcm1hdDogW3N1YmZsb3dQYXRoL11zdGFnZUlkI2V4ZWN1dGlvbkluZGV4LlxuICAgKiAgQ291bnRlciByZXNldHMgcGVyIGV4ZWN1dG9yIOKAlCBjb21iaW5lIHdpdGggYHJ1bklkYCBmb3IgZ2xvYmFsbHkgdW5pcXVlIHN0ZXAga2V5cy4gKi9cbiAgcmVhZG9ubHkgcnVudGltZVN0YWdlSWQ6IHN0cmluZztcbiAgLyoqIEh1bWFuLXJlYWRhYmxlIHN0YWdlIG5hbWUuICovXG4gIHJlYWRvbmx5IHN0YWdlTmFtZTogc3RyaW5nO1xuICAvKiogUGFyZW50IHN0YWdlIElEIOKAlCB3YWxrIHVwIHRvIHJlY29uc3RydWN0IHRoZSB0cmVlLiBVbmRlZmluZWQgYXQgcm9vdC4gKi9cbiAgcmVhZG9ubHkgcGFyZW50U3RhZ2VJZD86IHN0cmluZztcbiAgLyoqIFN1YmZsb3cgSUQgd2hlbiBpbnNpZGUgYSBzdWJmbG93LiBVbmRlZmluZWQgYXQgcm9vdCBsZXZlbC4gKi9cbiAgcmVhZG9ubHkgc3ViZmxvd0lkPzogc3RyaW5nO1xuICAvKiogRnVsbCBzdWJmbG93IHBhdGggZm9yIG5lc3RlZCBzdWJmbG93cyAoZS5nLiwgXCJzZi1vdXRlci9zZi1pbm5lclwiKS4gKi9cbiAgcmVhZG9ubHkgc3ViZmxvd1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBOZXN0aW5nIGRlcHRoICgwID0gcm9vdCwgMSA9IGluc2lkZSBmaXJzdCBzdWJmbG93LCBldGMuKS4gKi9cbiAgcmVhZG9ubHkgZGVwdGg6IG51bWJlcjtcbiAgLyoqIExvb3AgaXRlcmF0aW9uIG51bWJlciB3aGVuIHJldmlzaXRpbmcgYSBub2RlIHZpYSBsb29wVG8uICovXG4gIHJlYWRvbmx5IGxvb3BJdGVyYXRpb24/OiBudW1iZXI7XG4gIC8qKiBGb3JrIGJyYW5jaCBJRCB3aGVuIGluc2lkZSBhIHBhcmFsbGVsIG9yIGRlY2lkZXIgYnJhbmNoLiAqL1xuICByZWFkb25seSBmb3JrQnJhbmNoPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGbG93UmVjb3JkZXIg4oCUIFBsdWdnYWJsZSBvYnNlcnZlciBmb3IgY29udHJvbCBmbG93IGV2ZW50cy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25TdGFnZUV4ZWN1dGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93U3RhZ2VFdmVudCB7XG4gIHN0YWdlTmFtZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIFRyYXZlcnNhbCBjb250ZXh0IGZyb20gdGhlIGVuZ2luZSDigJQgcmVhZC1vbmx5LCBzZXQgYnkgdHJhdmVyc2VyLiAqL1xuICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dDtcbiAgLyoqXG4gICAqIFdoaWNoIGtpbmQgb2Ygc3RhZ2UgY29tcGxldGVkLiBUaGUgZW5naW5lIGZpcmVzIGBvblN0YWdlRXhlY3V0ZWRgXG4gICAqIHVuaWZvcm1seSBmb3IgZXZlcnkgc3RhZ2Uga2luZCAocHJvcG9zYWwgIzAwMyk7IGNvbnN1bWVycyByb3V0ZSBieVxuICAgKiBgc3RhZ2VUeXBlYCB3aXRob3V0IGEgY2hhcnQtc3BlYyBsb29rdXAuXG4gICAqL1xuICBzdGFnZVR5cGU6IFN0YWdlVHlwZTtcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25OZXh0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93TmV4dEV2ZW50IHtcbiAgZnJvbTogc3RyaW5nO1xuICB0bzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uRGVjaXNpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dEZWNpc2lvbkV2ZW50IHtcbiAgZGVjaWRlcjogc3RyaW5nO1xuICBjaG9zZW46IHN0cmluZztcbiAgcmF0aW9uYWxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG4gIC8qKiBTdHJ1Y3R1cmVkIGRlY2lzaW9uIGV2aWRlbmNlIGZyb20gZGVjaWRlKCkgaGVscGVyLiAqL1xuICBldmlkZW5jZT86IERlY2lzaW9uRXZpZGVuY2U7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uRm9yay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0ZvcmtFdmVudCB7XG4gIHBhcmVudDogc3RyaW5nO1xuICBjaGlsZHJlbjogc3RyaW5nW107XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblNlbGVjdGVkLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93U2VsZWN0ZWRFdmVudCB7XG4gIHBhcmVudDogc3RyaW5nO1xuICBzZWxlY3RlZDogc3RyaW5nW107XG4gIHRvdGFsOiBudW1iZXI7XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xuICAvKiogU3RydWN0dXJlZCBzZWxlY3Rpb24gZXZpZGVuY2UgZnJvbSBzZWxlY3QoKSBoZWxwZXIuICovXG4gIGV2aWRlbmNlPzogU2VsZWN0aW9uRXZpZGVuY2U7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uU3ViZmxvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd1N1YmZsb3dFdmVudCB7XG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIFN1YmZsb3cgaWRlbnRpZmllciDigJQgdXNlIHRoaXMgdG8gbG9vayB1cCB0aGUgZnVsbCBzcGVjIHZpYSB0aGUgbWFuaWZlc3QuICovXG4gIHN1YmZsb3dJZD86IHN0cmluZztcbiAgLyoqIEJ1aWxkLXRpbWUgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGlzIHN1YmZsb3cgZG9lcy4gKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xuICAvKiogTWFwcGVkIGlucHV0IHZhbHVlcyBzZW50IElOVE8gdGhlIHN1YmZsb3cgKGZyb20gaW5wdXRNYXBwZXIvaW5wdXRLZXlzKS4gUHJlc2VudCBvbiBlbnRyeSBldmVudHMuICovXG4gIG1hcHBlZElucHV0PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIC8qKiBTdWJmbG93IHNoYXJlZCBzdGF0ZSBhdCBleGl0LiBQcmVzZW50IG9uIGV4aXQgZXZlbnRzLiAqL1xuICBvdXRwdXRTdGF0ZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblN1YmZsb3dSZWdpc3RlcmVkIChkeW5hbWljIHN1YmZsb3cgYXR0YWNobWVudCkuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dTdWJmbG93UmVnaXN0ZXJlZEV2ZW50IHtcbiAgLyoqIFN1YmZsb3cgaWRlbnRpZmllci4gKi9cbiAgc3ViZmxvd0lkOiBzdHJpbmc7XG4gIC8qKiBIdW1hbi1yZWFkYWJsZSBuYW1lLiAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBCdWlsZC10aW1lIGRlc2NyaXB0aW9uLiAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgLyoqIEZ1bGwgc3BlYyBzdHJ1Y3R1cmUgKHdoZW4gYXZhaWxhYmxlIGZyb20gYnVpbGRUaW1lU3RydWN0dXJlKS4gKi9cbiAgc3BlY1N0cnVjdHVyZT86IHVua25vd247XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vbkxvb3AuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dMb29wRXZlbnQge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgaXRlcmF0aW9uOiBudW1iZXI7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICB0cmF2ZXJzYWxDb250ZXh0PzogVHJhdmVyc2FsQ29udGV4dDtcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25CcmVhay4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0JyZWFrRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBmcmVlLWZvcm0gcmVhc29uIHN1cHBsaWVkIGJ5IGBzY29wZS4kYnJlYWsocmVhc29uKWAuIEFic2VudFxuICAgKiB3aGVuIHRoZSBzdGFnZSBpbnZva2VkIGAkYnJlYWsoKWAgd2l0aG91dCBhbiBhcmd1bWVudC4gUHJvcGFnYXRlcyB3aGVuXG4gICAqIGEgc3ViZmxvdyBpcyBtb3VudGVkIHdpdGggYHByb3BhZ2F0ZUJyZWFrOiB0cnVlYCDigJQgdGhlIG91dGVyIGJyZWFrXG4gICAqIGV2ZW50IGNhcnJpZXMgdGhlIGlubmVyIGJyZWFrJ3MgcmVhc29uIHRvby5cbiAgICovXG4gIHJlYXNvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSwgdGhpcyBicmVhayBldmVudCB3YXMgcmFpc2VkIG9uIHRoZSBQQVJFTlQgYmVjYXVzZSBhbiBpbm5lclxuICAgKiBzdWJmbG93J3MgYnJlYWsgcHJvcGFnYXRlZCB1cCAodmlhIGBTdWJmbG93TW91bnRPcHRpb25zLnByb3BhZ2F0ZUJyZWFrYCkuXG4gICAqIFRoZSBvcmlnaW5hdGluZyBpbm5lciBicmVhayBmaXJlcyBpdHMgb3duIGBvbkJyZWFrYCBldmVudCBzZXBhcmF0ZWx5XG4gICAqIOKAlCB0aGlzIGZsYWcgbGV0cyByZWNvcmRlcnMgZGlzdGluZ3Vpc2ggdGhlIHR3by5cbiAgICovXG4gIHByb3BhZ2F0ZWRGcm9tU3ViZmxvdz86IHN0cmluZztcbn1cblxuLyoqIEV2ZW50IHBhc3NlZCB0byBGbG93UmVjb3JkZXIub25FcnJvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxvd0Vycm9yRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICAvKiogU3RydWN0dXJlZCBlcnJvciBkZXRhaWxzIOKAlCBwcmVzZXJ2ZXMgZmllbGQtbGV2ZWwgaXNzdWVzLCBlcnJvciBjb2RlcywgZXRjLiAqL1xuICBzdHJ1Y3R1cmVkRXJyb3I6IFN0cnVjdHVyZWRFcnJvckluZm87XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKiogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblBhdXNlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UGF1c2VFdmVudCB7XG4gIHN0YWdlTmFtZTogc3RyaW5nO1xuICBzdGFnZUlkOiBzdHJpbmc7XG4gIC8qKiBEYXRhIGZyb20gdGhlIHBhdXNlIHNpZ25hbCAocXVlc3Rpb24sIHJlYXNvbiwgbWV0YWRhdGEpLiAqL1xuICBwYXVzZURhdGE/OiB1bmtub3duO1xuICAvKiogUGF0aCB0aHJvdWdoIHN1YmZsb3dzIHRvIHRoZSBwYXVzZWQgc3RhZ2UuIEVtcHR5IGF0IHJvb3QgbGV2ZWwuICovXG4gIHN1YmZsb3dQYXRoOiByZWFkb25seSBzdHJpbmdbXTtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKiBFdmVudCBwYXNzZWQgdG8gRmxvd1JlY29yZGVyLm9uUmVzdW1lLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UmVzdW1lRXZlbnQge1xuICBzdGFnZU5hbWU6IHN0cmluZztcbiAgc3RhZ2VJZDogc3RyaW5nO1xuICAvKiogV2hldGhlciByZXN1bWUgaW5wdXQgd2FzIHByb3ZpZGVkLiAqL1xuICBoYXNJbnB1dDogYm9vbGVhbjtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKlxuICogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblJ1blN0YXJ0IC8gb25SdW5FbmQuXG4gKlxuICogQnJhY2tldHMgdGhlIHRvcC1sZXZlbCBgZXhlY3V0b3IucnVuKClgIGNhbGwuIFN1YmZsb3dzIGhhdmUgdGhlaXIgb3duXG4gKiBwYWlyIChgb25TdWJmbG93RW50cnlgIC8gYG9uU3ViZmxvd0V4aXRgKTsgdGhlIHJ1biBwYWlyIGlzIHRoZSBPVVRFUk1PU1RcbiAqIGJvdW5kYXJ5LCBzbyBjb25zdW1lcnMgYnVpbGRpbmcgXCJldmVyeSBzdGVwIGhhcyBhbiBpbi9vdXRcIiB2aWV3cyBjYW5cbiAqIGNsb3NlIHRoZSBjaGFpbiBhdCB0aGUgdG9wIGxldmVsLlxuICpcbiAqICAgLSBgb25SdW5TdGFydGAgcGF5bG9hZCDihpIgdGhlIGlucHV0IHBhc3NlZCB0byBgcnVuKHtpbnB1dH0pYFxuICogICAtIGBvblJ1bkVuZGAgICBwYXlsb2FkIOKGkiB0aGUgY2hhcnQncyByZXR1cm4gdmFsdWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UnVuRXZlbnQge1xuICAvKiogT24gYG9uUnVuU3RhcnRgOiB0aGUgaW5wdXQgZnJvbSBgcnVuKHtpbnB1dH0pYCBhZnRlciBzY2hlbWEgdmFsaWRhdGlvbi5cbiAgICogIE9uIGBvblJ1bkVuZGA6IHRoZSB2YWx1ZSByZXR1cm5lZCBieSB0aGUgY2hhcnQuIFVuZGVmaW5lZCBpZiBuZWl0aGVyLiAqL1xuICBwYXlsb2FkPzogdW5rbm93bjtcbiAgdHJhdmVyc2FsQ29udGV4dD86IFRyYXZlcnNhbENvbnRleHQ7XG59XG5cbi8qKlxuICogRXZlbnQgcGFzc2VkIHRvIEZsb3dSZWNvcmRlci5vblJ1bkZhaWxlZCDigJQgdGhlIFRFUk1JTkFMIGZhaWx1cmUgYm91bmRhcnlcbiAqIGZvciBhIHRvcC1sZXZlbCBydW4uIE1pcnJvciBvZiBgb25SdW5FbmRgIGZvciB0aGUgZXJyb3IgcGF0aDogaXQgZmlyZXNcbiAqIG9uY2UsIGR1cmluZyB0cmF2ZXJzYWwsIHdoZW4gdGhlIHJ1biB0aHJvd3MgYSBub24tcGF1c2UgZXJyb3IsIGJlZm9yZVxuICogdGhlIGV4Y2VwdGlvbiBwcm9wYWdhdGVzLiBDYXJyaWVzIHRoZSBzdHJ1Y3R1cmVkIGVycm9yIChmaWVsZC1sZXZlbFxuICogaXNzdWVzLCBjb2RlcykgcmF0aGVyIHRoYW4gYSBmbGF0dGVuZWQgc3RyaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dSdW5GYWlsZWRFdmVudCB7XG4gIC8qKiBTdHJ1Y3R1cmVkIGRldGFpbHMgb2YgdGhlIGVycm9yIHRoYXQgdGVybWluYXRlZCB0aGUgcnVuLiAqL1xuICBzdHJ1Y3R1cmVkRXJyb3I6IFN0cnVjdHVyZWRFcnJvckluZm87XG4gIHRyYXZlcnNhbENvbnRleHQ/OiBUcmF2ZXJzYWxDb250ZXh0O1xufVxuXG4vKipcbiAqIEZsb3dSZWNvcmRlciDigJQgUGx1Z2dhYmxlIG9ic2VydmVyIGZvciBjb250cm9sIGZsb3cgZXZlbnRzLlxuICpcbiAqIE1pcnJvcnMgdGhlIHNjb3BlLWxldmVsIFNjb3BlUmVjb3JkZXIgcGF0dGVybiBmb3IgdGhlIGVuZ2luZSBsYXllci5cbiAqIEFsbCBtZXRob2RzIGFyZSBvcHRpb25hbCDigJQgaW1wbGVtZW50IG9ubHkgdGhlIGhvb2tzIHlvdSBuZWVkLlxuICogUmVjb3JkZXJzIGFyZSBpbnZva2VkIHN5bmNocm9ub3VzbHkgaW4gYXR0YWNobWVudCBvcmRlci5cbiAqIElmIGEgcmVjb3JkZXIgdGhyb3dzLCB0aGUgZXJyb3IgaXMgY2F1Z2h0IGFuZCBzd2FsbG93ZWQ7IGV4ZWN1dGlvbiBjb250aW51ZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG1ldHJpY3NSZWNvcmRlcjogRmxvd1JlY29yZGVyID0ge1xuICogICBpZDogJ21ldHJpY3MnLFxuICogICBvbkxvb3A6IChldmVudCkgPT4gcmVjb3JkTWV0cmljKCdsb29wLml0ZXJhdGlvbicsIGV2ZW50Lml0ZXJhdGlvbiksXG4gKiAgIG9uRGVjaXNpb246IChldmVudCkgPT4gcmVjb3JkTWV0cmljKCdkZWNpc2lvbicsIGV2ZW50LmNob3NlbiksXG4gKiB9O1xuICogZXhlY3V0b3IuYXR0YWNoRmxvd1JlY29yZGVyKG1ldHJpY3NSZWNvcmRlcik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGbG93UmVjb3JkZXIge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICBvblN0YWdlRXhlY3V0ZWQ/KGV2ZW50OiBGbG93U3RhZ2VFdmVudCk6IHZvaWQ7XG4gIG9uTmV4dD8oZXZlbnQ6IEZsb3dOZXh0RXZlbnQpOiB2b2lkO1xuICBvbkRlY2lzaW9uPyhldmVudDogRmxvd0RlY2lzaW9uRXZlbnQpOiB2b2lkO1xuICBvbkZvcms/KGV2ZW50OiBGbG93Rm9ya0V2ZW50KTogdm9pZDtcbiAgb25TZWxlY3RlZD8oZXZlbnQ6IEZsb3dTZWxlY3RlZEV2ZW50KTogdm9pZDtcbiAgb25TdWJmbG93RW50cnk/KGV2ZW50OiBGbG93U3ViZmxvd0V2ZW50KTogdm9pZDtcbiAgb25TdWJmbG93RXhpdD8oZXZlbnQ6IEZsb3dTdWJmbG93RXZlbnQpOiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gYSBkeW5hbWljIHN1YmZsb3cgaXMgcmVnaXN0ZXJlZCBkdXJpbmcgdHJhdmVyc2FsLiAqL1xuICBvblN1YmZsb3dSZWdpc3RlcmVkPyhldmVudDogRmxvd1N1YmZsb3dSZWdpc3RlcmVkRXZlbnQpOiB2b2lkO1xuICBvbkxvb3A/KGV2ZW50OiBGbG93TG9vcEV2ZW50KTogdm9pZDtcbiAgb25CcmVhaz8oZXZlbnQ6IEZsb3dCcmVha0V2ZW50KTogdm9pZDtcbiAgb25FcnJvcj8oZXZlbnQ6IEZsb3dFcnJvckV2ZW50KTogdm9pZDtcbiAgb25QYXVzZT8oZXZlbnQ6IEZsb3dQYXVzZUV2ZW50KTogdm9pZDtcbiAgb25SZXN1bWU/KGV2ZW50OiBGbG93UmVzdW1lRXZlbnQpOiB2b2lkO1xuICAvKipcbiAgICogQ2FsbGVkIG9uY2UgcGVyIHRvcC1sZXZlbCBgZXhlY3V0b3IucnVuKClgIEJFRk9SRSB0cmF2ZXJzYWwgYmVnaW5zLlxuICAgKiBDYXJyaWVzIGBldmVudC5wYXlsb2FkID0gcnVuKHtpbnB1dH0pYC4gU3ViZmxvdy10cmF2ZXJzZXJzIGRvbid0IGZpcmUgaXQuXG4gICAqL1xuICBvblJ1blN0YXJ0PyhldmVudDogRmxvd1J1bkV2ZW50KTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCBBRlRFUiB0cmF2ZXJzYWwgY29tcGxldGVzXG4gICAqIGNsZWFubHkuIENhcnJpZXMgYGV2ZW50LnBheWxvYWQgPSBjaGFydCdzIHJldHVybiB2YWx1ZWAuIE5PVCBmaXJlZCBvblxuICAgKiBwYXVzZSAodGhlIHJ1biBkaWRuJ3QgZW5kKSBvciB1bmNhdWdodCBlcnJvci5cbiAgICovXG4gIG9uUnVuRW5kPyhldmVudDogRmxvd1J1bkV2ZW50KTogdm9pZDtcbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHBlciB0b3AtbGV2ZWwgYGV4ZWN1dG9yLnJ1bigpYCB3aGVuIHRoZSBydW4gdGhyb3dzIGFcbiAgICogbm9uLXBhdXNlIGVycm9yLCBCRUZPUkUgdGhlIGV4Y2VwdGlvbiBwcm9wYWdhdGVzLiBUaGUgVEVSTUlOQUxcbiAgICogY291bnRlcnBhcnQgdG8gYG9uUnVuRW5kYCDigJQgbGV0cyBhIG1vbml0b3IgY2xvc2UgdGhlIHJ1biBib3VuZGFyeSBvblxuICAgKiBmYWlsdXJlIGluc3RlYWQgb2Ygd2FpdGluZyBmb3JldmVyLiBOT1QgZmlyZWQgb24gcGF1c2UuXG4gICAqL1xuICBvblJ1bkZhaWxlZD8oZXZlbnQ6IEZsb3dSdW5GYWlsZWRFdmVudCk6IHZvaWQ7XG4gIC8qKiBDYWxsZWQgYmVmb3JlIGVhY2ggcnVuIHRvIHJlc2V0IHBlci1ydW4gc3RhdGUuIEltcGxlbWVudCBmb3Igc3RhdGVmdWwgcmVjb3JkZXJzLiAqL1xuICBjbGVhcj8oKTogdm9pZDtcbiAgLyoqIE9wdGlvbmFsOiBleHBvc2UgY29sbGVjdGVkIGRhdGEgZm9yIGluY2x1c2lvbiBpbiBzbmFwc2hvdHMuICovXG4gIHRvU25hcHNob3Q/KCk6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcHJlZmVycmVkT3BlcmF0aW9uPzogJ3RyYW5zbGF0ZScgfCAnYWNjdW11bGF0ZScgfCAnYWdncmVnYXRlJztcbiAgICBkYXRhOiB1bmtub3duO1xuICB9O1xufVxuIl19
|