ag-psd 14.4.0 → 14.5.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/CHANGELOG.md +4 -0
- package/TODO +7 -0
- package/dist/abr.d.ts +3 -0
- package/dist/abr.js +25 -19
- package/dist/bundle.js +6820 -56
- package/dist/helpers.d.ts +2 -1
- package/dist/helpers.js +35 -4
- package/dist/psd.d.ts +7 -4
- package/dist/psd.js +1 -1
- package/dist/psdReader.d.ts +1 -0
- package/dist/psdReader.js +28 -9
- package/dist/psdWriter.js +34 -26
- package/dist-es/abr.d.ts +3 -0
- package/dist-es/abr.js +25 -19
- package/dist-es/helpers.d.ts +2 -1
- package/dist-es/helpers.js +33 -3
- package/dist-es/psd.d.ts +7 -4
- package/dist-es/psd.js +1 -1
- package/dist-es/psdReader.d.ts +1 -0
- package/dist-es/psdReader.js +26 -8
- package/dist-es/psdWriter.js +35 -27
- package/package.json +5 -4
package/dist/helpers.d.ts
CHANGED
|
@@ -85,7 +85,8 @@ export declare function hasAlpha(data: PixelData): boolean;
|
|
|
85
85
|
export declare function resetImageData({ data }: PixelData): void;
|
|
86
86
|
export declare function decodeBitmap(input: PixelArray, output: PixelArray, width: number, height: number): void;
|
|
87
87
|
export declare function writeDataRaw(data: PixelData, offset: number, width: number, height: number): Uint8Array | undefined;
|
|
88
|
-
export declare function writeDataRLE(buffer: Uint8Array, { data
|
|
88
|
+
export declare function writeDataRLE(buffer: Uint8Array, { data, width, height }: PixelData, offsets: number[], large: boolean): Uint8Array | undefined;
|
|
89
|
+
export declare function writeDataZipWithoutPrediction({ data, width, height }: PixelData, offsets: number[]): Uint8Array;
|
|
89
90
|
export declare let createCanvas: (width: number, height: number) => HTMLCanvasElement;
|
|
90
91
|
export declare let createCanvasFromData: (data: Uint8Array) => HTMLCanvasElement;
|
|
91
92
|
export declare let createImageData: (width: number, height: number) => ImageData;
|
package/dist/helpers.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initializeCanvas = exports.createImageData = exports.createCanvasFromData = exports.createCanvas = exports.writeDataRLE = exports.writeDataRaw = exports.decodeBitmap = exports.resetImageData = exports.hasAlpha = exports.clamp = exports.offsetForChannel = exports.Compression = exports.ChannelID = exports.MaskParams = exports.LayerMaskFlags = exports.ColorSpace = exports.createEnum = exports.revMap = exports.largeAdditionalInfoKeys = exports.layerColors = exports.toBlendMode = exports.fromBlendMode = exports.RAW_IMAGE_DATA = exports.MOCK_HANDLERS = void 0;
|
|
3
|
+
exports.initializeCanvas = exports.createImageData = exports.createCanvasFromData = exports.createCanvas = exports.writeDataZipWithoutPrediction = exports.writeDataRLE = exports.writeDataRaw = exports.decodeBitmap = exports.resetImageData = exports.hasAlpha = exports.clamp = exports.offsetForChannel = exports.Compression = exports.ChannelID = exports.MaskParams = exports.LayerMaskFlags = exports.ColorSpace = exports.createEnum = exports.revMap = exports.largeAdditionalInfoKeys = exports.layerColors = exports.toBlendMode = exports.fromBlendMode = exports.RAW_IMAGE_DATA = exports.MOCK_HANDLERS = void 0;
|
|
4
4
|
var base64_js_1 = require("base64-js");
|
|
5
|
+
var pako_1 = require("pako");
|
|
5
6
|
exports.MOCK_HANDLERS = false;
|
|
6
7
|
exports.RAW_IMAGE_DATA = false;
|
|
7
8
|
exports.fromBlendMode = {};
|
|
@@ -167,8 +168,8 @@ function writeDataRaw(data, offset, width, height) {
|
|
|
167
168
|
return array;
|
|
168
169
|
}
|
|
169
170
|
exports.writeDataRaw = writeDataRaw;
|
|
170
|
-
function writeDataRLE(buffer, _a,
|
|
171
|
-
var data = _a.data;
|
|
171
|
+
function writeDataRLE(buffer, _a, offsets, large) {
|
|
172
|
+
var data = _a.data, width = _a.width, height = _a.height;
|
|
172
173
|
if (!width || !height)
|
|
173
174
|
return undefined;
|
|
174
175
|
var stride = (4 * width) | 0;
|
|
@@ -260,6 +261,36 @@ function writeDataRLE(buffer, _a, width, height, offsets, large) {
|
|
|
260
261
|
return buffer.slice(0, o);
|
|
261
262
|
}
|
|
262
263
|
exports.writeDataRLE = writeDataRLE;
|
|
264
|
+
function writeDataZipWithoutPrediction(_a, offsets) {
|
|
265
|
+
var data = _a.data, width = _a.width, height = _a.height;
|
|
266
|
+
var size = width * height;
|
|
267
|
+
var channel = new Uint8Array(size);
|
|
268
|
+
var buffers = [];
|
|
269
|
+
var totalLength = 0;
|
|
270
|
+
for (var _i = 0, offsets_2 = offsets; _i < offsets_2.length; _i++) {
|
|
271
|
+
var offset = offsets_2[_i];
|
|
272
|
+
for (var i = 0, o = offset; i < size; i++, o += 4) {
|
|
273
|
+
channel[i] = data[o];
|
|
274
|
+
}
|
|
275
|
+
var buffer = (0, pako_1.deflate)(channel);
|
|
276
|
+
buffers.push(buffer);
|
|
277
|
+
totalLength += buffer.byteLength;
|
|
278
|
+
}
|
|
279
|
+
if (buffers.length > 0) {
|
|
280
|
+
var buffer = new Uint8Array(totalLength);
|
|
281
|
+
var offset = 0;
|
|
282
|
+
for (var _b = 0, buffers_1 = buffers; _b < buffers_1.length; _b++) {
|
|
283
|
+
var b = buffers_1[_b];
|
|
284
|
+
buffer.set(b, offset);
|
|
285
|
+
offset += b.byteLength;
|
|
286
|
+
}
|
|
287
|
+
return buffer;
|
|
288
|
+
}
|
|
289
|
+
else {
|
|
290
|
+
return buffers[0];
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
exports.writeDataZipWithoutPrediction = writeDataZipWithoutPrediction;
|
|
263
294
|
var createCanvas = function () {
|
|
264
295
|
throw new Error('Canvas not initialized, use initializeCanvas method to set up createCanvas method');
|
|
265
296
|
};
|
|
@@ -299,4 +330,4 @@ function initializeCanvas(createCanvasMethod, createCanvasFromDataMethod, create
|
|
|
299
330
|
}
|
|
300
331
|
exports.initializeCanvas = initializeCanvas;
|
|
301
332
|
|
|
302
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzNCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUM3QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0NBQ0Y7QUFFRCxTQUFnQixnQkFBZ0IsQ0FDL0Isa0JBQXdFLEVBQ3hFLDBCQUFvRSxFQUNwRSxxQkFBb0U7SUFFcEUsb0JBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUNsQyw0QkFBb0IsR0FBRywwQkFBMEIsSUFBSSw0QkFBb0IsQ0FBQztJQUMxRSx1QkFBZSxHQUFHLHFCQUFxQixJQUFJLHVCQUFlLENBQUM7QUFDNUQsQ0FBQztBQVJELDRDQVFDIiwiZmlsZSI6ImhlbHBlcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tQnl0ZUFycmF5IH0gZnJvbSAnYmFzZTY0LWpzJztcbmltcG9ydCB7IExheWVyLCBCbGVuZE1vZGUsIExheWVyQ29sb3IgfSBmcm9tICcuL3BzZCc7XG5cbmV4cG9ydCBjb25zdCBNT0NLX0hBTkRMRVJTID0gZmFsc2U7XG5leHBvcnQgY29uc3QgUkFXX0lNQUdFX0RBVEEgPSBmYWxzZTtcblxuZXhwb3J0IGNvbnN0IGZyb21CbGVuZE1vZGU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbmV4cG9ydCBjb25zdCB0b0JsZW5kTW9kZTogeyBba2V5OiBzdHJpbmddOiBCbGVuZE1vZGUgfSA9IHtcblx0J3Bhc3MnOiAncGFzcyB0aHJvdWdoJyxcblx0J25vcm0nOiAnbm9ybWFsJyxcblx0J2Rpc3MnOiAnZGlzc29sdmUnLFxuXHQnZGFyayc6ICdkYXJrZW4nLFxuXHQnbXVsICc6ICdtdWx0aXBseScsXG5cdCdpZGl2JzogJ2NvbG9yIGJ1cm4nLFxuXHQnbGJybic6ICdsaW5lYXIgYnVybicsXG5cdCdka0NsJzogJ2RhcmtlciBjb2xvcicsXG5cdCdsaXRlJzogJ2xpZ2h0ZW4nLFxuXHQnc2Nybic6ICdzY3JlZW4nLFxuXHQnZGl2ICc6ICdjb2xvciBkb2RnZScsXG5cdCdsZGRnJzogJ2xpbmVhciBkb2RnZScsXG5cdCdsZ0NsJzogJ2xpZ2h0ZXIgY29sb3InLFxuXHQnb3Zlcic6ICdvdmVybGF5Jyxcblx0J3NMaXQnOiAnc29mdCBsaWdodCcsXG5cdCdoTGl0JzogJ2hhcmQgbGlnaHQnLFxuXHQndkxpdCc6ICd2aXZpZCBsaWdodCcsXG5cdCdsTGl0JzogJ2xpbmVhciBsaWdodCcsXG5cdCdwTGl0JzogJ3BpbiBsaWdodCcsXG5cdCdoTWl4JzogJ2hhcmQgbWl4Jyxcblx0J2RpZmYnOiAnZGlmZmVyZW5jZScsXG5cdCdzbXVkJzogJ2V4Y2x1c2lvbicsXG5cdCdmc3ViJzogJ3N1YnRyYWN0Jyxcblx0J2ZkaXYnOiAnZGl2aWRlJyxcblx0J2h1ZSAnOiAnaHVlJyxcblx0J3NhdCAnOiAnc2F0dXJhdGlvbicsXG5cdCdjb2xyJzogJ2NvbG9yJyxcblx0J2x1bSAnOiAnbHVtaW5vc2l0eScsXG59O1xuXG5PYmplY3Qua2V5cyh0b0JsZW5kTW9kZSkuZm9yRWFjaChrZXkgPT4gZnJvbUJsZW5kTW9kZVt0b0JsZW5kTW9kZVtrZXldXSA9IGtleSk7XG5cbmV4cG9ydCBjb25zdCBsYXllckNvbG9yczogTGF5ZXJDb2xvcltdID0gW1xuXHQnbm9uZScsICdyZWQnLCAnb3JhbmdlJywgJ3llbGxvdycsICdncmVlbicsICdibHVlJywgJ3Zpb2xldCcsICdncmF5J1xuXTtcblxuZXhwb3J0IGNvbnN0IGxhcmdlQWRkaXRpb25hbEluZm9LZXlzID0gW1xuXHQvLyBmcm9tIGRvY3VtZW50YXRpb25cblx0J0xNc2snLCAnTHIxNicsICdMcjMyJywgJ0xheXInLCAnTXQxNicsICdNdDMyJywgJ010cm4nLCAnQWxwaCcsICdGTXNrJywgJ2xuazInLCAnRkVpZCcsICdGWGlkJywgJ1B4U0QnLFxuXHQvLyBmcm9tIGd1ZXNzaW5nXG5cdCdjaW5mJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdCB7XG5cdFtrZXk6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJldk1hcChtYXA6IERpY3QpIHtcblx0Y29uc3QgcmVzdWx0OiBEaWN0ID0ge307XG5cdE9iamVjdC5rZXlzKG1hcCkuZm9yRWFjaChrZXkgPT4gcmVzdWx0W21hcFtrZXldXSA9IGtleSk7XG5cdHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFbnVtPFQ+KHByZWZpeDogc3RyaW5nLCBkZWY6IHN0cmluZywgbWFwOiBEaWN0KSB7XG5cdGNvbnN0IHJldiA9IHJldk1hcChtYXApO1xuXHRjb25zdCBkZWNvZGUgPSAodmFsOiBzdHJpbmcpOiBUID0+IHtcblx0XHRjb25zdCB2YWx1ZSA9IHZhbC5zcGxpdCgnLicpWzFdO1xuXHRcdGlmICh2YWx1ZSAmJiAhcmV2W3ZhbHVlXSkgdGhyb3cgbmV3IEVycm9yKGBVbnJlY29nbml6ZWQgdmFsdWUgZm9yIGVudW06ICcke3ZhbH0nYCk7XG5cdFx0cmV0dXJuIChyZXZbdmFsdWVdIGFzIGFueSkgfHwgZGVmO1xuXHR9O1xuXHRjb25zdCBlbmNvZGUgPSAodmFsOiBUIHwgdW5kZWZpbmVkKTogc3RyaW5nID0+IHtcblx0XHRpZiAodmFsICYmICFtYXBbdmFsIGFzIGFueV0pIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZSBmb3IgZW51bTogJyR7dmFsfSdgKTtcblx0XHRyZXR1cm4gYCR7cHJlZml4fS4ke21hcFt2YWwgYXMgYW55XSB8fCBtYXBbZGVmXX1gO1xuXHR9O1xuXHRyZXR1cm4geyBkZWNvZGUsIGVuY29kZSB9O1xufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb2xvclNwYWNlIHtcblx0UkdCID0gMCxcblx0SFNCID0gMSxcblx0Q01ZSyA9IDIsXG5cdExhYiA9IDcsXG5cdEdyYXlzY2FsZSA9IDgsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIExheWVyTWFza0ZsYWdzIHtcblx0UG9zaXRpb25SZWxhdGl2ZVRvTGF5ZXIgPSAxLFxuXHRMYXllck1hc2tEaXNhYmxlZCA9IDIsXG5cdEludmVydExheWVyTWFza1doZW5CbGVuZGluZyA9IDQsIC8vIG9ic29sZXRlXG5cdExheWVyTWFza0Zyb21SZW5kZXJpbmdPdGhlckRhdGEgPSA4LFxuXHRNYXNrSGFzUGFyYW1ldGVyc0FwcGxpZWRUb0l0ID0gMTYsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIE1hc2tQYXJhbXMge1xuXHRVc2VyTWFza0RlbnNpdHkgPSAxLFxuXHRVc2VyTWFza0ZlYXRoZXIgPSAyLFxuXHRWZWN0b3JNYXNrRGVuc2l0eSA9IDQsXG5cdFZlY3Rvck1hc2tGZWF0aGVyID0gOCxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ2hhbm5lbElEIHtcblx0Q29sb3IwID0gMCwgLy8gcmVkIChyZ2IpIC8gY3lhbiAoY215aylcblx0Q29sb3IxID0gMSwgLy8gZ3JlZW4gKHJnYikgLyBtYWdlbnRhIChjbXlrKVxuXHRDb2xvcjIgPSAyLCAvLyBibHVlIChyZ2IpIC8geWVsbG93IChjbXlrKVxuXHRDb2xvcjMgPSAzLCAvLyAtIChyZ2IpIC8gYmxhY2sgKGNteWspXG5cdFRyYW5zcGFyZW5jeSA9IC0xLFxuXHRVc2VyTWFzayA9IC0yLFxuXHRSZWFsVXNlck1hc2sgPSAtMyxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQ29tcHJlc3Npb24ge1xuXHRSYXdEYXRhID0gMCxcblx0UmxlQ29tcHJlc3NlZCA9IDEsXG5cdFppcFdpdGhvdXRQcmVkaWN0aW9uID0gMixcblx0WmlwV2l0aFByZWRpY3Rpb24gPSAzLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYW5uZWxEYXRhIHtcblx0Y2hhbm5lbElkOiBDaGFubmVsSUQ7XG5cdGNvbXByZXNzaW9uOiBDb21wcmVzc2lvbjtcblx0YnVmZmVyOiBVaW50OEFycmF5IHwgdW5kZWZpbmVkO1xuXHRsZW5ndGg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCb3VuZHMge1xuXHR0b3A6IG51bWJlcjtcblx0bGVmdDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckNoYW5uZWxEYXRhIHtcblx0bGF5ZXI6IExheWVyO1xuXHRjaGFubmVsczogQ2hhbm5lbERhdGFbXTtcblx0dG9wOiBudW1iZXI7XG5cdGxlZnQ6IG51bWJlcjtcblx0cmlnaHQ6IG51bWJlcjtcblx0Ym90dG9tOiBudW1iZXI7XG5cdG1hc2s/OiBCb3VuZHM7XG59XG5cbmV4cG9ydCB0eXBlIFBpeGVsQXJyYXkgPSBVaW50OENsYW1wZWRBcnJheSB8IFVpbnQ4QXJyYXk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGl4ZWxEYXRhIHtcblx0ZGF0YTogUGl4ZWxBcnJheTtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvZmZzZXRGb3JDaGFubmVsKGNoYW5uZWxJZDogQ2hhbm5lbElELCBjbXlrOiBib29sZWFuKSB7XG5cdHN3aXRjaCAoY2hhbm5lbElkKSB7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IwOiByZXR1cm4gMDtcblx0XHRjYXNlIENoYW5uZWxJRC5Db2xvcjE6IHJldHVybiAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELkNvbG9yMjogcmV0dXJuIDI7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IzOiByZXR1cm4gY215ayA/IDMgOiBjaGFubmVsSWQgKyAxO1xuXHRcdGNhc2UgQ2hhbm5lbElELlRyYW5zcGFyZW5jeTogcmV0dXJuIGNteWsgPyA0IDogMztcblx0XHRkZWZhdWx0OiByZXR1cm4gY2hhbm5lbElkICsgMTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG5cdHJldHVybiB2YWx1ZSA8IG1pbiA/IG1pbiA6ICh2YWx1ZSA+IG1heCA/IG1heCA6IHZhbHVlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FscGhhKGRhdGE6IFBpeGVsRGF0YSkge1xuXHRjb25zdCBzaXplID0gZGF0YS53aWR0aCAqIGRhdGEuaGVpZ2h0ICogNDtcblxuXHRmb3IgKGxldCBpID0gMzsgaSA8IHNpemU7IGkgKz0gNCkge1xuXHRcdGlmIChkYXRhLmRhdGFbaV0gIT09IDI1NSkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRJbWFnZURhdGEoeyBkYXRhIH06IFBpeGVsRGF0YSkge1xuXHRjb25zdCBidWZmZXIgPSBuZXcgVWludDMyQXJyYXkoZGF0YS5idWZmZXIpO1xuXHRjb25zdCBzaXplID0gYnVmZmVyLmxlbmd0aCB8IDA7XG5cblx0Zm9yIChsZXQgcCA9IDA7IHAgPCBzaXplOyBwID0gKHAgKyAxKSB8IDApIHtcblx0XHRidWZmZXJbcF0gPSAweGZmMDAwMDAwO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCaXRtYXAoaW5wdXQ6IFBpeGVsQXJyYXksIG91dHB1dDogUGl4ZWxBcnJheSwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0Zm9yIChsZXQgeSA9IDAsIHAgPSAwLCBvID0gMDsgeSA8IGhlaWdodDsgeSsrKSB7XG5cdFx0Zm9yIChsZXQgeCA9IDA7IHggPCB3aWR0aDspIHtcblx0XHRcdGxldCBiID0gaW5wdXRbbysrXTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCA4ICYmIHggPCB3aWR0aDsgaSsrLCB4KyspIHtcblx0XHRcdFx0Y29uc3QgdiA9IGIgJiAweDgwID8gMCA6IDI1NTtcblx0XHRcdFx0YiA9IGIgPDwgMTtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSB2O1xuXHRcdFx0XHRvdXRwdXRbcCsrXSA9IHY7XG5cdFx0XHRcdG91dHB1dFtwKytdID0gdjtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSAyNTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZURhdGFSYXcoZGF0YTogUGl4ZWxEYXRhLCBvZmZzZXQ6IG51bWJlciwgd2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KVxuXHRcdHJldHVybiB1bmRlZmluZWQ7XG5cblx0Y29uc3QgYXJyYXkgPSBuZXcgVWludDhBcnJheSh3aWR0aCAqIGhlaWdodCk7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuXHRcdGFycmF5W2ldID0gZGF0YS5kYXRhW2kgKiA0ICsgb2Zmc2V0XTtcblx0fVxuXG5cdHJldHVybiBhcnJheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRGF0YVJMRShcblx0YnVmZmVyOiBVaW50OEFycmF5LCB7IGRhdGEgfTogUGl4ZWxEYXRhLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgb2Zmc2V0czogbnVtYmVyW10sXG5cdGxhcmdlOiBib29sZWFuXG4pIHtcblx0aWYgKCF3aWR0aCB8fCAhaGVpZ2h0KSByZXR1cm4gdW5kZWZpbmVkO1xuXG5cdGNvbnN0IHN0cmlkZSA9ICg0ICogd2lkdGgpIHwgMDtcblxuXHRsZXQgb2wgPSAwO1xuXHRsZXQgbyA9IChvZmZzZXRzLmxlbmd0aCAqIChsYXJnZSA/IDQgOiAyKSAqIGhlaWdodCkgfCAwO1xuXG5cdGZvciAoY29uc3Qgb2Zmc2V0IG9mIG9mZnNldHMpIHtcblx0XHRmb3IgKGxldCB5ID0gMCwgcCA9IG9mZnNldCB8IDA7IHkgPCBoZWlnaHQ7IHkrKykge1xuXHRcdFx0Y29uc3Qgc3RyaWRlU3RhcnQgPSAoeSAqIHN0cmlkZSkgfCAwO1xuXHRcdFx0Y29uc3Qgc3RyaWRlRW5kID0gKHN0cmlkZVN0YXJ0ICsgc3RyaWRlKSB8IDA7XG5cdFx0XHRjb25zdCBsYXN0SW5kZXggPSAoc3RyaWRlRW5kICsgb2Zmc2V0IC0gNCkgfCAwO1xuXHRcdFx0Y29uc3QgbGFzdEluZGV4MiA9IChsYXN0SW5kZXggLSA0KSB8IDA7XG5cdFx0XHRjb25zdCBzdGFydE9mZnNldCA9IG87XG5cblx0XHRcdGZvciAocCA9IChzdHJpZGVTdGFydCArIG9mZnNldCkgfCAwOyBwIDwgc3RyaWRlRW5kOyBwID0gKHAgKyA0KSB8IDApIHtcblx0XHRcdFx0aWYgKHAgPCBsYXN0SW5kZXgyKSB7XG5cdFx0XHRcdFx0bGV0IHZhbHVlMSA9IGRhdGFbcF07XG5cdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdGxldCB2YWx1ZTIgPSBkYXRhW3BdO1xuXHRcdFx0XHRcdHAgPSAocCArIDQpIHwgMDtcblx0XHRcdFx0XHRsZXQgdmFsdWUzID0gZGF0YVtwXTtcblxuXHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMztcblxuXHRcdFx0XHRcdFx0d2hpbGUgKGNvdW50IDwgMTI4ICYmIHAgPCBsYXN0SW5kZXggJiYgZGF0YVsocCArIDQpIHwgMF0gPT09IHZhbHVlMSkge1xuXHRcdFx0XHRcdFx0XHRjb3VudCA9IChjb3VudCArIDEpIHwgMDtcblx0XHRcdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDEgLSBjb3VudDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zdCBjb3VudEluZGV4ID0gbztcblx0XHRcdFx0XHRcdGxldCB3cml0ZUxhc3QgPSB0cnVlO1xuXHRcdFx0XHRcdFx0bGV0IGNvdW50ID0gMTtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gMDtcblx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUxO1xuXG5cdFx0XHRcdFx0XHR3aGlsZSAocCA8IGxhc3RJbmRleCAmJiBjb3VudCA8IDEyOCkge1xuXHRcdFx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0XHRcdHZhbHVlMSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0dmFsdWUyID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTMgPSBkYXRhW3BdO1xuXG5cdFx0XHRcdFx0XHRcdGlmICh2YWx1ZTEgPT09IHZhbHVlMiAmJiB2YWx1ZTEgPT09IHZhbHVlMykge1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDEyKSB8IDA7XG5cdFx0XHRcdFx0XHRcdFx0d3JpdGVMYXN0ID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpZiAod3JpdGVMYXN0KSB7XG5cdFx0XHRcdFx0XHRcdGlmIChjb3VudCA8IDEyNykge1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUyO1xuXHRcdFx0XHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gdmFsdWUzO1xuXHRcdFx0XHRcdFx0XHRcdGNvdW50ICs9IDI7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoY291bnQgPCAxMjgpIHtcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0XHRjb3VudCsrO1xuXHRcdFx0XHRcdFx0XHRcdHAgPSAocCAtIDQpIHwgMDtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRwID0gKHAgLSA4KSB8IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0YnVmZmVyW2NvdW50SW5kZXhdID0gY291bnQgLSAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChwID09PSBsYXN0SW5kZXgpIHtcblx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9IGVsc2UgeyAvLyBwID09PSBsYXN0SW5kZXgyXG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSAxO1xuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gZGF0YVtwXTtcblx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSBkYXRhW3BdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IGxlbmd0aCA9IG8gLSBzdGFydE9mZnNldDtcblxuXHRcdFx0aWYgKGxhcmdlKSB7XG5cdFx0XHRcdGJ1ZmZlcltvbCsrXSA9IChsZW5ndGggPj4gMjQpICYgMHhmZjtcblx0XHRcdFx0YnVmZmVyW29sKytdID0gKGxlbmd0aCA+PiAxNikgJiAweGZmO1xuXHRcdFx0fVxuXG5cdFx0XHRidWZmZXJbb2wrK10gPSAobGVuZ3RoID4+IDgpICYgMHhmZjtcblx0XHRcdGJ1ZmZlcltvbCsrXSA9IGxlbmd0aCAmIDB4ZmY7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGJ1ZmZlci5zbGljZSgwLCBvKTtcbn1cblxuZXhwb3J0IGxldCBjcmVhdGVDYW52YXM6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXMgbWV0aG9kJyk7XG59O1xuXG5leHBvcnQgbGV0IGNyZWF0ZUNhbnZhc0Zyb21EYXRhOiAoZGF0YTogVWludDhBcnJheSkgPT4gSFRNTENhbnZhc0VsZW1lbnQgPSAoKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcignQ2FudmFzIG5vdCBpbml0aWFsaXplZCwgdXNlIGluaXRpYWxpemVDYW52YXMgbWV0aG9kIHRvIHNldCB1cCBjcmVhdGVDYW52YXNGcm9tRGF0YSBtZXRob2QnKTtcbn07XG5cbmxldCB0ZW1wQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuZXhwb3J0IGxldCBjcmVhdGVJbWFnZURhdGE6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSW1hZ2VEYXRhID0gKHdpZHRoLCBoZWlnaHQpID0+IHtcblx0aWYgKCF0ZW1wQ2FudmFzKSB0ZW1wQ2FudmFzID0gY3JlYXRlQ2FudmFzKDEsIDEpO1xuXHRyZXR1cm4gdGVtcENhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5jcmVhdGVJbWFnZURhdGEod2lkdGgsIGhlaWdodCk7XG59O1xuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuXHRjcmVhdGVDYW52YXMgPSAod2lkdGgsIGhlaWdodCkgPT4ge1xuXHRcdGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuXHRcdGNhbnZhcy53aWR0aCA9IHdpZHRoO1xuXHRcdGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cdFx0cmV0dXJuIGNhbnZhcztcblx0fTtcblxuXHRjcmVhdGVDYW52YXNGcm9tRGF0YSA9IChkYXRhKSA9PiB7XG5cdFx0Y29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcblx0XHRpbWFnZS5zcmMgPSAnZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwnICsgZnJvbUJ5dGVBcnJheShkYXRhKTtcblx0XHRjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcblx0XHRjYW52YXMud2lkdGggPSBpbWFnZS53aWR0aDtcblx0XHRjYW52YXMuaGVpZ2h0ID0gaW1hZ2UuaGVpZ2h0O1xuXHRcdGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpIS5kcmF3SW1hZ2UoaW1hZ2UsIDAsIDApO1xuXHRcdHJldHVybiBjYW52YXM7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplQ2FudmFzKFxuXHRjcmVhdGVDYW52YXNNZXRob2Q6ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSFRNTENhbnZhc0VsZW1lbnQsXG5cdGNyZWF0ZUNhbnZhc0Zyb21EYXRhTWV0aG9kPzogKGRhdGE6IFVpbnQ4QXJyYXkpID0+IEhUTUxDYW52YXNFbGVtZW50LFxuXHRjcmVhdGVJbWFnZURhdGFNZXRob2Q/OiAod2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIpID0+IEltYWdlRGF0YVxuKSB7XG5cdGNyZWF0ZUNhbnZhcyA9IGNyZWF0ZUNhbnZhc01ldGhvZDtcblx0Y3JlYXRlQ2FudmFzRnJvbURhdGEgPSBjcmVhdGVDYW52YXNGcm9tRGF0YU1ldGhvZCB8fCBjcmVhdGVDYW52YXNGcm9tRGF0YTtcblx0Y3JlYXRlSW1hZ2VEYXRhID0gY3JlYXRlSW1hZ2VEYXRhTWV0aG9kIHx8IGNyZWF0ZUltYWdlRGF0YTtcbn1cbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|
|
333
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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SyxDQUFDLEdBQUcsR0FBRyx5QkFBeUIsR0FBRyxJQUFBLHlCQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDLENBQUM7Q0FDRjtBQUVELFNBQWdCLGdCQUFnQixDQUMvQixrQkFBd0UsRUFDeEUsMEJBQW9FLEVBQ3BFLHFCQUFvRTtJQUVwRSxvQkFBWSxHQUFHLGtCQUFrQixDQUFDO0lBQ2xDLDRCQUFvQixHQUFHLDBCQUEwQixJQUFJLDRCQUFvQixDQUFDO0lBQzFFLHVCQUFlLEdBQUcscUJBQXFCLElBQUksdUJBQWUsQ0FBQztBQUM1RCxDQUFDO0FBUkQsNENBUUMiLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21CeXRlQXJyYXkgfSBmcm9tICdiYXNlNjQtanMnO1xuaW1wb3J0IHsgZGVmbGF0ZSB9IGZyb20gJ3Bha28nO1xuaW1wb3J0IHsgTGF5ZXIsIEJsZW5kTW9kZSwgTGF5ZXJDb2xvciB9IGZyb20gJy4vcHNkJztcblxuZXhwb3J0IGNvbnN0IE1PQ0tfSEFORExFUlMgPSBmYWxzZTtcbmV4cG9ydCBjb25zdCBSQVdfSU1BR0VfREFUQSA9IGZhbHNlO1xuXG5leHBvcnQgY29uc3QgZnJvbUJsZW5kTW9kZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuZXhwb3J0IGNvbnN0IHRvQmxlbmRNb2RlOiB7IFtrZXk6IHN0cmluZ106IEJsZW5kTW9kZSB9ID0ge1xuXHQncGFzcyc6ICdwYXNzIHRocm91Z2gnLFxuXHQnbm9ybSc6ICdub3JtYWwnLFxuXHQnZGlzcyc6ICdkaXNzb2x2ZScsXG5cdCdkYXJrJzogJ2RhcmtlbicsXG5cdCdtdWwgJzogJ211bHRpcGx5Jyxcblx0J2lkaXYnOiAnY29sb3IgYnVybicsXG5cdCdsYnJuJzogJ2xpbmVhciBidXJuJyxcblx0J2RrQ2wnOiAnZGFya2VyIGNvbG9yJyxcblx0J2xpdGUnOiAnbGlnaHRlbicsXG5cdCdzY3JuJzogJ3NjcmVlbicsXG5cdCdkaXYgJzogJ2NvbG9yIGRvZGdlJyxcblx0J2xkZGcnOiAnbGluZWFyIGRvZGdlJyxcblx0J2xnQ2wnOiAnbGlnaHRlciBjb2xvcicsXG5cdCdvdmVyJzogJ292ZXJsYXknLFxuXHQnc0xpdCc6ICdzb2Z0IGxpZ2h0Jyxcblx0J2hMaXQnOiAnaGFyZCBsaWdodCcsXG5cdCd2TGl0JzogJ3ZpdmlkIGxpZ2h0Jyxcblx0J2xMaXQnOiAnbGluZWFyIGxpZ2h0Jyxcblx0J3BMaXQnOiAncGluIGxpZ2h0Jyxcblx0J2hNaXgnOiAnaGFyZCBtaXgnLFxuXHQnZGlmZic6ICdkaWZmZXJlbmNlJyxcblx0J3NtdWQnOiAnZXhjbHVzaW9uJyxcblx0J2ZzdWInOiAnc3VidHJhY3QnLFxuXHQnZmRpdic6ICdkaXZpZGUnLFxuXHQnaHVlICc6ICdodWUnLFxuXHQnc2F0ICc6ICdzYXR1cmF0aW9uJyxcblx0J2NvbHInOiAnY29sb3InLFxuXHQnbHVtICc6ICdsdW1pbm9zaXR5Jyxcbn07XG5cbk9iamVjdC5rZXlzKHRvQmxlbmRNb2RlKS5mb3JFYWNoKGtleSA9PiBmcm9tQmxlbmRNb2RlW3RvQmxlbmRNb2RlW2tleV1dID0ga2V5KTtcblxuZXhwb3J0IGNvbnN0IGxheWVyQ29sb3JzOiBMYXllckNvbG9yW10gPSBbXG5cdCdub25lJywgJ3JlZCcsICdvcmFuZ2UnLCAneWVsbG93JywgJ2dyZWVuJywgJ2JsdWUnLCAndmlvbGV0JywgJ2dyYXknXG5dO1xuXG5leHBvcnQgY29uc3QgbGFyZ2VBZGRpdGlvbmFsSW5mb0tleXMgPSBbXG5cdC8vIGZyb20gZG9jdW1lbnRhdGlvblxuXHQnTE1zaycsICdMcjE2JywgJ0xyMzInLCAnTGF5cicsICdNdDE2JywgJ010MzInLCAnTXRybicsICdBbHBoJywgJ0ZNc2snLCAnbG5rMicsICdGRWlkJywgJ0ZYaWQnLCAnUHhTRCcsXG5cdC8vIGZyb20gZ3Vlc3Npbmdcblx0J2NpbmYnLFxuXTtcblxuZXhwb3J0IGludGVyZmFjZSBEaWN0IHtcblx0W2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmV2TWFwKG1hcDogRGljdCkge1xuXHRjb25zdCByZXN1bHQ6IERpY3QgPSB7fTtcblx0T2JqZWN0LmtleXMobWFwKS5mb3JFYWNoKGtleSA9PiByZXN1bHRbbWFwW2tleV1dID0ga2V5KTtcblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUVudW08VD4ocHJlZml4OiBzdHJpbmcsIGRlZjogc3RyaW5nLCBtYXA6IERpY3QpIHtcblx0Y29uc3QgcmV2ID0gcmV2TWFwKG1hcCk7XG5cdGNvbnN0IGRlY29kZSA9ICh2YWw6IHN0cmluZyk6IFQgPT4ge1xuXHRcdGNvbnN0IHZhbHVlID0gdmFsLnNwbGl0KCcuJylbMV07XG5cdFx0aWYgKHZhbHVlICYmICFyZXZbdmFsdWVdKSB0aHJvdyBuZXcgRXJyb3IoYFVucmVjb2duaXplZCB2YWx1ZSBmb3IgZW51bTogJyR7dmFsfSdgKTtcblx0XHRyZXR1cm4gKHJldlt2YWx1ZV0gYXMgYW55KSB8fCBkZWY7XG5cdH07XG5cdGNvbnN0IGVuY29kZSA9ICh2YWw6IFQgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuXHRcdGlmICh2YWwgJiYgIW1hcFt2YWwgYXMgYW55XSkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHZhbHVlIGZvciBlbnVtOiAnJHt2YWx9J2ApO1xuXHRcdHJldHVybiBgJHtwcmVmaXh9LiR7bWFwW3ZhbCBhcyBhbnldIHx8IG1hcFtkZWZdfWA7XG5cdH07XG5cdHJldHVybiB7IGRlY29kZSwgZW5jb2RlIH07XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIENvbG9yU3BhY2Uge1xuXHRSR0IgPSAwLFxuXHRIU0IgPSAxLFxuXHRDTVlLID0gMixcblx0TGFiID0gNyxcblx0R3JheXNjYWxlID0gOCxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gTGF5ZXJNYXNrRmxhZ3Mge1xuXHRQb3NpdGlvblJlbGF0aXZlVG9MYXllciA9IDEsXG5cdExheWVyTWFza0Rpc2FibGVkID0gMixcblx0SW52ZXJ0TGF5ZXJNYXNrV2hlbkJsZW5kaW5nID0gNCwgLy8gb2Jzb2xldGVcblx0TGF5ZXJNYXNrRnJvbVJlbmRlcmluZ090aGVyRGF0YSA9IDgsXG5cdE1hc2tIYXNQYXJhbWV0ZXJzQXBwbGllZFRvSXQgPSAxNixcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gTWFza1BhcmFtcyB7XG5cdFVzZXJNYXNrRGVuc2l0eSA9IDEsXG5cdFVzZXJNYXNrRmVhdGhlciA9IDIsXG5cdFZlY3Rvck1hc2tEZW5zaXR5ID0gNCxcblx0VmVjdG9yTWFza0ZlYXRoZXIgPSA4LFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBDaGFubmVsSUQge1xuXHRDb2xvcjAgPSAwLCAvLyByZWQgKHJnYikgLyBjeWFuIChjbXlrKVxuXHRDb2xvcjEgPSAxLCAvLyBncmVlbiAocmdiKSAvIG1hZ2VudGEgKGNteWspXG5cdENvbG9yMiA9IDIsIC8vIGJsdWUgKHJnYikgLyB5ZWxsb3cgKGNteWspXG5cdENvbG9yMyA9IDMsIC8vIC0gKHJnYikgLyBibGFjayAoY215aylcblx0VHJhbnNwYXJlbmN5ID0gLTEsXG5cdFVzZXJNYXNrID0gLTIsXG5cdFJlYWxVc2VyTWFzayA9IC0zLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBDb21wcmVzc2lvbiB7XG5cdFJhd0RhdGEgPSAwLFxuXHRSbGVDb21wcmVzc2VkID0gMSxcblx0WmlwV2l0aG91dFByZWRpY3Rpb24gPSAyLFxuXHRaaXBXaXRoUHJlZGljdGlvbiA9IDMsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbERhdGEge1xuXHRjaGFubmVsSWQ6IENoYW5uZWxJRDtcblx0Y29tcHJlc3Npb246IENvbXByZXNzaW9uO1xuXHRidWZmZXI6IFVpbnQ4QXJyYXkgfCB1bmRlZmluZWQ7XG5cdGxlbmd0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJvdW5kcyB7XG5cdHRvcDogbnVtYmVyO1xuXHRsZWZ0OiBudW1iZXI7XG5cdHJpZ2h0OiBudW1iZXI7XG5cdGJvdHRvbTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQ2hhbm5lbERhdGEge1xuXHRsYXllcjogTGF5ZXI7XG5cdGNoYW5uZWxzOiBDaGFubmVsRGF0YVtdO1xuXHR0b3A6IG51bWJlcjtcblx0bGVmdDogbnVtYmVyO1xuXHRyaWdodDogbnVtYmVyO1xuXHRib3R0b206IG51bWJlcjtcblx0bWFzaz86IEJvdW5kcztcbn1cblxuZXhwb3J0IHR5cGUgUGl4ZWxBcnJheSA9IFVpbnQ4Q2xhbXBlZEFycmF5IHwgVWludDhBcnJheTtcblxuZXhwb3J0IGludGVyZmFjZSBQaXhlbERhdGEge1xuXHRkYXRhOiBQaXhlbEFycmF5O1xuXHR3aWR0aDogbnVtYmVyO1xuXHRoZWlnaHQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9mZnNldEZvckNoYW5uZWwoY2hhbm5lbElkOiBDaGFubmVsSUQsIGNteWs6IGJvb2xlYW4pIHtcblx0c3dpdGNoIChjaGFubmVsSWQpIHtcblx0XHRjYXNlIENoYW5uZWxJRC5Db2xvcjA6IHJldHVybiAwO1xuXHRcdGNhc2UgQ2hhbm5lbElELkNvbG9yMTogcmV0dXJuIDE7XG5cdFx0Y2FzZSBDaGFubmVsSUQuQ29sb3IyOiByZXR1cm4gMjtcblx0XHRjYXNlIENoYW5uZWxJRC5Db2xvcjM6IHJldHVybiBjbXlrID8gMyA6IGNoYW5uZWxJZCArIDE7XG5cdFx0Y2FzZSBDaGFubmVsSUQuVHJhbnNwYXJlbmN5OiByZXR1cm4gY215ayA/IDQgOiAzO1xuXHRcdGRlZmF1bHQ6IHJldHVybiBjaGFubmVsSWQgKyAxO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcCh2YWx1ZTogbnVtYmVyLCBtaW46IG51bWJlciwgbWF4OiBudW1iZXIpIHtcblx0cmV0dXJuIHZhbHVlIDwgbWluID8gbWluIDogKHZhbHVlID4gbWF4ID8gbWF4IDogdmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzQWxwaGEoZGF0YTogUGl4ZWxEYXRhKSB7XG5cdGNvbnN0IHNpemUgPSBkYXRhLndpZHRoICogZGF0YS5oZWlnaHQgKiA0O1xuXG5cdGZvciAobGV0IGkgPSAzOyBpIDwgc2l6ZTsgaSArPSA0KSB7XG5cdFx0aWYgKGRhdGEuZGF0YVtpXSAhPT0gMjU1KSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNldEltYWdlRGF0YSh7IGRhdGEgfTogUGl4ZWxEYXRhKSB7XG5cdGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50MzJBcnJheShkYXRhLmJ1ZmZlcik7XG5cdGNvbnN0IHNpemUgPSBidWZmZXIubGVuZ3RoIHwgMDtcblxuXHRmb3IgKGxldCBwID0gMDsgcCA8IHNpemU7IHAgPSAocCArIDEpIHwgMCkge1xuXHRcdGJ1ZmZlcltwXSA9IDB4ZmYwMDAwMDA7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUJpdG1hcChpbnB1dDogUGl4ZWxBcnJheSwgb3V0cHV0OiBQaXhlbEFycmF5LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuXHRmb3IgKGxldCB5ID0gMCwgcCA9IDAsIG8gPSAwOyB5IDwgaGVpZ2h0OyB5KyspIHtcblx0XHRmb3IgKGxldCB4ID0gMDsgeCA8IHdpZHRoOykge1xuXHRcdFx0bGV0IGIgPSBpbnB1dFtvKytdO1xuXG5cdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IDggJiYgeCA8IHdpZHRoOyBpKyssIHgrKykge1xuXHRcdFx0XHRjb25zdCB2ID0gYiAmIDB4ODAgPyAwIDogMjU1O1xuXHRcdFx0XHRiID0gYiA8PCAxO1xuXHRcdFx0XHRvdXRwdXRbcCsrXSA9IHY7XG5cdFx0XHRcdG91dHB1dFtwKytdID0gdjtcblx0XHRcdFx0b3V0cHV0W3ArK10gPSB2O1xuXHRcdFx0XHRvdXRwdXRbcCsrXSA9IDI1NTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyaXRlRGF0YVJhdyhkYXRhOiBQaXhlbERhdGEsIG9mZnNldDogbnVtYmVyLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikge1xuXHRpZiAoIXdpZHRoIHx8ICFoZWlnaHQpXG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblxuXHRjb25zdCBhcnJheSA9IG5ldyBVaW50OEFycmF5KHdpZHRoICogaGVpZ2h0KTtcblxuXHRmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG5cdFx0YXJyYXlbaV0gPSBkYXRhLmRhdGFbaSAqIDQgKyBvZmZzZXRdO1xuXHR9XG5cblx0cmV0dXJuIGFycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd3JpdGVEYXRhUkxFKGJ1ZmZlcjogVWludDhBcnJheSwgeyBkYXRhLCB3aWR0aCwgaGVpZ2h0IH06IFBpeGVsRGF0YSwgb2Zmc2V0czogbnVtYmVyW10sIGxhcmdlOiBib29sZWFuKSB7XG5cdGlmICghd2lkdGggfHwgIWhlaWdodCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuXHRjb25zdCBzdHJpZGUgPSAoNCAqIHdpZHRoKSB8IDA7XG5cblx0bGV0IG9sID0gMDtcblx0bGV0IG8gPSAob2Zmc2V0cy5sZW5ndGggKiAobGFyZ2UgPyA0IDogMikgKiBoZWlnaHQpIHwgMDtcblxuXHRmb3IgKGNvbnN0IG9mZnNldCBvZiBvZmZzZXRzKSB7XG5cdFx0Zm9yIChsZXQgeSA9IDAsIHAgPSBvZmZzZXQgfCAwOyB5IDwgaGVpZ2h0OyB5KyspIHtcblx0XHRcdGNvbnN0IHN0cmlkZVN0YXJ0ID0gKHkgKiBzdHJpZGUpIHwgMDtcblx0XHRcdGNvbnN0IHN0cmlkZUVuZCA9IChzdHJpZGVTdGFydCArIHN0cmlkZSkgfCAwO1xuXHRcdFx0Y29uc3QgbGFzdEluZGV4ID0gKHN0cmlkZUVuZCArIG9mZnNldCAtIDQpIHwgMDtcblx0XHRcdGNvbnN0IGxhc3RJbmRleDIgPSAobGFzdEluZGV4IC0gNCkgfCAwO1xuXHRcdFx0Y29uc3Qgc3RhcnRPZmZzZXQgPSBvO1xuXG5cdFx0XHRmb3IgKHAgPSAoc3RyaWRlU3RhcnQgKyBvZmZzZXQpIHwgMDsgcCA8IHN0cmlkZUVuZDsgcCA9IChwICsgNCkgfCAwKSB7XG5cdFx0XHRcdGlmIChwIDwgbGFzdEluZGV4Mikge1xuXHRcdFx0XHRcdGxldCB2YWx1ZTEgPSBkYXRhW3BdO1xuXHRcdFx0XHRcdHAgPSAocCArIDQpIHwgMDtcblx0XHRcdFx0XHRsZXQgdmFsdWUyID0gZGF0YVtwXTtcblx0XHRcdFx0XHRwID0gKHAgKyA0KSB8IDA7XG5cdFx0XHRcdFx0bGV0IHZhbHVlMyA9IGRhdGFbcF07XG5cblx0XHRcdFx0XHRpZiAodmFsdWUxID09PSB2YWx1ZTIgJiYgdmFsdWUxID09PSB2YWx1ZTMpIHtcblx0XHRcdFx0XHRcdGxldCBjb3VudCA9IDM7XG5cblx0XHRcdFx0XHRcdHdoaWxlIChjb3VudCA8IDEyOCAmJiBwIDwgbGFzdEluZGV4ICYmIGRhdGFbKHAgKyA0KSB8IDBdID09PSB2YWx1ZTEpIHtcblx0XHRcdFx0XHRcdFx0Y291bnQgPSAoY291bnQgKyAxKSB8IDA7XG5cdFx0XHRcdFx0XHRcdHAgPSAocCArIDQpIHwgMDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0YnVmZmVyW28rK10gPSAxIC0gY291bnQ7XG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Y29uc3QgY291bnRJbmRleCA9IG87XG5cdFx0XHRcdFx0XHRsZXQgd3JpdGVMYXN0ID0gdHJ1ZTtcblx0XHRcdFx0XHRcdGxldCBjb3VudCA9IDE7XG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IDA7XG5cdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMTtcblxuXHRcdFx0XHRcdFx0d2hpbGUgKHAgPCBsYXN0SW5kZXggJiYgY291bnQgPCAxMjgpIHtcblx0XHRcdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdFx0XHR2YWx1ZTEgPSB2YWx1ZTI7XG5cdFx0XHRcdFx0XHRcdHZhbHVlMiA9IHZhbHVlMztcblx0XHRcdFx0XHRcdFx0dmFsdWUzID0gZGF0YVtwXTtcblxuXHRcdFx0XHRcdFx0XHRpZiAodmFsdWUxID09PSB2YWx1ZTIgJiYgdmFsdWUxID09PSB2YWx1ZTMpIHtcblx0XHRcdFx0XHRcdFx0XHRwID0gKHAgLSAxMikgfCAwO1xuXHRcdFx0XHRcdFx0XHRcdHdyaXRlTGFzdCA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdGNvdW50Kys7XG5cdFx0XHRcdFx0XHRcdFx0YnVmZmVyW28rK10gPSB2YWx1ZTE7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aWYgKHdyaXRlTGFzdCkge1xuXHRcdFx0XHRcdFx0XHRpZiAoY291bnQgPCAxMjcpIHtcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMjtcblx0XHRcdFx0XHRcdFx0XHRidWZmZXJbbysrXSA9IHZhbHVlMztcblx0XHRcdFx0XHRcdFx0XHRjb3VudCArPSAyO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGNvdW50IDwgMTI4KSB7XG5cdFx0XHRcdFx0XHRcdFx0YnVmZmVyW28rK10gPSB2YWx1ZTI7XG5cdFx0XHRcdFx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0XHRcdFx0XHRwID0gKHAgLSA0KSB8IDA7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cCA9IChwIC0gOCkgfCAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGJ1ZmZlcltjb3VudEluZGV4XSA9IGNvdW50IC0gMTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSBpZiAocCA9PT0gbGFzdEluZGV4KSB7XG5cdFx0XHRcdFx0YnVmZmVyW28rK10gPSAwO1xuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gZGF0YVtwXTtcblx0XHRcdFx0fSBlbHNlIHsgLy8gcCA9PT0gbGFzdEluZGV4MlxuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gMTtcblx0XHRcdFx0XHRidWZmZXJbbysrXSA9IGRhdGFbcF07XG5cdFx0XHRcdFx0cCA9IChwICsgNCkgfCAwO1xuXHRcdFx0XHRcdGJ1ZmZlcltvKytdID0gZGF0YVtwXTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBsZW5ndGggPSBvIC0gc3RhcnRPZmZzZXQ7XG5cblx0XHRcdGlmIChsYXJnZSkge1xuXHRcdFx0XHRidWZmZXJbb2wrK10gPSAobGVuZ3RoID4+IDI0KSAmIDB4ZmY7XG5cdFx0XHRcdGJ1ZmZlcltvbCsrXSA9IChsZW5ndGggPj4gMTYpICYgMHhmZjtcblx0XHRcdH1cblxuXHRcdFx0YnVmZmVyW29sKytdID0gKGxlbmd0aCA+PiA4KSAmIDB4ZmY7XG5cdFx0XHRidWZmZXJbb2wrK10gPSBsZW5ndGggJiAweGZmO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBidWZmZXIuc2xpY2UoMCwgbyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB3cml0ZURhdGFaaXBXaXRob3V0UHJlZGljdGlvbih7IGRhdGEsIHdpZHRoLCBoZWlnaHQgfTogUGl4ZWxEYXRhLCBvZmZzZXRzOiBudW1iZXJbXSkge1xuXHRjb25zdCBzaXplID0gd2lkdGggKiBoZWlnaHQ7XG5cdGNvbnN0IGNoYW5uZWwgPSBuZXcgVWludDhBcnJheShzaXplKTtcblx0Y29uc3QgYnVmZmVyczogVWludDhBcnJheVtdID0gW107XG5cdGxldCB0b3RhbExlbmd0aCA9IDA7XG5cblx0Zm9yIChjb25zdCBvZmZzZXQgb2Ygb2Zmc2V0cykge1xuXHRcdGZvciAobGV0IGkgPSAwLCBvID0gb2Zmc2V0OyBpIDwgc2l6ZTsgaSsrLCBvICs9IDQpIHtcblx0XHRcdGNoYW5uZWxbaV0gPSBkYXRhW29dO1xuXHRcdH1cblxuXHRcdGNvbnN0IGJ1ZmZlciA9IGRlZmxhdGUoY2hhbm5lbCk7XG5cdFx0YnVmZmVycy5wdXNoKGJ1ZmZlcik7XG5cdFx0dG90YWxMZW5ndGggKz0gYnVmZmVyLmJ5dGVMZW5ndGg7XG5cdH1cblxuXHRpZiAoYnVmZmVycy5sZW5ndGggPiAwKSB7XG5cdFx0Y29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkodG90YWxMZW5ndGgpO1xuXHRcdGxldCBvZmZzZXQgPSAwO1xuXG5cdFx0Zm9yIChjb25zdCBiIG9mIGJ1ZmZlcnMpIHtcblx0XHRcdGJ1ZmZlci5zZXQoYiwgb2Zmc2V0KTtcblx0XHRcdG9mZnNldCArPSBiLmJ5dGVMZW5ndGg7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGJ1ZmZlcjtcblx0fSBlbHNlIHtcblx0XHRyZXR1cm4gYnVmZmVyc1swXTtcblx0fVxufVxuXG5leHBvcnQgbGV0IGNyZWF0ZUNhbnZhczogKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiBIVE1MQ2FudmFzRWxlbWVudCA9ICgpID0+IHtcblx0dGhyb3cgbmV3IEVycm9yKCdDYW52YXMgbm90IGluaXRpYWxpemVkLCB1c2UgaW5pdGlhbGl6ZUNhbnZhcyBtZXRob2QgdG8gc2V0IHVwIGNyZWF0ZUNhbnZhcyBtZXRob2QnKTtcbn07XG5cbmV4cG9ydCBsZXQgY3JlYXRlQ2FudmFzRnJvbURhdGE6IChkYXRhOiBVaW50OEFycmF5KSA9PiBIVE1MQ2FudmFzRWxlbWVudCA9ICgpID0+IHtcblx0dGhyb3cgbmV3IEVycm9yKCdDYW52YXMgbm90IGluaXRpYWxpemVkLCB1c2UgaW5pdGlhbGl6ZUNhbnZhcyBtZXRob2QgdG8gc2V0IHVwIGNyZWF0ZUNhbnZhc0Zyb21EYXRhIG1ldGhvZCcpO1xufTtcblxubGV0IHRlbXBDYW52YXM6IEhUTUxDYW52YXNFbGVtZW50IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5leHBvcnQgbGV0IGNyZWF0ZUltYWdlRGF0YTogKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiBJbWFnZURhdGEgPSAod2lkdGgsIGhlaWdodCkgPT4ge1xuXHRpZiAoIXRlbXBDYW52YXMpIHRlbXBDYW52YXMgPSBjcmVhdGVDYW52YXMoMSwgMSk7XG5cdHJldHVybiB0ZW1wQ2FudmFzLmdldENvbnRleHQoJzJkJykhLmNyZWF0ZUltYWdlRGF0YSh3aWR0aCwgaGVpZ2h0KTtcbn07XG5cbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSB7XG5cdGNyZWF0ZUNhbnZhcyA9ICh3aWR0aCwgaGVpZ2h0KSA9PiB7XG5cdFx0Y29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG5cdFx0Y2FudmFzLndpZHRoID0gd2lkdGg7XG5cdFx0Y2FudmFzLmhlaWdodCA9IGhlaWdodDtcblx0XHRyZXR1cm4gY2FudmFzO1xuXHR9O1xuXG5cdGNyZWF0ZUNhbnZhc0Zyb21EYXRhID0gKGRhdGEpID0+IHtcblx0XHRjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuXHRcdGltYWdlLnNyYyA9ICdkYXRhOmltYWdlL2pwZWc7YmFzZTY0LCcgKyBmcm9tQnl0ZUFycmF5KGRhdGEpO1xuXHRcdGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuXHRcdGNhbnZhcy53aWR0aCA9IGltYWdlLndpZHRoO1xuXHRcdGNhbnZhcy5oZWlnaHQgPSBpbWFnZS5oZWlnaHQ7XG5cdFx0Y2FudmFzLmdldENvbnRleHQoJzJkJykhLmRyYXdJbWFnZShpbWFnZSwgMCwgMCk7XG5cdFx0cmV0dXJuIGNhbnZhcztcblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVDYW52YXMoXG5cdGNyZWF0ZUNhbnZhc01ldGhvZDogKHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyKSA9PiBIVE1MQ2FudmFzRWxlbWVudCxcblx0Y3JlYXRlQ2FudmFzRnJvbURhdGFNZXRob2Q/OiAoZGF0YTogVWludDhBcnJheSkgPT4gSFRNTENhbnZhc0VsZW1lbnQsXG5cdGNyZWF0ZUltYWdlRGF0YU1ldGhvZD86ICh3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcikgPT4gSW1hZ2VEYXRhXG4pIHtcblx0Y3JlYXRlQ2FudmFzID0gY3JlYXRlQ2FudmFzTWV0aG9kO1xuXHRjcmVhdGVDYW52YXNGcm9tRGF0YSA9IGNyZWF0ZUNhbnZhc0Zyb21EYXRhTWV0aG9kIHx8IGNyZWF0ZUNhbnZhc0Zyb21EYXRhO1xuXHRjcmVhdGVJbWFnZURhdGEgPSBjcmVhdGVJbWFnZURhdGFNZXRob2QgfHwgY3JlYXRlSW1hZ2VEYXRhO1xufVxuIl0sInNvdXJjZVJvb3QiOiJDOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
|
package/dist/psd.d.ts
CHANGED
|
@@ -910,7 +910,7 @@ export interface Layer extends LayerAdditionalInfo {
|
|
|
910
910
|
canvas?: HTMLCanvasElement;
|
|
911
911
|
imageData?: ImageData;
|
|
912
912
|
children?: Layer[];
|
|
913
|
-
/**
|
|
913
|
+
/** Applies only for layer groups. */
|
|
914
914
|
opened?: boolean;
|
|
915
915
|
}
|
|
916
916
|
export interface Psd extends LayerAdditionalInfo {
|
|
@@ -964,7 +964,7 @@ export interface ReadOptions {
|
|
|
964
964
|
/** Loads thumbnail raw data instead of decoding it's content into canvas.
|
|
965
965
|
* `thumnailRaw` field is used instead. */
|
|
966
966
|
useRawThumbnail?: boolean;
|
|
967
|
-
/** Usend only for development */
|
|
967
|
+
/** Usend only for development. */
|
|
968
968
|
logDevFeatures?: boolean;
|
|
969
969
|
}
|
|
970
970
|
export interface WriteOptions {
|
|
@@ -978,8 +978,11 @@ export interface WriteOptions {
|
|
|
978
978
|
/** Logs if features are missing. */
|
|
979
979
|
logMissingFeatures?: boolean;
|
|
980
980
|
/** Forces bottom layer to be treated as layer and not background even when it's missing any transparency
|
|
981
|
-
* (by default Photoshop treats bottom layer as background it it doesn't have any transparent pixels) */
|
|
981
|
+
* (by default Photoshop treats bottom layer as background it it doesn't have any transparent pixels). */
|
|
982
982
|
noBackground?: boolean;
|
|
983
|
-
/** Saves document as PSB (Large Document Format) file */
|
|
983
|
+
/** Saves document as PSB (Large Document Format) file. */
|
|
984
984
|
psb?: boolean;
|
|
985
|
+
/** Uses zip compression when writing PSD file, will result in smaller file size but may be incompatible
|
|
986
|
+
* with some software. It may also be significantly slower. */
|
|
987
|
+
compress?: boolean;
|
|
985
988
|
}
|
package/dist/psd.js
CHANGED
|
@@ -20,4 +20,4 @@ var SectionDividerType;
|
|
|
20
20
|
SectionDividerType[SectionDividerType["BoundingSectionDivider"] = 3] = "BoundingSectionDivider";
|
|
21
21
|
})(SectionDividerType = exports.SectionDividerType || (exports.SectionDividerType = {}));
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxJQUFrQixTQVNqQjtBQVRELFdBQWtCLFNBQVM7SUFDMUIsNkNBQVUsQ0FBQTtJQUNWLG1EQUFhLENBQUE7SUFDYiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5REFBZ0IsQ0FBQTtJQUNoQiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtBQUNSLENBQUMsRUFUaUIsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFTMUI7QUFFRCxJQUFrQixrQkFLakI7QUFMRCxXQUFrQixrQkFBa0I7SUFDbkMsNkRBQVMsQ0FBQTtJQUNULHVFQUFjLENBQUE7SUFDZCwyRUFBZ0IsQ0FBQTtJQUNoQiwrRkFBMEIsQ0FBQTtBQUMzQixDQUFDLEVBTGlCLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBS25DIiwiZmlsZSI6InBzZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJsZW5kTW9kZSA9ICdwYXNzIHRocm91Z2gnIHwgJ25vcm1hbCcgfCAnZGlzc29sdmUnIHwgJ2RhcmtlbicgfCAnbXVsdGlwbHknIHxcblx0J2NvbG9yIGJ1cm4nIHwgJ2xpbmVhciBidXJuJyB8ICdkYXJrZXIgY29sb3InIHwgJ2xpZ2h0ZW4nIHwgJ3NjcmVlbicgfCAnY29sb3IgZG9kZ2UnIHxcblx0J2xpbmVhciBkb2RnZScgfCAnbGlnaHRlciBjb2xvcicgfCAnb3ZlcmxheScgfCAnc29mdCBsaWdodCcgfCAnaGFyZCBsaWdodCcgfFxuXHQndml2aWQgbGlnaHQnIHwgJ2xpbmVhciBsaWdodCcgfCAncGluIGxpZ2h0JyB8ICdoYXJkIG1peCcgfCAnZGlmZmVyZW5jZScgfCAnZXhjbHVzaW9uJyB8XG5cdCdzdWJ0cmFjdCcgfCAnZGl2aWRlJyB8ICdodWUnIHwgJ3NhdHVyYXRpb24nIHwgJ2NvbG9yJyB8ICdsdW1pbm9zaXR5JztcblxuZXhwb3J0IGNvbnN0IGVudW0gQ29sb3JNb2RlIHtcblx0Qml0bWFwID0gMCxcblx0R3JheXNjYWxlID0gMSxcblx0SW5kZXhlZCA9IDIsXG5cdFJHQiA9IDMsXG5cdENNWUsgPSA0LFxuXHRNdWx0aWNoYW5uZWwgPSA3LFxuXHREdW90b25lID0gOCxcblx0TGFiID0gOSxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU2VjdGlvbkRpdmlkZXJUeXBlIHtcblx0T3RoZXIgPSAwLFxuXHRPcGVuRm9sZGVyID0gMSxcblx0Q2xvc2VkRm9sZGVyID0gMixcblx0Qm91bmRpbmdTZWN0aW9uRGl2aWRlciA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFJHQkEgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIFJHQiA9IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIEhTQiA9IHsgaDogbnVtYmVyOyBzOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAxXG5leHBvcnQgdHlwZSBDTVlLID0geyBjOiBudW1iZXI7IG06IG51bWJlcjsgeTogbnVtYmVyOyBrOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBMQUIgPSB7IGw6IG51bWJlcjsgYTogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBgbGAgZnJvbSAwIHRvIDE7IGBhYCBhbmQgYGJgIGZyb20gLTEgdG8gMVxuZXhwb3J0IHR5cGUgR3JheXNjYWxlID0geyBrOiBudW1iZXIgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIENvbG9yID0gUkdCQSB8IFJHQiB8IEhTQiB8IENNWUsgfCBMQUIgfCBHcmF5c2NhbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udG91ciB7XG5cdG5hbWU6IHN0cmluZztcblx0Y3VydmU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RQYXR0ZXJuIHtcblx0bmFtZTogc3RyaW5nO1xuXHRpZDogc3RyaW5nO1xuXHQvLyBUT0RPOiBhZGQgZmllbGRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTaGFkb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YW50aWFsaWFzZWQ/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0bGF5ZXJDb25jZWFscz86IGJvb2xlYW47IC8vIG9ubHkgZHJvcCBzaGFkb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNPdXRlckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7XG5cdGppdHRlcj86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RJbm5lckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdHRlY2huaXF1ZT86IEdsb3dUZWNobmlxdWU7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7IC8vIHNwcmVhZFxuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0QmV2ZWwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0c3RyZW5ndGg/OiBudW1iZXI7IC8vIGRlcHRoXG5cdGhpZ2hsaWdodEJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0c2hhZG93QmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRoaWdobGlnaHRDb2xvcj86IENvbG9yO1xuXHRzaGFkb3dDb2xvcj86IENvbG9yO1xuXHRzdHlsZT86IEJldmVsU3R5bGU7XG5cdGhpZ2hsaWdodE9wYWNpdHk/OiBudW1iZXI7XG5cdHNoYWRvd09wYWNpdHk/OiBudW1iZXI7XG5cdHNvZnRlbj86IFVuaXRzVmFsdWU7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YWx0aXR1ZGU/OiBudW1iZXI7XG5cdHRlY2huaXF1ZT86IEJldmVsVGVjaG5pcXVlO1xuXHRkaXJlY3Rpb24/OiBCZXZlbERpcmVjdGlvbjtcblx0dXNlVGV4dHVyZT86IGJvb2xlYW47XG5cdHVzZVNoYXBlPzogYm9vbGVhbjtcblx0YW50aWFsaWFzR2xvc3M/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNvbGlkRmlsbCB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U3Ryb2tlIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRvdmVycHJpbnQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0cG9zaXRpb24/OiAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXHRmaWxsVHlwZT86ICdjb2xvcicgfCAnZ3JhZGllbnQnIHwgJ3BhdHRlcm4nO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGdyYWRpZW50PzogKEVmZmVjdFNvbGlkR3JhZGllbnQgfCBFZmZlY3ROb2lzZUdyYWRpZW50KSAmIEV4dHJhR3JhZGllbnRJbmZvO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybiAmIHt9OyAvLyBUT0RPOiBhZGRpdGlvbmFsIHBhdHRlcm4gaW5mb1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2F0aW4ge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRpbnZlcnQ/OiBib29sZWFuO1xuXHRhbmdsZT86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbi8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXkge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdHBhdHRlcm4/OiBFZmZlY3RQYXR0ZXJuO1xuXHRwaGFzZT86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGFsaWduPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RTb2xpZEdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnc29saWQnO1xuXHRzbW9vdGhuZXNzPzogbnVtYmVyO1xuXHRjb2xvclN0b3BzOiBDb2xvclN0b3BbXTtcblx0b3BhY2l0eVN0b3BzOiBPcGFjaXR5U3RvcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdE5vaXNlR3JhZGllbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU6ICdub2lzZSc7XG5cdHJvdWdobmVzcz86IG51bWJlcjtcblx0Y29sb3JNb2RlbD86ICdyZ2InIHwgJ2hzYicgfCAnbGFiJztcblx0cmFuZG9tU2VlZD86IG51bWJlcjtcblx0cmVzdHJpY3RDb2xvcnM/OiBib29sZWFuO1xuXHRhZGRUcmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRtaW46IG51bWJlcltdO1xuXHRtYXg6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBzdHJpbmc7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGFsaWduPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRpdGhlcj86IGJvb2xlYW47XG5cdHJldmVyc2U/OiBib29sZWFuO1xuXHR0eXBlPzogR3JhZGllbnRTdHlsZTtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcblx0Z3JhZGllbnQ/OiBFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudDtcblx0aW50ZXJwb2xhdGlvbk1ldGhvZD86IEludGVycG9sYXRpb25NZXRob2Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzSW5mbyB7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRyb3BTaGFkb3c/OiBMYXllckVmZmVjdFNoYWRvd1tdO1xuXHRpbm5lclNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdG91dGVyR2xvdz86IExheWVyRWZmZWN0c091dGVyR2xvdztcblx0aW5uZXJHbG93PzogTGF5ZXJFZmZlY3RJbm5lckdsb3c7XG5cdGJldmVsPzogTGF5ZXJFZmZlY3RCZXZlbDtcblx0c29saWRGaWxsPzogTGF5ZXJFZmZlY3RTb2xpZEZpbGxbXTtcblx0c2F0aW4/OiBMYXllckVmZmVjdFNhdGluO1xuXHRzdHJva2U/OiBMYXllckVmZmVjdFN0cm9rZVtdO1xuXHRncmFkaWVudE92ZXJsYXk/OiBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheVtdO1xuXHRwYXR0ZXJuT3ZlcmxheT86IExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXk7IC8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJNYXNrRGF0YSB7XG5cdHRvcD86IG51bWJlcjtcblx0bGVmdD86IG51bWJlcjtcblx0Ym90dG9tPzogbnVtYmVyO1xuXHRyaWdodD86IG51bWJlcjtcblx0ZGVmYXVsdENvbG9yPzogbnVtYmVyO1xuXHRkaXNhYmxlZD86IGJvb2xlYW47XG5cdHBvc2l0aW9uUmVsYXRpdmVUb0xheWVyPzogYm9vbGVhbjtcblx0ZnJvbVZlY3RvckRhdGE/OiBib29sZWFuOyAvLyBzZXQgdG8gdHJ1ZSBpZiB0aGUgbWFzayBpcyBnZW5lcmF0ZWQgZnJvbSB2ZWN0b3IgZGF0YSwgZmFsc2UgaWYgaXQncyBhIGJpdG1hcCBwcm92aWRlZCBieSB1c2VyXG5cdHVzZXJNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dXNlck1hc2tGZWF0aGVyPzogbnVtYmVyOyAvLyBweFxuXHR2ZWN0b3JNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dmVjdG9yTWFza0ZlYXRoZXI/OiBudW1iZXI7XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRHcmlkZGluZyA9ICdub25lJyB8ICdyb3VuZCc7IC8vIFRPRE86IG90aGVyIHZhbHVlcyAobm8gaWRlYSB3aGVyZSB0byBzZXQgaXQgdXAgaW4gUGhvdG9zaG9wKVxuZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuZXhwb3J0IHR5cGUgQW50aUFsaWFzID0gJ25vbmUnIHwgJ3NoYXJwJyB8ICdjcmlzcCcgfCAnc3Ryb25nJyB8ICdzbW9vdGgnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUxDRCc7XG5leHBvcnQgdHlwZSBXYXJwU3R5bGUgPVxuXHQnbm9uZScgfCAnYXJjJyB8ICdhcmNMb3dlcicgfCAnYXJjVXBwZXInIHwgJ2FyY2gnIHwgJ2J1bGdlJyB8ICdzaGVsbExvd2VyJyB8ICdzaGVsbFVwcGVyJyB8ICdmbGFnJyB8XG5cdCd3YXZlJyB8ICdmaXNoJyB8ICdyaXNlJyB8ICdmaXNoZXllJyB8ICdpbmZsYXRlJyB8ICdzcXVlZXplJyB8ICd0d2lzdCcgfCAnY3VzdG9tJztcbmV4cG9ydCB0eXBlIEJldmVsU3R5bGUgPSAnb3V0ZXIgYmV2ZWwnIHwgJ2lubmVyIGJldmVsJyB8ICdlbWJvc3MnIHwgJ3BpbGxvdyBlbWJvc3MnIHwgJ3N0cm9rZSBlbWJvc3MnO1xuZXhwb3J0IHR5cGUgQmV2ZWxUZWNobmlxdWUgPSAnc21vb3RoJyB8ICdjaGlzZWwgaGFyZCcgfCAnY2hpc2VsIHNvZnQnO1xuZXhwb3J0IHR5cGUgQmV2ZWxEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuZXhwb3J0IHR5cGUgR2xvd1RlY2huaXF1ZSA9ICdzb2Z0ZXInIHwgJ3ByZWNpc2UnO1xuZXhwb3J0IHR5cGUgR2xvd1NvdXJjZSA9ICdlZGdlJyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgR3JhZGllbnRTdHlsZSA9ICdsaW5lYXInIHwgJ3JhZGlhbCcgfCAnYW5nbGUnIHwgJ3JlZmxlY3RlZCcgfCAnZGlhbW9uZCc7XG5leHBvcnQgdHlwZSBKdXN0aWZpY2F0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgTGluZUNhcFR5cGUgPSAnYnV0dCcgfCAncm91bmQnIHwgJ3NxdWFyZSc7XG5leHBvcnQgdHlwZSBMaW5lSm9pblR5cGUgPSAnbWl0ZXInIHwgJ3JvdW5kJyB8ICdiZXZlbCc7XG5leHBvcnQgdHlwZSBMaW5lQWxpZ25tZW50ID0gJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcbmV4cG9ydCB0eXBlIEludGVycG9sYXRpb25NZXRob2QgPSAnY2xhc3NpYycgfCAncGVyY2VwdHVhbCcgfCAnbGluZWFyJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXJwIHtcblx0c3R5bGU/OiBXYXJwU3R5bGU7XG5cdHZhbHVlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZT86IG51bWJlcjtcblx0cGVyc3BlY3RpdmVPdGhlcj86IG51bWJlcjtcblx0cm90YXRlPzogT3JpZW50YXRpb247XG5cdC8vIGZvciBjdXN0b20gd2FycHNcblx0Ym91bmRzPzogeyB0b3A6IFVuaXRzVmFsdWU7IGxlZnQ6IFVuaXRzVmFsdWU7IGJvdHRvbTogVW5pdHNWYWx1ZTsgcmlnaHQ6IFVuaXRzVmFsdWU7IH07XG5cdHVPcmRlcj86IG51bWJlcjtcblx0dk9yZGVyPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Sb3dzPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Db2xzPzogbnVtYmVyO1xuXHRjdXN0b21FbnZlbG9wZVdhcnA/OiB7XG5cdFx0cXVpbHRTbGljZVg/OiBudW1iZXJbXTtcblx0XHRxdWlsdFNsaWNlWT86IG51bWJlcltdO1xuXHRcdC8vIDE2IHBvaW50cyBmcm9tIHRvcCBsZWZ0IHRvIGJvdHRvbSByaWdodCwgcm93cyBmaXJzdCwgYWxsIHBvaW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHBvaW50XG5cdFx0bWVzaFBvaW50czogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfVtdO1xuXHR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHNjcmlwdD86IG51bWJlcjtcblx0dHlwZT86IG51bWJlcjtcblx0c3ludGhldGljPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaFN0eWxlIHtcblx0anVzdGlmaWNhdGlvbj86IEp1c3RpZmljYXRpb247XG5cdGZpcnN0TGluZUluZGVudD86IG51bWJlcjtcblx0c3RhcnRJbmRlbnQ/OiBudW1iZXI7XG5cdGVuZEluZGVudD86IG51bWJlcjtcblx0c3BhY2VCZWZvcmU/OiBudW1iZXI7XG5cdHNwYWNlQWZ0ZXI/OiBudW1iZXI7XG5cdGF1dG9IeXBoZW5hdGU/OiBib29sZWFuO1xuXHRoeXBoZW5hdGVkV29yZFNpemU/OiBudW1iZXI7XG5cdHByZUh5cGhlbj86IG51bWJlcjtcblx0cG9zdEh5cGhlbj86IG51bWJlcjtcblx0Y29uc2VjdXRpdmVIeXBoZW5zPzogbnVtYmVyO1xuXHR6b25lPzogbnVtYmVyO1xuXHR3b3JkU3BhY2luZz86IG51bWJlcltdO1xuXHRsZXR0ZXJTcGFjaW5nPzogbnVtYmVyW107XG5cdGdseXBoU3BhY2luZz86IG51bWJlcltdO1xuXHRhdXRvTGVhZGluZz86IG51bWJlcjtcblx0bGVhZGluZ1R5cGU/OiBudW1iZXI7XG5cdGhhbmdpbmc/OiBib29sZWFuO1xuXHRidXJhc2FnYXJpPzogYm9vbGVhbjtcblx0a2luc29rdU9yZGVyPzogbnVtYmVyO1xuXHRldmVyeUxpbmVDb21wb3Nlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoU3R5bGVSdW4ge1xuXHRsZW5ndGg6IG51bWJlcjtcblx0c3R5bGU6IFBhcmFncmFwaFN0eWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTdHlsZSB7XG5cdGZvbnQ/OiBGb250O1xuXHRmb250U2l6ZT86IG51bWJlcjtcblx0ZmF1eEJvbGQ/OiBib29sZWFuO1xuXHRmYXV4SXRhbGljPzogYm9vbGVhbjtcblx0YXV0b0xlYWRpbmc/OiBib29sZWFuO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRob3Jpem9udGFsU2NhbGU/OiBudW1iZXI7XG5cdHZlcnRpY2FsU2NhbGU/OiBudW1iZXI7XG5cdHRyYWNraW5nPzogbnVtYmVyO1xuXHRhdXRvS2VybmluZz86IGJvb2xlYW47XG5cdGtlcm5pbmc/OiBudW1iZXI7XG5cdGJhc2VsaW5lU2hpZnQ/OiBudW1iZXI7XG5cdGZvbnRDYXBzPzogbnVtYmVyOyAvLyAwIC0gbm9uZSwgMSAtIHNtYWxsIGNhcHMsIDIgLSBhbGwgY2Fwc1xuXHRmb250QmFzZWxpbmU/OiBudW1iZXI7IC8vIDAgLSBub3JtYWwsIDEgLSBzdXBlcnNjcmlwdCwgMiAtIHN1YnNjcmlwdFxuXHR1bmRlcmxpbmU/OiBib29sZWFuO1xuXHRzdHJpa2V0aHJvdWdoPzogYm9vbGVhbjtcblx0bGlnYXR1cmVzPzogYm9vbGVhbjtcblx0ZExpZ2F0dXJlcz86IGJvb2xlYW47XG5cdGJhc2VsaW5lRGlyZWN0aW9uPzogbnVtYmVyO1xuXHR0c3VtZT86IG51bWJlcjtcblx0c3R5bGVSdW5BbGlnbm1lbnQ/OiBudW1iZXI7XG5cdGxhbmd1YWdlPzogbnVtYmVyO1xuXHRub0JyZWFrPzogYm9vbGVhbjtcblx0ZmlsbENvbG9yPzogQ29sb3I7XG5cdHN0cm9rZUNvbG9yPzogQ29sb3I7XG5cdGZpbGxGbGFnPzogYm9vbGVhbjtcblx0c3Ryb2tlRmxhZz86IGJvb2xlYW47XG5cdGZpbGxGaXJzdD86IGJvb2xlYW47XG5cdHlVbmRlcmxpbmU/OiBudW1iZXI7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlcjtcblx0Y2hhcmFjdGVyRGlyZWN0aW9uPzogbnVtYmVyO1xuXHRoaW5kaU51bWJlcnM/OiBib29sZWFuO1xuXHRrYXNoaWRhPzogbnVtYmVyO1xuXHRkaWFjcml0aWNQb3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlUnVuIHtcblx0bGVuZ3RoOiBudW1iZXI7XG5cdHN0eWxlOiBUZXh0U3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEdyaWRJbmZvIHtcblx0aXNPbj86IGJvb2xlYW47XG5cdHNob3c/OiBib29sZWFuO1xuXHRzaXplPzogbnVtYmVyO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRsZWFkaW5nRmlsbENvbG9yPzogQ29sb3I7XG5cdGFsaWduTGluZUhlaWdodFRvR3JpZEZsYWdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclRleHREYXRhIHtcblx0dGV4dDogc3RyaW5nO1xuXHR0cmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8gMmQgdHJhbnNmb3JtIG1hdHJpeCBbeHgsIHh5LCB5eCwgeXksIHR4LCB0eV1cblx0YW50aUFsaWFzPzogQW50aUFsaWFzO1xuXHRncmlkZGluZz86IFRleHRHcmlkZGluZztcblx0b3JpZW50YXRpb24/OiBPcmllbnRhdGlvbjtcblx0aW5kZXg/OiBudW1iZXI7XG5cdHdhcnA/OiBXYXJwO1xuXHR0b3A/OiBudW1iZXI7XG5cdGxlZnQ/OiBudW1iZXI7XG5cdGJvdHRvbT86IG51bWJlcjtcblx0cmlnaHQ/OiBudW1iZXI7XG5cblx0Z3JpZEluZm8/OiBUZXh0R3JpZEluZm87XG5cdHVzZUZyYWN0aW9uYWxHbHlwaFdpZHRocz86IGJvb2xlYW47XG5cdHN0eWxlPzogVGV4dFN0eWxlOyAvLyBiYXNlIHN0eWxlXG5cdHN0eWxlUnVucz86IFRleHRTdHlsZVJ1bltdOyAvLyBzcGFucyBvZiBkaWZmZXJlbnQgc3R5bGVcblx0cGFyYWdyYXBoU3R5bGU/OiBQYXJhZ3JhcGhTdHlsZTsgLy8gYmFzZSBwYXJhZ3JhcGggc3R5bGVcblx0cGFyYWdyYXBoU3R5bGVSdW5zPzogUGFyYWdyYXBoU3R5bGVSdW5bXTsgLy8gc3R5bGUgZm9yIGVhY2ggbGluZVxuXG5cdHN1cGVyc2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3VwZXJzY3JpcHRQb3NpdGlvbj86IG51bWJlcjtcblx0c3Vic2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3Vic2NyaXB0UG9zaXRpb24/OiBudW1iZXI7XG5cdHNtYWxsQ2FwU2l6ZT86IG51bWJlcjtcblxuXHRzaGFwZVR5cGU/OiAncG9pbnQnIHwgJ2JveCc7XG5cdHBvaW50QmFzZT86IG51bWJlcltdO1xuXHRib3hCb3VuZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuSW5mbyB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0eDogbnVtYmVyO1xuXHR5OiBudW1iZXI7XG5cdGJvdW5kczogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgdzogbnVtYmVyLCBoOiBudW1iZXI7IH07XG5cdGRhdGE6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV6aWVyS25vdCB7XG5cdGxpbmtlZDogYm9vbGVhbjtcblx0cG9pbnRzOiBudW1iZXJbXTsgLy8geDAsIHkwLCB4MSwgeTEsIHgyLCB5MlxufVxuXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0aW9uID0gJ2V4Y2x1ZGUnIHwgJ2NvbWJpbmUnIHwgJ3N1YnRyYWN0JyB8ICdpbnRlcnNlY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJlemllclBhdGgge1xuXHRvcGVuOiBib29sZWFuO1xuXHRvcGVyYXRpb246IEJvb2xlYW5PcGVyYXRpb247XG5cdGtub3RzOiBCZXppZXJLbm90W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFHcmFkaWVudEluZm8ge1xuXHRzdHlsZT86IEdyYWRpZW50U3R5bGU7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cmV2ZXJzZT86IGJvb2xlYW47XG5cdGFsaWduPzogYm9vbGVhbjtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYVBhdHRlcm5JbmZvIHtcblx0bGlua2VkPzogYm9vbGVhbjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgdHlwZSBWZWN0b3JDb250ZW50ID0geyB0eXBlOiAnY29sb3InOyBjb2xvcjogQ29sb3I7IH0gfFxuXHQoRWZmZWN0U29saWRHcmFkaWVudCAmIEV4dHJhR3JhZGllbnRJbmZvKSB8XG5cdChFZmZlY3ROb2lzZUdyYWRpZW50ICYgRXh0cmFHcmFkaWVudEluZm8pIHxcblx0KEVmZmVjdFBhdHRlcm4gJiB7IHR5cGU6ICdwYXR0ZXJuJzsgfSAmIEV4dHJhUGF0dGVybkluZm8pO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJpbmdJbnRlbnQgPSAncGVyY2VwdHVhbCcgfCAnc2F0dXJhdGlvbicgfCAncmVsYXRpdmUgY29sb3JpbWV0cmljJyB8ICdhYnNvbHV0ZSBjb2xvcmltZXRyaWMnO1xuXG5leHBvcnQgdHlwZSBVbml0cyA9ICdQaXhlbHMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ01pbGxpbWV0ZXJzJyB8ICdDZW50aW1ldGVycycgfCAnSW5jaGVzJyB8ICdOb25lJyB8ICdEZW5zaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBVbml0c1ZhbHVlIHtcblx0dW5pdHM6IFVuaXRzO1xuXHR2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyaWdodG5lc3NBZGp1c3RtZW50IHtcblx0dHlwZTogJ2JyaWdodG5lc3MvY29udHJhc3QnO1xuXHRicmlnaHRuZXNzPzogbnVtYmVyO1xuXHRjb250cmFzdD86IG51bWJlcjtcblx0bWVhblZhbHVlPzogbnVtYmVyO1xuXHR1c2VMZWdhY3k/OiBib29sZWFuO1xuXHRsYWJDb2xvck9ubHk/OiBib29sZWFuO1xuXHRhdXRvPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbCB7XG5cdHNoYWRvd0lucHV0OiBudW1iZXI7XG5cdGhpZ2hsaWdodElucHV0OiBudW1iZXI7XG5cdHNoYWRvd091dHB1dDogbnVtYmVyO1xuXHRoaWdobGlnaHRPdXRwdXQ6IG51bWJlcjtcblx0bWlkdG9uZUlucHV0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2V0SW5mbyB7XG5cdHByZXNldEtpbmQ/OiBudW1iZXI7XG5cdHByZXNldEZpbGVOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExldmVsc0FkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2xldmVscyc7XG5cdHJnYj86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRyZWQ/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW4/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZT86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgdHlwZSBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbCA9IHsgaW5wdXQ6IG51bWJlcjsgb3V0cHV0OiBudW1iZXI7IH1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXJ2ZXNBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjdXJ2ZXMnO1xuXHRyZ2I/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0cmVkPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVuPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWU/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvc3VyZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2V4cG9zdXJlJztcblx0ZXhwb3N1cmU/OiBudW1iZXI7XG5cdG9mZnNldD86IG51bWJlcjtcblx0Z2FtbWE/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlicmFuY2VBZGp1c3RtZW50IHtcblx0dHlwZTogJ3ZpYnJhbmNlJztcblx0dmlicmFuY2U/OiBudW1iZXI7XG5cdHNhdHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsIHtcblx0YTogbnVtYmVyO1xuXHRiOiBudW1iZXI7XG5cdGM6IG51bWJlcjtcblx0ZDogbnVtYmVyO1xuXHRodWU6IG51bWJlcjtcblx0c2F0dXJhdGlvbjogbnVtYmVyO1xuXHRsaWdodG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnaHVlL3NhdHVyYXRpb24nO1xuXHRtYXN0ZXI/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHJlZHM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHllbGxvd3M/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVucz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Y3lhbnM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWVzPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xuXHRtYWdlbnRhcz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckJhbGFuY2VWYWx1ZXMge1xuXHRjeWFuUmVkOiBudW1iZXI7XG5cdG1hZ2VudGFHcmVlbjogbnVtYmVyO1xuXHR5ZWxsb3dCbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBiYWxhbmNlJztcblx0c2hhZG93cz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0bWlkdG9uZXM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdGhpZ2hsaWdodHM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdHByZXNlcnZlTHVtaW5vc2l0eT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxhY2tBbmRXaGl0ZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2JsYWNrICYgd2hpdGUnO1xuXHRyZWRzPzogbnVtYmVyO1xuXHR5ZWxsb3dzPzogbnVtYmVyO1xuXHRncmVlbnM/OiBudW1iZXI7XG5cdGN5YW5zPzogbnVtYmVyO1xuXHRibHVlcz86IG51bWJlcjtcblx0bWFnZW50YXM/OiBudW1iZXI7XG5cdHVzZVRpbnQ/OiBib29sZWFuO1xuXHR0aW50Q29sb3I/OiBDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG90b0ZpbHRlckFkanVzdG1lbnQge1xuXHR0eXBlOiAncGhvdG8gZmlsdGVyJztcblx0Y29sb3I/OiBDb2xvcjtcblx0ZGVuc2l0eT86IG51bWJlcjtcblx0cHJlc2VydmVMdW1pbm9zaXR5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJDaGFubmVsIHtcblx0cmVkOiBudW1iZXI7XG5cdGdyZWVuOiBudW1iZXI7XG5cdGJsdWU6IG51bWJlcjtcblx0Y29uc3RhbnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjaGFubmVsIG1peGVyJztcblx0bW9ub2Nocm9tZT86IGJvb2xlYW47XG5cdHJlZD86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyZWVuPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Ymx1ZT86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyYXk/OiBDaGFubmVsTWl4ZXJDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yTG9va3VwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBsb29rdXAnO1xuXHRsb29rdXBUeXBlPzogJzNkbHV0JyB8ICdhYnN0cmFjdFByb2ZpbGUnIHwgJ2RldmljZUxpbmtQcm9maWxlJztcblx0bmFtZT86IHN0cmluZztcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cHJvZmlsZT86IFVpbnQ4QXJyYXk7XG5cdGx1dEZvcm1hdD86ICdsb29rJyB8ICdjdWJlJyB8ICczZGwnO1xuXHRkYXRhT3JkZXI/OiAncmdiJyB8ICdiZ3InO1xuXHR0YWJsZU9yZGVyPzogJ3JnYicgfCAnYmdyJztcblx0bHV0M0RGaWxlRGF0YT86IFVpbnQ4QXJyYXk7XG5cdGx1dDNERmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52ZXJ0QWRqdXN0bWVudCB7XG5cdHR5cGU6ICdpbnZlcnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3Rlcml6ZUFkanVzdG1lbnQge1xuXHR0eXBlOiAncG9zdGVyaXplJztcblx0bGV2ZWxzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVzaG9sZEFkanVzdG1lbnQge1xuXHR0eXBlOiAndGhyZXNob2xkJztcblx0bGV2ZWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdG9wIHtcblx0Y29sb3I6IENvbG9yO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlTdG9wIHtcblx0b3BhY2l0eTogbnVtYmVyO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYWRpZW50TWFwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdncmFkaWVudCBtYXAnO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRncmFkaWVudFR5cGU6ICdzb2xpZCcgfCAnbm9pc2UnO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0Ly8gc29saWRcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wcz86IENvbG9yU3RvcFtdO1xuXHRvcGFjaXR5U3RvcHM/OiBPcGFjaXR5U3RvcFtdO1xuXHQvLyBub2lzZVxuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluPzogbnVtYmVyW107XG5cdG1heD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdzZWxlY3RpdmUgY29sb3InO1xuXHRtb2RlPzogJ3JlbGF0aXZlJyB8ICdhYnNvbHV0ZSc7XG5cdHJlZHM/OiBDTVlLO1xuXHR5ZWxsb3dzPzogQ01ZSztcblx0Z3JlZW5zPzogQ01ZSztcblx0Y3lhbnM/OiBDTVlLO1xuXHRibHVlcz86IENNWUs7XG5cdG1hZ2VudGFzPzogQ01ZSztcblx0d2hpdGVzPzogQ01ZSztcblx0bmV1dHJhbHM/OiBDTVlLO1xuXHRibGFja3M/OiBDTVlLO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZEZpbGUge1xuXHRpZDogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGNyZWF0b3I/OiBzdHJpbmc7XG5cdGRhdGE/OiBVaW50OEFycmF5O1xuXHR0aW1lPzogRGF0ZTsgLy8gZm9yIGV4dGVybmFsIGZpbGVzXG5cdGRlc2NyaXB0b3I/OiB7XG5cdFx0Y29tcEluZm86IHsgY29tcElEOiBudW1iZXI7IG9yaWdpbmFsQ29tcElEOiBudW1iZXI7IH07XG5cdH07XG5cdGNoaWxkRG9jdW1lbnRJRD86IHN0cmluZztcblx0YXNzZXRNb2RUaW1lPzogbnVtYmVyO1xuXHRhc3NldExvY2tlZFN0YXRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZWRMYXllclR5cGUgPSAndW5rbm93bicgfCAndmVjdG9yJyB8ICdyYXN0ZXInIHwgJ2ltYWdlIHN0YWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZWRMYXllciB7XG5cdGlkOiBzdHJpbmc7IC8vIGlkIG9mIGxpbmtlZCBpbWFnZSBmaWxlIChwc2QubGlua2VkRmlsZXMpXG5cdHBsYWNlZD86IHN0cmluZzsgLy8gdW5pcXVlIGlkXG5cdHR5cGU6IFBsYWNlZExheWVyVHlwZTtcblx0Ly8gcGFnZU51bWJlcjogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gdG90YWxQYWdlczogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gZnJhbWVTdGVwPzogeyBudW1lcmF0b3I6IG51bWJlcjsgZGVub21pbmF0b3I6IG51bWJlcjsgfTtcblx0Ly8gZHVyYXRpb24/OiB7IG51bWVyYXRvcjogbnVtYmVyOyBkZW5vbWluYXRvcjogbnVtYmVyOyB9O1xuXHQvLyBmcmFtZUNvdW50PzogbnVtYmVyOyAvLyA/Pz9cblx0dHJhbnNmb3JtOiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHRub25BZmZpbmVUcmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHR3aWR0aD86IG51bWJlcjtcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRyZXNvbHV0aW9uPzogVW5pdHNWYWx1ZTtcblx0Ly8gYW50aWFsaWFzID9cblx0d2FycD86IFdhcnA7XG5cdGNyb3A/OiBudW1iZXI7XG5cdGNvbXA/OiBudW1iZXI7XG5cdGNvbXBJbmZvPzogeyBjb21wSUQ6IG51bWJlcjsgb3JpZ2luYWxDb21wSUQ6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IHR5cGUgQWRqdXN0bWVudExheWVyID0gQnJpZ2h0bmVzc0FkanVzdG1lbnQgfCBMZXZlbHNBZGp1c3RtZW50IHwgQ3VydmVzQWRqdXN0bWVudCB8XG5cdEV4cG9zdXJlQWRqdXN0bWVudCB8IFZpYnJhbmNlQWRqdXN0bWVudCB8IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50IHwgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB8XG5cdEJsYWNrQW5kV2hpdGVBZGp1c3RtZW50IHwgUGhvdG9GaWx0ZXJBZGp1c3RtZW50IHwgQ2hhbm5lbE1peGVyQWRqdXN0bWVudCB8IENvbG9yTG9va3VwQWRqdXN0bWVudCB8XG5cdEludmVydEFkanVzdG1lbnQgfCBQb3N0ZXJpemVBZGp1c3RtZW50IHwgVGhyZXNob2xkQWRqdXN0bWVudCB8IEdyYWRpZW50TWFwQWRqdXN0bWVudCB8XG5cdFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvciA9ICdub25lJyB8ICdyZWQnIHwgJ29yYW5nZScgfCAneWVsbG93JyB8ICdncmVlbicgfCAnYmx1ZScgfCAndmlvbGV0JyB8ICdncmF5JztcblxuZXhwb3J0IGludGVyZmFjZSBLZXlEZXNjcmlwdG9ySXRlbSB7XG5cdGtleVNoYXBlSW52YWxpZGF0ZWQ/OiBib29sZWFuO1xuXHRrZXlPcmlnaW5UeXBlPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SUmVjdFJhZGlpPzoge1xuXHRcdHRvcFJpZ2h0OiBVbml0c1ZhbHVlO1xuXHRcdHRvcExlZnQ6IFVuaXRzVmFsdWU7XG5cdFx0Ym90dG9tTGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b21SaWdodDogVW5pdHNWYWx1ZTtcblx0fTtcblx0a2V5T3JpZ2luU2hhcGVCb3VuZGluZ0JveD86IHtcblx0XHR0b3A6IFVuaXRzVmFsdWU7XG5cdFx0bGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b206IFVuaXRzVmFsdWU7XG5cdFx0cmlnaHQ6IFVuaXRzVmFsdWU7XG5cdH07XG5cdGtleU9yaWdpbkJveENvcm5lcnM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG5cdHRyYW5zZm9ybT86IG51bWJlcltdOyAvLyAyZCB0cmFuc2Zvcm0gbWF0cml4IFt4eCwgeHksIHl4LCB5eSwgdHgsIHR5XVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVmVjdG9yTWFzayB7XG5cdGludmVydD86IGJvb2xlYW47XG5cdG5vdExpbms/OiBib29sZWFuO1xuXHRkaXNhYmxlPzogYm9vbGVhbjtcblx0ZmlsbFN0YXJ0c1dpdGhBbGxQaXhlbHM/OiBib29sZWFuO1xuXHRjbGlwYm9hcmQ/OiB7XG5cdFx0dG9wOiBudW1iZXI7XG5cdFx0bGVmdDogbnVtYmVyO1xuXHRcdGJvdHRvbTogbnVtYmVyO1xuXHRcdHJpZ2h0OiBudW1iZXI7XG5cdFx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHR9O1xuXHRwYXRoczogQmV6aWVyUGF0aFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHRuYW1lPzogc3RyaW5nOyAvLyBsYXllciBuYW1lXG5cdG5hbWVTb3VyY2U/OiBzdHJpbmc7IC8vIGxheWVyIG5hbWUgc291cmNlXG5cdGlkPzogbnVtYmVyOyAvLyBsYXllciBpZFxuXHR2ZXJzaW9uPzogbnVtYmVyOyAvLyBsYXllciB2ZXJzaW9uXG5cdG1hc2s/OiBMYXllck1hc2tEYXRhO1xuXHRibGVuZENsaXBwZW5kRWxlbWVudHM/OiBib29sZWFuOyAvLyBoYXMgdG8gYmUgc2V0IHRvIGB0cnVlYCB3aGVuIHVzaW5nIGBjb2xvciBidXJuYCBibGVuZCBtb2RlIChvdGhlcndpc2UgYHRyYW5zcGFyZW5jeVNoYXBlc0xheWVyYCBpcyBzZXQgaW5jb3JyZWN0bHkpXG5cdGJsZW5kSW50ZXJpb3JFbGVtZW50cz86IGJvb2xlYW47XG5cdGtub2Nrb3V0PzogYm9vbGVhbjtcblx0bGF5ZXJNYXNrQXNHbG9iYWxNYXNrPzogYm9vbGVhbjtcblx0cHJvdGVjdGVkPzoge1xuXHRcdHRyYW5zcGFyZW5jeT86IGJvb2xlYW47XG5cdFx0Y29tcG9zaXRlPzogYm9vbGVhbjtcblx0XHRwb3NpdGlvbj86IGJvb2xlYW47XG5cdFx0YXJ0Ym9hcmRzPzogYm9vbGVhbjtcblx0fTtcblx0bGF5ZXJDb2xvcj86IExheWVyQ29sb3I7XG5cdHJlZmVyZW5jZVBvaW50Pzoge1xuXHRcdHg6IG51bWJlcjtcblx0XHR5OiBudW1iZXI7XG5cdH07XG5cdHNlY3Rpb25EaXZpZGVyPzoge1xuXHRcdHR5cGU6IFNlY3Rpb25EaXZpZGVyVHlwZTtcblx0XHRrZXk/OiBzdHJpbmc7XG5cdFx0c3ViVHlwZT86IG51bWJlcjsgLy8gMCA9IG5vcm1hbCwgMSA9IHNjZW5lIGdyb3VwLCBhZmZlY3RzIHRoZSBhbmltYXRpb24gdGltZWxpbmUuXG5cdH07XG5cdGZpbHRlck1hc2s/OiB7XG5cdFx0Y29sb3JTcGFjZTogQ29sb3I7XG5cdFx0b3BhY2l0eTogbnVtYmVyO1xuXHR9O1xuXHRlZmZlY3RzPzogTGF5ZXJFZmZlY3RzSW5mbztcblx0dGV4dD86IExheWVyVGV4dERhdGE7XG5cdHBhdHRlcm5zPzogUGF0dGVybkluZm9bXTsgLy8gbm90IHN1cHBvcnRlZCB5ZXRcblx0dmVjdG9yRmlsbD86IFZlY3RvckNvbnRlbnQ7XG5cdHZlY3RvclN0cm9rZT86IHtcblx0XHRzdHJva2VFbmFibGVkPzogYm9vbGVhbjtcblx0XHRmaWxsRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0bGluZVdpZHRoPzogVW5pdHNWYWx1ZTtcblx0XHRsaW5lRGFzaE9mZnNldD86IFVuaXRzVmFsdWU7XG5cdFx0bWl0ZXJMaW1pdD86IG51bWJlcjtcblx0XHRsaW5lQ2FwVHlwZT86IExpbmVDYXBUeXBlO1xuXHRcdGxpbmVKb2luVHlwZT86IExpbmVKb2luVHlwZTtcblx0XHRsaW5lQWxpZ25tZW50PzogTGluZUFsaWdubWVudDtcblx0XHRzY2FsZUxvY2s/OiBib29sZWFuO1xuXHRcdHN0cm9rZUFkanVzdD86IGJvb2xlYW47XG5cdFx0bGluZURhc2hTZXQ/OiBVbml0c1ZhbHVlW107XG5cdFx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRcdG9wYWNpdHk/OiBudW1iZXI7XG5cdFx0Y29udGVudD86IFZlY3RvckNvbnRlbnQ7XG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0fTtcblx0dmVjdG9yTWFzaz86IExheWVyVmVjdG9yTWFzaztcblx0dXNpbmdBbGlnbmVkUmVuZGVyaW5nPzogYm9vbGVhbjtcblx0dGltZXN0YW1wPzogbnVtYmVyOyAvLyBzZWNvbmRzXG5cdHBhdGhMaXN0Pzoge1xuXHRcdC8vIFRPRE86IC4uLlxuXHR9W107XG5cdGFkanVzdG1lbnQ/OiBBZGp1c3RtZW50TGF5ZXI7XG5cdHBsYWNlZExheWVyPzogUGxhY2VkTGF5ZXI7XG5cdHZlY3Rvck9yaWdpbmF0aW9uPzoge1xuXHRcdGtleURlc2NyaXB0b3JMaXN0OiBLZXlEZXNjcmlwdG9ySXRlbVtdO1xuXHR9O1xuXHRjb21wb3NpdG9yVXNlZD86IHtcblx0XHRkZXNjcmlwdGlvbjogc3RyaW5nO1xuXHRcdHJlYXNvbjogc3RyaW5nO1xuXHRcdGVuZ2luZTogc3RyaW5nO1xuXHRcdGVuYWJsZUNvbXBDb3JlOiBzdHJpbmc7XG5cdFx0ZW5hYmxlQ29tcENvcmVHUFU6IHN0cmluZztcblx0XHRjb21wQ29yZVN1cHBvcnQ6IHN0cmluZztcblx0XHRjb21wQ29yZUdQVVN1cHBvcnQ6IHN0cmluZztcblx0fTtcblx0YXJ0Ym9hcmQ/OiB7XG5cdFx0cmVjdDogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyOyBib3R0b206IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgfTtcblx0XHRndWlkZUluZGljZXM/OiBhbnlbXTtcblx0XHRwcmVzZXROYW1lPzogc3RyaW5nO1xuXHRcdGNvbG9yPzogQ29sb3I7XG5cdFx0YmFja2dyb3VuZFR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHR0cmFuc3BhcmVuY3lTaGFwZXNMYXllcj86IGJvb2xlYW47XG5cblx0Ly8gQmFzZTY0IGVuY29kZWQgcmF3IEVuZ2luZURhdGEsIGN1cnJlbnRseSBqdXN0IGtlcHQgaW4gb3JpZ2luYWwgc3RhdGUgdG8gc3VwcG9ydFxuXHQvLyBsb2FkaW5nIGFuZCBtb2RpZnlpbmcgUFNEIGZpbGUgd2l0aG91dCBicmVha2luZyB0ZXh0IGxheWVycy5cblx0ZW5naW5lRGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVJlc291cmNlcyB7XG5cdGxheWVyU3RhdGU/OiBudW1iZXI7XG5cdGxheWVyc0dyb3VwPzogbnVtYmVyW107XG5cdGxheWVyU2VsZWN0aW9uSWRzPzogbnVtYmVyW107XG5cdGxheWVyR3JvdXBzRW5hYmxlZElkPzogbnVtYmVyW107XG5cdHZlcnNpb25JbmZvPzoge1xuXHRcdGhhc1JlYWxNZXJnZWREYXRhOiBib29sZWFuO1xuXHRcdHdyaXRlck5hbWU6IHN0cmluZztcblx0XHRyZWFkZXJOYW1lOiBzdHJpbmc7XG5cdFx0ZmlsZVZlcnNpb246IG51bWJlcjtcblx0fTtcblx0YWxwaGFJZGVudGlmaWVycz86IG51bWJlcltdO1xuXHRhbHBoYUNoYW5uZWxOYW1lcz86IHN0cmluZ1tdO1xuXHRnbG9iYWxBbmdsZT86IG51bWJlcjtcblx0Z2xvYmFsQWx0aXR1ZGU/OiBudW1iZXI7XG5cdHBpeGVsQXNwZWN0UmF0aW8/OiB7XG5cdFx0YXNwZWN0OiBudW1iZXI7XG5cdH07XG5cdHVybHNMaXN0PzogYW55W107XG5cdGdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbj86IHtcblx0XHRncmlkPzoge1xuXHRcdFx0aG9yaXpvbnRhbDogbnVtYmVyO1xuXHRcdFx0dmVydGljYWw6IG51bWJlcjtcblx0XHR9LFxuXHRcdGd1aWRlcz86IHtcblx0XHRcdGxvY2F0aW9uOiBudW1iZXI7XG5cdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cdFx0fVtdO1xuXHR9O1xuXHRyZXNvbHV0aW9uSW5mbz86IHtcblx0XHRob3Jpem9udGFsUmVzb2x1dGlvbjogbnVtYmVyO1xuXHRcdGhvcml6b250YWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0d2lkdGhVbml0OiAnSW5jaGVzJyB8ICdDZW50aW1ldGVycycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnQ29sdW1ucyc7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uOiBudW1iZXI7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0aGVpZ2h0VW5pdDogJ0luY2hlcycgfCAnQ2VudGltZXRlcnMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ0NvbHVtbnMnO1xuXHR9O1xuXHR0aHVtYm5haWw/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0dGh1bWJuYWlsUmF3PzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgZGF0YTogVWludDhBcnJheTsgfTtcblx0Y2FwdGlvbkRpZ2VzdD86IHN0cmluZztcblx0eG1wTWV0YWRhdGE/OiBzdHJpbmc7XG5cdHByaW50U2NhbGU/OiB7XG5cdFx0c3R5bGU/OiAnY2VudGVyZWQnIHwgJ3NpemUgdG8gZml0JyB8ICd1c2VyIGRlZmluZWQnO1xuXHRcdHg/OiBudW1iZXI7XG5cdFx0eT86IG51bWJlcjtcblx0XHRzY2FsZT86IG51bWJlcjtcblx0fTtcblx0cHJpbnRJbmZvcm1hdGlvbj86IHtcblx0XHRwcmludGVyTWFuYWdlc0NvbG9ycz86IGJvb2xlYW47XG5cdFx0cHJpbnRlck5hbWU/OiBzdHJpbmc7XG5cdFx0cHJpbnRlclByb2ZpbGU/OiBzdHJpbmc7XG5cdFx0cHJpbnRTaXh0ZWVuQml0PzogYm9vbGVhbjtcblx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0aGFyZFByb29mPzogYm9vbGVhbjtcblx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRwcm9vZlNldHVwPzoge1xuXHRcdFx0YnVpbHRpbjogc3RyaW5nO1xuXHRcdH0gfCB7XG5cdFx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRcdHBhcGVyV2hpdGU/OiBib29sZWFuO1xuXHRcdH07XG5cdH07XG5cdGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuXHRpZHNTZWVkTnVtYmVyPzogbnVtYmVyO1xuXHRwcmludEZsYWdzPzoge1xuXHRcdGxhYmVscz86IGJvb2xlYW47XG5cdFx0Y3JvcE1hcmtzPzogYm9vbGVhbjtcblx0XHRjb2xvckJhcnM/OiBib29sZWFuO1xuXHRcdHJlZ2lzdHJhdGlvbk1hcmtzPzogYm9vbGVhbjtcblx0XHRuZWdhdGl2ZT86IGJvb2xlYW47XG5cdFx0ZmxpcD86IGJvb2xlYW47XG5cdFx0aW50ZXJwb2xhdGU/OiBib29sZWFuO1xuXHRcdGNhcHRpb24/OiBib29sZWFuO1xuXHRcdHByaW50RmxhZ3M/OiBib29sZWFuO1xuXHR9O1xuXHRpY2NVbnRhZ2dlZFByb2ZpbGU/OiBib29sZWFuO1xuXHRwYXRoU2VsZWN0aW9uU3RhdGU/OiBzdHJpbmdbXTtcblx0aW1hZ2VSZWFkeVZhcmlhYmxlcz86IHN0cmluZztcblx0aW1hZ2VSZWFkeURhdGFTZXRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbExheWVyTWFza0luZm8ge1xuXHRvdmVybGF5Q29sb3JTcGFjZTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMjogbnVtYmVyO1xuXHRjb2xvclNwYWNlMzogbnVtYmVyO1xuXHRjb2xvclNwYWNlNDogbnVtYmVyO1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdGtpbmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uIHtcblx0dHlwZTogJ3RleHQnIHwgJ3NvdW5kJztcblx0b3BlbjogYm9vbGVhbjtcblx0aWNvbkxvY2F0aW9uOiB7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IHJpZ2h0OiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XG5cdHBvcHVwTG9jYXRpb246IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfTtcblx0Y29sb3I6IENvbG9yO1xuXHRhdXRob3I6IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRkYXRlOiBzdHJpbmc7XG5cdGRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXIgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeVByb3RlY3RlZD86IGJvb2xlYW47XG5cdGhpZGRlbj86IGJvb2xlYW47XG5cdGNsaXBwaW5nPzogYm9vbGVhbjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcblx0Y2hpbGRyZW4/OiBMYXllcltdO1xuXHQvKiogYXBwbGllcyBvbmx5IGZvciBsYXllciBncm91cHMgKi9cblx0b3BlbmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQc2QgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0d2lkdGg6IG51bWJlcjtcblx0aGVpZ2h0OiBudW1iZXI7XG5cdGNoYW5uZWxzPzogbnVtYmVyO1xuXHRiaXRzUGVyQ2hhbm5lbD86IG51bWJlcjtcblx0Y29sb3JNb2RlPzogQ29sb3JNb2RlO1xuXHRjaGlsZHJlbj86IExheWVyW107XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG5cdGltYWdlUmVzb3VyY2VzPzogSW1hZ2VSZXNvdXJjZXM7XG5cdGxpbmtlZEZpbGVzPzogTGlua2VkRmlsZVtdOyAvLyB1c2VkIGluIHNtYXJ0IG9iamVjdHNcblx0YXJ0Ym9hcmRzPzoge1xuXHRcdGNvdW50OiBudW1iZXI7IC8vIG51bWJlciBvZiBhcnRib2FyZHMgaW4gdGhlIGRvY3VtZW50XG5cdFx0YXV0b0V4cGFuZE9mZnNldD86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdG9yaWdpbj86IHsgaG9yaXpvbnRhbDogbnVtYmVyOyB2ZXJ0aWNhbDogbnVtYmVyOyB9O1xuXHRcdGF1dG9FeHBhbmRFbmFibGVkPzogYm9vbGVhbjtcblx0XHRhdXRvTmVzdEVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdGF1dG9Qb3NpdGlvbkVuYWJsZWQ/OiBib29sZWFuO1xuXHRcdHNocmlua3dyYXBPblNhdmVFbmFibGVkPzogYm9vbGVhbjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kQ29sb3I/OiBDb2xvcjtcblx0XHRkb2NEZWZhdWx0TmV3QXJ0Ym9hcmRCYWNrZ3JvdW5kVHlwZT86IG51bWJlcjtcblx0fTtcblx0Z2xvYmFsTGF5ZXJNYXNrSW5mbz86IEdsb2JhbExheWVyTWFza0luZm87XG5cdGFubm90YXRpb25zPzogQW5ub3RhdGlvbltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRPcHRpb25zIHtcblx0LyoqIERvZXMgbm90IGxvYWQgbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0c2tpcExheWVySW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIERvZXMgbm90IGxvYWQgY29tcG9zaXRlIGltYWdlIGRhdGEuICovXG5cdHNraXBDb21wb3NpdGVJbWFnZURhdGE/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCB0aHVtYm5haWwuICovXG5cdHNraXBUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogRG9lcyBub3QgbG9hZCBsaW5rZWQgZmlsZXMgKHVzZWQgaW4gc21hcnQtb2JqZWN0cykuICovXG5cdHNraXBMaW5rZWRGaWxlc0RhdGE/OiBib29sZWFuO1xuXHQvKiogVGhyb3dzIGV4Y2VwdGlvbiBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0dGhyb3dGb3JNaXNzaW5nRmVhdHVyZXM/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEtlZXAgaW1hZ2UgZGF0YSBhcyBieXRlIGFycmF5IGluc3RlYWQgb2YgY2FudmFzLlxuXHQgKiAoaW1hZ2UgZGF0YSB3aWxsIGFwcGVhciBpbiBgaW1hZ2VEYXRhYCBmaWVsZHMgaW5zdGVhZCBvZiBgY2FudmFzYCBmaWVsZHMpXG5cdCAqIFRoaXMgYXZvaWRzIGlzc3VlcyB3aXRoIGNhbnZhcyBwcmVtdWx0aXBsaWVkIGFscGhhIGNvcnJ1cHRpbmcgaW1hZ2UgZGF0YS4gKi9cblx0dXNlSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIExvYWRzIHRodW1ibmFpbCByYXcgZGF0YSBpbnN0ZWFkIG9mIGRlY29kaW5nIGl0J3MgY29udGVudCBpbnRvIGNhbnZhcy5cblx0ICogYHRodW1uYWlsUmF3YCBmaWVsZCBpcyB1c2VkIGluc3RlYWQuICovXG5cdHVzZVJhd1RodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBVc2VuZCBvbmx5IGZvciBkZXZlbG9wbWVudCAqL1xuXHRsb2dEZXZGZWF0dXJlcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV3JpdGVPcHRpb25zIHtcblx0LyoqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVzIHRodW1ibmFpbCBmcm9tIGNvbXBvc2l0ZSBpbWFnZS4gKi9cblx0Z2VuZXJhdGVUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogVHJpbXMgdHJhbnNwYXJlbnQgcGl4ZWxzIGZyb20gbGF5ZXIgaW1hZ2UgZGF0YS4gKi9cblx0dHJpbUltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBJbnZhbGlkYXRlcyB0ZXh0IGxheWVyIGRhdGEsIGZvcmNpbmcgUGhvdG9zaG9wIHRvIHJlZHJhdyB0aGVtIG9uIGxvYWQuXG5cdCAqICBVc2UgdGhpcyBvcHRpb24gaWYgeW91J3JlIHVwZGF0aW5nIGxvYWRlZCB0ZXh0IGxheWVyIHByb3BlcnRpZXMuICovXG5cdGludmFsaWRhdGVUZXh0TGF5ZXJzPzogYm9vbGVhbjtcblx0LyoqIExvZ3MgaWYgZmVhdHVyZXMgYXJlIG1pc3NpbmcuICovXG5cdGxvZ01pc3NpbmdGZWF0dXJlcz86IGJvb2xlYW47XG5cdC8qKiBGb3JjZXMgYm90dG9tIGxheWVyIHRvIGJlIHRyZWF0ZWQgYXMgbGF5ZXIgYW5kIG5vdCBiYWNrZ3JvdW5kIGV2ZW4gd2hlbiBpdCdzIG1pc3NpbmcgYW55IHRyYW5zcGFyZW5jeVxuXHQgKiBcdChieSBkZWZhdWx0IFBob3Rvc2hvcCB0cmVhdHMgYm90dG9tIGxheWVyIGFzIGJhY2tncm91bmQgaXQgaXQgZG9lc24ndCBoYXZlIGFueSB0cmFuc3BhcmVudCBwaXhlbHMpICovXG5cdG5vQmFja2dyb3VuZD86IGJvb2xlYW47XG5cdC8qKiBTYXZlcyBkb2N1bWVudCBhcyBQU0IgKExhcmdlIERvY3VtZW50IEZvcm1hdCkgZmlsZSAqL1xuXHRwc2I/OiBib29sZWFuO1xufVxuIl0sInNvdXJjZVJvb3QiOiJDOlxcUHJvamVjdHNcXGdpdGh1YlxcYWctcHNkXFxzcmMifQ==
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBzZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxJQUFrQixTQVNqQjtBQVRELFdBQWtCLFNBQVM7SUFDMUIsNkNBQVUsQ0FBQTtJQUNWLG1EQUFhLENBQUE7SUFDYiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtJQUNQLHlDQUFRLENBQUE7SUFDUix5REFBZ0IsQ0FBQTtJQUNoQiwrQ0FBVyxDQUFBO0lBQ1gsdUNBQU8sQ0FBQTtBQUNSLENBQUMsRUFUaUIsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFTMUI7QUFFRCxJQUFrQixrQkFLakI7QUFMRCxXQUFrQixrQkFBa0I7SUFDbkMsNkRBQVMsQ0FBQTtJQUNULHVFQUFjLENBQUE7SUFDZCwyRUFBZ0IsQ0FBQTtJQUNoQiwrRkFBMEIsQ0FBQTtBQUMzQixDQUFDLEVBTGlCLGtCQUFrQixHQUFsQiwwQkFBa0IsS0FBbEIsMEJBQWtCLFFBS25DIiwiZmlsZSI6InBzZC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEJsZW5kTW9kZSA9ICdwYXNzIHRocm91Z2gnIHwgJ25vcm1hbCcgfCAnZGlzc29sdmUnIHwgJ2RhcmtlbicgfCAnbXVsdGlwbHknIHxcblx0J2NvbG9yIGJ1cm4nIHwgJ2xpbmVhciBidXJuJyB8ICdkYXJrZXIgY29sb3InIHwgJ2xpZ2h0ZW4nIHwgJ3NjcmVlbicgfCAnY29sb3IgZG9kZ2UnIHxcblx0J2xpbmVhciBkb2RnZScgfCAnbGlnaHRlciBjb2xvcicgfCAnb3ZlcmxheScgfCAnc29mdCBsaWdodCcgfCAnaGFyZCBsaWdodCcgfFxuXHQndml2aWQgbGlnaHQnIHwgJ2xpbmVhciBsaWdodCcgfCAncGluIGxpZ2h0JyB8ICdoYXJkIG1peCcgfCAnZGlmZmVyZW5jZScgfCAnZXhjbHVzaW9uJyB8XG5cdCdzdWJ0cmFjdCcgfCAnZGl2aWRlJyB8ICdodWUnIHwgJ3NhdHVyYXRpb24nIHwgJ2NvbG9yJyB8ICdsdW1pbm9zaXR5JztcblxuZXhwb3J0IGNvbnN0IGVudW0gQ29sb3JNb2RlIHtcblx0Qml0bWFwID0gMCxcblx0R3JheXNjYWxlID0gMSxcblx0SW5kZXhlZCA9IDIsXG5cdFJHQiA9IDMsXG5cdENNWUsgPSA0LFxuXHRNdWx0aWNoYW5uZWwgPSA3LFxuXHREdW90b25lID0gOCxcblx0TGFiID0gOSxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gU2VjdGlvbkRpdmlkZXJUeXBlIHtcblx0T3RoZXIgPSAwLFxuXHRPcGVuRm9sZGVyID0gMSxcblx0Q2xvc2VkRm9sZGVyID0gMixcblx0Qm91bmRpbmdTZWN0aW9uRGl2aWRlciA9IDMsXG59XG5cbmV4cG9ydCB0eXBlIFJHQkEgPSB7IHI6IG51bWJlcjsgZzogbnVtYmVyOyBiOiBudW1iZXI7IGE6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIFJHQiA9IHsgcjogbnVtYmVyOyBnOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIEhTQiA9IHsgaDogbnVtYmVyOyBzOiBudW1iZXI7IGI6IG51bWJlcjsgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAxXG5leHBvcnQgdHlwZSBDTVlLID0geyBjOiBudW1iZXI7IG06IG51bWJlcjsgeTogbnVtYmVyOyBrOiBudW1iZXI7IH07IC8vIHZhbHVlcyBmcm9tIDAgdG8gMjU1XG5leHBvcnQgdHlwZSBMQUIgPSB7IGw6IG51bWJlcjsgYTogbnVtYmVyOyBiOiBudW1iZXI7IH07IC8vIHZhbHVlcyBgbGAgZnJvbSAwIHRvIDE7IGBhYCBhbmQgYGJgIGZyb20gLTEgdG8gMVxuZXhwb3J0IHR5cGUgR3JheXNjYWxlID0geyBrOiBudW1iZXIgfTsgLy8gdmFsdWVzIGZyb20gMCB0byAyNTVcbmV4cG9ydCB0eXBlIENvbG9yID0gUkdCQSB8IFJHQiB8IEhTQiB8IENNWUsgfCBMQUIgfCBHcmF5c2NhbGU7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWZmZWN0Q29udG91ciB7XG5cdG5hbWU6IHN0cmluZztcblx0Y3VydmU6IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RQYXR0ZXJuIHtcblx0bmFtZTogc3RyaW5nO1xuXHRpZDogc3RyaW5nO1xuXHQvLyBUT0RPOiBhZGQgZmllbGRzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RTaGFkb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YW50aWFsaWFzZWQ/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcblx0Y2hva2U/OiBVbml0c1ZhbHVlOyAvLyBzcHJlYWRcblx0bGF5ZXJDb25jZWFscz86IGJvb2xlYW47IC8vIG9ubHkgZHJvcCBzaGFkb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdHNPdXRlckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7XG5cdGppdHRlcj86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RJbm5lckdsb3cge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHNvdXJjZT86IEdsb3dTb3VyY2U7XG5cdHRlY2huaXF1ZT86IEdsb3dUZWNobmlxdWU7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0bm9pc2U/OiBudW1iZXI7XG5cdHJhbmdlPzogbnVtYmVyO1xuXHRjaG9rZT86IFVuaXRzVmFsdWU7IC8vIHNwcmVhZFxuXHRqaXR0ZXI/OiBudW1iZXI7XG5cdGNvbnRvdXI/OiBFZmZlY3RDb250b3VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0QmV2ZWwge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRhbmdsZT86IG51bWJlcjtcblx0c3RyZW5ndGg/OiBudW1iZXI7IC8vIGRlcHRoXG5cdGhpZ2hsaWdodEJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0c2hhZG93QmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRoaWdobGlnaHRDb2xvcj86IENvbG9yO1xuXHRzaGFkb3dDb2xvcj86IENvbG9yO1xuXHRzdHlsZT86IEJldmVsU3R5bGU7XG5cdGhpZ2hsaWdodE9wYWNpdHk/OiBudW1iZXI7XG5cdHNoYWRvd09wYWNpdHk/OiBudW1iZXI7XG5cdHNvZnRlbj86IFVuaXRzVmFsdWU7XG5cdHVzZUdsb2JhbExpZ2h0PzogYm9vbGVhbjtcblx0YWx0aXR1ZGU/OiBudW1iZXI7XG5cdHRlY2huaXF1ZT86IEJldmVsVGVjaG5pcXVlO1xuXHRkaXJlY3Rpb24/OiBCZXZlbERpcmVjdGlvbjtcblx0dXNlVGV4dHVyZT86IGJvb2xlYW47XG5cdHVzZVNoYXBlPzogYm9vbGVhbjtcblx0YW50aWFsaWFzR2xvc3M/OiBib29sZWFuO1xuXHRjb250b3VyPzogRWZmZWN0Q29udG91cjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllckVmZmVjdFNvbGlkRmlsbCB7XG5cdHByZXNlbnQ/OiBib29sZWFuO1xuXHRzaG93SW5EaWFsb2c/OiBib29sZWFuO1xuXHRlbmFibGVkPzogYm9vbGVhbjtcblx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRjb2xvcj86IENvbG9yO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U3Ryb2tlIHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRvdmVycHJpbnQ/OiBib29sZWFuO1xuXHRzaXplPzogVW5pdHNWYWx1ZTtcblx0cG9zaXRpb24/OiAnaW5zaWRlJyB8ICdjZW50ZXInIHwgJ291dHNpZGUnO1xuXHRmaWxsVHlwZT86ICdjb2xvcicgfCAnZ3JhZGllbnQnIHwgJ3BhdHRlcm4nO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGdyYWRpZW50PzogKEVmZmVjdFNvbGlkR3JhZGllbnQgfCBFZmZlY3ROb2lzZUdyYWRpZW50KSAmIEV4dHJhR3JhZGllbnRJbmZvO1xuXHRwYXR0ZXJuPzogRWZmZWN0UGF0dGVybiAmIHt9OyAvLyBUT0RPOiBhZGRpdGlvbmFsIHBhdHRlcm4gaW5mb1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0U2F0aW4ge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdHNpemU/OiBVbml0c1ZhbHVlO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdGNvbG9yPzogQ29sb3I7XG5cdGFudGlhbGlhc2VkPzogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0ZGlzdGFuY2U/OiBVbml0c1ZhbHVlO1xuXHRpbnZlcnQ/OiBib29sZWFuO1xuXHRhbmdsZT86IG51bWJlcjtcblx0Y29udG91cj86IEVmZmVjdENvbnRvdXI7XG59XG5cbi8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXkge1xuXHRwcmVzZW50PzogYm9vbGVhbjtcblx0c2hvd0luRGlhbG9nPzogYm9vbGVhbjtcblx0ZW5hYmxlZD86IGJvb2xlYW47XG5cdGJsZW5kTW9kZT86IEJsZW5kTW9kZTtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdHBhdHRlcm4/OiBFZmZlY3RQYXR0ZXJuO1xuXHRwaGFzZT86IHsgeDogbnVtYmVyOyB5OiBudW1iZXI7IH07XG5cdGFsaWduPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZmZlY3RTb2xpZEdyYWRpZW50IHtcblx0bmFtZTogc3RyaW5nO1xuXHR0eXBlOiAnc29saWQnO1xuXHRzbW9vdGhuZXNzPzogbnVtYmVyO1xuXHRjb2xvclN0b3BzOiBDb2xvclN0b3BbXTtcblx0b3BhY2l0eVN0b3BzOiBPcGFjaXR5U3RvcFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVmZmVjdE5vaXNlR3JhZGllbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU6ICdub2lzZSc7XG5cdHJvdWdobmVzcz86IG51bWJlcjtcblx0Y29sb3JNb2RlbD86ICdyZ2InIHwgJ2hzYicgfCAnbGFiJztcblx0cmFuZG9tU2VlZD86IG51bWJlcjtcblx0cmVzdHJpY3RDb2xvcnM/OiBib29sZWFuO1xuXHRhZGRUcmFuc3BhcmVuY3k/OiBib29sZWFuO1xuXHRtaW46IG51bWJlcltdO1xuXHRtYXg6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyRWZmZWN0R3JhZGllbnRPdmVybGF5IHtcblx0cHJlc2VudD86IGJvb2xlYW47XG5cdHNob3dJbkRpYWxvZz86IGJvb2xlYW47XG5cdGVuYWJsZWQ/OiBib29sZWFuO1xuXHRibGVuZE1vZGU/OiBzdHJpbmc7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdGFsaWduPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRpdGhlcj86IGJvb2xlYW47XG5cdHJldmVyc2U/OiBib29sZWFuO1xuXHR0eXBlPzogR3JhZGllbnRTdHlsZTtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcblx0Z3JhZGllbnQ/OiBFZmZlY3RTb2xpZEdyYWRpZW50IHwgRWZmZWN0Tm9pc2VHcmFkaWVudDtcblx0aW50ZXJwb2xhdGlvbk1ldGhvZD86IEludGVycG9sYXRpb25NZXRob2Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJFZmZlY3RzSW5mbyB7XG5cdGRpc2FibGVkPzogYm9vbGVhbjtcblx0c2NhbGU/OiBudW1iZXI7XG5cdGRyb3BTaGFkb3c/OiBMYXllckVmZmVjdFNoYWRvd1tdO1xuXHRpbm5lclNoYWRvdz86IExheWVyRWZmZWN0U2hhZG93W107XG5cdG91dGVyR2xvdz86IExheWVyRWZmZWN0c091dGVyR2xvdztcblx0aW5uZXJHbG93PzogTGF5ZXJFZmZlY3RJbm5lckdsb3c7XG5cdGJldmVsPzogTGF5ZXJFZmZlY3RCZXZlbDtcblx0c29saWRGaWxsPzogTGF5ZXJFZmZlY3RTb2xpZEZpbGxbXTtcblx0c2F0aW4/OiBMYXllckVmZmVjdFNhdGluO1xuXHRzdHJva2U/OiBMYXllckVmZmVjdFN0cm9rZVtdO1xuXHRncmFkaWVudE92ZXJsYXk/OiBMYXllckVmZmVjdEdyYWRpZW50T3ZlcmxheVtdO1xuXHRwYXR0ZXJuT3ZlcmxheT86IExheWVyRWZmZWN0UGF0dGVybk92ZXJsYXk7IC8vIG5vdCBzdXBwb3J0ZWQgeWV0IGJlY2F1c2Ugb2YgYFBhdHRgIHNlY3Rpb24gbm90IGltcGxlbWVudGVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXJNYXNrRGF0YSB7XG5cdHRvcD86IG51bWJlcjtcblx0bGVmdD86IG51bWJlcjtcblx0Ym90dG9tPzogbnVtYmVyO1xuXHRyaWdodD86IG51bWJlcjtcblx0ZGVmYXVsdENvbG9yPzogbnVtYmVyO1xuXHRkaXNhYmxlZD86IGJvb2xlYW47XG5cdHBvc2l0aW9uUmVsYXRpdmVUb0xheWVyPzogYm9vbGVhbjtcblx0ZnJvbVZlY3RvckRhdGE/OiBib29sZWFuOyAvLyBzZXQgdG8gdHJ1ZSBpZiB0aGUgbWFzayBpcyBnZW5lcmF0ZWQgZnJvbSB2ZWN0b3IgZGF0YSwgZmFsc2UgaWYgaXQncyBhIGJpdG1hcCBwcm92aWRlZCBieSB1c2VyXG5cdHVzZXJNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dXNlck1hc2tGZWF0aGVyPzogbnVtYmVyOyAvLyBweFxuXHR2ZWN0b3JNYXNrRGVuc2l0eT86IG51bWJlcjtcblx0dmVjdG9yTWFza0ZlYXRoZXI/OiBudW1iZXI7XG5cdGNhbnZhcz86IEhUTUxDYW52YXNFbGVtZW50O1xuXHRpbWFnZURhdGE/OiBJbWFnZURhdGE7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRHcmlkZGluZyA9ICdub25lJyB8ICdyb3VuZCc7IC8vIFRPRE86IG90aGVyIHZhbHVlcyAobm8gaWRlYSB3aGVyZSB0byBzZXQgaXQgdXAgaW4gUGhvdG9zaG9wKVxuZXhwb3J0IHR5cGUgT3JpZW50YXRpb24gPSAnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnO1xuZXhwb3J0IHR5cGUgQW50aUFsaWFzID0gJ25vbmUnIHwgJ3NoYXJwJyB8ICdjcmlzcCcgfCAnc3Ryb25nJyB8ICdzbW9vdGgnIHwgJ3BsYXRmb3JtJyB8ICdwbGF0Zm9ybUxDRCc7XG5leHBvcnQgdHlwZSBXYXJwU3R5bGUgPVxuXHQnbm9uZScgfCAnYXJjJyB8ICdhcmNMb3dlcicgfCAnYXJjVXBwZXInIHwgJ2FyY2gnIHwgJ2J1bGdlJyB8ICdzaGVsbExvd2VyJyB8ICdzaGVsbFVwcGVyJyB8ICdmbGFnJyB8XG5cdCd3YXZlJyB8ICdmaXNoJyB8ICdyaXNlJyB8ICdmaXNoZXllJyB8ICdpbmZsYXRlJyB8ICdzcXVlZXplJyB8ICd0d2lzdCcgfCAnY3VzdG9tJztcbmV4cG9ydCB0eXBlIEJldmVsU3R5bGUgPSAnb3V0ZXIgYmV2ZWwnIHwgJ2lubmVyIGJldmVsJyB8ICdlbWJvc3MnIHwgJ3BpbGxvdyBlbWJvc3MnIHwgJ3N0cm9rZSBlbWJvc3MnO1xuZXhwb3J0IHR5cGUgQmV2ZWxUZWNobmlxdWUgPSAnc21vb3RoJyB8ICdjaGlzZWwgaGFyZCcgfCAnY2hpc2VsIHNvZnQnO1xuZXhwb3J0IHR5cGUgQmV2ZWxEaXJlY3Rpb24gPSAndXAnIHwgJ2Rvd24nO1xuZXhwb3J0IHR5cGUgR2xvd1RlY2huaXF1ZSA9ICdzb2Z0ZXInIHwgJ3ByZWNpc2UnO1xuZXhwb3J0IHR5cGUgR2xvd1NvdXJjZSA9ICdlZGdlJyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgR3JhZGllbnRTdHlsZSA9ICdsaW5lYXInIHwgJ3JhZGlhbCcgfCAnYW5nbGUnIHwgJ3JlZmxlY3RlZCcgfCAnZGlhbW9uZCc7XG5leHBvcnQgdHlwZSBKdXN0aWZpY2F0aW9uID0gJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdjZW50ZXInO1xuZXhwb3J0IHR5cGUgTGluZUNhcFR5cGUgPSAnYnV0dCcgfCAncm91bmQnIHwgJ3NxdWFyZSc7XG5leHBvcnQgdHlwZSBMaW5lSm9pblR5cGUgPSAnbWl0ZXInIHwgJ3JvdW5kJyB8ICdiZXZlbCc7XG5leHBvcnQgdHlwZSBMaW5lQWxpZ25tZW50ID0gJ2luc2lkZScgfCAnY2VudGVyJyB8ICdvdXRzaWRlJztcbmV4cG9ydCB0eXBlIEludGVycG9sYXRpb25NZXRob2QgPSAnY2xhc3NpYycgfCAncGVyY2VwdHVhbCcgfCAnbGluZWFyJztcblxuZXhwb3J0IGludGVyZmFjZSBXYXJwIHtcblx0c3R5bGU/OiBXYXJwU3R5bGU7XG5cdHZhbHVlPzogbnVtYmVyO1xuXHRwZXJzcGVjdGl2ZT86IG51bWJlcjtcblx0cGVyc3BlY3RpdmVPdGhlcj86IG51bWJlcjtcblx0cm90YXRlPzogT3JpZW50YXRpb247XG5cdC8vIGZvciBjdXN0b20gd2FycHNcblx0Ym91bmRzPzogeyB0b3A6IFVuaXRzVmFsdWU7IGxlZnQ6IFVuaXRzVmFsdWU7IGJvdHRvbTogVW5pdHNWYWx1ZTsgcmlnaHQ6IFVuaXRzVmFsdWU7IH07XG5cdHVPcmRlcj86IG51bWJlcjtcblx0dk9yZGVyPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Sb3dzPzogbnVtYmVyO1xuXHRkZWZvcm1OdW1Db2xzPzogbnVtYmVyO1xuXHRjdXN0b21FbnZlbG9wZVdhcnA/OiB7XG5cdFx0cXVpbHRTbGljZVg/OiBudW1iZXJbXTtcblx0XHRxdWlsdFNsaWNlWT86IG51bWJlcltdO1xuXHRcdC8vIDE2IHBvaW50cyBmcm9tIHRvcCBsZWZ0IHRvIGJvdHRvbSByaWdodCwgcm93cyBmaXJzdCwgYWxsIHBvaW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHBvaW50XG5cdFx0bWVzaFBvaW50czogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfVtdO1xuXHR9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvbnQge1xuXHRuYW1lOiBzdHJpbmc7XG5cdHNjcmlwdD86IG51bWJlcjtcblx0dHlwZT86IG51bWJlcjtcblx0c3ludGhldGljPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaFN0eWxlIHtcblx0anVzdGlmaWNhdGlvbj86IEp1c3RpZmljYXRpb247XG5cdGZpcnN0TGluZUluZGVudD86IG51bWJlcjtcblx0c3RhcnRJbmRlbnQ/OiBudW1iZXI7XG5cdGVuZEluZGVudD86IG51bWJlcjtcblx0c3BhY2VCZWZvcmU/OiBudW1iZXI7XG5cdHNwYWNlQWZ0ZXI/OiBudW1iZXI7XG5cdGF1dG9IeXBoZW5hdGU/OiBib29sZWFuO1xuXHRoeXBoZW5hdGVkV29yZFNpemU/OiBudW1iZXI7XG5cdHByZUh5cGhlbj86IG51bWJlcjtcblx0cG9zdEh5cGhlbj86IG51bWJlcjtcblx0Y29uc2VjdXRpdmVIeXBoZW5zPzogbnVtYmVyO1xuXHR6b25lPzogbnVtYmVyO1xuXHR3b3JkU3BhY2luZz86IG51bWJlcltdO1xuXHRsZXR0ZXJTcGFjaW5nPzogbnVtYmVyW107XG5cdGdseXBoU3BhY2luZz86IG51bWJlcltdO1xuXHRhdXRvTGVhZGluZz86IG51bWJlcjtcblx0bGVhZGluZ1R5cGU/OiBudW1iZXI7XG5cdGhhbmdpbmc/OiBib29sZWFuO1xuXHRidXJhc2FnYXJpPzogYm9vbGVhbjtcblx0a2luc29rdU9yZGVyPzogbnVtYmVyO1xuXHRldmVyeUxpbmVDb21wb3Nlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWdyYXBoU3R5bGVSdW4ge1xuXHRsZW5ndGg6IG51bWJlcjtcblx0c3R5bGU6IFBhcmFncmFwaFN0eWxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRTdHlsZSB7XG5cdGZvbnQ/OiBGb250O1xuXHRmb250U2l6ZT86IG51bWJlcjtcblx0ZmF1eEJvbGQ/OiBib29sZWFuO1xuXHRmYXV4SXRhbGljPzogYm9vbGVhbjtcblx0YXV0b0xlYWRpbmc/OiBib29sZWFuO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRob3Jpem9udGFsU2NhbGU/OiBudW1iZXI7XG5cdHZlcnRpY2FsU2NhbGU/OiBudW1iZXI7XG5cdHRyYWNraW5nPzogbnVtYmVyO1xuXHRhdXRvS2VybmluZz86IGJvb2xlYW47XG5cdGtlcm5pbmc/OiBudW1iZXI7XG5cdGJhc2VsaW5lU2hpZnQ/OiBudW1iZXI7XG5cdGZvbnRDYXBzPzogbnVtYmVyOyAvLyAwIC0gbm9uZSwgMSAtIHNtYWxsIGNhcHMsIDIgLSBhbGwgY2Fwc1xuXHRmb250QmFzZWxpbmU/OiBudW1iZXI7IC8vIDAgLSBub3JtYWwsIDEgLSBzdXBlcnNjcmlwdCwgMiAtIHN1YnNjcmlwdFxuXHR1bmRlcmxpbmU/OiBib29sZWFuO1xuXHRzdHJpa2V0aHJvdWdoPzogYm9vbGVhbjtcblx0bGlnYXR1cmVzPzogYm9vbGVhbjtcblx0ZExpZ2F0dXJlcz86IGJvb2xlYW47XG5cdGJhc2VsaW5lRGlyZWN0aW9uPzogbnVtYmVyO1xuXHR0c3VtZT86IG51bWJlcjtcblx0c3R5bGVSdW5BbGlnbm1lbnQ/OiBudW1iZXI7XG5cdGxhbmd1YWdlPzogbnVtYmVyO1xuXHRub0JyZWFrPzogYm9vbGVhbjtcblx0ZmlsbENvbG9yPzogQ29sb3I7XG5cdHN0cm9rZUNvbG9yPzogQ29sb3I7XG5cdGZpbGxGbGFnPzogYm9vbGVhbjtcblx0c3Ryb2tlRmxhZz86IGJvb2xlYW47XG5cdGZpbGxGaXJzdD86IGJvb2xlYW47XG5cdHlVbmRlcmxpbmU/OiBudW1iZXI7XG5cdG91dGxpbmVXaWR0aD86IG51bWJlcjtcblx0Y2hhcmFjdGVyRGlyZWN0aW9uPzogbnVtYmVyO1xuXHRoaW5kaU51bWJlcnM/OiBib29sZWFuO1xuXHRrYXNoaWRhPzogbnVtYmVyO1xuXHRkaWFjcml0aWNQb3M/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dFN0eWxlUnVuIHtcblx0bGVuZ3RoOiBudW1iZXI7XG5cdHN0eWxlOiBUZXh0U3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEdyaWRJbmZvIHtcblx0aXNPbj86IGJvb2xlYW47XG5cdHNob3c/OiBib29sZWFuO1xuXHRzaXplPzogbnVtYmVyO1xuXHRsZWFkaW5nPzogbnVtYmVyO1xuXHRjb2xvcj86IENvbG9yO1xuXHRsZWFkaW5nRmlsbENvbG9yPzogQ29sb3I7XG5cdGFsaWduTGluZUhlaWdodFRvR3JpZEZsYWdzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMYXllclRleHREYXRhIHtcblx0dGV4dDogc3RyaW5nO1xuXHR0cmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8gMmQgdHJhbnNmb3JtIG1hdHJpeCBbeHgsIHh5LCB5eCwgeXksIHR4LCB0eV1cblx0YW50aUFsaWFzPzogQW50aUFsaWFzO1xuXHRncmlkZGluZz86IFRleHRHcmlkZGluZztcblx0b3JpZW50YXRpb24/OiBPcmllbnRhdGlvbjtcblx0aW5kZXg/OiBudW1iZXI7XG5cdHdhcnA/OiBXYXJwO1xuXHR0b3A/OiBudW1iZXI7XG5cdGxlZnQ/OiBudW1iZXI7XG5cdGJvdHRvbT86IG51bWJlcjtcblx0cmlnaHQ/OiBudW1iZXI7XG5cblx0Z3JpZEluZm8/OiBUZXh0R3JpZEluZm87XG5cdHVzZUZyYWN0aW9uYWxHbHlwaFdpZHRocz86IGJvb2xlYW47XG5cdHN0eWxlPzogVGV4dFN0eWxlOyAvLyBiYXNlIHN0eWxlXG5cdHN0eWxlUnVucz86IFRleHRTdHlsZVJ1bltdOyAvLyBzcGFucyBvZiBkaWZmZXJlbnQgc3R5bGVcblx0cGFyYWdyYXBoU3R5bGU/OiBQYXJhZ3JhcGhTdHlsZTsgLy8gYmFzZSBwYXJhZ3JhcGggc3R5bGVcblx0cGFyYWdyYXBoU3R5bGVSdW5zPzogUGFyYWdyYXBoU3R5bGVSdW5bXTsgLy8gc3R5bGUgZm9yIGVhY2ggbGluZVxuXG5cdHN1cGVyc2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3VwZXJzY3JpcHRQb3NpdGlvbj86IG51bWJlcjtcblx0c3Vic2NyaXB0U2l6ZT86IG51bWJlcjtcblx0c3Vic2NyaXB0UG9zaXRpb24/OiBudW1iZXI7XG5cdHNtYWxsQ2FwU2l6ZT86IG51bWJlcjtcblxuXHRzaGFwZVR5cGU/OiAncG9pbnQnIHwgJ2JveCc7XG5cdHBvaW50QmFzZT86IG51bWJlcltdO1xuXHRib3hCb3VuZHM/OiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXR0ZXJuSW5mbyB7XG5cdG5hbWU6IHN0cmluZztcblx0aWQ6IHN0cmluZztcblx0eDogbnVtYmVyO1xuXHR5OiBudW1iZXI7XG5cdGJvdW5kczogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgdzogbnVtYmVyLCBoOiBudW1iZXI7IH07XG5cdGRhdGE6IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmV6aWVyS25vdCB7XG5cdGxpbmtlZDogYm9vbGVhbjtcblx0cG9pbnRzOiBudW1iZXJbXTsgLy8geDAsIHkwLCB4MSwgeTEsIHgyLCB5MlxufVxuXG5leHBvcnQgdHlwZSBCb29sZWFuT3BlcmF0aW9uID0gJ2V4Y2x1ZGUnIHwgJ2NvbWJpbmUnIHwgJ3N1YnRyYWN0JyB8ICdpbnRlcnNlY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJlemllclBhdGgge1xuXHRvcGVuOiBib29sZWFuO1xuXHRvcGVyYXRpb246IEJvb2xlYW5PcGVyYXRpb247XG5cdGtub3RzOiBCZXppZXJLbm90W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0cmFHcmFkaWVudEluZm8ge1xuXHRzdHlsZT86IEdyYWRpZW50U3R5bGU7XG5cdHNjYWxlPzogbnVtYmVyO1xuXHRhbmdsZT86IG51bWJlcjtcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cmV2ZXJzZT86IGJvb2xlYW47XG5cdGFsaWduPzogYm9vbGVhbjtcblx0b2Zmc2V0PzogeyB4OiBudW1iZXI7IHk6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHRyYVBhdHRlcm5JbmZvIHtcblx0bGlua2VkPzogYm9vbGVhbjtcblx0cGhhc2U/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9O1xufVxuXG5leHBvcnQgdHlwZSBWZWN0b3JDb250ZW50ID0geyB0eXBlOiAnY29sb3InOyBjb2xvcjogQ29sb3I7IH0gfFxuXHQoRWZmZWN0U29saWRHcmFkaWVudCAmIEV4dHJhR3JhZGllbnRJbmZvKSB8XG5cdChFZmZlY3ROb2lzZUdyYWRpZW50ICYgRXh0cmFHcmFkaWVudEluZm8pIHxcblx0KEVmZmVjdFBhdHRlcm4gJiB7IHR5cGU6ICdwYXR0ZXJuJzsgfSAmIEV4dHJhUGF0dGVybkluZm8pO1xuXG5leHBvcnQgdHlwZSBSZW5kZXJpbmdJbnRlbnQgPSAncGVyY2VwdHVhbCcgfCAnc2F0dXJhdGlvbicgfCAncmVsYXRpdmUgY29sb3JpbWV0cmljJyB8ICdhYnNvbHV0ZSBjb2xvcmltZXRyaWMnO1xuXG5leHBvcnQgdHlwZSBVbml0cyA9ICdQaXhlbHMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ01pbGxpbWV0ZXJzJyB8ICdDZW50aW1ldGVycycgfCAnSW5jaGVzJyB8ICdOb25lJyB8ICdEZW5zaXR5JztcblxuZXhwb3J0IGludGVyZmFjZSBVbml0c1ZhbHVlIHtcblx0dW5pdHM6IFVuaXRzO1xuXHR2YWx1ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJyaWdodG5lc3NBZGp1c3RtZW50IHtcblx0dHlwZTogJ2JyaWdodG5lc3MvY29udHJhc3QnO1xuXHRicmlnaHRuZXNzPzogbnVtYmVyO1xuXHRjb250cmFzdD86IG51bWJlcjtcblx0bWVhblZhbHVlPzogbnVtYmVyO1xuXHR1c2VMZWdhY3k/OiBib29sZWFuO1xuXHRsYWJDb2xvck9ubHk/OiBib29sZWFuO1xuXHRhdXRvPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbCB7XG5cdHNoYWRvd0lucHV0OiBudW1iZXI7XG5cdGhpZ2hsaWdodElucHV0OiBudW1iZXI7XG5cdHNoYWRvd091dHB1dDogbnVtYmVyO1xuXHRoaWdobGlnaHRPdXRwdXQ6IG51bWJlcjtcblx0bWlkdG9uZUlucHV0OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJlc2V0SW5mbyB7XG5cdHByZXNldEtpbmQ/OiBudW1iZXI7XG5cdHByZXNldEZpbGVOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExldmVsc0FkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2xldmVscyc7XG5cdHJnYj86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xuXHRyZWQ/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Z3JlZW4/OiBMZXZlbHNBZGp1c3RtZW50Q2hhbm5lbDtcblx0Ymx1ZT86IExldmVsc0FkanVzdG1lbnRDaGFubmVsO1xufVxuXG5leHBvcnQgdHlwZSBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbCA9IHsgaW5wdXQ6IG51bWJlcjsgb3V0cHV0OiBudW1iZXI7IH1bXTtcblxuZXhwb3J0IGludGVyZmFjZSBDdXJ2ZXNBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjdXJ2ZXMnO1xuXHRyZ2I/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcblx0cmVkPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVuPzogQ3VydmVzQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWU/OiBDdXJ2ZXNBZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvc3VyZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2V4cG9zdXJlJztcblx0ZXhwb3N1cmU/OiBudW1iZXI7XG5cdG9mZnNldD86IG51bWJlcjtcblx0Z2FtbWE/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmlicmFuY2VBZGp1c3RtZW50IHtcblx0dHlwZTogJ3ZpYnJhbmNlJztcblx0dmlicmFuY2U/OiBudW1iZXI7XG5cdHNhdHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsIHtcblx0YTogbnVtYmVyO1xuXHRiOiBudW1iZXI7XG5cdGM6IG51bWJlcjtcblx0ZDogbnVtYmVyO1xuXHRodWU6IG51bWJlcjtcblx0c2F0dXJhdGlvbjogbnVtYmVyO1xuXHRsaWdodG5lc3M6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudCBleHRlbmRzIFByZXNldEluZm8ge1xuXHR0eXBlOiAnaHVlL3NhdHVyYXRpb24nO1xuXHRtYXN0ZXI/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHJlZHM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdHllbGxvd3M/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGdyZWVucz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcblx0Y3lhbnM/OiBIdWVTYXR1cmF0aW9uQWRqdXN0bWVudENoYW5uZWw7XG5cdGJsdWVzPzogSHVlU2F0dXJhdGlvbkFkanVzdG1lbnRDaGFubmVsO1xuXHRtYWdlbnRhcz86IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50Q2hhbm5lbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2xvckJhbGFuY2VWYWx1ZXMge1xuXHRjeWFuUmVkOiBudW1iZXI7XG5cdG1hZ2VudGFHcmVlbjogbnVtYmVyO1xuXHR5ZWxsb3dCbHVlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBiYWxhbmNlJztcblx0c2hhZG93cz86IENvbG9yQmFsYW5jZVZhbHVlcztcblx0bWlkdG9uZXM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdGhpZ2hsaWdodHM/OiBDb2xvckJhbGFuY2VWYWx1ZXM7XG5cdHByZXNlcnZlTHVtaW5vc2l0eT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxhY2tBbmRXaGl0ZUFkanVzdG1lbnQgZXh0ZW5kcyBQcmVzZXRJbmZvIHtcblx0dHlwZTogJ2JsYWNrICYgd2hpdGUnO1xuXHRyZWRzPzogbnVtYmVyO1xuXHR5ZWxsb3dzPzogbnVtYmVyO1xuXHRncmVlbnM/OiBudW1iZXI7XG5cdGN5YW5zPzogbnVtYmVyO1xuXHRibHVlcz86IG51bWJlcjtcblx0bWFnZW50YXM/OiBudW1iZXI7XG5cdHVzZVRpbnQ/OiBib29sZWFuO1xuXHR0aW50Q29sb3I/OiBDb2xvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQaG90b0ZpbHRlckFkanVzdG1lbnQge1xuXHR0eXBlOiAncGhvdG8gZmlsdGVyJztcblx0Y29sb3I/OiBDb2xvcjtcblx0ZGVuc2l0eT86IG51bWJlcjtcblx0cHJlc2VydmVMdW1pbm9zaXR5PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJDaGFubmVsIHtcblx0cmVkOiBudW1iZXI7XG5cdGdyZWVuOiBudW1iZXI7XG5cdGJsdWU6IG51bWJlcjtcblx0Y29uc3RhbnQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsTWl4ZXJBZGp1c3RtZW50IGV4dGVuZHMgUHJlc2V0SW5mbyB7XG5cdHR5cGU6ICdjaGFubmVsIG1peGVyJztcblx0bW9ub2Nocm9tZT86IGJvb2xlYW47XG5cdHJlZD86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyZWVuPzogQ2hhbm5lbE1peGVyQ2hhbm5lbDtcblx0Ymx1ZT86IENoYW5uZWxNaXhlckNoYW5uZWw7XG5cdGdyYXk/OiBDaGFubmVsTWl4ZXJDaGFubmVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbG9yTG9va3VwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdjb2xvciBsb29rdXAnO1xuXHRsb29rdXBUeXBlPzogJzNkbHV0JyB8ICdhYnN0cmFjdFByb2ZpbGUnIHwgJ2RldmljZUxpbmtQcm9maWxlJztcblx0bmFtZT86IHN0cmluZztcblx0ZGl0aGVyPzogYm9vbGVhbjtcblx0cHJvZmlsZT86IFVpbnQ4QXJyYXk7XG5cdGx1dEZvcm1hdD86ICdsb29rJyB8ICdjdWJlJyB8ICczZGwnO1xuXHRkYXRhT3JkZXI/OiAncmdiJyB8ICdiZ3InO1xuXHR0YWJsZU9yZGVyPzogJ3JnYicgfCAnYmdyJztcblx0bHV0M0RGaWxlRGF0YT86IFVpbnQ4QXJyYXk7XG5cdGx1dDNERmlsZU5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52ZXJ0QWRqdXN0bWVudCB7XG5cdHR5cGU6ICdpbnZlcnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3Rlcml6ZUFkanVzdG1lbnQge1xuXHR0eXBlOiAncG9zdGVyaXplJztcblx0bGV2ZWxzPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRocmVzaG9sZEFkanVzdG1lbnQge1xuXHR0eXBlOiAndGhyZXNob2xkJztcblx0bGV2ZWw/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdG9wIHtcblx0Y29sb3I6IENvbG9yO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlTdG9wIHtcblx0b3BhY2l0eTogbnVtYmVyO1xuXHRsb2NhdGlvbjogbnVtYmVyO1xuXHRtaWRwb2ludDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyYWRpZW50TWFwQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdncmFkaWVudCBtYXAnO1xuXHRuYW1lPzogc3RyaW5nO1xuXHRncmFkaWVudFR5cGU6ICdzb2xpZCcgfCAnbm9pc2UnO1xuXHRkaXRoZXI/OiBib29sZWFuO1xuXHRyZXZlcnNlPzogYm9vbGVhbjtcblx0Ly8gc29saWRcblx0c21vb3RobmVzcz86IG51bWJlcjtcblx0Y29sb3JTdG9wcz86IENvbG9yU3RvcFtdO1xuXHRvcGFjaXR5U3RvcHM/OiBPcGFjaXR5U3RvcFtdO1xuXHQvLyBub2lzZVxuXHRyb3VnaG5lc3M/OiBudW1iZXI7XG5cdGNvbG9yTW9kZWw/OiAncmdiJyB8ICdoc2InIHwgJ2xhYic7XG5cdHJhbmRvbVNlZWQ/OiBudW1iZXI7XG5cdHJlc3RyaWN0Q29sb3JzPzogYm9vbGVhbjtcblx0YWRkVHJhbnNwYXJlbmN5PzogYm9vbGVhbjtcblx0bWluPzogbnVtYmVyW107XG5cdG1heD86IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudCB7XG5cdHR5cGU6ICdzZWxlY3RpdmUgY29sb3InO1xuXHRtb2RlPzogJ3JlbGF0aXZlJyB8ICdhYnNvbHV0ZSc7XG5cdHJlZHM/OiBDTVlLO1xuXHR5ZWxsb3dzPzogQ01ZSztcblx0Z3JlZW5zPzogQ01ZSztcblx0Y3lhbnM/OiBDTVlLO1xuXHRibHVlcz86IENNWUs7XG5cdG1hZ2VudGFzPzogQ01ZSztcblx0d2hpdGVzPzogQ01ZSztcblx0bmV1dHJhbHM/OiBDTVlLO1xuXHRibGFja3M/OiBDTVlLO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZEZpbGUge1xuXHRpZDogc3RyaW5nO1xuXHRuYW1lOiBzdHJpbmc7XG5cdHR5cGU/OiBzdHJpbmc7XG5cdGNyZWF0b3I/OiBzdHJpbmc7XG5cdGRhdGE/OiBVaW50OEFycmF5O1xuXHR0aW1lPzogRGF0ZTsgLy8gZm9yIGV4dGVybmFsIGZpbGVzXG5cdGRlc2NyaXB0b3I/OiB7XG5cdFx0Y29tcEluZm86IHsgY29tcElEOiBudW1iZXI7IG9yaWdpbmFsQ29tcElEOiBudW1iZXI7IH07XG5cdH07XG5cdGNoaWxkRG9jdW1lbnRJRD86IHN0cmluZztcblx0YXNzZXRNb2RUaW1lPzogbnVtYmVyO1xuXHRhc3NldExvY2tlZFN0YXRlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBQbGFjZWRMYXllclR5cGUgPSAndW5rbm93bicgfCAndmVjdG9yJyB8ICdyYXN0ZXInIHwgJ2ltYWdlIHN0YWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFjZWRMYXllciB7XG5cdGlkOiBzdHJpbmc7IC8vIGlkIG9mIGxpbmtlZCBpbWFnZSBmaWxlIChwc2QubGlua2VkRmlsZXMpXG5cdHBsYWNlZD86IHN0cmluZzsgLy8gdW5pcXVlIGlkXG5cdHR5cGU6IFBsYWNlZExheWVyVHlwZTtcblx0Ly8gcGFnZU51bWJlcjogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gdG90YWxQYWdlczogbnVtYmVyOyAvLyA/Pz9cblx0Ly8gZnJhbWVTdGVwPzogeyBudW1lcmF0b3I6IG51bWJlcjsgZGVub21pbmF0b3I6IG51bWJlcjsgfTtcblx0Ly8gZHVyYXRpb24/OiB7IG51bWVyYXRvcjogbnVtYmVyOyBkZW5vbWluYXRvcjogbnVtYmVyOyB9O1xuXHQvLyBmcmFtZUNvdW50PzogbnVtYmVyOyAvLyA/Pz9cblx0dHJhbnNmb3JtOiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHRub25BZmZpbmVUcmFuc2Zvcm0/OiBudW1iZXJbXTsgLy8geCwgeSBvZiA0IGNvcm5lcnMgb2YgdGhlIHRyYW5zZm9ybVxuXHR3aWR0aD86IG51bWJlcjtcblx0aGVpZ2h0PzogbnVtYmVyO1xuXHRyZXNvbHV0aW9uPzogVW5pdHNWYWx1ZTtcblx0Ly8gYW50aWFsaWFzID9cblx0d2FycD86IFdhcnA7XG5cdGNyb3A/OiBudW1iZXI7XG5cdGNvbXA/OiBudW1iZXI7XG5cdGNvbXBJbmZvPzogeyBjb21wSUQ6IG51bWJlcjsgb3JpZ2luYWxDb21wSUQ6IG51bWJlcjsgfTtcbn1cblxuZXhwb3J0IHR5cGUgQWRqdXN0bWVudExheWVyID0gQnJpZ2h0bmVzc0FkanVzdG1lbnQgfCBMZXZlbHNBZGp1c3RtZW50IHwgQ3VydmVzQWRqdXN0bWVudCB8XG5cdEV4cG9zdXJlQWRqdXN0bWVudCB8IFZpYnJhbmNlQWRqdXN0bWVudCB8IEh1ZVNhdHVyYXRpb25BZGp1c3RtZW50IHwgQ29sb3JCYWxhbmNlQWRqdXN0bWVudCB8XG5cdEJsYWNrQW5kV2hpdGVBZGp1c3RtZW50IHwgUGhvdG9GaWx0ZXJBZGp1c3RtZW50IHwgQ2hhbm5lbE1peGVyQWRqdXN0bWVudCB8IENvbG9yTG9va3VwQWRqdXN0bWVudCB8XG5cdEludmVydEFkanVzdG1lbnQgfCBQb3N0ZXJpemVBZGp1c3RtZW50IHwgVGhyZXNob2xkQWRqdXN0bWVudCB8IEdyYWRpZW50TWFwQWRqdXN0bWVudCB8XG5cdFNlbGVjdGl2ZUNvbG9yQWRqdXN0bWVudDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb2xvciA9ICdub25lJyB8ICdyZWQnIHwgJ29yYW5nZScgfCAneWVsbG93JyB8ICdncmVlbicgfCAnYmx1ZScgfCAndmlvbGV0JyB8ICdncmF5JztcblxuZXhwb3J0IGludGVyZmFjZSBLZXlEZXNjcmlwdG9ySXRlbSB7XG5cdGtleVNoYXBlSW52YWxpZGF0ZWQ/OiBib29sZWFuO1xuXHRrZXlPcmlnaW5UeXBlPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SZXNvbHV0aW9uPzogbnVtYmVyO1xuXHRrZXlPcmlnaW5SUmVjdFJhZGlpPzoge1xuXHRcdHRvcFJpZ2h0OiBVbml0c1ZhbHVlO1xuXHRcdHRvcExlZnQ6IFVuaXRzVmFsdWU7XG5cdFx0Ym90dG9tTGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b21SaWdodDogVW5pdHNWYWx1ZTtcblx0fTtcblx0a2V5T3JpZ2luU2hhcGVCb3VuZGluZ0JveD86IHtcblx0XHR0b3A6IFVuaXRzVmFsdWU7XG5cdFx0bGVmdDogVW5pdHNWYWx1ZTtcblx0XHRib3R0b206IFVuaXRzVmFsdWU7XG5cdFx0cmlnaHQ6IFVuaXRzVmFsdWU7XG5cdH07XG5cdGtleU9yaWdpbkJveENvcm5lcnM/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyOyB9W107XG5cdHRyYW5zZm9ybT86IG51bWJlcltdOyAvLyAyZCB0cmFuc2Zvcm0gbWF0cml4IFt4eCwgeHksIHl4LCB5eSwgdHgsIHR5XVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyVmVjdG9yTWFzayB7XG5cdGludmVydD86IGJvb2xlYW47XG5cdG5vdExpbms/OiBib29sZWFuO1xuXHRkaXNhYmxlPzogYm9vbGVhbjtcblx0ZmlsbFN0YXJ0c1dpdGhBbGxQaXhlbHM/OiBib29sZWFuO1xuXHRjbGlwYm9hcmQ/OiB7XG5cdFx0dG9wOiBudW1iZXI7XG5cdFx0bGVmdDogbnVtYmVyO1xuXHRcdGJvdHRvbTogbnVtYmVyO1xuXHRcdHJpZ2h0OiBudW1iZXI7XG5cdFx0cmVzb2x1dGlvbjogbnVtYmVyO1xuXHR9O1xuXHRwYXRoczogQmV6aWVyUGF0aFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheWVyQWRkaXRpb25hbEluZm8ge1xuXHRuYW1lPzogc3RyaW5nOyAvLyBsYXllciBuYW1lXG5cdG5hbWVTb3VyY2U/OiBzdHJpbmc7IC8vIGxheWVyIG5hbWUgc291cmNlXG5cdGlkPzogbnVtYmVyOyAvLyBsYXllciBpZFxuXHR2ZXJzaW9uPzogbnVtYmVyOyAvLyBsYXllciB2ZXJzaW9uXG5cdG1hc2s/OiBMYXllck1hc2tEYXRhO1xuXHRibGVuZENsaXBwZW5kRWxlbWVudHM/OiBib29sZWFuOyAvLyBoYXMgdG8gYmUgc2V0IHRvIGB0cnVlYCB3aGVuIHVzaW5nIGBjb2xvciBidXJuYCBibGVuZCBtb2RlIChvdGhlcndpc2UgYHRyYW5zcGFyZW5jeVNoYXBlc0xheWVyYCBpcyBzZXQgaW5jb3JyZWN0bHkpXG5cdGJsZW5kSW50ZXJpb3JFbGVtZW50cz86IGJvb2xlYW47XG5cdGtub2Nrb3V0PzogYm9vbGVhbjtcblx0bGF5ZXJNYXNrQXNHbG9iYWxNYXNrPzogYm9vbGVhbjtcblx0cHJvdGVjdGVkPzoge1xuXHRcdHRyYW5zcGFyZW5jeT86IGJvb2xlYW47XG5cdFx0Y29tcG9zaXRlPzogYm9vbGVhbjtcblx0XHRwb3NpdGlvbj86IGJvb2xlYW47XG5cdFx0YXJ0Ym9hcmRzPzogYm9vbGVhbjtcblx0fTtcblx0bGF5ZXJDb2xvcj86IExheWVyQ29sb3I7XG5cdHJlZmVyZW5jZVBvaW50Pzoge1xuXHRcdHg6IG51bWJlcjtcblx0XHR5OiBudW1iZXI7XG5cdH07XG5cdHNlY3Rpb25EaXZpZGVyPzoge1xuXHRcdHR5cGU6IFNlY3Rpb25EaXZpZGVyVHlwZTtcblx0XHRrZXk/OiBzdHJpbmc7XG5cdFx0c3ViVHlwZT86IG51bWJlcjsgLy8gMCA9IG5vcm1hbCwgMSA9IHNjZW5lIGdyb3VwLCBhZmZlY3RzIHRoZSBhbmltYXRpb24gdGltZWxpbmUuXG5cdH07XG5cdGZpbHRlck1hc2s/OiB7XG5cdFx0Y29sb3JTcGFjZTogQ29sb3I7XG5cdFx0b3BhY2l0eTogbnVtYmVyO1xuXHR9O1xuXHRlZmZlY3RzPzogTGF5ZXJFZmZlY3RzSW5mbztcblx0dGV4dD86IExheWVyVGV4dERhdGE7XG5cdHBhdHRlcm5zPzogUGF0dGVybkluZm9bXTsgLy8gbm90IHN1cHBvcnRlZCB5ZXRcblx0dmVjdG9yRmlsbD86IFZlY3RvckNvbnRlbnQ7XG5cdHZlY3RvclN0cm9rZT86IHtcblx0XHRzdHJva2VFbmFibGVkPzogYm9vbGVhbjtcblx0XHRmaWxsRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0bGluZVdpZHRoPzogVW5pdHNWYWx1ZTtcblx0XHRsaW5lRGFzaE9mZnNldD86IFVuaXRzVmFsdWU7XG5cdFx0bWl0ZXJMaW1pdD86IG51bWJlcjtcblx0XHRsaW5lQ2FwVHlwZT86IExpbmVDYXBUeXBlO1xuXHRcdGxpbmVKb2luVHlwZT86IExpbmVKb2luVHlwZTtcblx0XHRsaW5lQWxpZ25tZW50PzogTGluZUFsaWdubWVudDtcblx0XHRzY2FsZUxvY2s/OiBib29sZWFuO1xuXHRcdHN0cm9rZUFkanVzdD86IGJvb2xlYW47XG5cdFx0bGluZURhc2hTZXQ/OiBVbml0c1ZhbHVlW107XG5cdFx0YmxlbmRNb2RlPzogQmxlbmRNb2RlO1xuXHRcdG9wYWNpdHk/OiBudW1iZXI7XG5cdFx0Y29udGVudD86IFZlY3RvckNvbnRlbnQ7XG5cdFx0cmVzb2x1dGlvbj86IG51bWJlcjtcblx0fTtcblx0dmVjdG9yTWFzaz86IExheWVyVmVjdG9yTWFzaztcblx0dXNpbmdBbGlnbmVkUmVuZGVyaW5nPzogYm9vbGVhbjtcblx0dGltZXN0YW1wPzogbnVtYmVyOyAvLyBzZWNvbmRzXG5cdHBhdGhMaXN0Pzoge1xuXHRcdC8vIFRPRE86IC4uLlxuXHR9W107XG5cdGFkanVzdG1lbnQ/OiBBZGp1c3RtZW50TGF5ZXI7XG5cdHBsYWNlZExheWVyPzogUGxhY2VkTGF5ZXI7XG5cdHZlY3Rvck9yaWdpbmF0aW9uPzoge1xuXHRcdGtleURlc2NyaXB0b3JMaXN0OiBLZXlEZXNjcmlwdG9ySXRlbVtdO1xuXHR9O1xuXHRjb21wb3NpdG9yVXNlZD86IHtcblx0XHRkZXNjcmlwdGlvbjogc3RyaW5nO1xuXHRcdHJlYXNvbjogc3RyaW5nO1xuXHRcdGVuZ2luZTogc3RyaW5nO1xuXHRcdGVuYWJsZUNvbXBDb3JlOiBzdHJpbmc7XG5cdFx0ZW5hYmxlQ29tcENvcmVHUFU6IHN0cmluZztcblx0XHRjb21wQ29yZVN1cHBvcnQ6IHN0cmluZztcblx0XHRjb21wQ29yZUdQVVN1cHBvcnQ6IHN0cmluZztcblx0fTtcblx0YXJ0Ym9hcmQ/OiB7XG5cdFx0cmVjdDogeyB0b3A6IG51bWJlcjsgbGVmdDogbnVtYmVyOyBib3R0b206IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgfTtcblx0XHRndWlkZUluZGljZXM/OiBhbnlbXTtcblx0XHRwcmVzZXROYW1lPzogc3RyaW5nO1xuXHRcdGNvbG9yPzogQ29sb3I7XG5cdFx0YmFja2dyb3VuZFR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGZpbGxPcGFjaXR5PzogbnVtYmVyO1xuXHR0cmFuc3BhcmVuY3lTaGFwZXNMYXllcj86IGJvb2xlYW47XG5cblx0Ly8gQmFzZTY0IGVuY29kZWQgcmF3IEVuZ2luZURhdGEsIGN1cnJlbnRseSBqdXN0IGtlcHQgaW4gb3JpZ2luYWwgc3RhdGUgdG8gc3VwcG9ydFxuXHQvLyBsb2FkaW5nIGFuZCBtb2RpZnlpbmcgUFNEIGZpbGUgd2l0aG91dCBicmVha2luZyB0ZXh0IGxheWVycy5cblx0ZW5naW5lRGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZVJlc291cmNlcyB7XG5cdGxheWVyU3RhdGU/OiBudW1iZXI7XG5cdGxheWVyc0dyb3VwPzogbnVtYmVyW107XG5cdGxheWVyU2VsZWN0aW9uSWRzPzogbnVtYmVyW107XG5cdGxheWVyR3JvdXBzRW5hYmxlZElkPzogbnVtYmVyW107XG5cdHZlcnNpb25JbmZvPzoge1xuXHRcdGhhc1JlYWxNZXJnZWREYXRhOiBib29sZWFuO1xuXHRcdHdyaXRlck5hbWU6IHN0cmluZztcblx0XHRyZWFkZXJOYW1lOiBzdHJpbmc7XG5cdFx0ZmlsZVZlcnNpb246IG51bWJlcjtcblx0fTtcblx0YWxwaGFJZGVudGlmaWVycz86IG51bWJlcltdO1xuXHRhbHBoYUNoYW5uZWxOYW1lcz86IHN0cmluZ1tdO1xuXHRnbG9iYWxBbmdsZT86IG51bWJlcjtcblx0Z2xvYmFsQWx0aXR1ZGU/OiBudW1iZXI7XG5cdHBpeGVsQXNwZWN0UmF0aW8/OiB7XG5cdFx0YXNwZWN0OiBudW1iZXI7XG5cdH07XG5cdHVybHNMaXN0PzogYW55W107XG5cdGdyaWRBbmRHdWlkZXNJbmZvcm1hdGlvbj86IHtcblx0XHRncmlkPzoge1xuXHRcdFx0aG9yaXpvbnRhbDogbnVtYmVyO1xuXHRcdFx0dmVydGljYWw6IG51bWJlcjtcblx0XHR9LFxuXHRcdGd1aWRlcz86IHtcblx0XHRcdGxvY2F0aW9uOiBudW1iZXI7XG5cdFx0XHRkaXJlY3Rpb246ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc7XG5cdFx0fVtdO1xuXHR9O1xuXHRyZXNvbHV0aW9uSW5mbz86IHtcblx0XHRob3Jpem9udGFsUmVzb2x1dGlvbjogbnVtYmVyO1xuXHRcdGhvcml6b250YWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0d2lkdGhVbml0OiAnSW5jaGVzJyB8ICdDZW50aW1ldGVycycgfCAnUG9pbnRzJyB8ICdQaWNhcycgfCAnQ29sdW1ucyc7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uOiBudW1iZXI7XG5cdFx0dmVydGljYWxSZXNvbHV0aW9uVW5pdDogJ1BQSScgfCAnUFBDTSc7XG5cdFx0aGVpZ2h0VW5pdDogJ0luY2hlcycgfCAnQ2VudGltZXRlcnMnIHwgJ1BvaW50cycgfCAnUGljYXMnIHwgJ0NvbHVtbnMnO1xuXHR9O1xuXHR0aHVtYm5haWw/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0dGh1bWJuYWlsUmF3PzogeyB3aWR0aDogbnVtYmVyOyBoZWlnaHQ6IG51bWJlcjsgZGF0YTogVWludDhBcnJheTsgfTtcblx0Y2FwdGlvbkRpZ2VzdD86IHN0cmluZztcblx0eG1wTWV0YWRhdGE/OiBzdHJpbmc7XG5cdHByaW50U2NhbGU/OiB7XG5cdFx0c3R5bGU/OiAnY2VudGVyZWQnIHwgJ3NpemUgdG8gZml0JyB8ICd1c2VyIGRlZmluZWQnO1xuXHRcdHg/OiBudW1iZXI7XG5cdFx0eT86IG51bWJlcjtcblx0XHRzY2FsZT86IG51bWJlcjtcblx0fTtcblx0cHJpbnRJbmZvcm1hdGlvbj86IHtcblx0XHRwcmludGVyTWFuYWdlc0NvbG9ycz86IGJvb2xlYW47XG5cdFx0cHJpbnRlck5hbWU/OiBzdHJpbmc7XG5cdFx0cHJpbnRlclByb2ZpbGU/OiBzdHJpbmc7XG5cdFx0cHJpbnRTaXh0ZWVuQml0PzogYm9vbGVhbjtcblx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0aGFyZFByb29mPzogYm9vbGVhbjtcblx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRwcm9vZlNldHVwPzoge1xuXHRcdFx0YnVpbHRpbjogc3RyaW5nO1xuXHRcdH0gfCB7XG5cdFx0XHRwcm9maWxlOiBzdHJpbmc7XG5cdFx0XHRyZW5kZXJpbmdJbnRlbnQ/OiBSZW5kZXJpbmdJbnRlbnQ7XG5cdFx0XHRibGFja1BvaW50Q29tcGVuc2F0aW9uPzogYm9vbGVhbjtcblx0XHRcdHBhcGVyV2hpdGU/OiBib29sZWFuO1xuXHRcdH07XG5cdH07XG5cdGJhY2tncm91bmRDb2xvcj86IENvbG9yO1xuXHRpZHNTZWVkTnVtYmVyPzogbnVtYmVyO1xuXHRwcmludEZsYWdzPzoge1xuXHRcdGxhYmVscz86IGJvb2xlYW47XG5cdFx0Y3JvcE1hcmtzPzogYm9vbGVhbjtcblx0XHRjb2xvckJhcnM/OiBib29sZWFuO1xuXHRcdHJlZ2lzdHJhdGlvbk1hcmtzPzogYm9vbGVhbjtcblx0XHRuZWdhdGl2ZT86IGJvb2xlYW47XG5cdFx0ZmxpcD86IGJvb2xlYW47XG5cdFx0aW50ZXJwb2xhdGU/OiBib29sZWFuO1xuXHRcdGNhcHRpb24/OiBib29sZWFuO1xuXHRcdHByaW50RmxhZ3M/OiBib29sZWFuO1xuXHR9O1xuXHRpY2NVbnRhZ2dlZFByb2ZpbGU/OiBib29sZWFuO1xuXHRwYXRoU2VsZWN0aW9uU3RhdGU/OiBzdHJpbmdbXTtcblx0aW1hZ2VSZWFkeVZhcmlhYmxlcz86IHN0cmluZztcblx0aW1hZ2VSZWFkeURhdGFTZXRzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbExheWVyTWFza0luZm8ge1xuXHRvdmVybGF5Q29sb3JTcGFjZTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMTogbnVtYmVyO1xuXHRjb2xvclNwYWNlMjogbnVtYmVyO1xuXHRjb2xvclNwYWNlMzogbnVtYmVyO1xuXHRjb2xvclNwYWNlNDogbnVtYmVyO1xuXHRvcGFjaXR5OiBudW1iZXI7XG5cdGtpbmQ6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbm5vdGF0aW9uIHtcblx0dHlwZTogJ3RleHQnIHwgJ3NvdW5kJztcblx0b3BlbjogYm9vbGVhbjtcblx0aWNvbkxvY2F0aW9uOiB7IGxlZnQ6IG51bWJlcjsgdG9wOiBudW1iZXI7IHJpZ2h0OiBudW1iZXI7IGJvdHRvbTogbnVtYmVyIH07XG5cdHBvcHVwTG9jYXRpb246IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlcjsgcmlnaHQ6IG51bWJlcjsgYm90dG9tOiBudW1iZXIgfTtcblx0Y29sb3I6IENvbG9yO1xuXHRhdXRob3I6IHN0cmluZztcblx0bmFtZTogc3RyaW5nO1xuXHRkYXRlOiBzdHJpbmc7XG5cdGRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5ZXIgZXh0ZW5kcyBMYXllckFkZGl0aW9uYWxJbmZvIHtcblx0dG9wPzogbnVtYmVyO1xuXHRsZWZ0PzogbnVtYmVyO1xuXHRib3R0b20/OiBudW1iZXI7XG5cdHJpZ2h0PzogbnVtYmVyO1xuXHRibGVuZE1vZGU/OiBCbGVuZE1vZGU7XG5cdG9wYWNpdHk/OiBudW1iZXI7XG5cdHRyYW5zcGFyZW5jeVByb3RlY3RlZD86IGJvb2xlYW47XG5cdGhpZGRlbj86IGJvb2xlYW47XG5cdGNsaXBwaW5nPzogYm9vbGVhbjtcblx0Y2FudmFzPzogSFRNTENhbnZhc0VsZW1lbnQ7XG5cdGltYWdlRGF0YT86IEltYWdlRGF0YTtcblx0Y2hpbGRyZW4/OiBMYXllcltdO1xuXHQvKiogQXBwbGllcyBvbmx5IGZvciBsYXllciBncm91cHMuICovXG5cdG9wZW5lZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHNkIGV4dGVuZHMgTGF5ZXJBZGRpdGlvbmFsSW5mbyB7XG5cdHdpZHRoOiBudW1iZXI7XG5cdGhlaWdodDogbnVtYmVyO1xuXHRjaGFubmVscz86IG51bWJlcjtcblx0Yml0c1BlckNoYW5uZWw/OiBudW1iZXI7XG5cdGNvbG9yTW9kZT86IENvbG9yTW9kZTtcblx0Y2hpbGRyZW4/OiBMYXllcltdO1xuXHRjYW52YXM/OiBIVE1MQ2FudmFzRWxlbWVudDtcblx0aW1hZ2VEYXRhPzogSW1hZ2VEYXRhO1xuXHRpbWFnZVJlc291cmNlcz86IEltYWdlUmVzb3VyY2VzO1xuXHRsaW5rZWRGaWxlcz86IExpbmtlZEZpbGVbXTsgLy8gdXNlZCBpbiBzbWFydCBvYmplY3RzXG5cdGFydGJvYXJkcz86IHtcblx0XHRjb3VudDogbnVtYmVyOyAvLyBudW1iZXIgb2YgYXJ0Ym9hcmRzIGluIHRoZSBkb2N1bWVudFxuXHRcdGF1dG9FeHBhbmRPZmZzZXQ/OiB7IGhvcml6b250YWw6IG51bWJlcjsgdmVydGljYWw6IG51bWJlcjsgfTtcblx0XHRvcmlnaW4/OiB7IGhvcml6b250YWw6IG51bWJlcjsgdmVydGljYWw6IG51bWJlcjsgfTtcblx0XHRhdXRvRXhwYW5kRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0YXV0b05lc3RFbmFibGVkPzogYm9vbGVhbjtcblx0XHRhdXRvUG9zaXRpb25FbmFibGVkPzogYm9vbGVhbjtcblx0XHRzaHJpbmt3cmFwT25TYXZlRW5hYmxlZD86IGJvb2xlYW47XG5cdFx0ZG9jRGVmYXVsdE5ld0FydGJvYXJkQmFja2dyb3VuZENvbG9yPzogQ29sb3I7XG5cdFx0ZG9jRGVmYXVsdE5ld0FydGJvYXJkQmFja2dyb3VuZFR5cGU/OiBudW1iZXI7XG5cdH07XG5cdGdsb2JhbExheWVyTWFza0luZm8/OiBHbG9iYWxMYXllck1hc2tJbmZvO1xuXHRhbm5vdGF0aW9ucz86IEFubm90YXRpb25bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWFkT3B0aW9ucyB7XG5cdC8qKiBEb2VzIG5vdCBsb2FkIGxheWVyIGltYWdlIGRhdGEuICovXG5cdHNraXBMYXllckltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBEb2VzIG5vdCBsb2FkIGNvbXBvc2l0ZSBpbWFnZSBkYXRhLiAqL1xuXHRza2lwQ29tcG9zaXRlSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIERvZXMgbm90IGxvYWQgdGh1bWJuYWlsLiAqL1xuXHRza2lwVGh1bWJuYWlsPzogYm9vbGVhbjtcblx0LyoqIERvZXMgbm90IGxvYWQgbGlua2VkIGZpbGVzICh1c2VkIGluIHNtYXJ0LW9iamVjdHMpLiAqL1xuXHRza2lwTGlua2VkRmlsZXNEYXRhPzogYm9vbGVhbjtcblx0LyoqIFRocm93cyBleGNlcHRpb24gaWYgZmVhdHVyZXMgYXJlIG1pc3NpbmcuICovXG5cdHRocm93Rm9yTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIExvZ3MgaWYgZmVhdHVyZXMgYXJlIG1pc3NpbmcuICovXG5cdGxvZ01pc3NpbmdGZWF0dXJlcz86IGJvb2xlYW47XG5cdC8qKiBLZWVwIGltYWdlIGRhdGEgYXMgYnl0ZSBhcnJheSBpbnN0ZWFkIG9mIGNhbnZhcy5cblx0ICogKGltYWdlIGRhdGEgd2lsbCBhcHBlYXIgaW4gYGltYWdlRGF0YWAgZmllbGRzIGluc3RlYWQgb2YgYGNhbnZhc2AgZmllbGRzKVxuXHQgKiBUaGlzIGF2b2lkcyBpc3N1ZXMgd2l0aCBjYW52YXMgcHJlbXVsdGlwbGllZCBhbHBoYSBjb3JydXB0aW5nIGltYWdlIGRhdGEuICovXG5cdHVzZUltYWdlRGF0YT86IGJvb2xlYW47XG5cdC8qKiBMb2FkcyB0aHVtYm5haWwgcmF3IGRhdGEgaW5zdGVhZCBvZiBkZWNvZGluZyBpdCdzIGNvbnRlbnQgaW50byBjYW52YXMuXG5cdCAqIGB0aHVtbmFpbFJhd2AgZmllbGQgaXMgdXNlZCBpbnN0ZWFkLiAqL1xuXHR1c2VSYXdUaHVtYm5haWw/OiBib29sZWFuO1xuXHQvKiogVXNlbmQgb25seSBmb3IgZGV2ZWxvcG1lbnQuICovXG5cdGxvZ0RldkZlYXR1cmVzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXcml0ZU9wdGlvbnMge1xuXHQvKiogQXV0b21hdGljYWxseSBnZW5lcmF0ZXMgdGh1bWJuYWlsIGZyb20gY29tcG9zaXRlIGltYWdlLiAqL1xuXHRnZW5lcmF0ZVRodW1ibmFpbD86IGJvb2xlYW47XG5cdC8qKiBUcmltcyB0cmFuc3BhcmVudCBwaXhlbHMgZnJvbSBsYXllciBpbWFnZSBkYXRhLiAqL1xuXHR0cmltSW1hZ2VEYXRhPzogYm9vbGVhbjtcblx0LyoqIEludmFsaWRhdGVzIHRleHQgbGF5ZXIgZGF0YSwgZm9yY2luZyBQaG90b3Nob3AgdG8gcmVkcmF3IHRoZW0gb24gbG9hZC5cblx0ICogIFVzZSB0aGlzIG9wdGlvbiBpZiB5b3UncmUgdXBkYXRpbmcgbG9hZGVkIHRleHQgbGF5ZXIgcHJvcGVydGllcy4gKi9cblx0aW52YWxpZGF0ZVRleHRMYXllcnM/OiBib29sZWFuO1xuXHQvKiogTG9ncyBpZiBmZWF0dXJlcyBhcmUgbWlzc2luZy4gKi9cblx0bG9nTWlzc2luZ0ZlYXR1cmVzPzogYm9vbGVhbjtcblx0LyoqIEZvcmNlcyBib3R0b20gbGF5ZXIgdG8gYmUgdHJlYXRlZCBhcyBsYXllciBhbmQgbm90IGJhY2tncm91bmQgZXZlbiB3aGVuIGl0J3MgbWlzc2luZyBhbnkgdHJhbnNwYXJlbmN5XG5cdCAqIFx0KGJ5IGRlZmF1bHQgUGhvdG9zaG9wIHRyZWF0cyBib3R0b20gbGF5ZXIgYXMgYmFja2dyb3VuZCBpdCBpdCBkb2Vzbid0IGhhdmUgYW55IHRyYW5zcGFyZW50IHBpeGVscykuICovXG5cdG5vQmFja2dyb3VuZD86IGJvb2xlYW47XG5cdC8qKiBTYXZlcyBkb2N1bWVudCBhcyBQU0IgKExhcmdlIERvY3VtZW50IEZvcm1hdCkgZmlsZS4gKi9cblx0cHNiPzogYm9vbGVhbjtcblx0LyoqIFVzZXMgemlwIGNvbXByZXNzaW9uIHdoZW4gd3JpdGluZyBQU0QgZmlsZSwgd2lsbCByZXN1bHQgaW4gc21hbGxlciBmaWxlIHNpemUgYnV0IG1heSBiZSBpbmNvbXBhdGlibGVcblx0ICogIHdpdGggc29tZSBzb2Z0d2FyZS4gSXQgbWF5IGFsc28gYmUgc2lnbmlmaWNhbnRseSBzbG93ZXIuICovXG5cdGNvbXByZXNzPzogYm9vbGVhbjtcbn1cbiJdLCJzb3VyY2VSb290IjoiQzpcXFByb2plY3RzXFxnaXRodWJcXGFnLXBzZFxcc3JjIn0=
|
package/dist/psdReader.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare function readAsciiString(reader: PsdReader, length: number): stri
|
|
|
27
27
|
export declare function skipBytes(reader: PsdReader, count: number): void;
|
|
28
28
|
export declare function checkSignature(reader: PsdReader, a: string, b?: string): void;
|
|
29
29
|
export declare function readPsd(reader: PsdReader, options?: ReadOptions): Psd;
|
|
30
|
+
export declare function readDataZipWithoutPrediction(reader: PsdReader, length: number, pixelData: PixelData | undefined, width: number, height: number, step: number, offset: number): void;
|
|
30
31
|
export declare function readDataRLE(reader: PsdReader, pixelData: PixelData | undefined, _width: number, height: number, step: number, offsets: number[], large: boolean): void;
|
|
31
32
|
export declare function readSection<T>(reader: PsdReader, round: number, func: (left: () => number) => T, skipEmpty?: boolean, eightBytes?: boolean): T | undefined;
|
|
32
33
|
export declare function readColor(reader: PsdReader): Color;
|