@magic-xpa/gui 4.900.0-dev491.7 → 4.1000.0-dev000.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/src/Manager.mjs +2 -2
- package/esm2020/src/management/data/RecordUtils.mjs +4 -4
- package/esm2020/src/management/exp/ExpressionInterface.mjs +2 -1
- package/esm2020/src/management/gui/DisplayConvertor.mjs +6 -15
- package/esm2020/src/management/gui/FieldValidator.mjs +2 -2
- package/esm2020/src/management/gui/Helps.mjs +10 -3
- package/esm2020/src/management/gui/MgControlBase.mjs +20 -18
- package/esm2020/src/management/gui/MgFormBase.mjs +5 -16
- package/esm2020/src/management/gui/PIC.mjs +8 -1
- package/esm2020/src/management/gui/Property.mjs +2 -2
- package/esm2020/src/management/tasks/GuiTaskBase.mjs +18 -6
- package/fesm2015/magic-xpa-gui.mjs +66 -58
- package/fesm2015/magic-xpa-gui.mjs.map +1 -1
- package/fesm2020/magic-xpa-gui.mjs +66 -58
- package/fesm2020/magic-xpa-gui.mjs.map +1 -1
- package/package.json +2 -2
- package/src/management/exp/ExpressionInterface.d.ts +1 -0
- package/src/management/gui/MgControlBase.d.ts +0 -2
- package/src/management/gui/MgFormBase.d.ts +1 -5
- package/src/management/gui/PIC.d.ts +3 -0
- package/src/management/tasks/GuiTaskBase.d.ts +2 -0
package/esm2020/src/Manager.mjs
CHANGED
|
@@ -30,7 +30,7 @@ export class Manager {
|
|
|
30
30
|
return Commands.getValue(ctrl, ctrl.getDisplayLine(true));
|
|
31
31
|
}
|
|
32
32
|
static async SetReadOnlyControl(ctrl, isReadOnly) {
|
|
33
|
-
if (ctrl.isTextControl() || ctrl.IsRepeatable) {
|
|
33
|
+
if (ctrl.isTextControl() || ctrl.IsRepeatable || ctrl.isComboBox() || ctrl.isListBox() || ctrl.isCheckBox() || ctrl.isRadio()) {
|
|
34
34
|
if (UtilStrByteMode.isLocaleDefLangDBCS()) {
|
|
35
35
|
if (await ctrl.getForm().getTask().checkProp(PropInterface.PROP_TYPE_ALLOW_LOCATE_IN_QUERY, false))
|
|
36
36
|
return;
|
|
@@ -88,4 +88,4 @@ Manager.DefaultProtocol = null;
|
|
|
88
88
|
Manager.DefaultServerName = null;
|
|
89
89
|
Manager.UtilImeJpn = (UtilStrByteMode.isLocaleDefLangJPN() ? new UtilImeJpn() : null);
|
|
90
90
|
Manager.EventsManager = null;
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSTdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE1BQU0sT0FBTyxPQUFPO0lBbUJsQixNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBaUI7UUFDMUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBTUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBSUQsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPO0lBQ1QsQ0FBQztJQVFELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBZ0I7UUFFM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFFakQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUUzQixJQUFJLGdCQUFnQixHQUFlLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLGdCQUFnQixLQUFLLElBQUk7b0JBQzNCLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFB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ckMsSUFBSSxZQUFZLEdBQVcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxJQUFJLFlBQVksS0FBSyxDQUFDLENBQUM7Z0JBQ3JCLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztTQUNyQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQU9ELE1BQU0sQ0FBQyx3QkFBd0I7UUFDN0IsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBTU0sTUFBTSxDQUFDLHNCQUFzQjtRQUNsQyxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUM3RCxDQUFDOztBQW5MTSxxQkFBYSxHQUFZLEtBQUssQ0FBQztBQU92Qix5QkFBaUIsR0FBVyxJQUFJLENBQUM7QUFFekMsdUJBQWUsR0FBVyxJQUFJLENBQUM7QUFDL0IseUJBQWlCLEdBQVcsSUFBSSxDQUFDO0FBQ2pDLGtCQUFVLEdBQWUsQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUYscUJBQWEsR0FBc0IsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PlxyXG4vLy8gTWdHdWkuZGxsJ3MgbWFuYWdlciAtIGFzc2VtYmx5IGxldmVsIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMuXHJcbi8vLyA8L3N1bW1hcnk+XHJcbmltcG9ydCB7VXRpbEltZUpwbiwgVXRpbFN0ckJ5dGVNb2RlfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0lHdWlFdmVudHNNYW5hZ2VyfSBmcm9tIFwiLi9tYW5hZ2VtZW50L2V2ZW50cy9JR3VpRXZlbnRzTWFuYWdlclwiO1xyXG5pbXBvcnQge0d1aVRhc2tCYXNlfSBmcm9tIFwiLi9tYW5hZ2VtZW50L3Rhc2tzL0d1aVRhc2tCYXNlXCI7XHJcbmltcG9ydCB7TWdDb250cm9sQmFzZX0gZnJvbSBcIi4vbWFuYWdlbWVudC9ndWkvTWdDb250cm9sQmFzZVwiO1xyXG5pbXBvcnQge0NvbW1hbmRzfSBmcm9tIFwiLi9Db21tYW5kc1wiO1xyXG5pbXBvcnQge01nRm9ybUJhc2V9IGZyb20gXCIuL21hbmFnZW1lbnQvZ3VpL01nRm9ybUJhc2VcIjtcclxuaW1wb3J0IHtDb21tYW5kVHlwZSwgSHRtbFByb3BlcnRpZXN9IGZyb20gXCIuL0d1aUVudW1zXCI7XHJcbmltcG9ydCB7RXZlbnRzfSBmcm9tIFwiLi9FdmVudHNcIjtcclxuaW1wb3J0IHtSdW50aW1lQ29udGV4dEJhc2V9IGZyb20gXCIuL21hbmFnZW1lbnQvUnVudGltZUNvbnRleHRCYXNlXCI7XHJcbmltcG9ydCB7UHJvcEludGVyZmFjZX0gZnJvbSBcIi4vbWFuYWdlbWVudC9ndWkvUHJvcEludGVyZmFjZVwiO1xyXG5pbXBvcnQge0d1aUVudmlyb25tZW50fSBmcm9tIFwiLi9HdWlFbnZpcm9ubWVudFwiO1xyXG5cclxuXHJcbmV4cG9ydCBjbGFzcyBNYW5hZ2VyIHtcclxuICBzdGF0aWMgSXNPdmVybGF5T3BlbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4vLyB0aGlzIG9iamVjdCBpcyB1c2VkIGZvciBleGVjdXRpb24gYW5kIGludGVycnVwdGluZyBkZWxheSBjb21tYW5kXHJcbi8vIERhdGEgdG8gYmUgd3JpdHRlbiB0byB0aGUgY2xpcGJvYXJkLlxyXG5cclxuICAvLyBUaGlzIHdpbGwgaG9sZCB0aGUgY29udGV4dElEIGZvciBhIGN1cnJlbnQgdGhyZWFkLlxyXG4gIC8vIFRocmVhZCBzdGF0aWMgaXMgYSBzZXBhcmF0ZSBmb3IgZWFjaCB0aHJlYWQgKGkuZS46IHZhbHVlIG9mIGEgc3RhdGljIGZpZWxkIGlzIHVuaXF1ZSBmb3IgZWFjaCB0aHJlYWQpLlxyXG4gIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9zeXN0ZW0udGhyZWFkc3RhdGljYXR0cmlidXRlLmFzcHhcclxuICBwcml2YXRlIHN0YXRpYyBfY3VycmVudENvbnRleHRJRDogc3RyaW5nID0gJ1xcMCc7XHJcblxyXG4gIHN0YXRpYyBEZWZhdWx0UHJvdG9jb2w6IHN0cmluZyA9IG51bGw7IC8vIGRlZmF1bHQgcHJvdG9jb2wgKGh0dHAvaHR0cHMpIGFuZCBzZXJ2ZXIgbmFtZSB0byBiZSB1c2VkIGZvciBhbnkgcmVsYXRpdmUgdXJsXHJcbiAgc3RhdGljIERlZmF1bHRTZXJ2ZXJOYW1lOiBzdHJpbmcgPSBudWxsO1xyXG4gIHN0YXRpYyBVdGlsSW1lSnBuOiBVdGlsSW1lSnBuID0gKFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdKUE4oKSA/IG5ldyBVdGlsSW1lSnBuKCkgOiBudWxsKTsgLy8gSlBOOiBJTUUgc3VwcG9ydFxyXG4gIHN0YXRpYyBFdmVudHNNYW5hZ2VyOiBJR3VpRXZlbnRzTWFuYWdlciA9IG51bGw7XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4ocHVibGljKVxyXG4gIC8vLyBTZXQgdGhlIGNvbnRleHQgSUQgZm9yIGEgY3VycmVudCB0aHJlYWRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRleHRJRFwiPjwvcGFyYW0+XHJcbiAgc3RhdGljIFNldEN1cnJlbnRDb250ZXh0SUQoY29udGV4dElEOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIE1hbmFnZXIuX2N1cnJlbnRDb250ZXh0SUQgPSBjb250ZXh0SUQ7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEdldCB0aGUgY29udGV4dCBJRCBmb3IgYSBjdXJyZW50IHRocmVhZFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPmN1cnJlbnQgdGhyZWFkJ3MgY29udGV4dElEPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBHZXRDdXJyZW50Q29udGV4dElEKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTWFuYWdlci5fY3VycmVudENvbnRleHRJRDtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc3RhdGljIEluaXQoKTogdm9pZCB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgY2xvc2UgdGhlIHRhc2tcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZm9ybVwiPiA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1haW5QcmdUYXNrXCI+PC9wYXJhbT5cclxuICBzdGF0aWMgQWJvcnQoZm9ybTogTWdGb3JtQmFzZSk6IHZvaWQge1xyXG5cclxuICAgIGlmIChmb3JtLmdldFN1YkZvcm1DdHJsKCkgPT09IG51bGwgJiYgZm9ybS5PcGVuZWQpIHtcclxuICAgICAgLy8gaWYgdGhlIGNsb3NpbmcgZm9ybSBpcyAnb3BlbmVkIGFzIGEgbW9kYWwnIHRoZW4gZGVjcmVtZW50IHRoZSBtb2RhbCBjb3VudCBvbiBpdHMgZnJhbWUgd2luZG93LlxyXG4gICAgICBpZiAoZm9ybS5pc0RpYWxvZygpKSB7XHJcbiAgICAgICAgdGhpcy5Jc092ZXJsYXlPcGVuID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGxldCB0b3BNb3N0RnJhbWVGb3JtOiBNZ0Zvcm1CYXNlID0gZm9ybS5nZXRUb3BNb3N0RnJhbWVGb3JtKCk7XHJcbiAgICAgICAgaWYgKHRvcE1vc3RGcmFtZUZvcm0gIT09IG51bGwpXHJcbiAgICAgICAgICB0b3BNb3N0RnJhbWVGb3JtLlVwZGF0ZU1vZGFsRm9ybXNDb3VudChmb3JtLCBmYWxzZSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIENvbW1hbmRzLmFkZENsb3NlRm9ybShmb3JtLCBcIjBcIiwgZm9ybS5nZXRUYXNrKCkuZ2V0VGFza1RhZygpKTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgY29udHJvbFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjdHJsXCI+Y29udHJvbCB0byBnZXQgdmFsdWUgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IHZhbHVlIG9mIHRoZSBjb250cm9sIDwvcmV0dXJucz5cclxuICBzdGF0aWMgR2V0Q3RybFZhbChjdHJsOiBNZ0NvbnRyb2xCYXNlKTogc3RyaW5nIHtcclxuICAgIC8vIFFDUiAjNzQ1MTE3OiBNYWtlIHN1cmUgdGhhdCBpZiB0aGUgY29udGVudHMgb2YgYSBjb250cm9sIHdlcmUgY2hhbmdlZFxyXG4gICAgLy8gdGhlbiB0aGUgY2hhbmdlcyBhcmUgYXBwbGllZCBiZWZvcmUgZXhhbWluaW5nIGl0cyB2YWx1ZS5cclxuICAgIHJldHVybiBDb21tYW5kcy5nZXRWYWx1ZShjdHJsLCBjdHJsLmdldERpc3BsYXlMaW5lKHRydWUpKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBTZXQgcmVhZCBvbmx5IGZvciBjb250cm9sc1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjdHJsXCI+dGhlIGNvbnRyb2wgdG8gY2hhbmdlIGl0cyBwcm9wZXJ0eSA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXNSZWFkT25seVwiPmJvb2xlYW4gPC9wYXJhbT5cclxuICBzdGF0aWMgYXN5bmMgU2V0UmVhZE9ubHlDb250cm9sKGN0cmw6IE1nQ29udHJvbEJhc2UsIGlzUmVhZE9ubHk6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChjdHJsLmlzVGV4dENvbnRyb2woKSB8fCBjdHJsLklzUmVwZWF0YWJsZSkgLy8gRGVmZWN0IDEzMTgwMjogU2V0IFJlYWRPbmx5IGZvciBSaWNoIFRleHQgY29udHJvbCBpbiBUYWJsZSBIZWFkZXIgYW5kIGRlZmVjdCAxMzE3MDQ6IGluIGdlbmVyYWwgZm9yIFJpY2ggVGV4dC5cclxuICAgIHtcclxuICAgICAgLy8gSlBOOiBJTUUgc3VwcG9ydCAoZW5hYmxlIElNRSBpbiBxdWVyeSBtb2RlKVxyXG4gICAgICBpZiAoVXRpbFN0ckJ5dGVNb2RlLmlzTG9jYWxlRGVmTGFuZ0RCQ1MoKSkge1xyXG4gICAgICAgIGlmIChhd2FpdCBjdHJsLmdldEZvcm0oKS5nZXRUYXNrKCkuY2hlY2tQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0FMTE9XX0xPQ0FURV9JTl9RVUVSWSwgZmFsc2UpKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIENvbW1hbmRzLmFkZE9wZXJhdGlvbldpdGhMaW5lKENvbW1hbmRUeXBlLlNFVF9QUk9QRVJUWSwgY3RybCwgY3RybC5nZXREaXNwbGF5TGluZShmYWxzZSksIEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5LCBpc1JlYWRPbmx5KTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBPcGVuIHRoZSBmb3JtLiA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdGb3JtXCI+Zm9ybSB0byBiZSBvcGVuZWQuPC9wYXJhbT5cclxuICBzdGF0aWMgT3BlbkZvcm0obWdGb3JtOiBNZ0Zvcm1CYXNlKTogdm9pZCB7XHJcbiAgICAvLyBub24gaW50ZXJhY3RpdmUgY2FuIGNob29zZSBub3QgdG8gb3BlbiB0aGUgd2luZG93LlxyXG4gICAgaWYgKCFtZ0Zvcm0uT3BlbmVkICYmIChtZ0Zvcm0uZ2V0VGFzaygpLklzSW50ZXJhY3RpdmUgfHwgbWdGb3JtLmdldFRhc2soKS5pc09wZW5XaW4oKSkpIHtcclxuICAgICAgaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgICAvLyBpZiB0aGUgZm9ybSBpcyB0byBiZSBvcGVuZWQgYXMgYSBtb2RhbCwgdGhlbiBpbmNyZW1lbnQgdGhlIG1vZGFsIGNvdW50IG9uIGl0cyBmcmFtZSB3aW5kb3cuXHJcbiAgICAgICAgaWYgKG1nRm9ybS5pc0RpYWxvZygpKSB7XHJcbiAgICAgICAgICB0aGlzLklzT3ZlcmxheU9wZW4gPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGxldCB0b3BNb3N0RnJhbWVGb3JtOiBNZ0Zvcm1CYXNlID0gbWdGb3JtLmdldFRvcE1vc3RGcmFtZUZvcm0oKTtcclxuICAgICAgICAgIGlmICh0b3BNb3N0RnJhbWVGb3JtICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0b3BNb3N0RnJhbWVGb3JtLlVwZGF0ZU1vZGFsRm9ybXNDb3VudChtZ0Zvcm0sIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgLy8gICBsZXQgZm9ybU5hbWU6IHN0cmluZyA9IG1nRm9ybS5VbmlxdWVOYW1lO1xyXG4gICAgICAvLyAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuT3BlbkZvcm0oZm9ybU5hbWUpO1xyXG5cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBlbHNlIHtcclxuICAgICAgLy8gICBsZXQgaW5wdXRDb250cm9scyA9IG1nRm9ybS5HZXRMaXN0T2ZJbnB1dENvbnRyb2xzKCk7XHJcbiAgICAgIC8vIC8vXHJcbiAgICAgIC8vIC8vICAgSlNCcmlkZ2UuSW5zdGFuY2UuT3BlblN1YkZvcm0odGhpcy5nZXRTdWJGb3JtQ3RybCgpLmdldE5hbWUoKSwgUGFyZW50Rm9ybS5nZXRUYXNrKCkuZ2V0VGFza1RhZygpLCBnZXRQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPUk1fTkFNRSkuZ2V0VmFsdWUoKSwgX3Rhc2suZ2V0VGFza1RhZygpLCBpbnB1dENvbnRyb2xzKTtcclxuICAgICAgLy8gLy8gfVxyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICBtZ0Zvcm0uT3BlbmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFBlcmZvcm1zIGZpcnN0IHJlZnJlc2ggZm9yIHRoZSB0YWJsZSBjb250cm9sIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgYXN5bmMgRG9GaXJzdFJlZnJlc2hUYWJsZShtZ0Zvcm06IE1nRm9ybUJhc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChtZ0Zvcm0gIT09IG51bGwgJiYgIW1nRm9ybS5pZ25vcmVGaXJzdFJlZnJlc2hUYWJsZSkge1xyXG4gICAgICBtZ0Zvcm0uaWdub3JlRmlyc3RSZWZyZXNoVGFibGUgPSB0cnVlO1xyXG4gICAgICBhd2FpdCBtZ0Zvcm0uZmlyc3RUYWJsZVJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNsZWFuIHRoZSBzdGF0dXMgYmFyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDbGVhbk1lc3NhZ2VQYW5lKHRhc2s6IEd1aVRhc2tCYXNlKTogdm9pZCB7XHJcbiAgICB0YXNrLldyaXRlVG9NZXNzYWdlUGFuZShNYW5hZ2VyLkdldEN1cnJlbnRSdW50aW1lQ29udGV4dCgpLkRlZmF1bHRTdGF0dXNNc2cpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBNZXNzYWdlIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgb24gc3RhdHVzIGJhciBvciBpbiBNZXNzYWdlIGJveFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dcIj4gaW5wdXQgbWVzc2FnZSBzdHJpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IG91dHB1dCBtZXNzYWdlIHN0cmluZyA8L3JldHVybnM+XHJcbiAgc3RhdGljIEdldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKG1zZyA9PT0gbnVsbClcclxuICAgICAgbXNnID0gXCJcIjtcclxuICAgIGVsc2UgaWYgKG1zZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBpZHhPZkNhcnJpYWdlOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcclwiKTtcclxuICAgICAgaWYgKGlkeE9mQ2FycmlhZ2UgIT09IC0xKVxyXG4gICAgICAgIG1zZyA9IG1zZy5zdWJzdHIoMCwgaWR4T2ZDYXJyaWFnZSk7XHJcblxyXG4gICAgICBsZXQgaWR4T2ZOZXdMaW5lOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcblwiKTtcclxuICAgICAgaWYgKGlkeE9mTmV3TGluZSAhPT0gLTEpXHJcbiAgICAgICAgbXNnID0gbXNnLnN1YnN0cigwLCBpZHhPZk5ld0xpbmUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtc2c7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXRzIHRoZSBydW50aW1lIGNvbnRleHQgYmVsb25ncyB0byB0aGUgY3VycmVudCB0aHJlYWQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+UnVudGltZUNvbnRleHRCYXNlPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBHZXRDdXJyZW50UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHRCYXNlIHtcclxuICAgIHJldHVybiBFdmVudHMuR2V0UnVudGltZUNvbnRleHQoTWFuYWdlci5HZXRDdXJyZW50Q29udGV4dElEKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZXR1cm4gU3BlY2lhbFZhbE5ld1BvbGljeVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwdWJsaWMgc3RhdGljIEdldFNwZWNpYWxWYWxOZXdQb2xpY3koKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U3BlY2lhbFZhbE5ld1BvbGljeSgpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUMsVUFBVSxFQUFFLGVBQWUsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSTdELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFcEMsT0FBTyxFQUFDLFdBQVcsRUFBRSxjQUFjLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFDdkQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVoQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBR2hELE1BQU0sT0FBTyxPQUFPO0lBbUJsQixNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBaUI7UUFDMUMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0lBTUQsTUFBTSxDQUFDLG1CQUFtQjtRQUN4QixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUNuQyxDQUFDO0lBSUQsTUFBTSxDQUFDLElBQUk7UUFDVCxPQUFPO0lBQ1QsQ0FBQztJQVFELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBZ0I7UUFFM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFFakQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUUzQixJQUFJLGdCQUFnQixHQUFlLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLGdCQUFnQixLQUFLLElBQUk7b0JBQzNCLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLElBQUksRUFB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QUFDO1lBQzlDLElBQUksYUFBYSxLQUFLLENBQUMsQ0FBQztnQkFDdEIsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBRXJDLElBQUksWUFBWSxHQUFXLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDckM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFPRCxNQUFNLENBQUMsd0JBQXdCO1FBQzdCLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQU1NLE1BQU0sQ0FBQyxzQkFBc0I7UUFDbEMsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDN0QsQ0FBQzs7QUFuTE0scUJBQWEsR0FBWSxLQUFLLENBQUM7QUFPdkIseUJBQWlCLEdBQVcsSUFBSSxDQUFDO0FBRXpDLHVCQUFlLEdBQVcsSUFBSSxDQUFDO0FBQy9CLHlCQUFpQixHQUFXLElBQUksQ0FBQztBQUNqQyxrQkFBVSxHQUFlLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzFGLHFCQUFhLEdBQXNCLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8c3VtbWFyeT5cclxuLy8vIE1nR3VpLmRsbCdzIG1hbmFnZXIgLSBhc3NlbWJseSBsZXZlbCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5pbXBvcnQge1V0aWxJbWVKcG4sIFV0aWxTdHJCeXRlTW9kZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnRzTWFuYWdlcn0gZnJvbSBcIi4vbWFuYWdlbWVudC9ldmVudHMvSUd1aUV2ZW50c01hbmFnZXJcIjtcclxuaW1wb3J0IHtHdWlUYXNrQmFzZX0gZnJvbSBcIi4vbWFuYWdlbWVudC90YXNrcy9HdWlUYXNrQmFzZVwiO1xyXG5pbXBvcnQge01nQ29udHJvbEJhc2V9IGZyb20gXCIuL21hbmFnZW1lbnQvZ3VpL01nQ29udHJvbEJhc2VcIjtcclxuaW1wb3J0IHtDb21tYW5kc30gZnJvbSBcIi4vQ29tbWFuZHNcIjtcclxuaW1wb3J0IHtNZ0Zvcm1CYXNlfSBmcm9tIFwiLi9tYW5hZ2VtZW50L2d1aS9NZ0Zvcm1CYXNlXCI7XHJcbmltcG9ydCB7Q29tbWFuZFR5cGUsIEh0bWxQcm9wZXJ0aWVzfSBmcm9tIFwiLi9HdWlFbnVtc1wiO1xyXG5pbXBvcnQge0V2ZW50c30gZnJvbSBcIi4vRXZlbnRzXCI7XHJcbmltcG9ydCB7UnVudGltZUNvbnRleHRCYXNlfSBmcm9tIFwiLi9tYW5hZ2VtZW50L1J1bnRpbWVDb250ZXh0QmFzZVwiO1xyXG5pbXBvcnQge1Byb3BJbnRlcmZhY2V9IGZyb20gXCIuL21hbmFnZW1lbnQvZ3VpL1Byb3BJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtHdWlFbnZpcm9ubWVudH0gZnJvbSBcIi4vR3VpRW52aXJvbm1lbnRcIjtcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgTWFuYWdlciB7XHJcbiAgc3RhdGljIElzT3ZlcmxheU9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuLy8gdGhpcyBvYmplY3QgaXMgdXNlZCBmb3IgZXhlY3V0aW9uIGFuZCBpbnRlcnJ1cHRpbmcgZGVsYXkgY29tbWFuZFxyXG4vLyBEYXRhIHRvIGJlIHdyaXR0ZW4gdG8gdGhlIGNsaXBib2FyZC5cclxuXHJcbiAgLy8gVGhpcyB3aWxsIGhvbGQgdGhlIGNvbnRleHRJRCBmb3IgYSBjdXJyZW50IHRocmVhZC5cclxuICAvLyBUaHJlYWQgc3RhdGljIGlzIGEgc2VwYXJhdGUgZm9yIGVhY2ggdGhyZWFkIChpLmUuOiB2YWx1ZSBvZiBhIHN0YXRpYyBmaWVsZCBpcyB1bmlxdWUgZm9yIGVhY2ggdGhyZWFkKS5cclxuICAvLyBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvc3lzdGVtLnRocmVhZHN0YXRpY2F0dHJpYnV0ZS5hc3B4XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnRDb250ZXh0SUQ6IHN0cmluZyA9ICdcXDAnO1xyXG5cclxuICBzdGF0aWMgRGVmYXVsdFByb3RvY29sOiBzdHJpbmcgPSBudWxsOyAvLyBkZWZhdWx0IHByb3RvY29sIChodHRwL2h0dHBzKSBhbmQgc2VydmVyIG5hbWUgdG8gYmUgdXNlZCBmb3IgYW55IHJlbGF0aXZlIHVybFxyXG4gIHN0YXRpYyBEZWZhdWx0U2VydmVyTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBzdGF0aWMgVXRpbEltZUpwbjogVXRpbEltZUpwbiA9IChVdGlsU3RyQnl0ZU1vZGUuaXNMb2NhbGVEZWZMYW5nSlBOKCkgPyBuZXcgVXRpbEltZUpwbigpIDogbnVsbCk7IC8vIEpQTjogSU1FIHN1cHBvcnRcclxuICBzdGF0aWMgRXZlbnRzTWFuYWdlcjogSUd1aUV2ZW50c01hbmFnZXIgPSBudWxsO1xyXG5cclxuICAvLy8gPHN1bW1hcnk+KHB1YmxpYylcclxuICAvLy8gU2V0IHRoZSBjb250ZXh0IElEIGZvciBhIGN1cnJlbnQgdGhyZWFkXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250ZXh0SURcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBTZXRDdXJyZW50Q29udGV4dElEKGNvbnRleHRJRDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBNYW5hZ2VyLl9jdXJyZW50Q29udGV4dElEID0gY29udGV4dElEO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgdGhlIGNvbnRleHQgSUQgZm9yIGEgY3VycmVudCB0aHJlYWRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz5jdXJyZW50IHRocmVhZCdzIGNvbnRleHRJRDwvcmV0dXJucz5cclxuICBzdGF0aWMgR2V0Q3VycmVudENvbnRleHRJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1hbmFnZXIuX2N1cnJlbnRDb250ZXh0SUQ7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyBJbml0KCk6IHZvaWQge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gIGNsb3NlIHRoZSB0YXNrXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZvcm1cIj4gPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtYWluUHJnVGFza1wiPjwvcGFyYW0+XHJcbiAgc3RhdGljIEFib3J0KGZvcm06IE1nRm9ybUJhc2UpOiB2b2lkIHtcclxuXHJcbiAgICBpZiAoZm9ybS5nZXRTdWJGb3JtQ3RybCgpID09PSBudWxsICYmIGZvcm0uT3BlbmVkKSB7XHJcbiAgICAgIC8vIGlmIHRoZSBjbG9zaW5nIGZvcm0gaXMgJ29wZW5lZCBhcyBhIG1vZGFsJyB0aGVuIGRlY3JlbWVudCB0aGUgbW9kYWwgY291bnQgb24gaXRzIGZyYW1lIHdpbmRvdy5cclxuICAgICAgaWYgKGZvcm0uaXNEaWFsb2coKSkge1xyXG4gICAgICAgIHRoaXMuSXNPdmVybGF5T3BlbiA9IGZhbHNlO1xyXG5cclxuICAgICAgICBsZXQgdG9wTW9zdEZyYW1lRm9ybTogTWdGb3JtQmFzZSA9IGZvcm0uZ2V0VG9wTW9zdEZyYW1lRm9ybSgpO1xyXG4gICAgICAgIGlmICh0b3BNb3N0RnJhbWVGb3JtICE9PSBudWxsKVxyXG4gICAgICAgICAgdG9wTW9zdEZyYW1lRm9ybS5VcGRhdGVNb2RhbEZvcm1zQ291bnQoZm9ybSwgZmFsc2UpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBDb21tYW5kcy5hZGRDbG9zZUZvcm0oZm9ybSwgXCIwXCIsIGZvcm0uZ2V0VGFzaygpLmdldFRhc2tUYWcoKSk7XHJcblxyXG4gICAgICBDb21tYW5kcy5iZWdpbkludm9rZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybnMgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGNvbnRyb2xcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY3RybFwiPmNvbnRyb2wgdG8gZ2V0IHZhbHVlIDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB2YWx1ZSBvZiB0aGUgY29udHJvbCA8L3JldHVybnM+XHJcbiAgc3RhdGljIEdldEN0cmxWYWwoY3RybDogTWdDb250cm9sQmFzZSk6IHN0cmluZyB7XHJcbiAgICAvLyBRQ1IgIzc0NTExNzogTWFrZSBzdXJlIHRoYXQgaWYgdGhlIGNvbnRlbnRzIG9mIGEgY29udHJvbCB3ZXJlIGNoYW5nZWRcclxuICAgIC8vIHRoZW4gdGhlIGNoYW5nZXMgYXJlIGFwcGxpZWQgYmVmb3JlIGV4YW1pbmluZyBpdHMgdmFsdWUuXHJcbiAgICByZXR1cm4gQ29tbWFuZHMuZ2V0VmFsdWUoY3RybCwgY3RybC5nZXREaXNwbGF5TGluZSh0cnVlKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgU2V0IHJlYWQgb25seSBmb3IgY29udHJvbHNcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiY3RybFwiPnRoZSBjb250cm9sIHRvIGNoYW5nZSBpdHMgcHJvcGVydHkgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImlzUmVhZE9ubHlcIj5ib29sZWFuIDwvcGFyYW0+XHJcbiAgc3RhdGljIGFzeW5jIFNldFJlYWRPbmx5Q29udHJvbChjdHJsOiBNZ0NvbnRyb2xCYXNlLCBpc1JlYWRPbmx5OiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoY3RybC5pc1RleHRDb250cm9sKCkgfHwgY3RybC5Jc1JlcGVhdGFibGUgfHwgY3RybC5pc0NvbWJvQm94KCkgfHwgY3RybC5pc0xpc3RCb3goKSB8fCBjdHJsLmlzQ2hlY2tCb3goKSB8fCBjdHJsLmlzUmFkaW8oKSkgLy8gRGVmZWN0IDEzMTgwMjogU2V0IFJlYWRPbmx5IGZvciBSaWNoIFRleHQgY29udHJvbCBpbiBUYWJsZSBIZWFkZXIgYW5kIGRlZmVjdCAxMzE3MDQ6IGluIGdlbmVyYWwgZm9yIFJpY2ggVGV4dC5cclxuICAgIHtcclxuICAgICAgLy8gSlBOOiBJTUUgc3VwcG9ydCAoZW5hYmxlIElNRSBpbiBxdWVyeSBtb2RlKVxyXG4gICAgICBpZiAoVXRpbFN0ckJ5dGVNb2RlLmlzTG9jYWxlRGVmTGFuZ0RCQ1MoKSkge1xyXG4gICAgICAgIGlmIChhd2FpdCBjdHJsLmdldEZvcm0oKS5nZXRUYXNrKCkuY2hlY2tQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0FMTE9XX0xPQ0FURV9JTl9RVUVSWSwgZmFsc2UpKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIENvbW1hbmRzLmFkZE9wZXJhdGlvbldpdGhMaW5lKENvbW1hbmRUeXBlLlNFVF9QUk9QRVJUWSwgY3RybCwgY3RybC5nZXREaXNwbGF5TGluZShmYWxzZSksIEh0bWxQcm9wZXJ0aWVzLlJlYWRPbmx5LCBpc1JlYWRPbmx5KTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBPcGVuIHRoZSBmb3JtLiA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdGb3JtXCI+Zm9ybSB0byBiZSBvcGVuZWQuPC9wYXJhbT5cclxuICBzdGF0aWMgT3BlbkZvcm0obWdGb3JtOiBNZ0Zvcm1CYXNlKTogdm9pZCB7XHJcbiAgICAvLyBub24gaW50ZXJhY3RpdmUgY2FuIGNob29zZSBub3QgdG8gb3BlbiB0aGUgd2luZG93LlxyXG4gICAgaWYgKCFtZ0Zvcm0uT3BlbmVkICYmIChtZ0Zvcm0uZ2V0VGFzaygpLklzSW50ZXJhY3RpdmUgfHwgbWdGb3JtLmdldFRhc2soKS5pc09wZW5XaW4oKSkpIHtcclxuICAgICAgaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgICAvLyBpZiB0aGUgZm9ybSBpcyB0byBiZSBvcGVuZWQgYXMgYSBtb2RhbCwgdGhlbiBpbmNyZW1lbnQgdGhlIG1vZGFsIGNvdW50IG9uIGl0cyBmcmFtZSB3aW5kb3cuXHJcbiAgICAgICAgaWYgKG1nRm9ybS5pc0RpYWxvZygpKSB7XHJcbiAgICAgICAgICB0aGlzLklzT3ZlcmxheU9wZW4gPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGxldCB0b3BNb3N0RnJhbWVGb3JtOiBNZ0Zvcm1CYXNlID0gbWdGb3JtLmdldFRvcE1vc3RGcmFtZUZvcm0oKTtcclxuICAgICAgICAgIGlmICh0b3BNb3N0RnJhbWVGb3JtICE9PSBudWxsKVxyXG4gICAgICAgICAgICB0b3BNb3N0RnJhbWVGb3JtLlVwZGF0ZU1vZGFsRm9ybXNDb3VudChtZ0Zvcm0sIHRydWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgICAgLy8gaWYgKCFtZ0Zvcm0uaXNTdWJGb3JtKCkpIHtcclxuICAgICAgLy8gICBsZXQgZm9ybU5hbWU6IHN0cmluZyA9IG1nRm9ybS5VbmlxdWVOYW1lO1xyXG4gICAgICAvLyAgIFVJQnJpZGdlLmdldEluc3RhbmNlKCkuT3BlbkZvcm0oZm9ybU5hbWUpO1xyXG5cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBlbHNlIHtcclxuICAgICAgLy8gICBsZXQgaW5wdXRDb250cm9scyA9IG1nRm9ybS5HZXRMaXN0T2ZJbnB1dENvbnRyb2xzKCk7XHJcbiAgICAgIC8vIC8vXHJcbiAgICAgIC8vIC8vICAgSlNCcmlkZ2UuSW5zdGFuY2UuT3BlblN1YkZvcm0odGhpcy5nZXRTdWJGb3JtQ3RybCgpLmdldE5hbWUoKSwgUGFyZW50Rm9ybS5nZXRUYXNrKCkuZ2V0VGFza1RhZygpLCBnZXRQcm9wKFByb3BJbnRlcmZhY2UuUFJPUF9UWVBFX0ZPUk1fTkFNRSkuZ2V0VmFsdWUoKSwgX3Rhc2suZ2V0VGFza1RhZygpLCBpbnB1dENvbnRyb2xzKTtcclxuICAgICAgLy8gLy8gfVxyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICBtZ0Zvcm0uT3BlbmVkID0gdHJ1ZTtcclxuXHJcbiAgICAgIENvbW1hbmRzLmJlZ2luSW52b2tlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IFBlcmZvcm1zIGZpcnN0IHJlZnJlc2ggZm9yIHRoZSB0YWJsZSBjb250cm9sIDwvc3VtbWFyeT5cclxuICBzdGF0aWMgYXN5bmMgRG9GaXJzdFJlZnJlc2hUYWJsZShtZ0Zvcm06IE1nRm9ybUJhc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmIChtZ0Zvcm0gIT09IG51bGwgJiYgIW1nRm9ybS5pZ25vcmVGaXJzdFJlZnJlc2hUYWJsZSkge1xyXG4gICAgICBtZ0Zvcm0uaWdub3JlRmlyc3RSZWZyZXNoVGFibGUgPSB0cnVlO1xyXG4gICAgICBhd2FpdCBtZ0Zvcm0uZmlyc3RUYWJsZVJlZnJlc2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGNsZWFuIHRoZSBzdGF0dXMgYmFyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRhc2tcIj48L3BhcmFtPlxyXG4gIHN0YXRpYyBDbGVhbk1lc3NhZ2VQYW5lKHRhc2s6IEd1aVRhc2tCYXNlKTogdm9pZCB7XHJcbiAgICB0YXNrLldyaXRlVG9NZXNzYWdlUGFuZShNYW5hZ2VyLkdldEN1cnJlbnRSdW50aW1lQ29udGV4dCgpLkRlZmF1bHRTdGF0dXNNc2cpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBNZXNzYWdlIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQgb24gc3RhdHVzIGJhciBvciBpbiBNZXNzYWdlIGJveFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dcIj4gaW5wdXQgbWVzc2FnZSBzdHJpbmcgPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IG91dHB1dCBtZXNzYWdlIHN0cmluZyA8L3JldHVybnM+XHJcbiAgc3RhdGljIEdldE1lc3NhZ2UobXNnOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKG1zZyA9PT0gbnVsbClcclxuICAgICAgbXNnID0gXCJcIjtcclxuICAgIGVsc2UgaWYgKG1zZy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGxldCBpZHhPZkNhcnJpYWdlOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcclwiKTtcclxuICAgICAgaWYgKGlkeE9mQ2FycmlhZ2UgIT09IC0xKVxyXG4gICAgICAgIG1zZyA9IG1zZy5zdWJzdHIoMCwgaWR4T2ZDYXJyaWFnZSk7XHJcblxyXG4gICAgICBsZXQgaWR4T2ZOZXdMaW5lOiBudW1iZXIgPSBtc2cuaW5kZXhPZihcIlxcblwiKTtcclxuICAgICAgaWYgKGlkeE9mTmV3TGluZSAhPT0gLTEpXHJcbiAgICAgICAgbXNnID0gbXNnLnN1YnN0cigwLCBpZHhPZk5ld0xpbmUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtc2c7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXRzIHRoZSBydW50aW1lIGNvbnRleHQgYmVsb25ncyB0byB0aGUgY3VycmVudCB0aHJlYWQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+UnVudGltZUNvbnRleHRCYXNlPC9yZXR1cm5zPlxyXG4gIHN0YXRpYyBHZXRDdXJyZW50UnVudGltZUNvbnRleHQoKTogUnVudGltZUNvbnRleHRCYXNlIHtcclxuICAgIHJldHVybiBFdmVudHMuR2V0UnVudGltZUNvbnRleHQoTWFuYWdlci5HZXRDdXJyZW50Q29udGV4dElEKCkpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyByZXR1cm4gU3BlY2lhbFZhbE5ld1BvbGljeVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwdWJsaWMgc3RhdGljIEdldFNwZWNpYWxWYWxOZXdQb2xpY3koKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U3BlY2lhbFZhbE5ld1BvbGljeSgpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -37,7 +37,7 @@ export class RecordUtils {
|
|
|
37
37
|
case StorageAttribute.TIME:
|
|
38
38
|
itemVal = !toBase64
|
|
39
39
|
? itemVal.substr(0, significantNumSize)
|
|
40
|
-
: Base64.encode(this.byteStreamToString(itemVal.substr(0, significantNumSize))
|
|
40
|
+
: Base64.encode(this.byteStreamToString(itemVal.substr(0, significantNumSize)));
|
|
41
41
|
break;
|
|
42
42
|
case StorageAttribute.ALPHA:
|
|
43
43
|
case StorageAttribute.UNICODE:
|
|
@@ -120,7 +120,7 @@ export class RecordUtils {
|
|
|
120
120
|
itemVal = itemVal.substr(pos, (fldValLen) - (pos));
|
|
121
121
|
itemVal = !toBase64
|
|
122
122
|
? StrUtil.stringToHexaDump(itemVal, 4)
|
|
123
|
-
: Base64.encode(itemVal
|
|
123
|
+
: Base64.encode(itemVal);
|
|
124
124
|
pos = fldValLen;
|
|
125
125
|
}
|
|
126
126
|
else {
|
|
@@ -129,7 +129,7 @@ export class RecordUtils {
|
|
|
129
129
|
if (!toBase64)
|
|
130
130
|
tmpBuf.Append(StrUtil.stringToHexaDump(itemVal.substr(pos, 0x7FFF), 4));
|
|
131
131
|
else
|
|
132
|
-
tmpBuf.Append(Base64.encode(itemVal.substr(pos, 0x7FFF)
|
|
132
|
+
tmpBuf.Append(Base64.encode(itemVal.substr(pos, 0x7FFF)));
|
|
133
133
|
tmpBuf.Append("0000");
|
|
134
134
|
pos += 0x7FFF;
|
|
135
135
|
}
|
|
@@ -358,4 +358,4 @@ export class RecordUtils {
|
|
|
358
358
|
return RecordUtils.getString(tmp, type, useHex);
|
|
359
359
|
}
|
|
360
360
|
}
|
|
361
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL21hbmFnZW1lbnQvZGF0YS9SZWNvcmRVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFFTCxtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFlBQVksRUFFWixhQUFhLEVBQ2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLGVBQWUsRUFDZixTQUFTLEVBQ1YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sT0FBTyxXQUFXO0lBR3RCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFXO1FBQ25DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sWUFBWSxhQUFhLENBQUMsRUFBRTtZQUNsRixPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRDtRQUNELE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFPTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBcUI7UUFDdkQsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxRQUFnQixDQUFDO1FBQ3JCLElBQUksTUFBTSxHQUFrQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3RSxLQUFLLElBQUksSUFBSSxHQUFXLENB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QUMsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUdELE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVyxFQUFFLElBQXNCO1FBQ3BELElBQUksTUFBTSxHQUFZLGNBQWMsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO2VBQ2xHLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUkscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3BGLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTztZQUN0RSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDekUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckI7O1lBRUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUVaLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25FeGNlcHRpb24sXHJcbiAgRGVidWcsXHJcbiAgRW5jb2RpbmcsXHJcbiAgSVNPXzg4NTlfMV9FbmNvZGluZyxcclxuICBOTnVtYmVyLFxyXG4gIE51bWJlclN0eWxlcyxcclxuICBSZWZQYXJhbSxcclxuICBTdHJpbmdCdWlsZGVyXHJcbn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7XHJcbiAgQmFzZTY0LFxyXG4gIFN0b3JhZ2VBdHRyaWJ1dGUsXHJcbiAgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLFxyXG4gIFN0clV0aWwsXHJcbiAgVXRpbFN0ckJ5dGVNb2RlLFxyXG4gIFhtbFBhcnNlclxyXG59IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7R3VpRW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi9HdWlFbnZpcm9ubWVudFwiO1xyXG5pbXBvcnQge1ZlY3RvclR5cGVCYXNlfSBmcm9tIFwiLi9WZWN0b3JUeXBlQmFzZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlY29yZFV0aWxzIHtcclxuICBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cmVhbTogU3RyaW5nQnVpbGRlcik6IHN0cmluZztcclxuICBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cmVhbTogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBieXRlU3RyZWFtVG9TdHJpbmcoc3RyZWFtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKHN0cmVhbSA9PT0gbnVsbCB8fCBzdHJlYW0gaW5zdGFuY2VvZiBTdHJpbmdCdWlsZGVyKSkge1xyXG4gICAgICByZXR1cm4gUmVjb3JkVXRpbHMuYnl0ZVN0cmVhbVRvU3RyaW5nXzAoc3RyZWFtKTtcclxuICAgIH1cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5ieXRlU3RyZWFtVG9TdHJpbmdfMShzdHJlYW0pO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRyYW5zbGF0ZSBieXRlIHN0cmVhbSB0byBTdHJpbmdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmVzdWx0XCI+b2YgdGhlIHRyYW5zbGF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0cmVhbVwiPihpbiBTdHJpbmdCdWZmZXIgZm9ybSkgdG8gdHJhbnNsYXRlIGZyb208L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIGJ5dGVTdHJlYW1Ub1N0cmluZ18wKHN0cmVhbTogU3RyaW5nQnVpbGRlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgY3VyclN0cjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJDaGFyOiBzdHJpbmc7XHJcbiAgICBsZXQgcmVzdWx0OiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoTWF0aC5mbG9vcihzdHJlYW0uTGVuZ3RoIC8gMikpO1xyXG5cclxuICAgIGZvciAobGV0IGluZHg6IG51bWJlciA9IDA7IGluZHggPCBzdHJlYW0uTGVuZ3RoOyBpbmR4ID0gaW5keCArIDIpIHtcclxuICAgICAgY3VyclN0ciA9IHN0cmVhbS5nZXRfSXRlbShpbmR4KSArIHN0cmVhbS5nZXRfSXRlbShpbmR4ICsgMSk7XHJcbiAgICAgIGN1cnJDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShOTnVtYmVyLlBhcnNlKGN1cnJTdHIsIE51bWJlclN0eWxlcy5IZXhOdW1iZXIpKTtcclxuICAgICAgcmVzdWx0LkFwcGVuZChjdXJyQ2hhcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0LlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgdHJhbnNsYXRlIGJ5dGUgc3RyZWFtIHRvIFN0cmluZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nXzEoc3RyZWFtOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFJlY29yZFV0aWxzLmJ5dGVTdHJlYW1Ub1N0cmluZyhuZXcgU3RyaW5nQnVpbGRlcihzdHJlYW0pKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzZXJpYWxpemUgYW4gaXRlbSAoZmllbGQvZ2xvYmFsIHBhcmFtLy4uLikgdG8gYW4gWE1MIGZvcm1hdCAoYXBwbGljYWJsZSB0byBiZSBwYXNzZWQgdG8gdGhlIHNlcnZlcikuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIml0ZW1WYWxcIj5pdGVtJ3MgdmFsdWU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXRlbUF0dHJcIj5pdGVtJ3MgYXR0cmlidXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNlbGxBdHRyXCI+Y2VsbCdzIGF0dHJpYnV0ZSAtIHJlbGV2YW50IG9ubHkgaWYgJ2l0ZW1BdHRyJyBpcyB2ZWN0b3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidG9CYXNlNjRcIj5kZWNpZGUgQmFzZTY0IGVuY29kaW5nIGlzIHRvIGJlIGRvbmU8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5zZXJpYWxpemVkIGJ1ZmZlcjwvcmV0dXJucz5cclxuICBzdGF0aWMgc2VyaWFsaXplSXRlbVZhbChpdGVtVmFsOiBzdHJpbmcsIGl0ZW1BdHRyOiBTdG9yYWdlQXR0cmlidXRlLCBjZWxsQXR0cjogU3RvcmFnZUF0dHJpYnV0ZSwgdG9CYXNlNjQ6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgRGVidWcuQXNzZXJ0KGl0ZW1WYWwgIT0gbnVsbCk7XHJcblxyXG4gICAgbGV0IHNpZ25pZmljYW50TnVtU2l6ZTogbnVtYmVyID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U2lnbmlmaWNhbnROdW1TaXplKCkgKiAyO1xyXG5cclxuICAgIGxldCB2YWx1ZVNpemU6IHN0cmluZztcclxuICAgIGxldCBqOiBudW1iZXI7XHJcbiAgICBsZXQgdG1wQnVmID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIGxldCBwb3M6IG51bWJlcjtcclxuICAgIGxldCBmbGRWYWxMZW46IG51bWJlciA7XHJcblxyXG4gICAgLy8gZm9yIGFscGhhIHR5cGUgYWRkIHRoZSBsZW5ndGggb2YgdGhlIHZhbHVlIGFzIGhleCBudW1iZXIgb2YgNCBkaWdpdHNcclxuICAgIHN3aXRjaCAoaXRlbUF0dHIpIHtcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUM6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5EQVRFOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVElNRTpcclxuICAgICAgICBpdGVtVmFsID0gIXRvQmFzZTY0XHJcbiAgICAgICAgICA/IGl0ZW1WYWwuc3Vic3RyKDAsIHNpZ25pZmljYW50TnVtU2l6ZSlcclxuICAgICAgICAgIDogQmFzZTY0LmVuY29kZSh0aGlzLmJ5dGVTdHJlYW1Ub1N0cmluZyhpdGVtVmFsLnN1YnN0cigwLCBzaWduaWZpY2FudE51bVNpemUpKSwgR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0RW5jb2RpbmcoKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICAgIGl0ZW1WYWwgPSBTdHJVdGlsLnJ0cmltKGl0ZW1WYWwpO1xyXG4gICAgICAgIHBvcyA9IDA7XHJcbiAgICAgICAgZmxkVmFsTGVuID0gaXRlbVZhbC5sZW5ndGg7XHJcblxyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgIGxldCBudWxsQ2hyUG9zOiBudW1iZXIgPSBpdGVtVmFsLmluZGV4T2YoU3RyaW5nLmZyb21DaGFyQ29kZSgwKSwgcG9zKTtcclxuICAgICAgICAgIGlmIChudWxsQ2hyUG9zID09PSAtMSkge1xyXG4gICAgICAgICAgICB2YWx1ZVNpemUgPSAoZmxkVmFsTGVuIC0gcG9zKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDQgLSB2YWx1ZVNpemUubGVuZ3RoOyBqKyspXHJcbiAgICAgICAgICAgICAgdG1wQnVmLkFwcGVuZCgnMCcpO1xyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAocG9zID4gMClcclxuICAgICAgICAgICAgICBpdGVtVmFsID0gaXRlbVZhbC5zdWJzdHIocG9zLCAoZmxkVmFsTGVuKSAtIChwb3MpKTtcclxuXHJcbiAgICAgICAgICAgIHBvcyA9IGZsZFZhbExlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBJZiBOVUxMIGNoYXJzIGV4aXN0IGluIHRoZSBtaWRkbGUgb2YgdGhlIHZhbHVlIC0gY3JlYXRlIGEgc3Bhbm5lZCByZWNvcmRcclxuICAgICAgICAgICAgLy8gVHVybiBvbiB0aGUgaGlnaCBtb3N0IGJpdCBpbiB0aGUgbGVuZ3RoICh0byBpbmRpY2F0ZSBhIHNlZ21lbnQpXHJcbiAgICAgICAgICAgIHZhbHVlU2l6ZSA9IChudWxsQ2hyUG9zIC0gcG9zICsgMHg4MDAwKS50b1N0cmluZyAoMTYpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuICAgICAgICAgICAgdG1wQnVmLkFwcGVuZChpdGVtVmFsLnN1YnN0cihwb3MsIChudWxsQ2hyUG9zKSAtIChwb3MpKSk7XHJcblxyXG4gICAgICAgICAgICAvLyBDb3VudCBudW1iZXIgb2YgY29uc2VjdXRpdmUgTlVMTCBjaGFycywgYW5kIGFkZCB0aGVpciBjb3VudCB0byBYTUxcclxuICAgICAgICAgICAgZm9yIChqID0gMTsgaiA8IGZsZFZhbExlbiAtIG51bGxDaHJQb3MgJiYgaXRlbVZhbC5jaGFyQ29kZUF0KG51bGxDaHJQb3MgKyBqKSA9PT0gMDsgaisrKSB7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgdmFsdWVTaXplID0gXCIwMDAwXCIgKyAoai50b1N0cmluZygxNikpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplLnN1YnN0cih2YWx1ZVNpemUubGVuZ3RoIC0gNCkpO1xyXG5cclxuICAgICAgICAgICAgLy8gQXBwZW5kIGEgaGV4IGR1bXAgb2Ygc3BlY2lhbCBjaGFyc1xyXG4gICAgICAgICAgICBmb3IgKHBvcyA9IG51bGxDaHJQb3M7IGogPiAwOyBqLS0sIHBvcysrKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjogc3RyaW5nID0gXCIwXCIgKyBpdGVtVmFsLmNoYXJDb2RlQXQobnVsbENoclBvcykudG9TdHJpbmcoMTYpO1xyXG4gICAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodG1wU3RyLnN1YnN0cih0bXBTdHIubGVuZ3RoIC0gMikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJZiBzcGVjaWFsIGNoYXJzIHdlcmUgbGFzdCwgYWRkIHRoZSBsZW5ndGggb2YgdGhlIGxhc3Qgc2VnbWVudCAoemVybylcclxuICAgICAgICAgICAgaWYgKHBvcyA+PSBmbGRWYWxMZW4pIHtcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgICBpdGVtVmFsID0gXCJcIjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gd2hpbGUgKHBvcyA8IGZsZFZhbExlbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQjpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuRE9UTkVUOlxyXG4gICAgICAgIHBvcyA9IDA7XHJcblxyXG4gICAgICAgIGZsZFZhbExlbiA9IGl0ZW1WYWwubGVuZ3RoO1xyXG5cclxuICAgICAgICBpZiAoVXRpbFN0ckJ5dGVNb2RlLmlzTG9jYWxlRGVmTGFuZ0RCQ1MoKSAmJiBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CX1ZFQ1RPUikge1xyXG4gICAgICAgICAgaWYgKGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLk1FTU8pIHtcclxuICAgICAgICAgICAgaXRlbVZhbCA9IFZlY3RvclR5cGVCYXNlLmFkanVzdEFscGhhU3RyaW5nc0luRmxhdERhdGEoaXRlbVZhbCk7XHJcblxyXG4gICAgICAgICAgICAvLyBUaGUgZmxhdCBkYXRhIHdpbGwgYmUgZGl2aWRlZCBieSAweDNGRkYgY2hhcmFjdGVycy5cclxuICAgICAgICAgICAgLy8gRWFjaCBzZWdtZW50IHdpbGwgYmUgc2l6ZSBpbiAweDNGRkYgfiAweDdGRkYgYnl0ZXMuXHJcbiAgICAgICAgICAgIC8vIFRoZSBzaXplIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBEQkNTIGNoYXJhY3RlcnMsIG5vdCBmaXhlZCBpbiAweDdGRkYuXHJcbiAgICAgICAgICAgIGRvIHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVZhbC5sZW5ndGggPCBwb3MgKyAweDNGRkYpXHJcbiAgICAgICAgICAgICAgLy8gKDB4ODAwMCAtIDEpIC8gMiA9IDB4M0ZGRlxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlmIChwb3MgPiAwKVxyXG4gICAgICAgICAgICAgICAgICBpdGVtVmFsID0gaXRlbVZhbC5zdWJzdHIocG9zKTtcclxuXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVNpemUgPSAoVXRpbFN0ckJ5dGVNb2RlLmxlbkIoaXRlbVZhbCkudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCA0IC0gdmFsdWVTaXplLmxlbmd0aDsgaisrKVxyXG4gICAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCcwJyk7XHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaGV4IGVuY29kaW5nXHJcbiAgICAgICAgICAgICAgICBpdGVtVmFsID0gIXRvQmFzZTY0XHJcbiAgICAgICAgICAgICAgICAgID8gU3RyVXRpbC5zdHJpbmdUb0hleGFEdW1wKGl0ZW1WYWwsIDQpXHJcbiAgICAgICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShpdGVtVmFsLCB0cnVlLCBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3MgPSBmbGRWYWxMZW47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHN0clN1Yjogc3RyaW5nID0gaXRlbVZhbC5zdWJzdHIocG9zLCAweDNGRkYpO1xyXG4gICAgICAgICAgICAgICAgLy8gKyAweDgwMDAgLi4uIHRvIGluZGljYXRlIG5vdCB0aGUgbGFzdCBzZWdtZW50XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVNpemUgPSAoKFV0aWxTdHJCeXRlTW9kZS5sZW5CKHN0clN1YikgKyAweDgwMDApLnRvU3RyaW5nKDE2KSkudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBoZXggb3IgYmFzZTY0IGVuY29kaW5nXHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCF0b0Jhc2U2NFxyXG4gICAgICAgICAgICAgICAgICA/IFN0clV0aWwuc3RyaW5nVG9IZXhhRHVtcChzdHJTdWIsIDQpXHJcbiAgICAgICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShzdHJTdWIsIHRydWUsIEd1aUVudmlyb25tZW50LkVudmlyb25tZW50LkdldEVuY29kaW5nKCkpKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgICAgIHBvcyArPSAweDNGRkY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IHdoaWxlIChwb3MgPCBmbGRWYWxMZW4pIDtcclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZG8ge1xyXG4gICAgICAgICAgaWYgKGZsZFZhbExlbiA8IHBvcyArIDB4N0ZGRilcclxuICAgICAgICAgIC8vIDB4ODAwMCAtMSA9IDB4N0ZGRlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZVNpemUgPSAoKGZsZFZhbExlbiAtIHBvcykudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICAvLyBhZGQgbGVhZGluZyB6ZXJvcyAoaWYgbmVlZGVkKVxyXG4gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgNCAtIHZhbHVlU2l6ZS5sZW5ndGg7IGorKylcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCcwJyk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwb3MgPiAwKVxyXG4gICAgICAgICAgICAgIGl0ZW1WYWwgPSBpdGVtVmFsLnN1YnN0cihwb3MsIChmbGRWYWxMZW4pIC0gKHBvcykpO1xyXG5cclxuICAgICAgICAgICAgLy8gaGV4IGVuY29kaW5nXHJcbiAgICAgICAgICAgIGl0ZW1WYWwgPSAhdG9CYXNlNjRcclxuICAgICAgICAgICAgICA/IFN0clV0aWwuc3RyaW5nVG9IZXhhRHVtcChpdGVtVmFsLCA0KVxyXG4gICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShpdGVtVmFsLCBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpKTtcclxuXHJcbiAgICAgICAgICAgIHBvcyA9IGZsZFZhbExlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0byBpbmRpY2F0ZSB0aGUgZnVsbCBzZWdtZW50XHJcbiAgICAgICAgICAgIHZhbHVlU2l6ZSA9IFwiRkZGRlwiOyAvLyAoSW50ZWdlci50b0hleFN0cmluZyAoMHhGRkZGKSkudG9VcHBlckNhc2UoKVxyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICAvLyBoZXggb3IgYmFzZTY0IGVuY29kaW5nXHJcbiAgICAgICAgICAgIGlmICghdG9CYXNlNjQpXHJcbiAgICAgICAgICAgICAgdG1wQnVmLkFwcGVuZChTdHJVdGlsLnN0cmluZ1RvSGV4YUR1bXAoaXRlbVZhbC5zdWJzdHIocG9zLCAweDdGRkYpLCA0KSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKEJhc2U2NC5lbmNvZGUoaXRlbVZhbC5zdWJzdHIocG9zLCAweDdGRkYpLCBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpKSk7XHJcblxyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgcG9zICs9IDB4N0ZGRjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IHdoaWxlIChwb3MgPCBmbGRWYWxMZW4pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfSAvLyBlbmQgb2YgdGhlIHR5cGUgY2FzZSBibG9ja1xyXG4gICAgdG1wQnVmLkFwcGVuZChpdGVtVmFsKTtcclxuICAgIHJldHVybiB0bXBCdWYuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRGVzZXJpYWxpemVzIGFuIGl0ZW0ncyAoZmllbGQvZ2xvYmFsIHBhcmFtLy4uLikgdmFsdWUgPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIml0ZW1WYWxcIj5pdGVtJ3MgdmFsdWU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIml0ZW1BdHRyXCI+aXRlbSdzIGF0dHJpYnV0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaXRlbUxlblwiPml0ZW0ncyBsZW5ndGg8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZUhleFwiPmluZGljYXRlcyB3aGV0aGVyIHRoZSBpdGVtVmFsIGlzIGluIEhleCBvciBCYXNlNjQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNlbGxBdHRyXCI+Y2VsbCdzIGF0dHJpYnV0ZSAtIHJlbGV2YW50IG9ubHkgaWYgJ2l0ZW1BdHRyJyBpcyB2ZWN0b3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInBhcnNlZExlblwiPm91dCBwYXJhbWV0ZXIuIFJldHVybnMgdGhlIGxlbmd0aCBvZiBpdGVtVmFsIHBhcnNlZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgZGVTZXJpYWxpemVJdGVtVmFsKGl0ZW1WYWw6IHN0cmluZywgaXRlbUF0dHI6IFN0b3JhZ2VBdHRyaWJ1dGUsIGl0ZW1MZW46IG51bWJlciwgdXNlSGV4OiBib29sZWFuLCBjZWxsQXR0cjogU3RvcmFnZUF0dHJpYnV0ZSwgcGFyc2VkTGVuOiBSZWZQYXJhbTxudW1iZXI+KTogc3RyaW5nIHtcclxuICAgIGxldCB2YWw6IHN0cmluZyA9IG51bGw7XHJcbiAgICBsZXQgaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGxlbjogbnVtYmVyLCBlbmRJZHg6IG51bWJlcjtcclxuICAgIGxldCBzdWZmaXhCdWY6IFN0cmluZ0J1aWxkZXIgPSBudWxsO1xyXG4gICAgbGV0IHRtcDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICBpZiAoaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEFcclxuICAgICAgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERVxyXG4gICAgICB8fCBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CXHJcbiAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkRPVE5FVFxyXG4gICAgKSB7XHJcbiAgICAgIC8vIGZpcnN0IDQgY2hhcmFjdGVycyBhcmUgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIChoZXggbnVtYmVyKVxyXG4gICAgICBlbmRJZHggPSBpZHggKyA0O1xyXG4gICAgICB0bXAgPSBpdGVtVmFsLnN1YnN0cihpZHgsIChlbmRJZHgpIC0gKGlkeCkpO1xyXG4gICAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICAgIGlkeCA9IGVuZElkeDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4pXHJcbiAgICAgIGxlbiA9IDE7XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IHNpZ25pZmljYW50TnVtU2l6ZTogbnVtYmVyID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U2lnbmlmaWNhbnROdW1TaXplKCk7XHJcbiAgICAgIGlmICh1c2VIZXgpXHJcbiAgICAgICAgbGVuID0gc2lnbmlmaWNhbnROdW1TaXplICogMjtcclxuICAgICAgZWxzZVxyXG4gICAgICAvLyBpZiB3b3JraW5nIGluIGJhc2U2NFxyXG4gICAgICAgIGxlbiA9IChNYXRoLmZsb29yKChzaWduaWZpY2FudE51bVNpemUgKyAyKSAvIDMpICogNCk7XHJcbiAgICB9XHJcbiAgICAvLyBPb3BzLCBkaWQgd2UgYnVtcGVkIGludG8gYSBzcGFubmVkIHJlY29yZCAoV2UgaWRlbnRpZnkgaXQgd2hlbiB0aGUgaGlnaC1tb3N0IGJpdCBpcyBvbik/XHJcbiAgICBpZiAoKGxlbiAmIDB4ODAwMCkgPiAwKSB7XHJcbiAgICAgIHN1ZmZpeEJ1ZiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgIGxlbiA9IChsZW4gJiAweDdGRkYpO1xyXG5cclxuICAgICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0IgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1JcclxuICAgICAgICB8fCBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiAqPSAyO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGxlbiA9IChNYXRoLmZsb29yKChsZW4gKyAyKSAvIDMpICogNCk7XHJcblxyXG4gICAgICBwYXJzZWRMZW4udmFsdWUgPSB0aGlzLmdldFNwYW5uZWRGaWVsZChpdGVtVmFsLCBsZW4sIGlkeCwgaXRlbUF0dHIsIHN1ZmZpeEJ1ZiwgdXNlSGV4KTtcclxuICAgICAgdmFsID0gc3VmZml4QnVmLlRvU3RyaW5nKCk7XHJcbiAgICAgIGVuZElkeCA9IGlkeCArIHBhcnNlZExlbi52YWx1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQlxyXG4gICAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuRE9UTkVUXHJcbiAgICAgIClcclxuICAgICAgICBpZiAodXNlSGV4KVxyXG4gICAgICAgICAgbGVuICo9IDI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgbGVuID0gKE1hdGguZmxvb3IoKGxlbiArIDIpIC8gMykgKiA0KTtcclxuXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbjtcclxuICAgICAgaWYgKGVuZElkeCA+IGl0ZW1WYWwubGVuZ3RoKVxyXG4gICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5maWxsRmllbGRzRGF0YSgpIGRhdGEgc3RyaW5nIHRvbyBzaG9ydDpcXG5cIiArIGl0ZW1WYWwpO1xyXG5cclxuICAgICAgaWYgKFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkgJiYgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXRTdHJpbmcoaXRlbVZhbC5zdWJzdHIoaWR4LCAoZW5kSWR4KSAtIChpZHgpKSwgaXRlbUF0dHIsIHVzZUhleCwgKGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBKSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB2YWwgPSB0aGlzLmdldFN0cmluZyhpdGVtVmFsLnN1YnN0cihpZHgsIChlbmRJZHgpIC0gKGlkeCkpLCBpdGVtQXR0ciwgdXNlSGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUpIHtcclxuICAgICAgbGVuID0gaXRlbUxlbjtcclxuICAgICAgdmFsID0gU3RyVXRpbC5wYWRTdHIodmFsLCBsZW4pO1xyXG5cclxuICAgICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBICYmIFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkpXHJcbiAgICAgICAgdmFsID0gVXRpbFN0ckJ5dGVNb2RlLmxlZnRCKHZhbCwgbGVuKTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZWRMZW4udmFsdWUgPSBlbmRJZHg7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0U3RyaW5nKHN0cjogc3RyaW5nLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBnZXRTdHJpbmcoc3RyOiBzdHJpbmcsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHVzZUhleDogYm9vbGVhbik6IHN0cmluZztcclxuICBzdGF0aWMgZ2V0U3RyaW5nKHN0cjogc3RyaW5nLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlLCB1c2VIZXg6IGJvb2xlYW4sIHVzZUVudkNoYXJzZXQ6IGJvb2xlYW4pOiBzdHJpbmc7XHJcbiAgc3RhdGljIGdldFN0cmluZyhzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4PzogYm9vbGVhbiwgdXNlRW52Q2hhcnNldD86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpXHJcbiAgICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmdfMChzdHIsIHR5cGUsIHVzZUhleCk7XHJcblxyXG4gICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgcmV0dXJuIFJlY29yZFV0aWxzLmdldFN0cmluZ18yKHN0ciwgdHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIFJlY29yZFV0aWxzLmdldFN0cmluZ18xKHN0ciwgdHlwZSwgdXNlSGV4LCB1c2VFbnZDaGFyc2V0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8cmV0dXJucz4gcmlnaHQgc3RyaW5nIGluIGNvbmZpZGVuY2Ugd2l0aCB0aGUgdHlwZTwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTdHJpbmdfMChzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmcoc3RyLCB0eXBlLCB1c2VIZXgsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8cmV0dXJucz4gcmlnaHQgc3RyaW5nIGluIGNvbmZpZGVuY2Ugd2l0aCB0aGUgdHlwZTwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTdHJpbmdfMShzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4OiBib29sZWFuLCB1c2VFbnZDaGFyc2V0OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmICh1c2VIZXgpIHtcclxuICAgICAgaWYgKHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQiB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgcmVzdWx0ID0gUmVjb3JkVXRpbHMuYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cik7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSBzdHI7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQiB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgcmVzdWx0ID0gQmFzZTY0LmRlY29kZShzdHIsIHVzZUVudkNoYXJzZXQgPyBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpIDogbnVsbCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSBCYXNlNjQuZGVjb2RlVG9IZXgoc3RyKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0U3Bhbm5lZEZpZWxkKGZsZHNWYWw6IHN0cmluZywgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuKTogbnVtYmVyO1xyXG4gIHN0YXRpYyBnZXRTcGFubmVkRmllbGQoZmxkc1ZhbDogVWludDhBcnJheSwgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuLCBub09mUGFja2V0czogbnVtYmVyKTogbnVtYmVyO1xyXG4gIHN0YXRpYyBnZXRTcGFubmVkRmllbGQoZmxkc1ZhbDogYW55LCBmaXJzdFNlZ0xlbjogbnVtYmVyLCBpZHg6IG51bWJlciwgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgcmVzdWx0OiBTdHJpbmdCdWlsZGVyLCB1c2VIZXg6IGJvb2xlYW4sIG5vT2ZQYWNrZXRzPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA2KVxyXG4gICAgICByZXR1cm4gUmVjb3JkVXRpbHMuZ2V0U3Bhbm5lZEZpZWxkXzAoZmxkc1ZhbCwgZmlyc3RTZWdMZW4sIGlkeCwgdHlwZSwgcmVzdWx0LCB1c2VIZXgpO1xyXG5cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTcGFubmVkRmllbGRfMShmbGRzVmFsLCBmaXJzdFNlZ0xlbiwgaWR4LCB0eXBlLCByZXN1bHQsIHVzZUhleCwgbm9PZlBhY2tldHMpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFRyYW5zbGF0ZSBYTUwgLT4gZmllbGQgdmFsdWUgZm9yIGEgc3Bhbm5lZCBBTFBIQSBmaWVsZCwgYW5kIHJldHVybiB0aGUgYWN0dWFsXHJcbiAgLy8vICAgZmllbGQncyBsZW5ndGguIEEgc3Bhbm5lZCBmaWVsZCBtYXkgYmUgYWNjZXB0ZWQgZnJvbSB0aGUgc2VydmVyIHdoZW4gYW5cclxuICAvLy8gICBBTFBIQSBpbmNsdWRlcyBzcGVjaWFsIGNoYXJzIHN1Y2ggYXMgTlVMTCB3aGljaCBjYW5ub3QgYmUgZXNjYXBlZCB1c2luZyBhICdcXCcgKGxpa2UsXHJcbiAgLy8vICAgZm9yIGV4YW1wbGUsICdcXFwiJykuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZsZHNWYWxcIj5zdHJpbmcgZm9yIHBhcnNpbmc8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmlyc3RTZWdMZW5cIj5sZW5ndGggKGluIGNoYXJzKSBvZiBmaXJzdCBzZWdtZW50LjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpZHhcIj5pbmRleCBpbiBzdHJpbmcsIGZyb20gd2hpY2ggdGhlIGZpcnN0IHNlZ21lbnRzIGRhdGEgc3RhcnRzLjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlXCI+b2YgdmFyaWFibGUgaXMgbG9va2luZyBmb3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmVzdWx0XCI+dGhlIHJlc3VsdCBzdHJpbmcsIHdoaWNoIHdpbGwgY29udGFpbiB0aGUgcGFyc2VkIGZpZWxkIGNvbnRlbnQuPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTcGFubmVkRmllbGRfMChmbGRzVmFsOiBzdHJpbmcsIGZpcnN0U2VnTGVuOiBudW1iZXIsIGlkeDogbnVtYmVyLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlLCByZXN1bHQ6IFN0cmluZ0J1aWxkZXIsIHVzZUhleDogYm9vbGVhbik6IG51bWJlciB7XHJcbiAgICBsZXQgZW5kSWR4OiBudW1iZXIgPSBpZHggKyBmaXJzdFNlZ0xlbjtcclxuICAgIGxldCBsZW46IG51bWJlcjtcclxuICAgIGxldCBiZWdpbjogbnVtYmVyID0gaWR4O1xyXG4gICAgbGV0IGFzY2lpQ29kZTogc3RyaW5nO1xyXG4gICAgbGV0IHRtcDogc3RyaW5nO1xyXG4gICAgbGV0IHN1ZmZpeEJ1ZjogU3RyaW5nQnVpbGRlciA9IG51bGw7XHJcbiAgICBsZXQgcGFyc2VkTGVuOiBudW1iZXI7XHJcblxyXG4gICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBhcHBlbmQgZmlyc3Qgc2VnbWVudFxyXG4gICAgcmVzdWx0LlJlbW92ZSgwLCByZXN1bHQuTGVuZ3RoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQoUmVjb3JkVXRpbHMuZ2V0U3RyaW5nKGZsZHNWYWwuc3Vic3RyKGlkeCwgZW5kSWR4IC0gaWR4KSwgdHlwZSwgdXNlSGV4KSk7XHJcblxyXG4gICAgaWR4ID0gaWR4ICsgZmlyc3RTZWdMZW47XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJhY3RlcnMgYXJlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAoaGV4IG51bWJlcikgb2Ygc3BlY2lhbCBieXRlcy5cclxuICAgIGVuZElkeCA9IGlkeCArIDQ7XHJcbiAgICB0bXAgPSBmbGRzVmFsLnN1YnN0cihpZHgsIGVuZElkeCAtIGlkeCk7XHJcbiAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgLy8gaWYgd29ya2luZyBpbiBoZXhcclxuICAgIGlmICh1c2VIZXgpXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbiAqIDI7XHJcbiAgICBlbHNlXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIE1hdGguZmxvb3IoKGxlbiArIDIpIC8gMyApICogNDtcclxuXHJcbiAgICBpZiAoZW5kSWR4ID4gZmxkc1ZhbC5sZW5ndGgpXHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAvLyBhcHBlbmQgc3BlY2lhbCBjaGFycywgb25lIGJ5IG9uZVxyXG4gICAgd2hpbGUgKGlkeCA8IGVuZElkeCkge1xyXG4gICAgICB0bXAgPSBmbGRzVmFsLnN1YnN0cihpZHgsIDIpO1xyXG4gICAgICBhc2NpaUNvZGUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKE5OdW1iZXIuUGFyc2UodG1wLCBOdW1iZXJTdHlsZXMuSGV4TnVtYmVyKSk7XHJcbiAgICAgIHJlc3VsdC5BcHBlbmQoYXNjaWlDb2RlKTtcclxuICAgICAgaWR4ID0gaWR4ICsgMjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBuZXh0IDQgY2hhcnMgYXJlIHRoZSBsZW5ndGggb2YgbmV4dCBzZWdtZW50XHJcbiAgICBlbmRJZHggPSBpZHggKyA0O1xyXG4gICAgdG1wID0gZmxkc1ZhbC5zdWJzdHIoaWR4LCBlbmRJZHggLSBpZHgpO1xyXG4gICAgbGVuID0gTk51bWJlci5QYXJzZSh0bXAsIE51bWJlclN0eWxlcy5IZXhOdW1iZXIpO1xyXG4gICAgaWR4ID0gZW5kSWR4O1xyXG5cclxuICAgIGlmICgobGVuICYgMHg4MDAwKSA+IDApIHtcclxuICAgICAgLy8gT29wcywgbmV4dCBzZWdtZW50IG1heSBhbHNvIGJlIHNwYW5uZWRcclxuICAgICAgc3VmZml4QnVmID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgbGVuID0gKGxlbiAmIDB4N0ZGRik7XHJcblxyXG4gICAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiA9IGxlbiAqIDI7XHJcbiAgICAgICAgLy8gd29ya2luZyBpbiBiYXNlNjRcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBsZW4gPSBNYXRoLmZsb29yKChsZW4gKyAyKSAvIDMpICogNDtcclxuXHJcbiAgICAgIHBhcnNlZExlbiA9IFJlY29yZFV0aWxzLmdldFNwYW5uZWRGaWVsZChmbGRzVmFsLCBsZW4sIGlkeCwgdHlwZSwgc3VmZml4QnVmLCB1c2VIZXgpO1xyXG4gICAgICAvLyBhZnRlciB1c2luZyByZWN1cnNpdmUgZnVuY3Rpb24gdGVoIHN1ZmZpeEJ1ZiBpcyBpbiB0aGUgcmlnaHQgdHJhbnNmb3JtZWQgZm9ybVxyXG4gICAgICByZXN1bHQuQXBwZW5kKHN1ZmZpeEJ1Zi5Ub1N0cmluZygpKTtcclxuXHJcbiAgICAgIGlkeCA9IGlkeCArIHBhcnNlZExlbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiA9IGxlbiAqIDI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgbGVuID0gTWF0aC5mbG9vcigobGVuICsgMikgLyAzKSAqIDQ7XHJcblxyXG4gICAgICAvLyBuZXh0IHNlZ21lbnQgaXNuJ3Qgc3Bhbm5lZC4gSXQgbXVzdCBiZSB0aGUgbGFzdCBvbmUuXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbjtcclxuICAgICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKVxyXG4gICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5maWxsRmllbGRzRGF0YSgpIGRhdGEgc3RyaW5nIHRvbyBzaG9ydDpcXG5cIiArIGZsZHNWYWwpO1xyXG5cclxuICAgICAgcmVzdWx0LkFwcGVuZChSZWNvcmRVdGlscy5nZXRTdHJpbmcoZmxkc1ZhbC5zdWJzdHIoaWR4LCBlbmRJZHggLSBpZHgpLCB0eXBlLCB1c2VIZXgpKTtcclxuICAgICAgaWR4ID0gZW5kSWR4O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpZHggLSBiZWdpbjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gVHJhbnNsYXRlIHZhbHVlIG9mIHRoZSBzcGFubmVkIGZpZWxkIHRvIGFjdHVhbCB2YWx1ZS4gRmllbGQgdmFsdWUgd2lsbCBiZSBpbiB0aGUgZm9ybWF0IG9mIGxlbmd0aCBhbmQgZGF0YVxyXG4gIC8vLyBbIChMZW5ndGggfCBkYXRhKSAoKExlbmd0aCB8IGRhdGEpKS4uLi4uXVxyXG4gIC8vLyBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVhZCBsZW5ndGggYW5kIGRhdGEgb2YgZWFjaCBwYWNrZXQgYW5kIHJldHVybiBhY3R1YWwgdmFsdWUuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmbGRzVmFsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmaXJzdFNlZ0xlblwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaWR4XCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0eXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXN1bHRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZUhleFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibm9PZlBhY2tldHNcIj4gVG90YWwgbnVtYmVyIG9mIHBhY2tldHMgc2VudCBmcm9tIHRoZSBzZXJ2ZXI8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U3Bhbm5lZEZpZWxkXzEoZmxkc1ZhbDogVWludDhBcnJheSwgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuLCBub09mUGFja2V0czogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBlbmRJZHg6IG51bWJlciA9IGlkeCArIGZpcnN0U2VnTGVuO1xyXG4gICAgbGV0IGxlbjogbnVtYmVyO1xyXG4gICAgbGV0IGJlZ2luOiBudW1iZXIgPSBpZHg7XHJcbiAgICBsZXQgdG1wOiBzdHJpbmc7XHJcbiAgICBsZXQgc3VmZml4QnVmOiBTdHJpbmdCdWlsZGVyID0gbnVsbDtcclxuICAgIGxldCBwYXJzZWRMZW46IG51bWJlcjtcclxuICAgIGxldCB0bXBFbmM6IEVuY29kaW5nO1xyXG4gICAgaWYgKFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkpXHJcbiAgICAgIHRtcEVuYyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgIGVsc2VcclxuICAgICAgdG1wRW5jID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0RW5jb2RpbmcoKTtcclxuXHJcbiAgICBpZiAoZW5kSWR4ID4gZmxkc1ZhbC5sZW5ndGgpXHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAvLyBhcHBlbmQgZmlyc3Qgc2VnbWVudFxyXG4gICAgcmVzdWx0LlJlbW92ZSgwLCByZXN1bHQuTGVuZ3RoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodG1wRW5jLkdldFN0cmluZyhmbGRzVmFsLCBpZHgsIGZpcnN0U2VnTGVuKSk7XHJcbiAgICBub09mUGFja2V0cyA9IG5vT2ZQYWNrZXRzIC0gMTtcclxuXHJcbiAgICBpZiAobm9PZlBhY2tldHMgPD0gMClcclxuICAgICAgcmV0dXJuIDA7XHJcblxyXG4gICAgaWR4ID0gaWR4ICsgZmlyc3RTZWdMZW47XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJhY3RlcnMgYXJlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAoaGV4IG51bWJlcikgb2Ygc3BlY2lhbCBieXRlcy5cclxuICAgIGVuZElkeCA9IGlkeCArIDQ7XHJcbiAgICB0bXAgPSB0bXBFbmMuR2V0U3RyaW5nKGZsZHNWYWwsIGlkeCwgNCk7XHJcbiAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oXCJpbiBSZWNvcmQuZ2V0U3Bhbm5lZEZpZWxkKCkgZGF0YSBzdHJpbmcgdG9vIHNob3J0OlxcblwiICsgZmxkc1ZhbCk7XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJzIGFyZSB0aGUgbGVuZ3RoIG9mIG5leHQgc2VnbWVudFxyXG4gICAgZW5kSWR4ID0gaWR4ICsgNDtcclxuICAgIHRtcCA9IHRtcEVuYy5HZXRTdHJpbmcoZmxkc1ZhbCwgaWR4LCA0KTtcclxuICAgIGxlbiA9IE5OdW1iZXIuUGFyc2UodG1wLCBOdW1iZXJTdHlsZXMuSGV4TnVtYmVyKTtcclxuICAgIGlkeCA9IGVuZElkeDtcclxuXHJcbiAgICBpZiAoKGxlbiAmIDB4ODAwMCkgPiAwKSB7XHJcbiAgICAgIC8vIE9vcHMsIG5leHQgc2VnbWVudCBtYXkgYWxzbyBiZSBzcGFubmVkXHJcbiAgICAgIHN1ZmZpeEJ1ZiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgICBwYXJzZWRMZW4gPSBSZWNvcmRVdGlscy5nZXRTcGFubmVkRmllbGQoZmxkc1ZhbCwgbGVuLCBpZHgsIHR5cGUsIHN1ZmZpeEJ1ZiwgdXNlSGV4LCBub09mUGFja2V0cyk7XHJcbiAgICAgIC8vIGFmdGVyIHVzaW5nIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0ZWggc3VmZml4QnVmIGlzIGluIHRoZSByaWdodCB0cmFuc2Zvcm1lZCBmb3JtXHJcbiAgICAgIHJlc3VsdC5BcHBlbmQoc3VmZml4QnVmLlRvU3RyaW5nKCkpO1xyXG4gICAgICBpZHggPSBpZHggKyBwYXJzZWRMZW47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgLy8gbmV4dCBzZWdtZW50IGlzbid0IHNwYW5uZWQuIEl0IG11c3QgYmUgdGhlIGxhc3Qgb25lLlxyXG4gICAgICBlbmRJZHggPSBpZHggKyBsZW47XHJcbiAgICAgIGlmIChlbmRJZHggPiBmbGRzVmFsLmxlbmd0aClcclxuICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oXCJpbiBSZWNvcmQuZmlsbEZpZWxkc0RhdGEoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAgIHJlc3VsdC5BcHBlbmQodG1wRW5jLkdldFN0cmluZyhmbGRzVmFsLCBpZHgsIGxlbikpO1xyXG4gICAgICBpZHggPSBlbmRJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlkeCAtIGJlZ2luO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHNlcmlhbGl6ZSBhbiBpdGVtIChmaWVsZC9nbG9iYWwgcGFyYW0vLi4uKSB0byBhbiBYTUwgZm9ybWF0IChhcHBsaWNhYmxlIHRvIGJlIHBhc3NlZCB0byB0aGUgc2VydmVyKS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsXCI+aXRlbSdzIHZhbHVlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIml0ZW1BdHRyXCI+aXRlbSdzIGF0dHJpYnV0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjZWxsQXR0clwiPmNlbGwncyBhdHRyaWJ1dGUgLSByZWxldmFudCBvbmx5IGlmICdpdGVtQXR0cicgaXMgdmVjdG9yPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIlRvQmFzZTY0XCI+PmRlY2lkZSBCYXNlNjQgZW5jb2RpbmcgaXMgdG8gYmUgZG9uZTwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPnNlcmlhbGl6ZWQgWE1MIGZvcm1hdDwvcmV0dXJucz5cclxuICBzdGF0aWMgaXRlbVZhbFRvWE1MKGl0ZW1WYWw6IHN0cmluZywgaXRlbUF0dHI6IFN0b3JhZ2VBdHRyaWJ1dGUsIGNlbGxBdHRyOiBTdG9yYWdlQXR0cmlidXRlLCBUb0Jhc2U2NDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgdG1wQnVmOiBzdHJpbmcgPSBSZWNvcmRVdGlscy5zZXJpYWxpemVJdGVtVmFsKGl0ZW1WYWwsIGl0ZW1BdHRyLCBjZWxsQXR0ciwgVG9CYXNlNjQpO1xyXG4gICAgcmV0dXJuIFhtbFBhcnNlci5lc2NhcGUodG1wQnVmKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxyZXR1cm5zPiBnZXQgdGhlIGFjdHVhbCBzdHJpbmcgYWNjb3JkaW5nIHRvICd0eXBlJzwvcmV0dXJucz5cclxuICBzdGF0aWMgZ2V0U3RyaW5nXzIoc3RyOiBzdHJpbmcsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IHVzZUhleDogYm9vbGVhbiA9IEd1aUVudmlyb25tZW50LkVudmlyb25tZW50LkdldERlYnVnTGV2ZWwoKSA+IDEgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQVxyXG4gICAgICB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHwgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZUxvZ2ljYWwodHlwZSk7XHJcblxyXG4gICAgLy8gZmlyc3QgNCBjaGFyYWN0ZXJzIGFyZSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgKGhleCBudW1iZXIpXHJcbiAgICBsZXQgdG1wOiBzdHJpbmc7XHJcbiAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHxcclxuICAgICAgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpIHtcclxuICAgICAgdG1wID0gc3RyLnN1YnN0cig0KTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdG1wID0gc3RyO1xyXG5cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmcodG1wLCB0eXBlLCB1c2VIZXgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
361
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ndWkvc3JjL21hbmFnZW1lbnQvZGF0YS9SZWNvcmRVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLEtBQUssRUFFTCxtQkFBbUIsRUFDbkIsT0FBTyxFQUNQLFlBQVksRUFFWixhQUFhLEVBQ2QsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQ0wsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsT0FBTyxFQUNQLGVBQWUsRUFDZixTQUFTLEVBQ1YsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRWhELE1BQU0sT0FBTyxXQUFXO0lBR3RCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFXO1FBQ25DLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sWUFBWSxhQUFhLENBQUMsRUFBRTtZQUNsRixPQUFPLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqRDtRQUNELE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFPTyxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBcUI7UUFDdkQsSUFBSSxPQUFlLENBQUM7UUFDcEIsSUFBSSxRQUFnQixDQUFDO1FBQ3JCLElBQUksTUFBTSxHQUFrQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU3RSxLQUFLLElBQUksSUFBSSxHQUFXLENBQUMsRUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRTtZQUNoRSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM1RCxRQUFRLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUMvRSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUtPLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxNQUFjO1FBQ2hELE9BQU8sV0FBVyxDQUFDLGtCQUFrQixDQUFDLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQVVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFlLEVBQUUsUUFBMEIsRUFBRSxRQUEwQixFQUFFLFFBQWlCO1FBQ2hILEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDO1FBRTlCLElBQUksa0JBQWtCLEdBQVcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUV4RixJQUFJLFNBQWlCLENBQUM7UUFDdEIsSUFBSSxDQUFTLENBQUM7UUFDZCxJQUFJLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2pDLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksU0FBaUIsQ0FBRTtRQUd2QixRQUFRLFFBQVEsRUFBRTtZQUNoQixLQUFLLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztZQUM5QixLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQztZQUMzQixLQUFLLGdCQUFnQixDQUFDLElBQUk7Z0JBQ3hCLE9BQU8sR0FBRyxDQUFDLFFBQVE7b0JBQ2pCLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxrQkFBa0IsQ0FBQztvQkFDdkMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRixNQUFNO1lBRVIsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUM7WUFDNUIsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUMzQixPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDakMsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDUixTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFFM0IsR0FBRztvQkFDRCxJQUFJLFVBQVUsR0FBVyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3RFLElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFO3dCQUNyQixTQUFTLEdBQUcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUV6RCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTs0QkFDdkMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQzt3QkFDckIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFFekIsSUFBSSxHQUFHLEdBQUcsQ0FBQzs0QkFDVCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBRXJELEdBQUcsR0FBRyxTQUFTLENBQUM7cUJBQ2pCO3lCQUNJO3dCQUdILFNBQVMsR0FBRyxDQUFDLFVBQVUsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNwRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUN6QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBR3pELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7eUJBQ3hGO3dCQUVELFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ3BELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBR3RELEtBQUssR0FBRyxHQUFHLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFOzRCQUN4QyxJQUFJLE1BQU0sR0FBVyxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3ZFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2pEO3dCQUdELElBQUksR0FBRyxJQUFJLFNBQVMsRUFBRTs0QkFDcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzs0QkFDdEIsT0FBTyxHQUFHLEVBQUUsQ0FBQzs0QkFDYixNQUFNO3lCQUNQO3FCQUNGO2lCQUNGLFFBQVEsR0FBRyxHQUFHLFNBQVMsRUFBRTtnQkFDMUIsTUFBTTtZQUVSLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQzNCLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQ2xDLEtBQUssZ0JBQWdCLENBQUMsTUFBTTtnQkFDMUIsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFFUixTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFFM0IsSUFBSSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsV0FBVyxFQUFFO29CQUN0RixJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLElBQUksRUFBRTt3QkFDN0UsT0FBTyxHQUFHLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFLL0QsR0FBRzs0QkFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sRUFFakM7Z0NBQ0UsSUFBSSxHQUFHLEdBQUcsQ0FBQztvQ0FDVCxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQ0FFaEMsU0FBUyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQ0FFdkUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7b0NBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0NBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0NBR3pCLE9BQU8sR0FBRyxDQUFDLFFBQVE7b0NBQ2pCLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztvQ0FDdEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0NBRTNFLEdBQUcsR0FBRyxTQUFTLENBQUM7NkJBQ2pCO2lDQUNJO2dDQUNILElBQUksTUFBTSxHQUFXLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dDQUVqRCxTQUFTLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7Z0NBQ2pGLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7Z0NBR3pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRO29DQUNyQixDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0NBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0NBRTNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7Z0NBQ3RCLEdBQUcsSUFBSSxNQUFNLENBQUM7NkJBQ2Y7eUJBQ0YsUUFBUSxHQUFHLEdBQUcsU0FBUyxFQUFHO3dCQUUzQixNQUFNO3FCQUNQO2lCQUNGO2dCQUVELEdBQUc7b0JBQ0QsSUFBSSxTQUFTLEdBQUcsR0FBRyxHQUFHLE1BQU0sRUFFNUI7d0JBQ0UsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBRTNELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFOzRCQUN2QyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNyQixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO3dCQUV6QixJQUFJLEdBQUcsR0FBRyxDQUFDOzRCQUNULE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFHckQsT0FBTyxHQUFHLENBQUMsUUFBUTs0QkFDakIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDOzRCQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQzt3QkFFM0IsR0FBRyxHQUFHLFNBQVMsQ0FBQztxQkFDakI7eUJBQ0k7d0JBRUgsU0FBUyxHQUFHLE1BQU0sQ0FBQzt3QkFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFHekIsSUFBSSxDQUFDLFFBQVE7NEJBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7NEJBRXhFLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBRTVELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ3RCLEdBQUcsSUFBSSxNQUFNLENBQUM7cUJBQ2Y7aUJBQ0YsUUFBUSxHQUFHLEdBQUcsU0FBUyxFQUFFO2dCQUMxQixNQUFNO1NBQ1Q7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFVRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsT0FBZSxFQUFFLFFBQTBCLEVBQUUsT0FBZSxFQUFFLE1BQWUsRUFBRSxRQUEwQixFQUFFLFNBQTJCO1FBQzlKLElBQUksR0FBRyxHQUFXLElBQUksQ0FBQztRQUN2QixJQUFJLEdBQUcsR0FBVyxDQUFDLENBQUM7UUFDcEIsSUFBSSxHQUFXLEVBQUUsTUFBYyxDQUFDO1FBQ2hDLElBQUksU0FBUyxHQUFrQixJQUFJLENBQUM7UUFDcEMsSUFBSSxHQUFHLEdBQVcsSUFBSSxDQUFDO1FBRXZCLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLEtBQUs7ZUFDbEMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLE9BQU87ZUFDckMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLElBQUk7ZUFDbEMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLFdBQVc7ZUFDekMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLE1BQU0sRUFDdkM7WUFFQSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNqQixHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDNUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxHQUFHLEdBQUcsTUFBTSxDQUFDO1NBQ2Q7YUFDSSxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPO1lBQzVDLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDTDtZQUNILElBQUksa0JBQWtCLEdBQVcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3BGLElBQUksTUFBTTtnQkFDUixHQUFHLEdBQUcsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDOztnQkFHN0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsU0FBUyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEMsR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBRXJCLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsV0FBVzttQkFDOUUsUUFBUSxLQUFLLGdCQUFnQixDQUFDLE1BQU07Z0JBQ3ZDLElBQUksTUFBTTtvQkFDUixHQUFHLElBQUksQ0FBQyxDQUFDOztvQkFFVCxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZGLEdBQUcsR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsTUFBTSxHQUFHLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDO1NBQ2hDO2FBQ0k7WUFDSCxJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJO21CQUNqQyxRQUFRLEtBQUssZ0JBQWdCLENBQUMsV0FBVzttQkFDekMsUUFBUSxLQUFLLGdCQUFnQixDQUFDLE1BQU07Z0JBRXZDLElBQUksTUFBTTtvQkFDUixHQUFHLElBQUksQ0FBQyxDQUFDOztvQkFFVCxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRTFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ25CLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNO2dCQUN6QixNQUFNLElBQUksb0JBQW9CLENBQUMscURBQXFELEdBQUcsT0FBTyxDQUFDLENBQUM7WUFFbEcsSUFBSSxlQUFlLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsV0FBVztnQkFDcEYsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDOztnQkFFckgsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ2pGO1FBRUQsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUViLElBQUksUUFBUSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsT0FBTyxFQUFFO1lBQ2hGLEdBQUcsR0FBRyxPQUFPLENBQUM7WUFDZCxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFL0IsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRTtnQkFDOUUsR0FBRyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3pDO1FBRUQsU0FBUyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDekIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBSUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsSUFBc0IsRUFBRSxNQUFnQixFQUFFLGFBQXVCO1FBQzdGLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3hCLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXBELElBQUcsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFNUMsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFHTyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxJQUFzQixFQUFFLE1BQWU7UUFDN0UsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFHTyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxJQUFzQixFQUFFLE1BQWUsRUFBRSxhQUFzQjtRQUNyRyxJQUFJLE1BQWMsQ0FBQztRQUNuQixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsV0FBVzttQkFDdEUsSUFBSSxLQUFLLGdCQUFnQixDQUFDLE1BQU07Z0JBQ25DLE1BQU0sR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7O2dCQUU3QyxNQUFNLEdBQUcsR0FBRyxDQUFDO1NBQ2hCO2FBQ0k7WUFDSCxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLFdBQVc7bUJBQ3RFLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxNQUFNO2dCQUNuQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Z0JBRTdGLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUlELE1BQU0sQ0FBQyxlQUFlLENBQUMsT0FBWSxFQUFFLFdBQW1CLEVBQUUsR0FBVyxFQUFFLElBQXNCLEVBQUUsTUFBcUIsRUFBRSxNQUFlLEVBQUUsV0FBb0I7UUFDekosSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEIsT0FBTyxXQUFXLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4RixPQUFPLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRyxDQUFDO0lBYU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLE9BQWUsRUFBRSxXQUFtQixFQUFFLEdBQVcsRUFBRSxJQUFzQixFQUFFLE1BQXFCLEVBQUUsTUFBZTtRQUNoSixJQUFJLE1BQU0sR0FBVyxHQUFHLEdBQUcsV0FBVyxDQUFDO1FBQ3ZDLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksS0FBSyxHQUFXLEdBQUcsQ0FBQztRQUN4QixJQUFJLFNBQWlCLENBQUM7UUFDdEIsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxTQUFTLEdBQWtCLElBQUksQ0FBQztRQUNwQyxJQUFJLFNBQWlCLENBQUM7UUFFdEIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUMzQixNQUFNLElBQUksb0JBQW9CLENBQUMsc0RBQXNELEdBQUcsT0FBTyxDQUFDLENBQUM7U0FDbEc7UUFHRCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUV0RixHQUFHLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQztRQUd4QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNqQixHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUdiLElBQUksTUFBTTtZQUNSLE1BQU0sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzs7WUFFdkIsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBRSxHQUFHLENBQUMsQ0FBQztRQUVoRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTTtZQUN6QixNQUFNLElBQUksb0JBQW9CLENBQUMsc0RBQXNELEdBQUcsT0FBTyxDQUFDLENBQUM7UUFHbkcsT0FBTyxHQUFHLEdBQUcsTUFBTSxFQUFFO1lBQ25CLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3QixTQUFTLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM1RSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pCLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ2Y7UUFHRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNqQixHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUViLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBRXRCLFNBQVMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQztZQUVyQixJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLFdBQVc7Z0JBQ3pFLElBQUksTUFBTTtvQkFDUixHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzs7b0JBR2QsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRXhDLFNBQVMsR0FBRyxXQUFXLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFcEYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUVwQyxHQUFHLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztTQUN2QjthQUNJO1lBQ0gsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXO2dCQUN6RSxJQUFJLE1BQU07b0JBQ1IsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7O29CQUVkLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUd4QyxNQUFNLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUNuQixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTTtnQkFDekIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHFEQUFxRCxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBRWxHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDdEYsR0FBRyxHQUFHLE1BQU0sQ0FBQztTQUNkO1FBRUQsT0FBTyxHQUFHLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFlTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBbUIsRUFBRSxXQUFtQixFQUFFLEdBQVcsRUFBRSxJQUFzQixFQUFFLE1BQXFCLEVBQUUsTUFBZSxFQUFFLFdBQW1CO1FBQ3pLLElBQUksTUFBTSxHQUFXLEdBQUcsR0FBRyxXQUFXLENBQUM7UUFDdkMsSUFBSSxHQUFXLENBQUM7UUFDaEIsSUFBSSxLQUFLLEdBQVcsR0FBRyxDQUFDO1FBQ3hCLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksU0FBUyxHQUFrQixJQUFJLENBQUM7UUFDcEMsSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksTUFBZ0IsQ0FBQztRQUNyQixJQUFJLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRTtZQUN2QyxNQUFNLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxDQUFDOztZQUV4QyxNQUFNLEdBQUcsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwRCxJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTTtZQUN6QixNQUFNLElBQUksb0JBQW9CLENBQUMsc0RBQXNELEdBQUcsT0FBTyxDQUFDLENBQUM7UUFHbkcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDM0QsV0FBVyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFFOUIsSUFBSSxXQUFXLElBQUksQ0FBQztZQUNsQixPQUFPLENBQUMsQ0FBQztRQUVYLEdBQUcsR0FBRyxHQUFHLEdBQUcsV0FBVyxDQUFDO1FBR3hCLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBRWIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07WUFDekIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLHNEQUFzRCxHQUFHLE9BQU8sQ0FBQyxDQUFDO1FBR25HLE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBRWIsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFFdEIsU0FBUyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7WUFFaEMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFFakcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNwQyxHQUFHLEdBQUcsR0FBRyxHQUFHLFNBQVMsQ0FBQztTQUN2QjthQUNJO1lBRUgsTUFBTSxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbkIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU07Z0JBQ3pCLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxxREFBcUQsR0FBRyxPQUFPLENBQUMsQ0FBQztZQUVsRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25ELEdBQUcsR0FBRyxNQUFNLENBQUM7U0FDZDtRQUVELE9BQU8sR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBVUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFlLEVBQUUsUUFBMEIsRUFBRSxRQUEwQixFQUFFLFFBQWlCO1FBQzVHLElBQUksTUFBTSxHQUFXLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN6RixPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUdELE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVyxFQUFFLElBQXNCO1FBQ3BELElBQUksTUFBTSxHQUFZLGNBQWMsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO2VBQ2xHLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUkscUJBQXFCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBR3BGLElBQUksR0FBVyxDQUFDO1FBQ2hCLElBQUksSUFBSSxLQUFLLGdCQUFnQixDQUFDLEtBQUssSUFBSSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsT0FBTztZQUN0RSxJQUFJLEtBQUssZ0JBQWdCLENBQUMsSUFBSSxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUU7WUFDekUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDckI7O1lBRUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUVaLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25FeGNlcHRpb24sXHJcbiAgRGVidWcsXHJcbiAgRW5jb2RpbmcsXHJcbiAgSVNPXzg4NTlfMV9FbmNvZGluZyxcclxuICBOTnVtYmVyLFxyXG4gIE51bWJlclN0eWxlcyxcclxuICBSZWZQYXJhbSxcclxuICBTdHJpbmdCdWlsZGVyXHJcbn0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7XHJcbiAgQmFzZTY0LFxyXG4gIFN0b3JhZ2VBdHRyaWJ1dGUsXHJcbiAgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLFxyXG4gIFN0clV0aWwsXHJcbiAgVXRpbFN0ckJ5dGVNb2RlLFxyXG4gIFhtbFBhcnNlclxyXG59IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7R3VpRW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi9HdWlFbnZpcm9ubWVudFwiO1xyXG5pbXBvcnQge1ZlY3RvclR5cGVCYXNlfSBmcm9tIFwiLi9WZWN0b3JUeXBlQmFzZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlY29yZFV0aWxzIHtcclxuICBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cmVhbTogU3RyaW5nQnVpbGRlcik6IHN0cmluZztcclxuICBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cmVhbTogc3RyaW5nKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBieXRlU3RyZWFtVG9TdHJpbmcoc3RyZWFtOiBhbnkpOiBzdHJpbmcge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKHN0cmVhbSA9PT0gbnVsbCB8fCBzdHJlYW0gaW5zdGFuY2VvZiBTdHJpbmdCdWlsZGVyKSkge1xyXG4gICAgICByZXR1cm4gUmVjb3JkVXRpbHMuYnl0ZVN0cmVhbVRvU3RyaW5nXzAoc3RyZWFtKTtcclxuICAgIH1cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5ieXRlU3RyZWFtVG9TdHJpbmdfMShzdHJlYW0pO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHRyYW5zbGF0ZSBieXRlIHN0cmVhbSB0byBTdHJpbmdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmVzdWx0XCI+b2YgdGhlIHRyYW5zbGF0aW9uPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInN0cmVhbVwiPihpbiBTdHJpbmdCdWZmZXIgZm9ybSkgdG8gdHJhbnNsYXRlIGZyb208L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIGJ5dGVTdHJlYW1Ub1N0cmluZ18wKHN0cmVhbTogU3RyaW5nQnVpbGRlcik6IHN0cmluZyB7XHJcbiAgICBsZXQgY3VyclN0cjogc3RyaW5nO1xyXG4gICAgbGV0IGN1cnJDaGFyOiBzdHJpbmc7XHJcbiAgICBsZXQgcmVzdWx0OiBTdHJpbmdCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoTWF0aC5mbG9vcihzdHJlYW0uTGVuZ3RoIC8gMikpO1xyXG5cclxuICAgIGZvciAobGV0IGluZHg6IG51bWJlciA9IDA7IGluZHggPCBzdHJlYW0uTGVuZ3RoOyBpbmR4ID0gaW5keCArIDIpIHtcclxuICAgICAgY3VyclN0ciA9IHN0cmVhbS5nZXRfSXRlbShpbmR4KSArIHN0cmVhbS5nZXRfSXRlbShpbmR4ICsgMSk7XHJcbiAgICAgIGN1cnJDaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShOTnVtYmVyLlBhcnNlKGN1cnJTdHIsIE51bWJlclN0eWxlcy5IZXhOdW1iZXIpKTtcclxuICAgICAgcmVzdWx0LkFwcGVuZChjdXJyQ2hhcik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0LlRvU3RyaW5nKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgdHJhbnNsYXRlIGJ5dGUgc3RyZWFtIHRvIFN0cmluZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgYnl0ZVN0cmVhbVRvU3RyaW5nXzEoc3RyZWFtOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFJlY29yZFV0aWxzLmJ5dGVTdHJlYW1Ub1N0cmluZyhuZXcgU3RyaW5nQnVpbGRlcihzdHJlYW0pKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzZXJpYWxpemUgYW4gaXRlbSAoZmllbGQvZ2xvYmFsIHBhcmFtLy4uLikgdG8gYW4gWE1MIGZvcm1hdCAoYXBwbGljYWJsZSB0byBiZSBwYXNzZWQgdG8gdGhlIHNlcnZlcikuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIml0ZW1WYWxcIj5pdGVtJ3MgdmFsdWU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiaXRlbUF0dHJcIj5pdGVtJ3MgYXR0cmlidXRlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImNlbGxBdHRyXCI+Y2VsbCdzIGF0dHJpYnV0ZSAtIHJlbGV2YW50IG9ubHkgaWYgJ2l0ZW1BdHRyJyBpcyB2ZWN0b3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidG9CYXNlNjRcIj5kZWNpZGUgQmFzZTY0IGVuY29kaW5nIGlzIHRvIGJlIGRvbmU8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz5zZXJpYWxpemVkIGJ1ZmZlcjwvcmV0dXJucz5cclxuICBzdGF0aWMgc2VyaWFsaXplSXRlbVZhbChpdGVtVmFsOiBzdHJpbmcsIGl0ZW1BdHRyOiBTdG9yYWdlQXR0cmlidXRlLCBjZWxsQXR0cjogU3RvcmFnZUF0dHJpYnV0ZSwgdG9CYXNlNjQ6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgRGVidWcuQXNzZXJ0KGl0ZW1WYWwgIT0gbnVsbCk7XHJcblxyXG4gICAgbGV0IHNpZ25pZmljYW50TnVtU2l6ZTogbnVtYmVyID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U2lnbmlmaWNhbnROdW1TaXplKCkgKiAyO1xyXG5cclxuICAgIGxldCB2YWx1ZVNpemU6IHN0cmluZztcclxuICAgIGxldCBqOiBudW1iZXI7XHJcbiAgICBsZXQgdG1wQnVmID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgIGxldCBwb3M6IG51bWJlcjtcclxuICAgIGxldCBmbGRWYWxMZW46IG51bWJlciA7XHJcblxyXG4gICAgLy8gZm9yIGFscGhhIHR5cGUgYWRkIHRoZSBsZW5ndGggb2YgdGhlIHZhbHVlIGFzIGhleCBudW1iZXIgb2YgNCBkaWdpdHNcclxuICAgIHN3aXRjaCAoaXRlbUF0dHIpIHtcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLk5VTUVSSUM6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5EQVRFOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuVElNRTpcclxuICAgICAgICBpdGVtVmFsID0gIXRvQmFzZTY0XHJcbiAgICAgICAgICA/IGl0ZW1WYWwuc3Vic3RyKDAsIHNpZ25pZmljYW50TnVtU2l6ZSlcclxuICAgICAgICAgIDogQmFzZTY0LmVuY29kZSh0aGlzLmJ5dGVTdHJlYW1Ub1N0cmluZyhpdGVtVmFsLnN1YnN0cigwLCBzaWduaWZpY2FudE51bVNpemUpKSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEE6XHJcbiAgICAgIGNhc2UgU3RvcmFnZUF0dHJpYnV0ZS5VTklDT0RFOlxyXG4gICAgICAgIGl0ZW1WYWwgPSBTdHJVdGlsLnJ0cmltKGl0ZW1WYWwpO1xyXG4gICAgICAgIHBvcyA9IDA7XHJcbiAgICAgICAgZmxkVmFsTGVuID0gaXRlbVZhbC5sZW5ndGg7XHJcblxyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgIGxldCBudWxsQ2hyUG9zOiBudW1iZXIgPSBpdGVtVmFsLmluZGV4T2YoU3RyaW5nLmZyb21DaGFyQ29kZSgwKSwgcG9zKTtcclxuICAgICAgICAgIGlmIChudWxsQ2hyUG9zID09PSAtMSkge1xyXG4gICAgICAgICAgICB2YWx1ZVNpemUgPSAoZmxkVmFsTGVuIC0gcG9zKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IDQgLSB2YWx1ZVNpemUubGVuZ3RoOyBqKyspXHJcbiAgICAgICAgICAgICAgdG1wQnVmLkFwcGVuZCgnMCcpO1xyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAocG9zID4gMClcclxuICAgICAgICAgICAgICBpdGVtVmFsID0gaXRlbVZhbC5zdWJzdHIocG9zLCAoZmxkVmFsTGVuKSAtIChwb3MpKTtcclxuXHJcbiAgICAgICAgICAgIHBvcyA9IGZsZFZhbExlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBJZiBOVUxMIGNoYXJzIGV4aXN0IGluIHRoZSBtaWRkbGUgb2YgdGhlIHZhbHVlIC0gY3JlYXRlIGEgc3Bhbm5lZCByZWNvcmRcclxuICAgICAgICAgICAgLy8gVHVybiBvbiB0aGUgaGlnaCBtb3N0IGJpdCBpbiB0aGUgbGVuZ3RoICh0byBpbmRpY2F0ZSBhIHNlZ21lbnQpXHJcbiAgICAgICAgICAgIHZhbHVlU2l6ZSA9IChudWxsQ2hyUG9zIC0gcG9zICsgMHg4MDAwKS50b1N0cmluZyAoMTYpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuICAgICAgICAgICAgdG1wQnVmLkFwcGVuZChpdGVtVmFsLnN1YnN0cihwb3MsIChudWxsQ2hyUG9zKSAtIChwb3MpKSk7XHJcblxyXG4gICAgICAgICAgICAvLyBDb3VudCBudW1iZXIgb2YgY29uc2VjdXRpdmUgTlVMTCBjaGFycywgYW5kIGFkZCB0aGVpciBjb3VudCB0byBYTUxcclxuICAgICAgICAgICAgZm9yIChqID0gMTsgaiA8IGZsZFZhbExlbiAtIG51bGxDaHJQb3MgJiYgaXRlbVZhbC5jaGFyQ29kZUF0KG51bGxDaHJQb3MgKyBqKSA9PT0gMDsgaisrKSB7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgdmFsdWVTaXplID0gXCIwMDAwXCIgKyAoai50b1N0cmluZygxNikpLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplLnN1YnN0cih2YWx1ZVNpemUubGVuZ3RoIC0gNCkpO1xyXG5cclxuICAgICAgICAgICAgLy8gQXBwZW5kIGEgaGV4IGR1bXAgb2Ygc3BlY2lhbCBjaGFyc1xyXG4gICAgICAgICAgICBmb3IgKHBvcyA9IG51bGxDaHJQb3M7IGogPiAwOyBqLS0sIHBvcysrKSB7XHJcbiAgICAgICAgICAgICAgbGV0IHRtcFN0cjogc3RyaW5nID0gXCIwXCIgKyBpdGVtVmFsLmNoYXJDb2RlQXQobnVsbENoclBvcykudG9TdHJpbmcoMTYpO1xyXG4gICAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodG1wU3RyLnN1YnN0cih0bXBTdHIubGVuZ3RoIC0gMikpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAvLyBJZiBzcGVjaWFsIGNoYXJzIHdlcmUgbGFzdCwgYWRkIHRoZSBsZW5ndGggb2YgdGhlIGxhc3Qgc2VnbWVudCAoemVybylcclxuICAgICAgICAgICAgaWYgKHBvcyA+PSBmbGRWYWxMZW4pIHtcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgICBpdGVtVmFsID0gXCJcIjtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gd2hpbGUgKHBvcyA8IGZsZFZhbExlbik7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQjpcclxuICAgICAgY2FzZSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SOlxyXG4gICAgICBjYXNlIFN0b3JhZ2VBdHRyaWJ1dGUuRE9UTkVUOlxyXG4gICAgICAgIHBvcyA9IDA7XHJcblxyXG4gICAgICAgIGZsZFZhbExlbiA9IGl0ZW1WYWwubGVuZ3RoO1xyXG5cclxuICAgICAgICBpZiAoVXRpbFN0ckJ5dGVNb2RlLmlzTG9jYWxlRGVmTGFuZ0RCQ1MoKSAmJiBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CX1ZFQ1RPUikge1xyXG4gICAgICAgICAgaWYgKGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLk1FTU8pIHtcclxuICAgICAgICAgICAgaXRlbVZhbCA9IFZlY3RvclR5cGVCYXNlLmFkanVzdEFscGhhU3RyaW5nc0luRmxhdERhdGEoaXRlbVZhbCk7XHJcblxyXG4gICAgICAgICAgICAvLyBUaGUgZmxhdCBkYXRhIHdpbGwgYmUgZGl2aWRlZCBieSAweDNGRkYgY2hhcmFjdGVycy5cclxuICAgICAgICAgICAgLy8gRWFjaCBzZWdtZW50IHdpbGwgYmUgc2l6ZSBpbiAweDNGRkYgfiAweDdGRkYgYnl0ZXMuXHJcbiAgICAgICAgICAgIC8vIFRoZSBzaXplIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBEQkNTIGNoYXJhY3RlcnMsIG5vdCBmaXhlZCBpbiAweDdGRkYuXHJcbiAgICAgICAgICAgIGRvIHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbVZhbC5sZW5ndGggPCBwb3MgKyAweDNGRkYpXHJcbiAgICAgICAgICAgICAgLy8gKDB4ODAwMCAtIDEpIC8gMiA9IDB4M0ZGRlxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlmIChwb3MgPiAwKVxyXG4gICAgICAgICAgICAgICAgICBpdGVtVmFsID0gaXRlbVZhbC5zdWJzdHIocG9zKTtcclxuXHJcbiAgICAgICAgICAgICAgICB2YWx1ZVNpemUgPSAoVXRpbFN0ckJ5dGVNb2RlLmxlbkIoaXRlbVZhbCkudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgICAgLy8gYWRkIGxlYWRpbmcgemVyb3MgKGlmIG5lZWRlZClcclxuICAgICAgICAgICAgICAgIGZvciAoaiA9IDA7IGogPCA0IC0gdmFsdWVTaXplLmxlbmd0aDsgaisrKVxyXG4gICAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCcwJyk7XHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaGV4IGVuY29kaW5nXHJcbiAgICAgICAgICAgICAgICBpdGVtVmFsID0gIXRvQmFzZTY0XHJcbiAgICAgICAgICAgICAgICAgID8gU3RyVXRpbC5zdHJpbmdUb0hleGFEdW1wKGl0ZW1WYWwsIDQpXHJcbiAgICAgICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShpdGVtVmFsLCB0cnVlLCBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpKTtcclxuXHJcbiAgICAgICAgICAgICAgICBwb3MgPSBmbGRWYWxMZW47XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IHN0clN1Yjogc3RyaW5nID0gaXRlbVZhbC5zdWJzdHIocG9zLCAweDNGRkYpO1xyXG4gICAgICAgICAgICAgICAgLy8gKyAweDgwMDAgLi4uIHRvIGluZGljYXRlIG5vdCB0aGUgbGFzdCBzZWdtZW50XHJcbiAgICAgICAgICAgICAgICB2YWx1ZVNpemUgPSAoKFV0aWxTdHJCeXRlTW9kZS5sZW5CKHN0clN1YikgKyAweDgwMDApLnRvU3RyaW5nKDE2KSkudG9VcHBlckNhc2UoKTtcclxuICAgICAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBoZXggb3IgYmFzZTY0IGVuY29kaW5nXHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCF0b0Jhc2U2NFxyXG4gICAgICAgICAgICAgICAgICA/IFN0clV0aWwuc3RyaW5nVG9IZXhhRHVtcChzdHJTdWIsIDQpXHJcbiAgICAgICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShzdHJTdWIsIHRydWUsIEd1aUVudmlyb25tZW50LkVudmlyb25tZW50LkdldEVuY29kaW5nKCkpKTtcclxuXHJcbiAgICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgICAgIHBvcyArPSAweDNGRkY7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IHdoaWxlIChwb3MgPCBmbGRWYWxMZW4pIDtcclxuXHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZG8ge1xyXG4gICAgICAgICAgaWYgKGZsZFZhbExlbiA8IHBvcyArIDB4N0ZGRilcclxuICAgICAgICAgIC8vIDB4ODAwMCAtMSA9IDB4N0ZGRlxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB2YWx1ZVNpemUgPSAoKGZsZFZhbExlbiAtIHBvcykudG9TdHJpbmcoMTYpKS50b1VwcGVyQ2FzZSgpO1xyXG4gICAgICAgICAgICAvLyBhZGQgbGVhZGluZyB6ZXJvcyAoaWYgbmVlZGVkKVxyXG4gICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgNCAtIHZhbHVlU2l6ZS5sZW5ndGg7IGorKylcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKCcwJyk7XHJcbiAgICAgICAgICAgIHRtcEJ1Zi5BcHBlbmQodmFsdWVTaXplKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChwb3MgPiAwKVxyXG4gICAgICAgICAgICAgIGl0ZW1WYWwgPSBpdGVtVmFsLnN1YnN0cihwb3MsIChmbGRWYWxMZW4pIC0gKHBvcykpO1xyXG5cclxuICAgICAgICAgICAgLy8gaGV4IGVuY29kaW5nXHJcbiAgICAgICAgICAgIGl0ZW1WYWwgPSAhdG9CYXNlNjRcclxuICAgICAgICAgICAgICA/IFN0clV0aWwuc3RyaW5nVG9IZXhhRHVtcChpdGVtVmFsLCA0KVxyXG4gICAgICAgICAgICAgIDogQmFzZTY0LmVuY29kZShpdGVtVmFsKTtcclxuXHJcbiAgICAgICAgICAgIHBvcyA9IGZsZFZhbExlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyB0byBpbmRpY2F0ZSB0aGUgZnVsbCBzZWdtZW50XHJcbiAgICAgICAgICAgIHZhbHVlU2l6ZSA9IFwiRkZGRlwiOyAvLyAoSW50ZWdlci50b0hleFN0cmluZyAoMHhGRkZGKSkudG9VcHBlckNhc2UoKVxyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKHZhbHVlU2l6ZSk7XHJcblxyXG4gICAgICAgICAgICAvLyBoZXggb3IgYmFzZTY0IGVuY29kaW5nXHJcbiAgICAgICAgICAgIGlmICghdG9CYXNlNjQpXHJcbiAgICAgICAgICAgICAgdG1wQnVmLkFwcGVuZChTdHJVdGlsLnN0cmluZ1RvSGV4YUR1bXAoaXRlbVZhbC5zdWJzdHIocG9zLCAweDdGRkYpLCA0KSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICB0bXBCdWYuQXBwZW5kKEJhc2U2NC5lbmNvZGUoaXRlbVZhbC5zdWJzdHIocG9zLCAweDdGRkYpKSk7XHJcblxyXG4gICAgICAgICAgICB0bXBCdWYuQXBwZW5kKFwiMDAwMFwiKTtcclxuICAgICAgICAgICAgcG9zICs9IDB4N0ZGRjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IHdoaWxlIChwb3MgPCBmbGRWYWxMZW4pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfSAvLyBlbmQgb2YgdGhlIHR5cGUgY2FzZSBibG9ja1xyXG4gICAgdG1wQnVmLkFwcGVuZChpdGVtVmFsKTtcclxuICAgIHJldHVybiB0bXBCdWYuVG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gRGVzZXJpYWxpemVzIGFuIGl0ZW0ncyAoZmllbGQvZ2xvYmFsIHBhcmFtLy4uLikgdmFsdWUgPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIml0ZW1WYWxcIj5pdGVtJ3MgdmFsdWU8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIml0ZW1BdHRyXCI+aXRlbSdzIGF0dHJpYnV0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaXRlbUxlblwiPml0ZW0ncyBsZW5ndGg8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZUhleFwiPmluZGljYXRlcyB3aGV0aGVyIHRoZSBpdGVtVmFsIGlzIGluIEhleCBvciBCYXNlNjQ8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNlbGxBdHRyXCI+Y2VsbCdzIGF0dHJpYnV0ZSAtIHJlbGV2YW50IG9ubHkgaWYgJ2l0ZW1BdHRyJyBpcyB2ZWN0b3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInBhcnNlZExlblwiPm91dCBwYXJhbWV0ZXIuIFJldHVybnMgdGhlIGxlbmd0aCBvZiBpdGVtVmFsIHBhcnNlZDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBzdGF0aWMgZGVTZXJpYWxpemVJdGVtVmFsKGl0ZW1WYWw6IHN0cmluZywgaXRlbUF0dHI6IFN0b3JhZ2VBdHRyaWJ1dGUsIGl0ZW1MZW46IG51bWJlciwgdXNlSGV4OiBib29sZWFuLCBjZWxsQXR0cjogU3RvcmFnZUF0dHJpYnV0ZSwgcGFyc2VkTGVuOiBSZWZQYXJhbTxudW1iZXI+KTogc3RyaW5nIHtcclxuICAgIGxldCB2YWw6IHN0cmluZyA9IG51bGw7XHJcbiAgICBsZXQgaWR4OiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IGxlbjogbnVtYmVyLCBlbmRJZHg6IG51bWJlcjtcclxuICAgIGxldCBzdWZmaXhCdWY6IFN0cmluZ0J1aWxkZXIgPSBudWxsO1xyXG4gICAgbGV0IHRtcDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgICBpZiAoaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQUxQSEFcclxuICAgICAgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuVU5JQ09ERVxyXG4gICAgICB8fCBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CXHJcbiAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkRPVE5FVFxyXG4gICAgKSB7XHJcbiAgICAgIC8vIGZpcnN0IDQgY2hhcmFjdGVycyBhcmUgdGhlIGxlbmd0aCBvZiB0aGUgc3RyaW5nIChoZXggbnVtYmVyKVxyXG4gICAgICBlbmRJZHggPSBpZHggKyA0O1xyXG4gICAgICB0bXAgPSBpdGVtVmFsLnN1YnN0cihpZHgsIChlbmRJZHgpIC0gKGlkeCkpO1xyXG4gICAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICAgIGlkeCA9IGVuZElkeDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJPT0xFQU4pXHJcbiAgICAgIGxlbiA9IDE7XHJcbiAgICBlbHNlIHtcclxuICAgICAgbGV0IHNpZ25pZmljYW50TnVtU2l6ZTogbnVtYmVyID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0U2lnbmlmaWNhbnROdW1TaXplKCk7XHJcbiAgICAgIGlmICh1c2VIZXgpXHJcbiAgICAgICAgbGVuID0gc2lnbmlmaWNhbnROdW1TaXplICogMjtcclxuICAgICAgZWxzZVxyXG4gICAgICAvLyBpZiB3b3JraW5nIGluIGJhc2U2NFxyXG4gICAgICAgIGxlbiA9IChNYXRoLmZsb29yKChzaWduaWZpY2FudE51bVNpemUgKyAyKSAvIDMpICogNCk7XHJcbiAgICB9XHJcbiAgICAvLyBPb3BzLCBkaWQgd2UgYnVtcGVkIGludG8gYSBzcGFubmVkIHJlY29yZCAoV2UgaWRlbnRpZnkgaXQgd2hlbiB0aGUgaGlnaC1tb3N0IGJpdCBpcyBvbik/XHJcbiAgICBpZiAoKGxlbiAmIDB4ODAwMCkgPiAwKSB7XHJcbiAgICAgIHN1ZmZpeEJ1ZiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcbiAgICAgIGxlbiA9IChsZW4gJiAweDdGRkYpO1xyXG5cclxuICAgICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0IgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1JcclxuICAgICAgICB8fCBpdGVtQXR0ciA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiAqPSAyO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGxlbiA9IChNYXRoLmZsb29yKChsZW4gKyAyKSAvIDMpICogNCk7XHJcblxyXG4gICAgICBwYXJzZWRMZW4udmFsdWUgPSB0aGlzLmdldFNwYW5uZWRGaWVsZChpdGVtVmFsLCBsZW4sIGlkeCwgaXRlbUF0dHIsIHN1ZmZpeEJ1ZiwgdXNlSGV4KTtcclxuICAgICAgdmFsID0gc3VmZml4QnVmLlRvU3RyaW5nKCk7XHJcbiAgICAgIGVuZElkeCA9IGlkeCArIHBhcnNlZExlbi52YWx1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAoaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQlxyXG4gICAgICAgIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuRE9UTkVUXHJcbiAgICAgIClcclxuICAgICAgICBpZiAodXNlSGV4KVxyXG4gICAgICAgICAgbGVuICo9IDI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgbGVuID0gKE1hdGguZmxvb3IoKGxlbiArIDIpIC8gMykgKiA0KTtcclxuXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbjtcclxuICAgICAgaWYgKGVuZElkeCA+IGl0ZW1WYWwubGVuZ3RoKVxyXG4gICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5maWxsRmllbGRzRGF0YSgpIGRhdGEgc3RyaW5nIHRvbyBzaG9ydDpcXG5cIiArIGl0ZW1WYWwpO1xyXG5cclxuICAgICAgaWYgKFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkgJiYgaXRlbUF0dHIgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgdmFsID0gdGhpcy5nZXRTdHJpbmcoaXRlbVZhbC5zdWJzdHIoaWR4LCAoZW5kSWR4KSAtIChpZHgpKSwgaXRlbUF0dHIsIHVzZUhleCwgKGNlbGxBdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBKSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB2YWwgPSB0aGlzLmdldFN0cmluZyhpdGVtVmFsLnN1YnN0cihpZHgsIChlbmRJZHgpIC0gKGlkeCkpLCBpdGVtQXR0ciwgdXNlSGV4KTtcclxuICAgIH1cclxuXHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBIHx8IGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUpIHtcclxuICAgICAgbGVuID0gaXRlbUxlbjtcclxuICAgICAgdmFsID0gU3RyVXRpbC5wYWRTdHIodmFsLCBsZW4pO1xyXG5cclxuICAgICAgaWYgKGl0ZW1BdHRyID09PSBTdG9yYWdlQXR0cmlidXRlLkFMUEhBICYmIFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkpXHJcbiAgICAgICAgdmFsID0gVXRpbFN0ckJ5dGVNb2RlLmxlZnRCKHZhbCwgbGVuKTtcclxuICAgIH1cclxuXHJcbiAgICBwYXJzZWRMZW4udmFsdWUgPSBlbmRJZHg7XHJcbiAgICByZXR1cm4gdmFsO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0U3RyaW5nKHN0cjogc3RyaW5nLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlKTogc3RyaW5nO1xyXG4gIHN0YXRpYyBnZXRTdHJpbmcoc3RyOiBzdHJpbmcsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHVzZUhleDogYm9vbGVhbik6IHN0cmluZztcclxuICBzdGF0aWMgZ2V0U3RyaW5nKHN0cjogc3RyaW5nLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlLCB1c2VIZXg6IGJvb2xlYW4sIHVzZUVudkNoYXJzZXQ6IGJvb2xlYW4pOiBzdHJpbmc7XHJcbiAgc3RhdGljIGdldFN0cmluZyhzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4PzogYm9vbGVhbiwgdXNlRW52Q2hhcnNldD86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpXHJcbiAgICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmdfMChzdHIsIHR5cGUsIHVzZUhleCk7XHJcblxyXG4gICAgaWYoYXJndW1lbnRzLmxlbmd0aCA9PT0gMilcclxuICAgICAgcmV0dXJuIFJlY29yZFV0aWxzLmdldFN0cmluZ18yKHN0ciwgdHlwZSk7XHJcblxyXG4gICAgcmV0dXJuIFJlY29yZFV0aWxzLmdldFN0cmluZ18xKHN0ciwgdHlwZSwgdXNlSGV4LCB1c2VFbnZDaGFyc2V0KTtcclxuICB9XHJcblxyXG4gIC8vLyA8cmV0dXJucz4gcmlnaHQgc3RyaW5nIGluIGNvbmZpZGVuY2Ugd2l0aCB0aGUgdHlwZTwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTdHJpbmdfMChzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmcoc3RyLCB0eXBlLCB1c2VIZXgsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8cmV0dXJucz4gcmlnaHQgc3RyaW5nIGluIGNvbmZpZGVuY2Ugd2l0aCB0aGUgdHlwZTwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTdHJpbmdfMShzdHI6IHN0cmluZywgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgdXNlSGV4OiBib29sZWFuLCB1c2VFbnZDaGFyc2V0OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGxldCByZXN1bHQ6IHN0cmluZztcclxuICAgIGlmICh1c2VIZXgpIHtcclxuICAgICAgaWYgKHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQiB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgcmVzdWx0ID0gUmVjb3JkVXRpbHMuYnl0ZVN0cmVhbVRvU3RyaW5nKHN0cik7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSBzdHI7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQiB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLkJMT0JfVkVDVE9SXHJcbiAgICAgICAgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5ET1RORVQpXHJcbiAgICAgICAgcmVzdWx0ID0gQmFzZTY0LmRlY29kZShzdHIsIHVzZUVudkNoYXJzZXQgPyBHdWlFbnZpcm9ubWVudC5FbnZpcm9ubWVudC5HZXRFbmNvZGluZygpIDogbnVsbCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICByZXN1bHQgPSBCYXNlNjQuZGVjb2RlVG9IZXgoc3RyKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0U3Bhbm5lZEZpZWxkKGZsZHNWYWw6IHN0cmluZywgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuKTogbnVtYmVyO1xyXG4gIHN0YXRpYyBnZXRTcGFubmVkRmllbGQoZmxkc1ZhbDogVWludDhBcnJheSwgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuLCBub09mUGFja2V0czogbnVtYmVyKTogbnVtYmVyO1xyXG4gIHN0YXRpYyBnZXRTcGFubmVkRmllbGQoZmxkc1ZhbDogYW55LCBmaXJzdFNlZ0xlbjogbnVtYmVyLCBpZHg6IG51bWJlciwgdHlwZTogU3RvcmFnZUF0dHJpYnV0ZSwgcmVzdWx0OiBTdHJpbmdCdWlsZGVyLCB1c2VIZXg6IGJvb2xlYW4sIG5vT2ZQYWNrZXRzPzogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSA2KVxyXG4gICAgICByZXR1cm4gUmVjb3JkVXRpbHMuZ2V0U3Bhbm5lZEZpZWxkXzAoZmxkc1ZhbCwgZmlyc3RTZWdMZW4sIGlkeCwgdHlwZSwgcmVzdWx0LCB1c2VIZXgpO1xyXG5cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTcGFubmVkRmllbGRfMShmbGRzVmFsLCBmaXJzdFNlZ0xlbiwgaWR4LCB0eXBlLCByZXN1bHQsIHVzZUhleCwgbm9PZlBhY2tldHMpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFRyYW5zbGF0ZSBYTUwgLT4gZmllbGQgdmFsdWUgZm9yIGEgc3Bhbm5lZCBBTFBIQSBmaWVsZCwgYW5kIHJldHVybiB0aGUgYWN0dWFsXHJcbiAgLy8vICAgZmllbGQncyBsZW5ndGguIEEgc3Bhbm5lZCBmaWVsZCBtYXkgYmUgYWNjZXB0ZWQgZnJvbSB0aGUgc2VydmVyIHdoZW4gYW5cclxuICAvLy8gICBBTFBIQSBpbmNsdWRlcyBzcGVjaWFsIGNoYXJzIHN1Y2ggYXMgTlVMTCB3aGljaCBjYW5ub3QgYmUgZXNjYXBlZCB1c2luZyBhICdcXCcgKGxpa2UsXHJcbiAgLy8vICAgZm9yIGV4YW1wbGUsICdcXFwiJykuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImZsZHNWYWxcIj5zdHJpbmcgZm9yIHBhcnNpbmc8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZmlyc3RTZWdMZW5cIj5sZW5ndGggKGluIGNoYXJzKSBvZiBmaXJzdCBzZWdtZW50LjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpZHhcIj5pbmRleCBpbiBzdHJpbmcsIGZyb20gd2hpY2ggdGhlIGZpcnN0IHNlZ21lbnRzIGRhdGEgc3RhcnRzLjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0eXBlXCI+b2YgdmFyaWFibGUgaXMgbG9va2luZyBmb3I8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicmVzdWx0XCI+dGhlIHJlc3VsdCBzdHJpbmcsIHdoaWNoIHdpbGwgY29udGFpbiB0aGUgcGFyc2VkIGZpZWxkIGNvbnRlbnQuPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRTcGFubmVkRmllbGRfMChmbGRzVmFsOiBzdHJpbmcsIGZpcnN0U2VnTGVuOiBudW1iZXIsIGlkeDogbnVtYmVyLCB0eXBlOiBTdG9yYWdlQXR0cmlidXRlLCByZXN1bHQ6IFN0cmluZ0J1aWxkZXIsIHVzZUhleDogYm9vbGVhbik6IG51bWJlciB7XHJcbiAgICBsZXQgZW5kSWR4OiBudW1iZXIgPSBpZHggKyBmaXJzdFNlZ0xlbjtcclxuICAgIGxldCBsZW46IG51bWJlcjtcclxuICAgIGxldCBiZWdpbjogbnVtYmVyID0gaWR4O1xyXG4gICAgbGV0IGFzY2lpQ29kZTogc3RyaW5nO1xyXG4gICAgbGV0IHRtcDogc3RyaW5nO1xyXG4gICAgbGV0IHN1ZmZpeEJ1ZjogU3RyaW5nQnVpbGRlciA9IG51bGw7XHJcbiAgICBsZXQgcGFyc2VkTGVuOiBudW1iZXI7XHJcblxyXG4gICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKSB7XHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBhcHBlbmQgZmlyc3Qgc2VnbWVudFxyXG4gICAgcmVzdWx0LlJlbW92ZSgwLCByZXN1bHQuTGVuZ3RoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQoUmVjb3JkVXRpbHMuZ2V0U3RyaW5nKGZsZHNWYWwuc3Vic3RyKGlkeCwgZW5kSWR4IC0gaWR4KSwgdHlwZSwgdXNlSGV4KSk7XHJcblxyXG4gICAgaWR4ID0gaWR4ICsgZmlyc3RTZWdMZW47XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJhY3RlcnMgYXJlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAoaGV4IG51bWJlcikgb2Ygc3BlY2lhbCBieXRlcy5cclxuICAgIGVuZElkeCA9IGlkeCArIDQ7XHJcbiAgICB0bXAgPSBmbGRzVmFsLnN1YnN0cihpZHgsIGVuZElkeCAtIGlkeCk7XHJcbiAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgLy8gaWYgd29ya2luZyBpbiBoZXhcclxuICAgIGlmICh1c2VIZXgpXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbiAqIDI7XHJcbiAgICBlbHNlXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIE1hdGguZmxvb3IoKGxlbiArIDIpIC8gMyApICogNDtcclxuXHJcbiAgICBpZiAoZW5kSWR4ID4gZmxkc1ZhbC5sZW5ndGgpXHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAvLyBhcHBlbmQgc3BlY2lhbCBjaGFycywgb25lIGJ5IG9uZVxyXG4gICAgd2hpbGUgKGlkeCA8IGVuZElkeCkge1xyXG4gICAgICB0bXAgPSBmbGRzVmFsLnN1YnN0cihpZHgsIDIpO1xyXG4gICAgICBhc2NpaUNvZGUgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKE5OdW1iZXIuUGFyc2UodG1wLCBOdW1iZXJTdHlsZXMuSGV4TnVtYmVyKSk7XHJcbiAgICAgIHJlc3VsdC5BcHBlbmQoYXNjaWlDb2RlKTtcclxuICAgICAgaWR4ID0gaWR4ICsgMjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBuZXh0IDQgY2hhcnMgYXJlIHRoZSBsZW5ndGggb2YgbmV4dCBzZWdtZW50XHJcbiAgICBlbmRJZHggPSBpZHggKyA0O1xyXG4gICAgdG1wID0gZmxkc1ZhbC5zdWJzdHIoaWR4LCBlbmRJZHggLSBpZHgpO1xyXG4gICAgbGVuID0gTk51bWJlci5QYXJzZSh0bXAsIE51bWJlclN0eWxlcy5IZXhOdW1iZXIpO1xyXG4gICAgaWR4ID0gZW5kSWR4O1xyXG5cclxuICAgIGlmICgobGVuICYgMHg4MDAwKSA+IDApIHtcclxuICAgICAgLy8gT29wcywgbmV4dCBzZWdtZW50IG1heSBhbHNvIGJlIHNwYW5uZWRcclxuICAgICAgc3VmZml4QnVmID0gbmV3IFN0cmluZ0J1aWxkZXIoKTtcclxuICAgICAgbGVuID0gKGxlbiAmIDB4N0ZGRik7XHJcblxyXG4gICAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiA9IGxlbiAqIDI7XHJcbiAgICAgICAgLy8gd29ya2luZyBpbiBiYXNlNjRcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICBsZW4gPSBNYXRoLmZsb29yKChsZW4gKyAyKSAvIDMpICogNDtcclxuXHJcbiAgICAgIHBhcnNlZExlbiA9IFJlY29yZFV0aWxzLmdldFNwYW5uZWRGaWVsZChmbGRzVmFsLCBsZW4sIGlkeCwgdHlwZSwgc3VmZml4QnVmLCB1c2VIZXgpO1xyXG4gICAgICAvLyBhZnRlciB1c2luZyByZWN1cnNpdmUgZnVuY3Rpb24gdGVoIHN1ZmZpeEJ1ZiBpcyBpbiB0aGUgcmlnaHQgdHJhbnNmb3JtZWQgZm9ybVxyXG4gICAgICByZXN1bHQuQXBwZW5kKHN1ZmZpeEJ1Zi5Ub1N0cmluZygpKTtcclxuXHJcbiAgICAgIGlkeCA9IGlkeCArIHBhcnNlZExlbjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpXHJcbiAgICAgICAgaWYgKHVzZUhleClcclxuICAgICAgICAgIGxlbiA9IGxlbiAqIDI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgbGVuID0gTWF0aC5mbG9vcigobGVuICsgMikgLyAzKSAqIDQ7XHJcblxyXG4gICAgICAvLyBuZXh0IHNlZ21lbnQgaXNuJ3Qgc3Bhbm5lZC4gSXQgbXVzdCBiZSB0aGUgbGFzdCBvbmUuXHJcbiAgICAgIGVuZElkeCA9IGlkeCArIGxlbjtcclxuICAgICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKVxyXG4gICAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5maWxsRmllbGRzRGF0YSgpIGRhdGEgc3RyaW5nIHRvbyBzaG9ydDpcXG5cIiArIGZsZHNWYWwpO1xyXG5cclxuICAgICAgcmVzdWx0LkFwcGVuZChSZWNvcmRVdGlscy5nZXRTdHJpbmcoZmxkc1ZhbC5zdWJzdHIoaWR4LCBlbmRJZHggLSBpZHgpLCB0eXBlLCB1c2VIZXgpKTtcclxuICAgICAgaWR4ID0gZW5kSWR4O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpZHggLSBiZWdpbjtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gVHJhbnNsYXRlIHZhbHVlIG9mIHRoZSBzcGFubmVkIGZpZWxkIHRvIGFjdHVhbCB2YWx1ZS4gRmllbGQgdmFsdWUgd2lsbCBiZSBpbiB0aGUgZm9ybWF0IG9mIGxlbmd0aCBhbmQgZGF0YVxyXG4gIC8vLyBbIChMZW5ndGggfCBkYXRhKSAoKExlbmd0aCB8IGRhdGEpKS4uLi4uXVxyXG4gIC8vLyBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVhZCBsZW5ndGggYW5kIGRhdGEgb2YgZWFjaCBwYWNrZXQgYW5kIHJldHVybiBhY3R1YWwgdmFsdWUuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmbGRzVmFsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJmaXJzdFNlZ0xlblwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiaWR4XCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ0eXBlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJyZXN1bHRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInVzZUhleFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibm9PZlBhY2tldHNcIj4gVG90YWwgbnVtYmVyIG9mIHBhY2tldHMgc2VudCBmcm9tIHRoZSBzZXJ2ZXI8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0U3Bhbm5lZEZpZWxkXzEoZmxkc1ZhbDogVWludDhBcnJheSwgZmlyc3RTZWdMZW46IG51bWJlciwgaWR4OiBudW1iZXIsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUsIHJlc3VsdDogU3RyaW5nQnVpbGRlciwgdXNlSGV4OiBib29sZWFuLCBub09mUGFja2V0czogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGxldCBlbmRJZHg6IG51bWJlciA9IGlkeCArIGZpcnN0U2VnTGVuO1xyXG4gICAgbGV0IGxlbjogbnVtYmVyO1xyXG4gICAgbGV0IGJlZ2luOiBudW1iZXIgPSBpZHg7XHJcbiAgICBsZXQgdG1wOiBzdHJpbmc7XHJcbiAgICBsZXQgc3VmZml4QnVmOiBTdHJpbmdCdWlsZGVyID0gbnVsbDtcclxuICAgIGxldCBwYXJzZWRMZW46IG51bWJlcjtcclxuICAgIGxldCB0bXBFbmM6IEVuY29kaW5nO1xyXG4gICAgaWYgKFV0aWxTdHJCeXRlTW9kZS5pc0xvY2FsZURlZkxhbmdEQkNTKCkpXHJcbiAgICAgIHRtcEVuYyA9IElTT184ODU5XzFfRW5jb2RpbmcuSVNPXzg4NTlfMTtcclxuICAgIGVsc2VcclxuICAgICAgdG1wRW5jID0gR3VpRW52aXJvbm1lbnQuRW52aXJvbm1lbnQuR2V0RW5jb2RpbmcoKTtcclxuXHJcbiAgICBpZiAoZW5kSWR4ID4gZmxkc1ZhbC5sZW5ndGgpXHJcbiAgICAgIHRocm93IG5ldyBBcHBsaWNhdGlvbkV4Y2VwdGlvbihcImluIFJlY29yZC5nZXRTcGFubmVkRmllbGQoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAvLyBhcHBlbmQgZmlyc3Qgc2VnbWVudFxyXG4gICAgcmVzdWx0LlJlbW92ZSgwLCByZXN1bHQuTGVuZ3RoKTtcclxuICAgIHJlc3VsdC5BcHBlbmQodG1wRW5jLkdldFN0cmluZyhmbGRzVmFsLCBpZHgsIGZpcnN0U2VnTGVuKSk7XHJcbiAgICBub09mUGFja2V0cyA9IG5vT2ZQYWNrZXRzIC0gMTtcclxuXHJcbiAgICBpZiAobm9PZlBhY2tldHMgPD0gMClcclxuICAgICAgcmV0dXJuIDA7XHJcblxyXG4gICAgaWR4ID0gaWR4ICsgZmlyc3RTZWdMZW47XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJhY3RlcnMgYXJlIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyAoaGV4IG51bWJlcikgb2Ygc3BlY2lhbCBieXRlcy5cclxuICAgIGVuZElkeCA9IGlkeCArIDQ7XHJcbiAgICB0bXAgPSB0bXBFbmMuR2V0U3RyaW5nKGZsZHNWYWwsIGlkeCwgNCk7XHJcbiAgICBsZW4gPSBOTnVtYmVyLlBhcnNlKHRtcCwgTnVtYmVyU3R5bGVzLkhleE51bWJlcik7XHJcbiAgICBpZHggPSBlbmRJZHg7XHJcblxyXG4gICAgaWYgKGVuZElkeCA+IGZsZHNWYWwubGVuZ3RoKVxyXG4gICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oXCJpbiBSZWNvcmQuZ2V0U3Bhbm5lZEZpZWxkKCkgZGF0YSBzdHJpbmcgdG9vIHNob3J0OlxcblwiICsgZmxkc1ZhbCk7XHJcblxyXG4gICAgLy8gbmV4dCA0IGNoYXJzIGFyZSB0aGUgbGVuZ3RoIG9mIG5leHQgc2VnbWVudFxyXG4gICAgZW5kSWR4ID0gaWR4ICsgNDtcclxuICAgIHRtcCA9IHRtcEVuYy5HZXRTdHJpbmcoZmxkc1ZhbCwgaWR4LCA0KTtcclxuICAgIGxlbiA9IE5OdW1iZXIuUGFyc2UodG1wLCBOdW1iZXJTdHlsZXMuSGV4TnVtYmVyKTtcclxuICAgIGlkeCA9IGVuZElkeDtcclxuXHJcbiAgICBpZiAoKGxlbiAmIDB4ODAwMCkgPiAwKSB7XHJcbiAgICAgIC8vIE9vcHMsIG5leHQgc2VnbWVudCBtYXkgYWxzbyBiZSBzcGFubmVkXHJcbiAgICAgIHN1ZmZpeEJ1ZiA9IG5ldyBTdHJpbmdCdWlsZGVyKCk7XHJcblxyXG4gICAgICBwYXJzZWRMZW4gPSBSZWNvcmRVdGlscy5nZXRTcGFubmVkRmllbGQoZmxkc1ZhbCwgbGVuLCBpZHgsIHR5cGUsIHN1ZmZpeEJ1ZiwgdXNlSGV4LCBub09mUGFja2V0cyk7XHJcbiAgICAgIC8vIGFmdGVyIHVzaW5nIHJlY3Vyc2l2ZSBmdW5jdGlvbiB0ZWggc3VmZml4QnVmIGlzIGluIHRoZSByaWdodCB0cmFuc2Zvcm1lZCBmb3JtXHJcbiAgICAgIHJlc3VsdC5BcHBlbmQoc3VmZml4QnVmLlRvU3RyaW5nKCkpO1xyXG4gICAgICBpZHggPSBpZHggKyBwYXJzZWRMZW47XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgLy8gbmV4dCBzZWdtZW50IGlzbid0IHNwYW5uZWQuIEl0IG11c3QgYmUgdGhlIGxhc3Qgb25lLlxyXG4gICAgICBlbmRJZHggPSBpZHggKyBsZW47XHJcbiAgICAgIGlmIChlbmRJZHggPiBmbGRzVmFsLmxlbmd0aClcclxuICAgICAgICB0aHJvdyBuZXcgQXBwbGljYXRpb25FeGNlcHRpb24oXCJpbiBSZWNvcmQuZmlsbEZpZWxkc0RhdGEoKSBkYXRhIHN0cmluZyB0b28gc2hvcnQ6XFxuXCIgKyBmbGRzVmFsKTtcclxuXHJcbiAgICAgIHJlc3VsdC5BcHBlbmQodG1wRW5jLkdldFN0cmluZyhmbGRzVmFsLCBpZHgsIGxlbikpO1xyXG4gICAgICBpZHggPSBlbmRJZHg7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlkeCAtIGJlZ2luO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHNlcmlhbGl6ZSBhbiBpdGVtIChmaWVsZC9nbG9iYWwgcGFyYW0vLi4uKSB0byBhbiBYTUwgZm9ybWF0IChhcHBsaWNhYmxlIHRvIGJlIHBhc3NlZCB0byB0aGUgc2VydmVyKS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsXCI+aXRlbSdzIHZhbHVlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIml0ZW1BdHRyXCI+aXRlbSdzIGF0dHJpYnV0ZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjZWxsQXR0clwiPmNlbGwncyBhdHRyaWJ1dGUgLSByZWxldmFudCBvbmx5IGlmICdpdGVtQXR0cicgaXMgdmVjdG9yPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIlRvQmFzZTY0XCI+PmRlY2lkZSBCYXNlNjQgZW5jb2RpbmcgaXMgdG8gYmUgZG9uZTwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPnNlcmlhbGl6ZWQgWE1MIGZvcm1hdDwvcmV0dXJucz5cclxuICBzdGF0aWMgaXRlbVZhbFRvWE1MKGl0ZW1WYWw6IHN0cmluZywgaXRlbUF0dHI6IFN0b3JhZ2VBdHRyaWJ1dGUsIGNlbGxBdHRyOiBTdG9yYWdlQXR0cmlidXRlLCBUb0Jhc2U2NDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBsZXQgdG1wQnVmOiBzdHJpbmcgPSBSZWNvcmRVdGlscy5zZXJpYWxpemVJdGVtVmFsKGl0ZW1WYWwsIGl0ZW1BdHRyLCBjZWxsQXR0ciwgVG9CYXNlNjQpO1xyXG4gICAgcmV0dXJuIFhtbFBhcnNlci5lc2NhcGUodG1wQnVmKS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxyZXR1cm5zPiBnZXQgdGhlIGFjdHVhbCBzdHJpbmcgYWNjb3JkaW5nIHRvICd0eXBlJzwvcmV0dXJucz5cclxuICBzdGF0aWMgZ2V0U3RyaW5nXzIoc3RyOiBzdHJpbmcsIHR5cGU6IFN0b3JhZ2VBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IHVzZUhleDogYm9vbGVhbiA9IEd1aUVudmlyb25tZW50LkVudmlyb25tZW50LkdldERlYnVnTGV2ZWwoKSA+IDEgfHwgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQVxyXG4gICAgICB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHwgU3RvcmFnZUF0dHJpYnV0ZUNoZWNrLmlzVHlwZUxvZ2ljYWwodHlwZSk7XHJcblxyXG4gICAgLy8gZmlyc3QgNCBjaGFyYWN0ZXJzIGFyZSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgKGhleCBudW1iZXIpXHJcbiAgICBsZXQgdG1wOiBzdHJpbmc7XHJcbiAgICBpZiAodHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5BTFBIQSB8fCB0eXBlID09PSBTdG9yYWdlQXR0cmlidXRlLlVOSUNPREUgfHxcclxuICAgICAgdHlwZSA9PT0gU3RvcmFnZUF0dHJpYnV0ZS5CTE9CIHx8IHR5cGUgPT09IFN0b3JhZ2VBdHRyaWJ1dGUuQkxPQl9WRUNUT1IpIHtcclxuICAgICAgdG1wID0gc3RyLnN1YnN0cig0KTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdG1wID0gc3RyO1xyXG5cclxuICAgIHJldHVybiBSZWNvcmRVdGlscy5nZXRTdHJpbmcodG1wLCB0eXBlLCB1c2VIZXgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
@@ -228,6 +228,7 @@ ExpressionInterface.EXP_OP_CLIENT_DB_DISCONNECT = 636;
|
|
|
228
228
|
ExpressionInterface.EXP_OP_DATAVIEW_TO_DATASOURCE = 637;
|
|
229
229
|
ExpressionInterface.EXP_OP_CLIENT_DB_DEL = 638;
|
|
230
230
|
ExpressionInterface.EXP_OP_VARDISPLAYNAME = 647;
|
|
231
|
+
ExpressionInterface.EXP_OP_CONTROL_ITEMS_REFRESH = 649;
|
|
231
232
|
ExpressionInterface.EXP_OP_VARCONTROLID = 650;
|
|
232
233
|
ExpressionInterface.EXP_OP_CONTROLITEMSLIST = 651;
|
|
233
234
|
ExpressionInterface.EXP_OP_CONTROLDISPLAYLIST = 652;
|
|
@@ -240,4 +241,4 @@ ExpressionInterface.EXP_OP_SET_COOKIE = 701;
|
|
|
240
241
|
ExpressionInterface.EXP_OP_GET_COOKIE = 702;
|
|
241
242
|
ExpressionInterface.EXP_OP_DELETE_COOKIE = 703;
|
|
242
243
|
ExpressionInterface.EXP_OP_ROUTEGET = 705;
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwcmVzc2lvbkludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC9leHAvRXhwcmVzc2lvbkludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBeVA5QjtJQUNBLENBQUM7O0FBdFBNLGdDQUFZLEdBQVcsQ0FBQyxDQUFDO0FBQ3pCLHlDQUFxQixHQUFXLENBQUMsQ0FBQztBQUdsQywrQkFBVyxHQUFXLENBQUMsQ0FBQztBQUN4Qiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw4QkFBVSxHQUFXLENBQUMsQ0FBQztBQUN2Qiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztB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QUFDO0FBQzVDLHdDQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQyx5Q0FBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsdUNBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDJDQUF1QixHQUFXLEdBQUcsQ0FBQztBQUN0Qyw2Q0FBeUIsR0FBVyxHQUFHLENBQUM7QUFDeEMsNkNBQXlCLEdBQVcsR0FBRyxDQUFDO0FBQ3hDLGlEQUE2QixHQUFXLEdBQUcsQ0FBQztBQUM1QyxvQ0FBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IseUNBQXFCLEdBQVcsR0FBRyxDQUFDO0FBQ3BDLHVDQUFtQixHQUFXLEdBQUcsQ0FBQztBQUVsQyxxQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMscUNBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLHdDQUFvQixHQUFXLEdBQUcsQ0FBQztBQUVuQyxtQ0FBZSxHQUFXLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFeHByZXNzaW9uSW50ZXJmYWNlIHtcclxuXHJcbiAgLy8gR2VuZXJhbCBjb25zdGFudHMgZGVmaW5pdGlvbnNcclxuXHJcbiAgc3RhdGljIEVYUF9PUEVSX0xFTjogbnVtYmVyID0gMjtcclxuICBzdGF0aWMgRVhQX09QRVJfRlVOQ19QVFJfTEVOOiBudW1iZXIgPSA0O1xyXG5cclxuICAvLyBleHByZXNzaW9uIG9wZXJhdG9yc1xyXG4gIHN0YXRpYyBFWFBfT1BfTk9ORTogbnVtYmVyID0gMDtcclxuICBzdGF0aWMgRVhQX09QX1Y6IG51bWJlciA9IDE7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVI6IG51bWJlciA9IDI7XHJcbiAgc3RhdGljIEVYUF9PUF9BOiBudW1iZXIgPSAzO1xyXG4gIHN0YXRpYyBFWFBfT1BfSDogbnVtYmVyID0gNDtcclxuICBzdGF0aWMgRVhQX09QX046IG51bWJlciA9IDU7XHJcbiAgc3RhdGljIEVYUF9PUF9EOiBudW1iZXIgPSA2O1xyXG4gIHN0YXRpYyBFWFBfT1BfVDogbnVtYmVyID0gNztcclxuICBzdGF0aWMgRVhQX09QX0w6IG51bWJlciA9IDg7XHJcbiAgc3RhdGljIEVYUF9PUF9GOiBudW1iZXIgPSA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfSzogbnVtYmVyID0gMTA7XHJcbiAgc3RhdGljIEVYUF9PUF9QOiBudW1iZXIgPSAxMTtcclxuICBzdGF0aWMgRVhQX09QX006IG51bWJlciA9IDEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQUNUOiBudW1iZXIgPSAxMztcclxuICBzdGF0aWMgRVhQX09QX0tCRDogbnVtYmVyID0gMTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9BREQ6IG51bWJlciA9IDE1O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1VCOiBudW1iZXIgPSAxNjtcclxuICBzdGF0aWMgRVhQX09QX01VTDogbnVtYmVyID0gMTc7XHJcbiAgc3RhdGljIEVYUF9PUF9ESVY6IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTU9EOiBudW1iZXIgPSAxOTtcclxuICBzdGF0aWMgRVhQX09QX05FRzogbnVtYmVyID0gMjA7XHJcbiAgc3RhdGljIEVYUF9PUF9GSVg6IG51bWJlciA9IDIxO1xyXG4gIHN0YXRpYyBFWFBfT1BfUk9VTkQ6IG51bWJlciA9IDIyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRVE6IG51bWJlciA9IDIzO1xyXG4gIHN0YXRpYyBFWFBfT1BfTkU6IG51bWJlciA9IDI0O1xyXG4gIHN0YXRpYyBFWFBfT1BfTEU6IG51bWJlciA9IDI1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTFQ6IG51bWJlciA9IDI2O1xyXG4gIHN0YXRpYyBFWFBfT1BfR0U6IG51bWJlciA9IDI3O1xyXG4gIHN0YXRpYyBFWFBfT1BfR1Q6IG51bWJlciA9IDI4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTk9UOiBudW1iZXIgPSAyOTtcclxuICBzdGF0aWMgRVhQX09QX09SOiBudW1iZXIgPSAzMDtcclxuICBzdGF0aWMgRVhQX09QX0FORDogbnVtYmVyID0gMzE7XHJcbiAgc3RhdGljIEVYUF9PUF9JRjogbnVtYmVyID0gMzI7XHJcbiAgc3RhdGljIEVYUF9PUF9MRU46IG51bWJlciA9IDMzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09OOiBudW1iZXIgPSAzNDtcclxuICBzdGF0aWMgRVhQX09QX01JRDogbnVtYmVyID0gMzU7XHJcbiAgc3RhdGljIEVYUF9PUF9MRUZUOiBudW1iZXIgPSAzNjtcclxuICBzdGF0aWMgRVhQX09QX1JJR0hUOiBudW1iZXIgPSAzNztcclxuICBzdGF0aWMgRVhQX09QX0ZJTEw6IG51bWJlciA9IDM4O1xyXG4gIHN0YXRpYyBFWFBfT1BfSU5TVFI6IG51bWJlciA9IDM5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVFJJTTogbnVtYmVyID0gNDA7XHJcbiAgc3RhdGljIEVYUF9PUF9MVFJJTTogbnVtYmVyID0gNDE7XHJcbiAgc3RhdGljIEVYUF9PUF9SVFJJTTogbnVtYmVyID0gNDI7XHJcbiAgc3RhdGljIEVYUF9PUF9TVFI6IG51bWJlciA9IDQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFMOiBudW1iZXIgPSA0NDtcclxuICBzdGF0aWMgRVhQX09QX1NUQVQ6IG51bWJlciA9IDQ1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTEVWRUw6IG51bWJlciA9IDQ2O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09VTlRFUjogbnVtYmVyID0gNDc7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVJQUkVWOiBudW1iZXIgPSA0ODtcclxuICBzdGF0aWMgRVhQX09QX1ZBUkNVUlI6IG51bWJlciA9IDQ5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSTU9EOiBudW1iZXIgPSA1MDtcclxuICBzdGF0aWMgRVhQX09QX1ZBUklOUDogbnVtYmVyID0gNTE7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVJOQU1FOiBudW1iZXIgPSA1MjtcclxuICBzdGF0aWMgRVhQX09QX1ZJRVdNT0Q6IG51bWJlciA9IDUzO1xyXG4gIHN0YXRpYyBFWFBfT1BfRU5WOiBudW1iZXIgPSA1NDtcclxuICBzdGF0aWMgRVhQX09QX0lOSUdFVDogbnVtYmVyID0gNTU7XHJcbiAgc3RhdGljIEVYUF9PUF9JTklQVVQ6IG51bWJlciA9IDU2O1xyXG4gIHN0YXRpYyBFWFBfT1BfVEVSTTogbnVtYmVyID0gNTk7XHJcbiAgc3RhdGljIEVYUF9PUF9EQVRFOiBudW1iZXIgPSA2MTtcclxuICBzdGF0aWMgRVhQX09QX1RJTUU6IG51bWJlciA9IDYyO1xyXG4gIHN0YXRpYyBFWFBfT1BfU1lTOiBudW1iZXIgPSA2MztcclxuICBzdGF0aWMgRVhQX09QX1BST0c6IG51bWJlciA9IDY2O1xyXG4gIHN0YXRpYyBFWFBfT1BfUFdSOiBudW1iZXIgPSA2ODtcclxuICBzdGF0aWMgRVhQX09QX0xPRzogbnVtYmVyID0gNjk7XHJcbiAgc3RhdGljIEVYUF9PUF9FWFA6IG51bWJlciA9IDcwO1xyXG4gIHN0YXRpYyBFWFBfT1BfQUJTOiBudW1iZXIgPSA3MTtcclxuICBzdGF0aWMgRVhQX09QX1NJTjogbnVtYmVyID0gNzI7XHJcbiAgc3RhdGljIEVYUF9PUF9DT1M6IG51bWJlciA9IDczO1xyXG4gIHN0YXRpYyBFWFBfT1BfVEFOOiBudW1iZXIgPSA3NDtcclxuICBzdGF0aWMgRVhQX09QX0FTSU46IG51bWJlciA9IDc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQUNPUzogbnVtYmVyID0gNzY7XHJcbiAgc3RhdGljIEVYUF9PUF9BVEFOOiBudW1iZXIgPSA3NztcclxuICBzdGF0aWMgRVhQX09QX1JBTkQ6IG51bWJlciA9IDc4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTUlOOiBudW1iZXIgPSA3OTtcclxuICBzdGF0aWMgRVhQX09QX01BWDogbnVtYmVyID0gODA7XHJcbiAgc3RhdGljIEVYUF9PUF9SQU5HRTogbnVtYmVyID0gODE7XHJcbiAgc3RhdGljIEVYUF9PUF9SRVA6IG51bWJlciA9IDgyO1xyXG4gIHN0YXRpYyBFWFBfT1BfSU5TOiBudW1iZXIgPSA4MztcclxuICBzdGF0aWMgRVhQX09QX0RFTDogbnVtYmVyID0gODQ7XHJcbiAgc3RhdGljIEVYUF9PUF9GTElQOiBudW1iZXIgPSA4NTtcclxuICBzdGF0aWMgRVhQX09QX1VQUEVSOiBudW1iZXIgPSA4NjtcclxuICBzdGF0aWMgRVhQX09QX0xPV0VSOiBudW1iZXIgPSA4NztcclxuICBzdGF0aWMgRVhQX09QX0NSQzogbnVtYmVyID0gODg7XHJcbiAgc3RhdGljIEVYUF9PUF9DSEtER1Q6IG51bWJlciA9IDg5O1xyXG4gIHN0YXRpYyBFWFBfT1BfU09VTkRYOiBudW1iZXIgPSA5MDtcclxuICBzdGF0aWMgRVhQX09QX0hTVFI6IG51bWJlciA9IDkxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSFZBTDogbnVtYmVyID0gOTI7XHJcbiAgc3RhdGljIEVYUF9PUF9DSFI6IG51bWJlciA9IDkzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQVNDOiBudW1iZXIgPSA5NDtcclxuICBzdGF0aWMgRVhQX09QX01TVFI6IG51bWJlciA9IDEwMztcclxuICBzdGF0aWMgRVhQX09QX01WQUw6IG51bWJlciA9IDEwNDtcclxuICBzdGF0aWMgRVhQX09QX0RTVFI6IG51bWJlciA9IDEwNTtcclxuICBzdGF0aWMgRVhQX09QX0RWQUw6IG51bWJlciA9IDEwNjtcclxuICBzdGF0aWMgRVhQX09QX1RTVFI6IG51bWJlciA9IDEwNztcclxuICBzdGF0aWMgRVhQX09QX1RWQUw6IG51bWJlciA9IDEwODtcclxuICBzdGF0aWMgRVhQX09QX0RBWTogbnVtYmVyID0gMTA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfTU9OVEg6IG51bWJlciA9IDExMDtcclxuICBzdGF0aWMgRVhQX09QX1lFQVI6IG51bWJlciA9IDExMTtcclxuICBzdGF0aWMgRVhQX09QX0RPVzogbnVtYmVyID0gMTEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0RPVzogbnVtYmVyID0gMTEzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ01PTlRIOiBudW1iZXIgPSAxMTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9ORE9XOiBudW1iZXIgPSAxMTU7XHJcbiAgc3RhdGljIEVYUF9PUF9OTU9OVEg6IG51bWJlciA9IDExNjtcclxuICBzdGF0aWMgRVhQX09QX1NFQ09ORDogbnVtYmVyID0gMTE3O1xyXG4gIHN0YXRpYyBFWFBfT1BfTUlOVVRFOiBudW1iZXIgPSAxMTg7XHJcbiAgc3RhdGljIEVYUF9PUF9IT1VSOiBudW1iZXIgPSAxMTk7XHJcbiAgc3RhdGljIEVYUF9PUF9ERUxBWTogbnVtYmVyID0gMTIwO1xyXG4gIHN0YXRpYyBFWFBfT1BfSURMRTogbnVtYmVyID0gMTIxO1xyXG4gIHN0YXRpYyBFWFBfT1BfTE9HSUNBTDogbnVtYmVyID0gMTM4O1xyXG4gIHN0YXRpYyBFWFBfT1BfVklTVUFMOiBudW1iZXIgPSAxMzk7XHJcbiAgc3RhdGljIEVYUF9PUF9BREREQVRFOiBudW1iZXIgPSAxNTY7XHJcbiAgc3RhdGljIEVYUF9PUF9BRERUSU1FOiBudW1iZXIgPSAxNTc7XHJcbiAgc3RhdGljIEVYUF9PUF9PV05FUjogbnVtYmVyID0gMTU4O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSQVRUUjogbnVtYmVyID0gMTU5O1xyXG4gIHN0YXRpYyBFWFBfT1BfQk9NOiBudW1iZXIgPSAxNjA7XHJcbiAgc3RhdGljIEVYUF9PUF9CT1k6IG51bWJlciA9IDE2MTtcclxuICBzdGF0aWMgRVhQX09QX0VPTTogbnVtYmVyID0gMTYyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRU9ZOiBudW1iZXIgPSAxNjM7XHJcbiAgc3RhdGljIEVYUF9PUF9SSUdIVF9MSVRFUkFMOiBudW1iZXIgPSAxNjU7XHJcbiAgc3RhdGljIEVYUF9PUF9ST0xMQkFDSzogbnVtYmVyID0gMTY3O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSU0VUOiBudW1iZXIgPSAxNjg7XHJcbiAgc3RhdGljIEVYUF9PUF9FVkFMWDogbnVtYmVyID0gMTcxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSUdOT1JFOiBudW1iZXIgPSAxNzI7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMOiBudW1iZXIgPSAxNzM7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMX0E6IG51bWJlciA9IDE3NDtcclxuICBzdGF0aWMgRVhQX09QX05VTExfTjogbnVtYmVyID0gMTc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTlVMTF9COiBudW1iZXIgPSAxNzY7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMX0Q6IG51bWJlciA9IDE3NztcclxuICBzdGF0aWMgRVhQX09QX05VTExfVDogbnVtYmVyID0gMTc4O1xyXG4gIHN0YXRpYyBFWFBfT1BfSVNOVUxMOiBudW1iZXIgPSAxNzk7XHJcbiAgc3RhdGljIEVYUF9PUF9UREVQVEg6IG51bWJlciA9IDE4MDtcclxuICAgc3RhdGljIEVYUF9PUF9NSU5NQUdJQzogbnVtYmVyID0gMTkzO1xyXG4gIHN0YXRpYyBFWFBfT1BfTUFYTUFHSUM6IG51bWJlciA9IDE5NDtcclxuICBzdGF0aWMgRVhQX09QX1JFU01BR0lDOiBudW1iZXIgPSAxOTU7XHJcbiAgc3RhdGljIEVYUF9PUF9GSUxFRExHOiBudW1iZXIgPSAxOTY7XHJcbiAgc3RhdGljIEVYUF9PUF9NTFNfVFJBTlM6IG51bWJlciA9IDE5OTtcclxuICBzdGF0aWMgRVhQX09QX0NUUkxfTkFNRTogbnVtYmVyID0gMjAwO1xyXG4gICBzdGF0aWMgRVhQX09QX0dFVExBTkc6IG51bWJlciA9IDIwNjtcclxuICAgc3RhdGljIEVYUF9PUF9OVUxMX086IG51bWJlciA9IDIxMDtcclxuICBzdGF0aWMgRVhQX09QX0dFVFBBUkFNOiBudW1iZXIgPSAyMTI7XHJcbiAgc3RhdGljIEVYUF9PUF9TRVRQQVJBTTogbnVtYmVyID0gMjEzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ05EX1JBTkdFOiBudW1iZXIgPSAyMTk7XHJcbiAgc3RhdGljIEVYUF9PUF9JU0RFRkFVTFQ6IG51bWJlciA9IDIzNTtcclxuICBzdGF0aWMgRVhQX09QX0ZPUk06IG51bWJlciA9IDIzNjtcclxuICBzdGF0aWMgRVhQX09QX1NUUlRPS0VOOiBudW1iZXIgPSAyMzc7XHJcbiAgc3RhdGljIEVYUF9PUF9JTklHRVRMTjogbnVtYmVyID0gMjQxO1xyXG4gIHN0YXRpYyBFWFBfT1BfRVhQQ0FMQzogbnVtYmVyID0gMjQyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRTogbnVtYmVyID0gMjQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfV0VCX1JFRkVSRU5DRTogbnVtYmVyID0gMjY3O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0FTRTogbnVtYmVyID0gMjczO1xyXG4gIHN0YXRpYyBFWFBfT1BfTElLRTogbnVtYmVyID0gMjc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0FMTEpTOiBudW1iZXIgPSAyODM7XHJcbiAgc3RhdGljIEVYUF9PUF9USElTOiBudW1iZXIgPSAyOTA7XHJcbiAgc3RhdGljIEVYUF9PUF9SRVBTVFI6IG51bWJlciA9IDMwMztcclxuICBzdGF0aWMgRVhQX09QX0RCUk9VTkQ6IG51bWJlciA9IDMwNjtcclxuICBzdGF0aWMgRVhQX09QX1ZBUlBJQzogbnVtYmVyID0gMzA3O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1RSVE9LX0NOVDogbnVtYmVyID0gMzA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSQ1VSUk46IG51bWJlciA9IDMxMDtcclxuICBzdGF0aWMgRVhQX09QX1ZBUklOREVYOiBudW1iZXIgPSAzMTE7XHJcbiAgc3RhdGljIEVYUF9PUF9KQ0RPVzogbnVtYmVyID0gMzQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfSk1PTlRIOiBudW1iZXIgPSAzNDQ7XHJcbiAgc3RhdGljIEVYUF9PUF9KTkRPVzogbnVtYmVyID0gMzQ1O1xyXG4gIHN0YXRpYyBFWFBfT1BfSllFQVI6IG51bWJlciA9IDM0NjtcclxuICBzdGF0aWMgRVhQX09QX0pHRU5HTzogbnVtYmVyID0gMzQ3O1xyXG4gIHN0YXRpYyBFWFBfT1BfSEFOOiBudW1iZXIgPSAzNTA7XHJcbiAgc3RhdGljIEVYUF9PUF9aRU46IG51bWJlciA9IDM1MTtcclxuICBzdGF0aWMgRVhQX09QX1pFTlM6IG51bWJlciA9IDM1MjtcclxuICBzdGF0aWMgRVhQX09QX1pJTUVSRUFEOiBudW1iZXIgPSAzNTM7XHJcbiAgc3RhdGljIEVYUF9PUF9aS0FOQTogbnVtYmVyID0gMzU0O1xyXG4gIHN0YXRpYyBFWFBfT1BfR09UT19DVFJMOiBudW1iZXIgPSAzNjg7XHJcbiAgc3RhdGljIEVYUF9PUF9UUkFOU0xBVEU6IG51bWJlciA9IDM3MztcclxuICBzdGF0aWMgRVhQX09QX0FTVFI6IG51bWJlciA9IDM3NDtcclxuXHJcbiAgc3RhdGljIEVYUF9PUF9MT09QQ09VTlRFUjogbnVtYmVyID0gNDAxO1xyXG5cclxuICBzdGF0aWMgRVhQX09QX1ZFQ0dFVDogbnVtYmVyID0gNDE3O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkVDU0VUOiBudW1iZXIgPSA0MTg7XHJcbiAgc3RhdGljIEVYUF9PUF9WRUNTSVpFOiBudW1iZXIgPSA0MTk7XHJcbiAgc3RhdGljIEVYUF9PUF9WRUNDRUxMQVRUUjogbnVtYmVyID0gNDIwO1xyXG4gIHN0YXRpYyBFWFBfT1BfQkxPQlNJWkU6IG51bWJlciA9IDQ0MjtcclxuICBzdGF0aWMgRVhQX09QX1NUUlRPS0VOX0lEWDogbnVtYmVyID0gNDQ4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTVRJTUU6IG51bWJlciA9IDQ0OTtcclxuICBzdGF0aWMgRVhQX09QX01UVkFMOiBudW1iZXIgPSA0NTA7XHJcbiAgc3RhdGljIEVYUF9PUF9NVFNUUjogbnVtYmVyID0gNDUxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSU46IG51bWJlciA9IDQ2MjtcclxuICBzdGF0aWMgRVhQX09QX0lTQ09NUE9ORU5UOiBudW1iZXIgPSA0NjU7XHJcbiAgc3RhdGljIEVYUF9PUF9FWFRfQTogbnVtYmVyID0gNDg1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTlVMTF9VOiBudW1iZXIgPSA0OTE7XHJcbiAgc3RhdGljIEVYUF9PUF9VU0VSX0RFRklORURfRlVOQzogbnVtYmVyID0gNDk2O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1VCRk9STV9FWEVDX01PREU6IG51bWJlciA9IDQ5NztcclxuICBzdGF0aWMgRVhQX09QX1VOSUNPREVBU0M6IG51bWJlciA9IDUwNjtcclxuICBzdGF0aWMgRVhQX09QX0FERERUOiBudW1iZXIgPSA1MDk7XHJcbiAgc3RhdGljIEVYUF9PUF9ESUZEVDogbnVtYmVyID0gNTEwO1xyXG4gIHN0YXRpYyBFWFBfT1BfSVNGSVJTVFJFQ09SRENZQ0xFOiBudW1iZXIgPSA1MTE7XHJcbiAgc3RhdGljIEVYUF9PUF9NQUlOTEVWRUw6IG51bWJlciA9IDUxMjtcclxuICBzdGF0aWMgRVhQX09QX01BSU5ESVNQTEFZOiBudW1iZXIgPSA1MTU7XHJcbiAgc3RhdGljIEVYUF9PUF9EQlZJRVdTSVpFOiBudW1iZXIgPSA1Mzk7XHJcbiAgc3RhdGljIEVYUF9PUF9EQlZJRVdST1dJRFg6IG51bWJlciA9IDU0MDtcclxuICBzdGF0aWMgRVhQX09QX1BST0pFQ1RESVI6IG51bWJlciA9IDU0MTtcclxuICBzdGF0aWMgRVhQX09QX0ZPUk1TVEFURUNMRUFSOiBudW1iZXIgPSA1NDI7XHJcbiAgc3RhdGljIEVYUF9PUF9QVUJMSUNOQU1FOiBudW1iZXIgPSA1NDM7XHJcbiAgc3RhdGljIEVYUF9PUF9UQVNLSUQ6IG51bWJlciA9IDU0NDtcclxuICBzdGF0aWMgRVhQX09QX1NUUl9CVUlMRDogbnVtYmVyID0gNTQ5O1xyXG4gIHN0YXRpYyBFWFBfT1BfRU1QVFlfREFUQV9WSUVXOiBudW1iZXIgPSA1NjE7XHJcbiAgc3RhdGljIEVYUF9PUF9TVEFUVVNCQVJTRVRURVhUOiBudW1iZXIgPSA1Njg7XHJcbiAgc3RhdGljIEVYUF9PUF9DTElFTlRfRElSRExHOiBudW1iZXIgPSA1NzQ7XHJcbiAgc3RhdGljIEVYUF9PUF9DTElFTlRfUkVESVJFQ1Q6IG51bWJlciA9IDU3NztcclxuICBzdGF0aWMgRVhQX09QX0lTX01PQklMRV9DTElFTlQ6IG51bWJlciA9IDU5MztcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVF9TRVNTSU9OX1NUQVRJU1RJQ1NfR0VUOiBudW1iZXIgPSA1OTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9UQVNLVFlQRTogbnVtYmVyID0gNjEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0xJRU5UX0ZJTEVfVE9fU0VSVkVSOiBudW1iZXIgPSA2MTU7XHJcbiAgc3RhdGljIEVYUF9PUF9SQU5HRV9BREQ6IG51bWJlciA9IDYxNjtcclxuICBzdGF0aWMgRVhQX09QX1JBTkdFX1JFU0VUOiBudW1iZXIgPSA2MTc7XHJcbiAgc3RhdGljIEVYUF9PUF9MT0NBVEVfQUREOiBudW1iZXIgPSA2MTg7XHJcbiAgc3RhdGljIEVYUF9PUF9MT0NBVEVfUkVTRVQ6IG51bWJlciA9IDYxOTtcclxuICBzdGF0aWMgRVhQX09QX1NPUlRfQUREOiBudW1iZXIgPSA2MjA7XHJcbiAgc3RhdGljIEVYUF9PUF9TT1JUX1JFU0VUOiBudW1iZXIgPSA2MjE7XHJcbiAgc3RhdGljIEVYUF9PUF9UU0tfSU5TVEFOQ0U6IG51bWJlciA9IDYyMjtcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVFNFU1NJT05fU0VUOiBudW1iZXIgPSA2MzI7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENEQVRFOiBudW1iZXIgPSA2MzM7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENUSU1FOiBudW1iZXIgPSA2MzQ7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENNVElNRTogbnVtYmVyID0gNjM1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0xJRU5UX0RCX0RJU0NPTk5FQ1Q6IG51bWJlciA9IDYzNjtcclxuICBzdGF0aWMgRVhQX09QX0RBVEFWSUVXX1RPX0RBVEFTT1VSQ0U6IG51bWJlciA9IDYzNztcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVF9EQl9ERUw6IG51bWJlciA9IDYzODtcclxuICBzdGF0aWMgRVhQX09QX1ZBUkRJU1BMQVlOQU1FOiBudW1iZXIgPSA2NDc7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVJDT05UUk9MSUQ6IG51bWJlciA9IDY1MDtcclxuICBzdGF0aWMgRVhQX09QX0NPTlRST0xJVEVNU0xJU1Q6IG51bWJlciA9IDY1MTtcclxuICBzdGF0aWMgRVhQX09QX0NPTlRST0xESVNQTEFZTElTVDogbnVtYmVyID0gNjUyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0xJRU5UX1NRTF9FWEVDVVRFOiBudW1iZXIgPSA2NTM7XHJcbiAgc3RhdGljIEVYUF9PUF9DT05UUk9MX1NFTEVDVF9QUk9HUkFNOiBudW1iZXIgPSA2NTY7XHJcbiAgc3RhdGljIEVYUF9PUF9TRVRfVElUTEU6IG51bWJlciA9IDY4NztcclxuICBzdGF0aWMgRVhQX09QX0lTX1JPV19FRElUSU5HOiBudW1iZXIgPSA2ODk7XHJcbiAgc3RhdGljIEVYUF9PUF9JU19MT0dHRURfSU46IG51bWJlciA9IDY5MDtcclxuXHJcbiAgc3RhdGljIEVYUF9PUF9TRVRfQ09PS0lFOiBudW1iZXIgPSA3MDE7XHJcbiAgc3RhdGljIEVYUF9PUF9HRVRfQ09PS0lFOiBudW1iZXIgPSA3MDI7XHJcbiAgc3RhdGljIEVYUF9PUF9ERUxFVEVfQ09PS0lFOiBudW1iZXIgPSA3MDM7XHJcblxyXG4gIHN0YXRpYyBFWFBfT1BfUk9VVEVHRVQ6IG51bWJlciA9IDcwNTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwcmVzc2lvbkludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2d1aS9zcmMvbWFuYWdlbWVudC9leHAvRXhwcmVzc2lvbkludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBRSxNQUFNLE9BQU8sbUJBQW1CO0lBMFBoQztJQUNBLENBQUM7O0FBdlBNLGdDQUFZLEdBQVcsQ0FBQyxDQUFDO0FBQ3pCLHlDQUFxQixHQUFXLENBQUMsQ0FBQztBQUdsQywrQkFBVyxHQUFXLENBQUMsQ0FBQztBQUN4Qiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw4QkFBVSxHQUFXLENBQUMsQ0FBQztBQUN2Qiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLENBQUMsQ0FBQztBQUNyQiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw0QkFBUSxHQUFXLEVBQUUsQ0FBQztBQUN0Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw2QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUN2Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEVBQUUsQ0FBQztBQUM1Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQixnQ0FBWSxHQUFXLEVBQUUsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQixpQ0FBYSxHQUFXLEVBQUUsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEVBQUUsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4Qiw4QkFBVSxHQUFXLEVBQUUsQ0FBQztBQUN4QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6QixnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3Qiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6Qiw4QkFBVSxHQUFXLEdBQUcsQ0FBQztBQUN6Qix3Q0FBb0IsR0FBVyxHQUFHLENBQUM7QUFDbkMsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsK0JBQVcsR0FBVyxHQUFHLENBQUM7QUFDMUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDM0IsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDL0IsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsa0NBQWMsR0FBVyxHQUFHLENBQUM7QUFDN0Isb0NBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLG9DQUFnQixHQUFXLEdBQUcsQ0FBQztBQUM5QixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM3QixtQ0FBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QixtQ0FBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QixvQ0FBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0Isb0NBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLCtCQUFXLEdBQVcsR0FBRyxDQUFDO0FBQzFCLG1DQUFlLEdBQVcsR0FBRyxDQUFDO0FBQzlCLG1DQUFlLEdBQVcsR0FBRyxDQUFDO0FBQzlCLGtDQUFjLEdBQVcsR0FBRyxDQUFDO0FBQzdCLDRCQUFRLEdBQVcsR0FBRyxDQUFDO0FBQ3ZCLHdDQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQywrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUMxQixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixxQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsOEJBQVUsR0FBVyxHQUFHLENBQUM7QUFDekIsOEJBQVUsR0FBVyxHQUFHLENBQUM7QUFDekIsK0JBQVcsR0FBVyxHQUFHLENBQUM7QUFDMUIsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0Isb0NBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLG9DQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQiwrQkFBVyxHQUFXLEdBQUcsQ0FBQztBQUUxQixzQ0FBa0IsR0FBVyxHQUFHLENBQUM7QUFFakMsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsa0NBQWMsR0FBVyxHQUFHLENBQUM7QUFDN0Isc0NBQWtCLEdBQVcsR0FBRyxDQUFDO0FBQ2pDLG1DQUFlLEdBQVcsR0FBRyxDQUFDO0FBQzlCLHVDQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQyxnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQixnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQixnQ0FBWSxHQUFXLEdBQUcsQ0FBQztBQUMzQiw2QkFBUyxHQUFXLEdBQUcsQ0FBQztBQUN4QixzQ0FBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsaUNBQWEsR0FBVyxHQUFHLENBQUM7QUFDNUIsNENBQXdCLEdBQVcsR0FBRyxDQUFDO0FBQ3ZDLDRDQUF3QixHQUFXLEdBQUcsQ0FBQztBQUN2QyxxQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsZ0NBQVksR0FBVyxHQUFHLENBQUM7QUFDM0IsNkNBQXlCLEdBQVcsR0FBRyxDQUFDO0FBQ3hDLG9DQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQixzQ0FBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMscUNBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLHVDQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQyxxQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMseUNBQXFCLEdBQVcsR0FBRyxDQUFDO0FBQ3BDLHFDQUFpQixHQUFXLEdBQUcsQ0FBQztBQUNoQyxpQ0FBYSxHQUFXLEdBQUcsQ0FBQztBQUM1QixvQ0FBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsMENBQXNCLEdBQVcsR0FBRyxDQUFDO0FBQ3JDLDJDQUF1QixHQUFXLEdBQUcsQ0FBQztBQUN0Qyx3Q0FBb0IsR0FBVyxHQUFHLENBQUM7QUFDbkMsMENBQXNCLEdBQVcsR0FBRyxDQUFDO0FBQ3JDLDJDQUF1QixHQUFXLEdBQUcsQ0FBQztBQUN0Qyx3REFBb0MsR0FBVyxHQUFHLENBQUM7QUFDbkQsbUNBQWUsR0FBVyxHQUFHLENBQUM7QUFDOUIsZ0RBQTRCLEdBQVcsR0FBRyxDQUFDO0FBQzNDLG9DQUFnQixHQUFXLEdBQUcsQ0FBQztBQUMvQixzQ0FBa0IsR0FBVyxHQUFHLENBQUM7QUFDakMscUNBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLHVDQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQyxtQ0FBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QixxQ0FBaUIsR0FBVyxHQUFHLENBQUM7QUFDaEMsdUNBQW1CLEdBQVcsR0FBRyxDQUFDO0FBQ2xDLDRDQUF3QixHQUFXLEdBQUcsQ0FBQztBQUN2QyxrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixrQ0FBYyxHQUFXLEdBQUcsQ0FBQztBQUM3QixtQ0FBZSxHQUFXLEdBQUcsQ0FBQztBQUM5QiwrQ0FBMkIsR0FBVyxHQUFHLENBQUM7QUFDMUMsaURBQTZCLEdBQVcsR0FBRyxDQUFDO0FBQzVDLHdDQUFvQixHQUFXLEdBQUcsQ0FBQztBQUNuQyx5Q0FBcUIsR0FBVyxHQUFHLENBQUM7QUFDcEMsZ0RBQTRCLEdBQVcsR0FBRyxDQUFDO0FBQzNDLHVDQUFtQixHQUFXLEdBQUcsQ0FBQztBQUNsQywyQ0FBdUIsR0FBVyxHQUFHLENBQUM7QUFDdEMsNkNBQXlCLEdBQVcsR0FBRyxDQUFDO0FBQ3hDLDZDQUF5QixHQUFXLEdBQUcsQ0FBQztBQUN4QyxpREFBNkIsR0FBVyxHQUFHLENBQUM7QUFDNUMsb0NBQWdCLEdBQVcsR0FBRyxDQUFDO0FBQy9CLHlDQUFxQixHQUFXLEdBQUcsQ0FBQztBQUNwQyx1Q0FBbUIsR0FBVyxHQUFHLENBQUM7QUFFbEMscUNBQWlCLEdBQVcsR0FBRyxDQUFDO0FBQ2hDLHFDQUFpQixHQUFXLEdBQUcsQ0FBQztBQUNoQyx3Q0FBb0IsR0FBVyxHQUFHLENBQUM7QUFFbkMsbUNBQWUsR0FBVyxHQUFHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIgIGV4cG9ydCBjbGFzcyBFeHByZXNzaW9uSW50ZXJmYWNlIHtcclxuXHJcbiAgLy8gR2VuZXJhbCBjb25zdGFudHMgZGVmaW5pdGlvbnNcclxuXHJcbiAgc3RhdGljIEVYUF9PUEVSX0xFTjogbnVtYmVyID0gMjtcclxuICBzdGF0aWMgRVhQX09QRVJfRlVOQ19QVFJfTEVOOiBudW1iZXIgPSA0O1xyXG5cclxuICAvLyBleHByZXNzaW9uIG9wZXJhdG9yc1xyXG4gIHN0YXRpYyBFWFBfT1BfTk9ORTogbnVtYmVyID0gMDtcclxuICBzdGF0aWMgRVhQX09QX1Y6IG51bWJlciA9IDE7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVI6IG51bWJlciA9IDI7XHJcbiAgc3RhdGljIEVYUF9PUF9BOiBudW1iZXIgPSAzO1xyXG4gIHN0YXRpYyBFWFBfT1BfSDogbnVtYmVyID0gNDtcclxuICBzdGF0aWMgRVhQX09QX046IG51bWJlciA9IDU7XHJcbiAgc3RhdGljIEVYUF9PUF9EOiBudW1iZXIgPSA2O1xyXG4gIHN0YXRpYyBFWFBfT1BfVDogbnVtYmVyID0gNztcclxuICBzdGF0aWMgRVhQX09QX0w6IG51bWJlciA9IDg7XHJcbiAgc3RhdGljIEVYUF9PUF9GOiBudW1iZXIgPSA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfSzogbnVtYmVyID0gMTA7XHJcbiAgc3RhdGljIEVYUF9PUF9QOiBudW1iZXIgPSAxMTtcclxuICBzdGF0aWMgRVhQX09QX006IG51bWJlciA9IDEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQUNUOiBudW1iZXIgPSAxMztcclxuICBzdGF0aWMgRVhQX09QX0tCRDogbnVtYmVyID0gMTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9BREQ6IG51bWJlciA9IDE1O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1VCOiBudW1iZXIgPSAxNjtcclxuICBzdGF0aWMgRVhQX09QX01VTDogbnVtYmVyID0gMTc7XHJcbiAgc3RhdGljIEVYUF9PUF9ESVY6IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTU9EOiBudW1iZXIgPSAxOTtcclxuICBzdGF0aWMgRVhQX09QX05FRzogbnVtYmVyID0gMjA7XHJcbiAgc3RhdGljIEVYUF9PUF9GSVg6IG51bWJlciA9IDIxO1xyXG4gIHN0YXRpYyBFWFBfT1BfUk9VTkQ6IG51bWJlciA9IDIyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRVE6IG51bWJlciA9IDIzO1xyXG4gIHN0YXRpYyBFWFBfT1BfTkU6IG51bWJlciA9IDI0O1xyXG4gIHN0YXRpYyBFWFBfT1BfTEU6IG51bWJlciA9IDI1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTFQ6IG51bWJlciA9IDI2O1xyXG4gIHN0YXRpYyBFWFBfT1BfR0U6IG51bWJlciA9IDI3O1xyXG4gIHN0YXRpYyBFWFBfT1BfR1Q6IG51bWJlciA9IDI4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTk9UOiBudW1iZXIgPSAyOTtcclxuICBzdGF0aWMgRVhQX09QX09SOiBudW1iZXIgPSAzMDtcclxuICBzdGF0aWMgRVhQX09QX0FORDogbnVtYmVyID0gMzE7XHJcbiAgc3RhdGljIEVYUF9PUF9JRjogbnVtYmVyID0gMzI7XHJcbiAgc3RhdGljIEVYUF9PUF9MRU46IG51bWJlciA9IDMzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09OOiBudW1iZXIgPSAzNDtcclxuICBzdGF0aWMgRVhQX09QX01JRDogbnVtYmVyID0gMzU7XHJcbiAgc3RhdGljIEVYUF9PUF9MRUZUOiBudW1iZXIgPSAzNjtcclxuICBzdGF0aWMgRVhQX09QX1JJR0hUOiBudW1iZXIgPSAzNztcclxuICBzdGF0aWMgRVhQX09QX0ZJTEw6IG51bWJlciA9IDM4O1xyXG4gIHN0YXRpYyBFWFBfT1BfSU5TVFI6IG51bWJlciA9IDM5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVFJJTTogbnVtYmVyID0gNDA7XHJcbiAgc3RhdGljIEVYUF9PUF9MVFJJTTogbnVtYmVyID0gNDE7XHJcbiAgc3RhdGljIEVYUF9PUF9SVFJJTTogbnVtYmVyID0gNDI7XHJcbiAgc3RhdGljIEVYUF9PUF9TVFI6IG51bWJlciA9IDQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFMOiBudW1iZXIgPSA0NDtcclxuICBzdGF0aWMgRVhQX09QX1NUQVQ6IG51bWJlciA9IDQ1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTEVWRUw6IG51bWJlciA9IDQ2O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09VTlRFUjogbnVtYmVyID0gNDc7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVJQUkVWOiBudW1iZXIgPSA0ODtcclxuICBzdGF0aWMgRVhQX09QX1ZBUkNVUlI6IG51bWJlciA9IDQ5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSTU9EOiBudW1iZXIgPSA1MDtcclxuICBzdGF0aWMgRVhQX09QX1ZBUklOUDogbnVtYmVyID0gNTE7XHJcbiAgc3RhdGljIEVYUF9PUF9WQVJOQU1FOiBudW1iZXIgPSA1MjtcclxuICBzdGF0aWMgRVhQX09QX1ZJRVdNT0Q6IG51bWJlciA9IDUzO1xyXG4gIHN0YXRpYyBFWFBfT1BfRU5WOiBudW1iZXIgPSA1NDtcclxuICBzdGF0aWMgRVhQX09QX0lOSUdFVDogbnVtYmVyID0gNTU7XHJcbiAgc3RhdGljIEVYUF9PUF9JTklQVVQ6IG51bWJlciA9IDU2O1xyXG4gIHN0YXRpYyBFWFBfT1BfVEVSTTogbnVtYmVyID0gNTk7XHJcbiAgc3RhdGljIEVYUF9PUF9EQVRFOiBudW1iZXIgPSA2MTtcclxuICBzdGF0aWMgRVhQX09QX1RJTUU6IG51bWJlciA9IDYyO1xyXG4gIHN0YXRpYyBFWFBfT1BfU1lTOiBudW1iZXIgPSA2MztcclxuICBzdGF0aWMgRVhQX09QX1BST0c6IG51bWJlciA9IDY2O1xyXG4gIHN0YXRpYyBFWFBfT1BfUFdSOiBudW1iZXIgPSA2ODtcclxuICBzdGF0aWMgRVhQX09QX0xPRzogbnVtYmVyID0gNjk7XHJcbiAgc3RhdGljIEVYUF9PUF9FWFA6IG51bWJlciA9IDcwO1xyXG4gIHN0YXRpYyBFWFBfT1BfQUJTOiBudW1iZXIgPSA3MTtcclxuICBzdGF0aWMgRVhQX09QX1NJTjogbnVtYmVyID0gNzI7XHJcbiAgc3RhdGljIEVYUF9PUF9DT1M6IG51bWJlciA9IDczO1xyXG4gIHN0YXRpYyBFWFBfT1BfVEFOOiBudW1iZXIgPSA3NDtcclxuICBzdGF0aWMgRVhQX09QX0FTSU46IG51bWJlciA9IDc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQUNPUzogbnVtYmVyID0gNzY7XHJcbiAgc3RhdGljIEVYUF9PUF9BVEFOOiBudW1iZXIgPSA3NztcclxuICBzdGF0aWMgRVhQX09QX1JBTkQ6IG51bWJlciA9IDc4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTUlOOiBudW1iZXIgPSA3OTtcclxuICBzdGF0aWMgRVhQX09QX01BWDogbnVtYmVyID0gODA7XHJcbiAgc3RhdGljIEVYUF9PUF9SQU5HRTogbnVtYmVyID0gODE7XHJcbiAgc3RhdGljIEVYUF9PUF9SRVA6IG51bWJlciA9IDgyO1xyXG4gIHN0YXRpYyBFWFBfT1BfSU5TOiBudW1iZXIgPSA4MztcclxuICBzdGF0aWMgRVhQX09QX0RFTDogbnVtYmVyID0gODQ7XHJcbiAgc3RhdGljIEVYUF9PUF9GTElQOiBudW1iZXIgPSA4NTtcclxuICBzdGF0aWMgRVhQX09QX1VQUEVSOiBudW1iZXIgPSA4NjtcclxuICBzdGF0aWMgRVhQX09QX0xPV0VSOiBudW1iZXIgPSA4NztcclxuICBzdGF0aWMgRVhQX09QX0NSQzogbnVtYmVyID0gODg7XHJcbiAgc3RhdGljIEVYUF9PUF9DSEtER1Q6IG51bWJlciA9IDg5O1xyXG4gIHN0YXRpYyBFWFBfT1BfU09VTkRYOiBudW1iZXIgPSA5MDtcclxuICBzdGF0aWMgRVhQX09QX0hTVFI6IG51bWJlciA9IDkxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSFZBTDogbnVtYmVyID0gOTI7XHJcbiAgc3RhdGljIEVYUF9PUF9DSFI6IG51bWJlciA9IDkzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQVNDOiBudW1iZXIgPSA5NDtcclxuICBzdGF0aWMgRVhQX09QX01TVFI6IG51bWJlciA9IDEwMztcclxuICBzdGF0aWMgRVhQX09QX01WQUw6IG51bWJlciA9IDEwNDtcclxuICBzdGF0aWMgRVhQX09QX0RTVFI6IG51bWJlciA9IDEwNTtcclxuICBzdGF0aWMgRVhQX09QX0RWQUw6IG51bWJlciA9IDEwNjtcclxuICBzdGF0aWMgRVhQX09QX1RTVFI6IG51bWJlciA9IDEwNztcclxuICBzdGF0aWMgRVhQX09QX1RWQUw6IG51bWJlciA9IDEwODtcclxuICBzdGF0aWMgRVhQX09QX0RBWTogbnVtYmVyID0gMTA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfTU9OVEg6IG51bWJlciA9IDExMDtcclxuICBzdGF0aWMgRVhQX09QX1lFQVI6IG51bWJlciA9IDExMTtcclxuICBzdGF0aWMgRVhQX09QX0RPVzogbnVtYmVyID0gMTEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0RPVzogbnVtYmVyID0gMTEzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ01PTlRIOiBudW1iZXIgPSAxMTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9ORE9XOiBudW1iZXIgPSAxMTU7XHJcbiAgc3RhdGljIEVYUF9PUF9OTU9OVEg6IG51bWJlciA9IDExNjtcclxuICBzdGF0aWMgRVhQX09QX1NFQ09ORDogbnVtYmVyID0gMTE3O1xyXG4gIHN0YXRpYyBFWFBfT1BfTUlOVVRFOiBudW1iZXIgPSAxMTg7XHJcbiAgc3RhdGljIEVYUF9PUF9IT1VSOiBudW1iZXIgPSAxMTk7XHJcbiAgc3RhdGljIEVYUF9PUF9ERUxBWTogbnVtYmVyID0gMTIwO1xyXG4gIHN0YXRpYyBFWFBfT1BfSURMRTogbnVtYmVyID0gMTIxO1xyXG4gIHN0YXRpYyBFWFBfT1BfTE9HSUNBTDogbnVtYmVyID0gMTM4O1xyXG4gIHN0YXRpYyBFWFBfT1BfVklTVUFMOiBudW1iZXIgPSAxMzk7XHJcbiAgc3RhdGljIEVYUF9PUF9BREREQVRFOiBudW1iZXIgPSAxNTY7XHJcbiAgc3RhdGljIEVYUF9PUF9BRERUSU1FOiBudW1iZXIgPSAxNTc7XHJcbiAgc3RhdGljIEVYUF9PUF9PV05FUjogbnVtYmVyID0gMTU4O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSQVRUUjogbnVtYmVyID0gMTU5O1xyXG4gIHN0YXRpYyBFWFBfT1BfQk9NOiBudW1iZXIgPSAxNjA7XHJcbiAgc3RhdGljIEVYUF9PUF9CT1k6IG51bWJlciA9IDE2MTtcclxuICBzdGF0aWMgRVhQX09QX0VPTTogbnVtYmVyID0gMTYyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRU9ZOiBudW1iZXIgPSAxNjM7XHJcbiAgc3RhdGljIEVYUF9PUF9SSUdIVF9MSVRFUkFMOiBudW1iZXIgPSAxNjU7XHJcbiAgc3RhdGljIEVYUF9PUF9ST0xMQkFDSzogbnVtYmVyID0gMTY3O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSU0VUOiBudW1iZXIgPSAxNjg7XHJcbiAgc3RhdGljIEVYUF9PUF9FVkFMWDogbnVtYmVyID0gMTcxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSUdOT1JFOiBudW1iZXIgPSAxNzI7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMOiBudW1iZXIgPSAxNzM7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMX0E6IG51bWJlciA9IDE3NDtcclxuICBzdGF0aWMgRVhQX09QX05VTExfTjogbnVtYmVyID0gMTc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTlVMTF9COiBudW1iZXIgPSAxNzY7XHJcbiAgc3RhdGljIEVYUF9PUF9OVUxMX0Q6IG51bWJlciA9IDE3NztcclxuICBzdGF0aWMgRVhQX09QX05VTExfVDogbnVtYmVyID0gMTc4O1xyXG4gIHN0YXRpYyBFWFBfT1BfSVNOVUxMOiBudW1iZXIgPSAxNzk7XHJcbiAgc3RhdGljIEVYUF9PUF9UREVQVEg6IG51bWJlciA9IDE4MDtcclxuICAgc3RhdGljIEVYUF9PUF9NSU5NQUdJQzogbnVtYmVyID0gMTkzO1xyXG4gIHN0YXRpYyBFWFBfT1BfTUFYTUFHSUM6IG51bWJlciA9IDE5NDtcclxuICBzdGF0aWMgRVhQX09QX1JFU01BR0lDOiBudW1iZXIgPSAxOTU7XHJcbiAgc3RhdGljIEVYUF9PUF9GSUxFRExHOiBudW1iZXIgPSAxOTY7XHJcbiAgc3RhdGljIEVYUF9PUF9NTFNfVFJBTlM6IG51bWJlciA9IDE5OTtcclxuICBzdGF0aWMgRVhQX09QX0NUUkxfTkFNRTogbnVtYmVyID0gMjAwO1xyXG4gICBzdGF0aWMgRVhQX09QX0dFVExBTkc6IG51bWJlciA9IDIwNjtcclxuICAgc3RhdGljIEVYUF9PUF9OVUxMX086IG51bWJlciA9IDIxMDtcclxuICBzdGF0aWMgRVhQX09QX0dFVFBBUkFNOiBudW1iZXIgPSAyMTI7XHJcbiAgc3RhdGljIEVYUF9PUF9TRVRQQVJBTTogbnVtYmVyID0gMjEzO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ05EX1JBTkdFOiBudW1iZXIgPSAyMTk7XHJcbiAgc3RhdGljIEVYUF9PUF9JU0RFRkFVTFQ6IG51bWJlciA9IDIzNTtcclxuICBzdGF0aWMgRVhQX09QX0ZPUk06IG51bWJlciA9IDIzNjtcclxuICBzdGF0aWMgRVhQX09QX1NUUlRPS0VOOiBudW1iZXIgPSAyMzc7XHJcbiAgc3RhdGljIEVYUF9PUF9JTklHRVRMTjogbnVtYmVyID0gMjQxO1xyXG4gIHN0YXRpYyBFWFBfT1BfRVhQQ0FMQzogbnVtYmVyID0gMjQyO1xyXG4gIHN0YXRpYyBFWFBfT1BfRTogbnVtYmVyID0gMjQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfV0VCX1JFRkVSRU5DRTogbnVtYmVyID0gMjY3O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0FTRTogbnVtYmVyID0gMjczO1xyXG4gIHN0YXRpYyBFWFBfT1BfTElLRTogbnVtYmVyID0gMjc1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0FMTEpTOiBudW1iZXIgPSAyODM7XHJcbiAgc3RhdGljIEVYUF9PUF9USElTOiBudW1iZXIgPSAyOTA7XHJcbiAgc3RhdGljIEVYUF9PUF9SRVBTVFI6IG51bWJlciA9IDMwMztcclxuICBzdGF0aWMgRVhQX09QX0RCUk9VTkQ6IG51bWJlciA9IDMwNjtcclxuICBzdGF0aWMgRVhQX09QX1ZBUlBJQzogbnVtYmVyID0gMzA3O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1RSVE9LX0NOVDogbnVtYmVyID0gMzA5O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkFSQ1VSUk46IG51bWJlciA9IDMxMDtcclxuICBzdGF0aWMgRVhQX09QX1ZBUklOREVYOiBudW1iZXIgPSAzMTE7XHJcbiAgc3RhdGljIEVYUF9PUF9KQ0RPVzogbnVtYmVyID0gMzQzO1xyXG4gIHN0YXRpYyBFWFBfT1BfSk1PTlRIOiBudW1iZXIgPSAzNDQ7XHJcbiAgc3RhdGljIEVYUF9PUF9KTkRPVzogbnVtYmVyID0gMzQ1O1xyXG4gIHN0YXRpYyBFWFBfT1BfSllFQVI6IG51bWJlciA9IDM0NjtcclxuICBzdGF0aWMgRVhQX09QX0pHRU5HTzogbnVtYmVyID0gMzQ3O1xyXG4gIHN0YXRpYyBFWFBfT1BfSEFOOiBudW1iZXIgPSAzNTA7XHJcbiAgc3RhdGljIEVYUF9PUF9aRU46IG51bWJlciA9IDM1MTtcclxuICBzdGF0aWMgRVhQX09QX1pFTlM6IG51bWJlciA9IDM1MjtcclxuICBzdGF0aWMgRVhQX09QX1pJTUVSRUFEOiBudW1iZXIgPSAzNTM7XHJcbiAgc3RhdGljIEVYUF9PUF9aS0FOQTogbnVtYmVyID0gMzU0O1xyXG4gIHN0YXRpYyBFWFBfT1BfR09UT19DVFJMOiBudW1iZXIgPSAzNjg7XHJcbiAgc3RhdGljIEVYUF9PUF9UUkFOU0xBVEU6IG51bWJlciA9IDM3MztcclxuICBzdGF0aWMgRVhQX09QX0FTVFI6IG51bWJlciA9IDM3NDtcclxuXHJcbiAgc3RhdGljIEVYUF9PUF9MT09QQ09VTlRFUjogbnVtYmVyID0gNDAxO1xyXG5cclxuICBzdGF0aWMgRVhQX09QX1ZFQ0dFVDogbnVtYmVyID0gNDE3O1xyXG4gIHN0YXRpYyBFWFBfT1BfVkVDU0VUOiBudW1iZXIgPSA0MTg7XHJcbiAgc3RhdGljIEVYUF9PUF9WRUNTSVpFOiBudW1iZXIgPSA0MTk7XHJcbiAgc3RhdGljIEVYUF9PUF9WRUNDRUxMQVRUUjogbnVtYmVyID0gNDIwO1xyXG4gIHN0YXRpYyBFWFBfT1BfQkxPQlNJWkU6IG51bWJlciA9IDQ0MjtcclxuICBzdGF0aWMgRVhQX09QX1NUUlRPS0VOX0lEWDogbnVtYmVyID0gNDQ4O1xyXG4gIHN0YXRpYyBFWFBfT1BfTVRJTUU6IG51bWJlciA9IDQ0OTtcclxuICBzdGF0aWMgRVhQX09QX01UVkFMOiBudW1iZXIgPSA0NTA7XHJcbiAgc3RhdGljIEVYUF9PUF9NVFNUUjogbnVtYmVyID0gNDUxO1xyXG4gIHN0YXRpYyBFWFBfT1BfSU46IG51bWJlciA9IDQ2MjtcclxuICBzdGF0aWMgRVhQX09QX0lTQ09NUE9ORU5UOiBudW1iZXIgPSA0NjU7XHJcbiAgc3RhdGljIEVYUF9PUF9FWFRfQTogbnVtYmVyID0gNDg1O1xyXG4gIHN0YXRpYyBFWFBfT1BfTlVMTF9VOiBudW1iZXIgPSA0OTE7XHJcbiAgc3RhdGljIEVYUF9PUF9VU0VSX0RFRklORURfRlVOQzogbnVtYmVyID0gNDk2O1xyXG4gIHN0YXRpYyBFWFBfT1BfU1VCRk9STV9FWEVDX01PREU6IG51bWJlciA9IDQ5NztcclxuICBzdGF0aWMgRVhQX09QX1VOSUNPREVBU0M6IG51bWJlciA9IDUwNjtcclxuICBzdGF0aWMgRVhQX09QX0FERERUOiBudW1iZXIgPSA1MDk7XHJcbiAgc3RhdGljIEVYUF9PUF9ESUZEVDogbnVtYmVyID0gNTEwO1xyXG4gIHN0YXRpYyBFWFBfT1BfSVNGSVJTVFJFQ09SRENZQ0xFOiBudW1iZXIgPSA1MTE7XHJcbiAgc3RhdGljIEVYUF9PUF9NQUlOTEVWRUw6IG51bWJlciA9IDUxMjtcclxuICBzdGF0aWMgRVhQX09QX01BSU5ESVNQTEFZOiBudW1iZXIgPSA1MTU7XHJcbiAgc3RhdGljIEVYUF9PUF9EQlZJRVdTSVpFOiBudW1iZXIgPSA1Mzk7XHJcbiAgc3RhdGljIEVYUF9PUF9EQlZJRVdST1dJRFg6IG51bWJlciA9IDU0MDtcclxuICBzdGF0aWMgRVhQX09QX1BST0pFQ1RESVI6IG51bWJlciA9IDU0MTtcclxuICBzdGF0aWMgRVhQX09QX0ZPUk1TVEFURUNMRUFSOiBudW1iZXIgPSA1NDI7XHJcbiAgc3RhdGljIEVYUF9PUF9QVUJMSUNOQU1FOiBudW1iZXIgPSA1NDM7XHJcbiAgc3RhdGljIEVYUF9PUF9UQVNLSUQ6IG51bWJlciA9IDU0NDtcclxuICBzdGF0aWMgRVhQX09QX1NUUl9CVUlMRDogbnVtYmVyID0gNTQ5O1xyXG4gIHN0YXRpYyBFWFBfT1BfRU1QVFlfREFUQV9WSUVXOiBudW1iZXIgPSA1NjE7XHJcbiAgc3RhdGljIEVYUF9PUF9TVEFUVVNCQVJTRVRURVhUOiBudW1iZXIgPSA1Njg7XHJcbiAgc3RhdGljIEVYUF9PUF9DTElFTlRfRElSRExHOiBudW1iZXIgPSA1NzQ7XHJcbiAgc3RhdGljIEVYUF9PUF9DTElFTlRfUkVESVJFQ1Q6IG51bWJlciA9IDU3NztcclxuICBzdGF0aWMgRVhQX09QX0lTX01PQklMRV9DTElFTlQ6IG51bWJlciA9IDU5MztcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVF9TRVNTSU9OX1NUQVRJU1RJQ1NfR0VUOiBudW1iZXIgPSA1OTQ7XHJcbiAgc3RhdGljIEVYUF9PUF9UQVNLVFlQRTogbnVtYmVyID0gNjEyO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0xJRU5UX0ZJTEVfVE9fU0VSVkVSOiBudW1iZXIgPSA2MTU7XHJcbiAgc3RhdGljIEVYUF9PUF9SQU5HRV9BREQ6IG51bWJlciA9IDYxNjtcclxuICBzdGF0aWMgRVhQX09QX1JBTkdFX1JFU0VUOiBudW1iZXIgPSA2MTc7XHJcbiAgc3RhdGljIEVYUF9PUF9MT0NBVEVfQUREOiBudW1iZXIgPSA2MTg7XHJcbiAgc3RhdGljIEVYUF9PUF9MT0NBVEVfUkVTRVQ6IG51bWJlciA9IDYxOTtcclxuICBzdGF0aWMgRVhQX09QX1NPUlRfQUREOiBudW1iZXIgPSA2MjA7XHJcbiAgc3RhdGljIEVYUF9PUF9TT1JUX1JFU0VUOiBudW1iZXIgPSA2MjE7XHJcbiAgc3RhdGljIEVYUF9PUF9UU0tfSU5TVEFOQ0U6IG51bWJlciA9IDYyMjtcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVFNFU1NJT05fU0VUOiBudW1iZXIgPSA2MzI7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENEQVRFOiBudW1iZXIgPSA2MzM7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENUSU1FOiBudW1iZXIgPSA2MzQ7XHJcbiAgc3RhdGljIEVYUF9PUF9VVENNVElNRTogbnVtYmVyID0gNjM1O1xyXG4gIHN0YXRpYyBFWFBfT1BfQ0xJRU5UX0RCX0RJU0NPTk5FQ1Q6IG51bWJlciA9IDYzNjtcclxuICBzdGF0aWMgRVhQX09QX0RBVEFWSUVXX1RPX0RBVEFTT1VSQ0U6IG51bWJlciA9IDYzNztcclxuICBzdGF0aWMgRVhQX09QX0NMSUVOVF9EQl9ERUw6IG51bWJlciA9IDYzODtcclxuICBzdGF0aWMgRVhQX09QX1ZBUkRJU1BMQVlOQU1FOiBudW1iZXIgPSA2NDc7XHJcbiAgc3RhdGljIEVYUF9PUF9DT05UUk9MX0lURU1TX1JFRlJFU0g6IG51bWJlciA9IDY0OTtcclxuICBzdGF0aWMgRVhQX09QX1ZBUkNPTlRST0xJRDogbnVtYmVyID0gNjUwO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09OVFJPTElURU1TTElTVDogbnVtYmVyID0gNjUxO1xyXG4gIHN0YXRpYyBFWFBfT1BfQ09OVFJPTERJU1BMQVlMSVNUOiBudW1iZXIgPSA2NTI7XHJcbiAgc3RhdGljIEVYUF9PUF9DTElFTlRfU1FMX0VYRUNVVEU6IG51bWJlciA9IDY1MztcclxuICBzdGF0aWMgRVhQX09QX0NPTlRST0xfU0VMRUNUX1BST0dSQU06IG51bWJlciA9IDY1NjtcclxuICBzdGF0aWMgRVhQX09QX1NFVF9USVRMRTogbnVtYmVyID0gNjg3O1xyXG4gIHN0YXRpYyBFWFBfT1BfSVNfUk9XX0VESVRJTkc6IG51bWJlciA9IDY4OTtcclxuICBzdGF0aWMgRVhQX09QX0lTX0xPR0dFRF9JTjogbnVtYmVyID0gNjkwO1xyXG5cclxuICBzdGF0aWMgRVhQX09QX1NFVF9DT09LSUU6IG51bWJlciA9IDcwMTtcclxuICBzdGF0aWMgRVhQX09QX0dFVF9DT09LSUU6IG51bWJlciA9IDcwMjtcclxuICBzdGF0aWMgRVhQX09QX0RFTEVURV9DT09LSUU6IG51bWJlciA9IDcwMztcclxuXHJcbiAgc3RhdGljIEVYUF9PUF9ST1VURUdFVDogbnVtYmVyID0gNzA1O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
|