dcl-npc-toolkit 1.5.0 → 1.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bubble.js +14 -10
- package/package.json +2 -2
package/dist/bubble.js
CHANGED
|
@@ -56,7 +56,11 @@ export function createDialogBubble(npc, height, sound) {
|
|
|
56
56
|
Material.setBasicMaterial(panel, {
|
|
57
57
|
texture: Material.Texture.Common({
|
|
58
58
|
src: bubblesTexture
|
|
59
|
-
})
|
|
59
|
+
}),
|
|
60
|
+
alphaTexture: Material.Texture.Common({
|
|
61
|
+
src: bubblesTexture
|
|
62
|
+
}),
|
|
63
|
+
alphaTest: 0.5
|
|
60
64
|
});
|
|
61
65
|
let text = engine.addEntity();
|
|
62
66
|
Transform.create(text, {
|
|
@@ -299,20 +303,20 @@ function setUVs(_uv00, _uv10, _uv11, _uv01) {
|
|
|
299
303
|
return [
|
|
300
304
|
_uv00.x,
|
|
301
305
|
_uv00.y,
|
|
302
|
-
_uv10.x,
|
|
303
|
-
_uv10.y,
|
|
304
|
-
_uv11.x,
|
|
305
|
-
_uv11.y,
|
|
306
306
|
_uv01.x,
|
|
307
307
|
_uv01.y,
|
|
308
|
-
_uv00.x,
|
|
309
|
-
_uv00.y,
|
|
310
|
-
_uv10.x,
|
|
311
|
-
_uv10.y,
|
|
312
308
|
_uv11.x,
|
|
313
309
|
_uv11.y,
|
|
310
|
+
_uv10.x,
|
|
311
|
+
_uv10.y,
|
|
312
|
+
_uv00.x,
|
|
313
|
+
_uv00.y,
|
|
314
314
|
_uv01.x,
|
|
315
315
|
_uv01.y,
|
|
316
|
+
_uv11.x,
|
|
317
|
+
_uv11.y,
|
|
318
|
+
_uv10.x,
|
|
319
|
+
_uv10.y,
|
|
316
320
|
];
|
|
317
321
|
}
|
|
318
322
|
let bubbleOptions = {
|
|
@@ -355,4 +359,4 @@ export function getBubbleTextLength(text) {
|
|
|
355
359
|
return 40;
|
|
356
360
|
}
|
|
357
361
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2J1YmJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksV0FBVyxFQUFlLFNBQVMsRUFBaUIsTUFBTSxFQUEyQyxRQUFRLEVBQWMsWUFBWSxFQUFtQyxTQUFTLEVBQUMsU0FBUyxFQUFpQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUcxUSxPQUFPLEVBQVMsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV4QyxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQUcsdURBQXVELENBQUE7QUFFbkYsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFBO0FBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFFaEIsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUE7QUFDNUIsSUFBSSxxQkFBcUIsR0FBRyxFQUFFLENBQUE7QUFDOUIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFFN0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFDN0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFDM0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFFM0IsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQTtBQUM3QixJQUFJLG1CQUFtQixHQUFHLENBQUMsR0FBRyxD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QUFHLEdBQUcsQ0FBQztRQUNyQixVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDakIsU0FBUyxFQUFFLEdBQUcsR0FBRyxDQUFDO0tBQ25CO0lBQ0QsSUFBSSxFQUFFO1FBQ0osV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLFlBQVksRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNyQixVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDakIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO0tBQ2pCO0NBQ0osQ0FBQTtBQUdELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFXO0lBQzNDLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsRUFBQyxDQUFDO1FBQ25DLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztTQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsRUFBQyxDQUFDO1FBQ3hDLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztTQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxxQkFBcUIsRUFBQyxDQUFDO1FBQzFDLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztTQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxvQkFBb0IsRUFBQyxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IEFuaW1hdG9yLCBBdWRpb1NvdXJjZSwgQXZhdGFyU2hhcGUsIEJpbGxib2FyZCwgQmlsbGJvYXJkTW9kZSwgZW5naW5lLCBFbnRpdHksIEZvbnQsIEdsdGZDb250YWluZXIsIElucHV0QWN0aW9uLE1hdGVyaWFsLE1lc2hDb2xsaWRlcixNZXNoUmVuZGVyZXIscG9pbnRlckV2ZW50c1N5c3RlbSxUZXh0QWxpZ25Nb2RlLFRleHRTaGFwZSxUcmFuc2Zvcm0sIFRyYW5zZm9ybVR5cGUsIFZpc2liaWxpdHlDb21wb25lbnQgfSBmcm9tICdAZGNsL3Nkay9lY3MnXG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tICdAZGNsLXNkay91dGlscydcbmltcG9ydCB7IERpYWxvZywgSW1hZ2VTZWN0aW9uIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IENvbG9yMyxDb2xvcjQsIFF1YXRlcm5pb24sIFZlY3RvcjMgfSBmcm9tICdAZGNsL3Nkay9tYXRoJ1xuaW1wb3J0IHsgYWRkTGluZUJyZWFrLCBhZGRMaW5lQnJlYWtzLCBmaW5kRGlhbG9nQnlOYW1lIH0gZnJvbSAnLi9kaWFsb2cnXG5pbXBvcnQgeyBJc1R5cGluZ0J1YmJsZSB9IGZyb20gJy4vY29tcG9uZW50cydcbmltcG9ydCB7IG5wY0RhdGFDb21wb25lbnQgfSBmcm9tICcuL25wYydcblxuZXhwb3J0IGxldCBidWJibGVzVGV4dHVyZSA9ICdodHRwczovL2RlY2VudHJhbGFuZC5vcmcvaW1hZ2VzL3VpL2RpYWxvZy1idWJibGVzLnBuZydcblxuZXhwb3J0IGxldCBidWJibGVzOiBNYXA8RW50aXR5LCBhbnk+ID0gbmV3IE1hcCgpXG5cbmxldCB0ZXh0U2l6ZSA9IDFcbmxldCB0ZXh0WVBvcyA9IDAgICAgXG5cbmxldCBtYXhMZW5ndGhTaG9ydEJ1YmJsZSA9IDhcbmxldCBtYXhMZW5ndGhOb3JtYWxCdWJibGUgPSAyNVxubGV0IG1heExlbmd0aExvbmdCdWJibGUgPSA1MFxubGV0IG1heExlbmd0aEh1Z2VCdWJibGUgPSAxMDBcblxubGV0IHNob3J0QnViYmxlWE9mZnNldCA9IDAuMVxubGV0IG5vcm1hbEJ1YmJsZVhPZmZzZXQgPSAwLjVcbmxldCBsb25nQnViYmxlWE9mZnNldCA9IDAuOFxubGV0IGh1Z2VCdWJibGVYT2Zmc2V0ID0gMC44XG5cbmxldCBzaG9ydEJ1YmJsZVlPZmZzZXQgPSAtMC4yXG5sZXQgbm9ybWFsQnViYmxlWU9mZnNldCA9IC0wLjJcbmxldCBsb25nQnViYmxlWU9mZnNldCA9IDBcbmxldCBodWdlQnViYmxlWU9mZnNldCA9IDAuMlxuXG5sZXQgc2hvcnRCdWJibGVUZXh0V2lkdGggPSAwLjdcbmxldCBub3JtYWxCdWJibGVUZXh0V2lkdGggPSAxLjVcbmxldCBsb25nQnViYmxlVGV4dFdpZHRoID0gMlxubGV0IGh1Z2VCdWJibGVUZXh0V2lkdGggPSAxLjVcblxubGV0IHNob3J0QnViYmxlWCA9IDExNiAqIDAuMDA1XG5sZXQgc2hvcnRCdWJibGVZID0gODQgKiAwLjAwNVxuXG5sZXQgbm9ybWFsQnViYmxlWCA9IDI4NiAqIDAuMDA1XG5sZXQgbm9ybWFsQnViYmxlWSA9IDg0ICogMC4wMDVcblxubGV0IGxvbmdCdWJibGVYID0gNDk3ICogMC4wMDVcbmxldCBsb25nQnViYmxlWSA9IDE1MyAqIDAuMDA1XG5cbmxldCBodWdlQnViYmxlWCA9IDQ5NyAqIDAuMDA1XG5sZXQgaHVnZUJ1YmJsZVkgPSAyMzkgKiAwLjAwNVxuXG5sZXQgZGVmYXVsdFlPZmZzZXQgPSAyLjVcblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVEaWFsb2dCdWJibGUobnBjOkVudGl0eSwgaGVpZ2h0PzpudW1iZXIsIHNvdW5kPzpzdHJpbmcpe1xuICAgIGxldCBiYXNlWU9mZnNldCA9IGhlaWdodCA/IGhlaWdodCA6IGRlZmF1bHRZT2Zmc2V0XG5cbiAgICBsZXQgcm9vdCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIEJpbGxib2FyZC5jcmVhdGUocm9vdCx7XG4gICAgICAgIGJpbGxib2FyZE1vZGU6QmlsbGJvYXJkTW9kZS5CTV9ZXG4gICAgfSlcblxuICAgIFRyYW5zZm9ybS5jcmVhdGUocm9vdCx7XG4gICAgICAgIHBhcmVudDpucGNcbiAgICB9KVxuXG4gICAgbGV0IGNvbnRhaW5lciA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUoY29udGFpbmVyLHtcbiAgICAgICAgcGFyZW50OnJvb3QsXG4gICAgICAgIHBvc2l0aW9uOlZlY3RvcjMuY3JlYXRlKHNob3J0QnViYmxlWE9mZnNldCxiYXNlWU9mZnNldCwwKVxuICAgIH0pXG5cbiAgICBsZXQgcGFuZWwgPSBlbmdpbmUuYWRkRW50aXR5KClcbiAgICBUcmFuc2Zvcm0uY3JlYXRlKHBhbmVsLHtcbiAgICAgICAgcGFyZW50OmNvbnRhaW5lcixcbiAgICAgICAgc2NhbGU6IFZlY3RvcjMuY3JlYXRlKDIsMSwxKSxcbiAgICAgICAgLy9yb3RhdGlvbjpRdWF0ZXJuaW9uLmZyb21FdWxlckRlZ3JlZXMoMCwwLDkwKVxuICAgIH0pXG4gICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKHBhbmVsLFxuICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgIGJ1YmJsZU9wdGlvbnMubm9ybWFsLFxuICAgICAgICAxMDI0LFxuICAgICAgICAxMDI0XG4gICAgICApKVxuXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudC5jcmVhdGUocGFuZWwsIHt2aXNpYmxlOiBmYWxzZX0pXG5cbiAgICBNYXRlcmlhbC5zZXRCYXNpY01hdGVyaWFsKHBhbmVsLCB7XG4gICAgICAgIHRleHR1cmU6IE1hdGVyaWFsLlRleHR1cmUuQ29tbW9uKHtcbiAgICAgICAgICBzcmM6IGJ1YmJsZXNUZXh0dXJlXG4gICAgICAgIH0pXG4gICAgICB9KVxuXG4gICAgbGV0IHRleHQgPSBlbmdpbmUuYWRkRW50aXR5KClcbiAgICBUcmFuc2Zvcm0uY3JlYXRlKHRleHQse1xuICAgICAgICBwb3NpdGlvbjpWZWN0b3IzLmNyZWF0ZSgwLHRleHRZUG9zLCAtLjA1KSxcbiAgICAgICAgcGFyZW50OmNvbnRhaW5lclxuICAgIH0pXG4gICAgVGV4dFNoYXBlLmNyZWF0ZSh0ZXh0LCB7XG4gICAgICAgIHRleHQ6XCJcIiwgXG4gICAgICAgIGZvbnRTaXplOnRleHRTaXplLFxuICAgICAgICBmb250OiBGb250LkZfU0FOU19TRVJJRixcbiAgICAgICAgdGV4dENvbG9yOiBDb2xvcjQuY3JlYXRlKDAsMCwwLDEpLFxuICAgICAgICB0ZXh0QWxpZ246VGV4dEFsaWduTW9kZS5UQU1fTUlERExFX0NFTlRFUlxuICAgIH0pXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudC5jcmVhdGUodGV4dCwge3Zpc2libGU6IGZhbHNlfSlcblxuICAgIGJ1YmJsZXMuc2V0KG5wYywge1xuICAgICAgICBjb250YWluZXI6Y29udGFpbmVyLFxuICAgICAgICBwYW5lbDpwYW5lbCxcbiAgICAgICAgdGV4dDp0ZXh0LFxuICAgICAgICBiYXNlWU9mZnNldDogYmFzZVlPZmZzZXQsXG4gICAgICAgIGlzQnViYmxlT3BlbjpmYWxzZSxcbiAgICAgICAgdHlwaW5nOmZhbHNlLFxuICAgICAgICB2aXNpYmxlVGV4dDpcIlwiLFxuICAgICAgICB2aXNpYmxlQ2hhcnM6MCxcbiAgICAgICAgZnVsbFRleHQ6XCJcIixcbiAgICAgICAgdGltZXI6MCxcbiAgICAgICAgc3BlZWQ6MzAsXG4gICAgICAgIHNjcmlwdDpbXSxcbiAgICAgICAgaW5kZXg6MCxcbiAgICAgICAgc291bmQ6IHNvdW5kID8gc291bmQgOiB1bmRlZmluZWQsXG4gICAgICAgIHNvdW5kUGxheWVyOiBzb3VuZCA/IGVuZ2luZS5hZGRFbnRpdHkoKSA6IHVuZGVmaW5lZCxcbiAgICB9KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb3BlbkJ1YmJsZShucGM6RW50aXR5LCBkaWFsb2c6RGlhbG9nW10sIHN0YXJ0SW5kZXg/Om51bWJlciB8IHN0cmluZyl7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcblxuICAgIGJ1YmJsZS5zY3JpcHQgPSBkaWFsb2cuc2xpY2UoKVxuICAgIGxldCBpbmRleDphbnlcbiAgICBpZiAoIXN0YXJ0SW5kZXgpIHtcbiAgICAgIGluZGV4ID0gMFxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHN0YXJ0SW5kZXggPT09ICdudW1iZXInKSB7XG4gICAgICBpbmRleCA9IHN0YXJ0SW5kZXhcbiAgICB9IGVsc2Uge1xuICAgICAgaW5kZXggPSBmaW5kRGlhbG9nQnlOYW1lKGRpYWxvZywgc3RhcnRJbmRleClcbiAgICB9XG5cbiAgICBidWJibGUuaW5kZXggPSBpbmRleFxuICAgIFxuICAgIGxldCBjdXJyZW50VGV4dDogRGlhbG9nID0gZGlhbG9nW2J1YmJsZS5pbmRleF0gPyBkaWFsb2dbYnViYmxlLmluZGV4XSA6IHsgdGV4dDogJycgfVxuICAgIGJ1YmJsZS5jdXJyZW50VGV4dCA9IGN1cnJlbnRUZXh0XG5cbiAgICBpZiAoY3VycmVudFRleHQuYXVkaW8pIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBjdXJyZW50VGV4dC5hdWRpbyxcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgcGxheWluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgbGV0IGF1ZGlvID0gQXVkaW9Tb3VyY2UuZ2V0TXV0YWJsZShidWJibGUuc291bmRQbGF5ZXIpXG4gICAgICAgIGF1ZGlvLnZvbHVtZSA9IDAuNVxuICAgICAgICBhdWRpby5wbGF5aW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoYnViYmxlLnNvdW5kKSB7XG4gICAgICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShidWJibGUuc291bmRQbGF5ZXIsIHtcbiAgICAgICAgICAgIGF1ZGlvQ2xpcFVybDogYnViYmxlLnNvdW5kLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfVxuXG4gICAgbGV0IHRleHQgPSBidWJibGUudGV4dFxuICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKHRleHQpLmZvbnRTaXplID0gY3VycmVudFRleHQuZm9udFNpemUgPyBjdXJyZW50VGV4dC5mb250U2l6ZSA6IHRleHRTaXplXG4gICAgVHJhbnNmb3JtLmdldE11dGFibGUodGV4dCkucG9zaXRpb24ueSA9IGN1cnJlbnRUZXh0Lm9mZnNldFkgPyBjdXJyZW50VGV4dC5vZmZzZXRZICsgdGV4dFlQb3MgOiB0ZXh0WVBvc1xuICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKHRleHQpLnBvc2l0aW9uLnggPSBjdXJyZW50VGV4dC5vZmZzZXRYID8gY3VycmVudFRleHQub2Zmc2V0WCA6IDBcblxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnZpc2libGUgPSB0cnVlXG5cbiAgICBpZiAoY3VycmVudFRleHQudGV4dC5sZW5ndGggPCBtYXhMZW5ndGhIdWdlQnViYmxlKSB7XG4gICAgICAgIGN1cnJlbnRUZXh0LnRleHQuc2xpY2UoMCwgbWF4TGVuZ3RoSHVnZUJ1YmJsZSlcbiAgICAgIH1cblxuICAgIGJlZ2luVHlwaW5nKFxuICAgICAgICBucGMsXG4gICAgICAgIGN1cnJlbnRUZXh0LnRleHQsXG4gICAgICAgIGJ1YmJsZS5pbmRleCxcbiAgICAgICAgY3VycmVudFRleHQudGltZU9uID8gY3VycmVudFRleHQudGltZU9uIDogdW5kZWZpbmVkLFxuICAgICAgICBjdXJyZW50VGV4dC50eXBlU3BlZWQgPyBjdXJyZW50VGV4dC50eXBlU3BlZWQgOiB1bmRlZmluZWQgXG4gICAgKVxuXG4gICAgYWRqdXN0QnViYmxlKG5wYywgY3VycmVudFRleHQudGV4dC5sZW5ndGgpXG4gICAgbGF5b3V0RGlhbG9nV2luZG93KG5wYywgYnViYmxlLmluZGV4KVxuICAgIGJ1YmJsZS5pc0J1YmJsZU9wZW4gPSB0cnVlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZUJ1YmJsZShucGM6RW50aXR5KXtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuICAgICAgICBidWJibGUuaXNCdWJibGVPcGVuID0gZmFsc2VcbiAgICAgICAgYnViYmxlLnR5cGluZyA9IGZhbHNlXG4gICAgICAgIGJ1YmJsZS52aXNpYmxlVGV4dCA9IFwiXCJcbiAgICAgICAgYnViYmxlLnZpc2libGVDaGFycyA9IDBcbiAgICAgICAgYnViYmxlLmZ1bGxUZXh0ID0gXCJcIlxuICAgICAgICBidWJibGUudGltZXIgPSAwXG4gICAgICAgIGJ1YmJsZS5pbmRleCA9IDBcbiAgICAgICAgYnViYmxlLnNjcmlwdCA9IFtdXG4gICAgICAgIGJ1YmJsZS5idXR0b25zID0gMFxuICAgICAgICBidWJibGUubWFyZ2luID0gMFxuICAgICAgICBidWJibGUuY3VycmVudFRleHQgPSBudWxsXG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS50ZXh0ID0gXCJcIlxuICAgICAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmdldE11dGFibGUoYnViYmxlLnRleHQpLnZpc2libGUgPSBmYWxzZVxuICAgICAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmdldE11dGFibGUoYnViYmxlLnBhbmVsKS52aXNpYmxlID0gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQnViYmxlRW5kQWxsKG5wYzpFbnRpdHkpOiB2b2lkIHtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuICAgIGlmIChidWJibGUuaXNCdWJibGVPcGVuKSB7XG4gICAgICAgIGJ1YmJsZS5kb25lID0gdHJ1ZVxuICAgICAgICBjbG9zZUJ1YmJsZShucGMpXG4gICAgfVxuICB9XG5cbmNvbnN0IERFRkFVTFRfU1BFRUQgPSA0NVxuXG5jb25zdCBERUZBVUxUX1RJTUVfT04gPSAzXG5cbmZ1bmN0aW9uIGJlZ2luVHlwaW5nKG5wYzpFbnRpdHksIHRleHQ6c3RyaW5nLCB0ZXh0SWQ6bnVtYmVyLCB0aW1lT24/Om51bWJlciwgc3BlZWQ/Om51bWJlcil7XG4gICAgbGV0IGRpYWxvZ0RhdGEgPSBidWJibGVzLmdldChucGMpXG4gICAgZGlhbG9nRGF0YS5mdWxsVGV4dCA9IGFkZExpbmVCcmVhayhkaWFsb2dEYXRhLnNjcmlwdFtkaWFsb2dEYXRhLmluZGV4XS50ZXh0LCB0cnVlKVxuICAgIGRpYWxvZ0RhdGEudHlwaW5nID0gdHJ1ZVxuICAgIGRpYWxvZ0RhdGEuZG9uZSA9IGZhbHNlXG4gICAgZGlhbG9nRGF0YS52aXNpYmxlVGV4dCA9IFwiXCJcbiAgICBkaWFsb2dEYXRhLnZpc2libGVDaGFycyA9IDBcbiAgICBkaWFsb2dEYXRhLnRpbWVyID0gMFxuICAgIGRpYWxvZ0RhdGEuYnV0dG9ucyA9IDBcbiAgICBkaWFsb2dEYXRhLnRpbWVPbiA9IHRpbWVPbiA/IHRpbWVPbiA6IERFRkFVTFRfVElNRV9PTlxuICAgIGRpYWxvZ0RhdGEuc3BlZWQgPSBzcGVlZCA/IHNwZWVkIDogREVGQVVMVF9TUEVFRFxuXG4gICAgZGlhbG9nRGF0YS5vcGVuVGltZSA9IE1hdGguZmxvb3IoRGF0ZS5ub3coKSlcblxuICAgIGlmKGRpYWxvZ0RhdGEuc3BlZWQgPD0gMCl7XG4gICAgICAgIHJ1c2hUZXh0KG5wYylcbiAgICB9XG4gICAgZWxzZXtcbiAgICAgICAgaWYoIUlzVHlwaW5nQnViYmxlLmhhcyhucGMpKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjcmVhdGluZyB0eXB1aW5nIGJ1YmJsZScpXG4gICAgICAgICAgICBJc1R5cGluZ0J1YmJsZS5jcmVhdGUobnBjKVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiBydXNoVGV4dChucGM6RW50aXR5KXtcbiAgICBsZXQgZGlhbG9nRGF0YSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBkaWFsb2dEYXRhLnR5cGluZyA9IGZhbHNlXG4gICAgZGlhbG9nRGF0YS50aW1lciA9IDBcbiAgICBkaWFsb2dEYXRhLnZpc2libGVDaGFycyA9IGRpYWxvZ0RhdGEuZnVsbFRleHQubGVuZ3RoXG4gICAgZGlhbG9nRGF0YS52aXNpYmxlVGV4dCA9IGRpYWxvZ0RhdGEuZnVsbFRleHRcbn1cblxuZnVuY3Rpb24gYWRqdXN0QnViYmxlKG5wYzpFbnRpdHksIHRleHRMZW5ndGg6bnVtYmVyKXtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuICAgIGxldCBucGNEYXRhID0gbnBjRGF0YUNvbXBvbmVudC5nZXQobnBjKVxuXG4gICAgaWYgKHRleHRMZW5ndGggPCBtYXhMZW5ndGhTaG9ydEJ1YmJsZSkge1xuICAgICAgICBNZXNoUmVuZGVyZXIuc2V0UGxhbmUoYnViYmxlLnBhbmVsLFxuICAgICAgICAgICAgc2V0VVZTZWN0aW9uKFxuICAgICAgICAgICAgYnViYmxlT3B0aW9ucy5zaG9ydCxcbiAgICAgICAgICAgIDEwMjQsXG4gICAgICAgICAgICAxMDI0XG4gICAgICAgICAgKSlcblxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBzaG9ydEJ1YmJsZVhcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS55ID0gc2hvcnRCdWJibGVZXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5jb250YWluZXIpLnBvc2l0aW9uLnggPSBzaG9ydEJ1YmJsZVhPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIHNob3J0QnViYmxlWU9mZnNldCArIG5wY0RhdGEuYnViYmxlWU9mZnNldFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkud2lkdGggPSBzaG9ydEJ1YmJsZVRleHRXaWR0aFxuICAgICAgfSBlbHNlIGlmICh0ZXh0TGVuZ3RoIDwgbWF4TGVuZ3RoTm9ybWFsQnViYmxlKSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLm5vcm1hbCxcbiAgICAgICAgICAgIDEwMjQsXG4gICAgICAgICAgICAxMDI0XG4gICAgICAgICAgKSlcblxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBub3JtYWxCdWJibGVYXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueSA9IG5vcm1hbEJ1YmJsZVlcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueCA9IG5vcm1hbEJ1YmJsZVhPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIG5vcm1hbEJ1YmJsZVlPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVlPZmZzZXRcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLndpZHRoID0gbm9ybWFsQnViYmxlVGV4dFdpZHRoXG4gICAgICB9IGVsc2UgaWYgKHRleHRMZW5ndGggPCBtYXhMZW5ndGhMb25nQnViYmxlKSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLmxvbmcsXG4gICAgICAgICAgICAxMDI0LFxuICAgICAgICAgICAgMTAyNFxuICAgICAgICAgICkpXG5cbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS54ID0gbG9uZ0J1YmJsZVhcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS55ID0gbG9uZ0J1YmJsZVlcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueCA9IGxvbmdCdWJibGVYT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVYT2Zmc2V0XG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5jb250YWluZXIpLnBvc2l0aW9uLnkgPSBidWJibGUuYmFzZVlPZmZzZXQgKyBsb25nQnViYmxlWU9mZnNldCArIG5wY0RhdGEuYnViYmxlWU9mZnNldFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkud2lkdGggPSBsb25nQnViYmxlVGV4dFdpZHRoXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBNZXNoUmVuZGVyZXIuc2V0UGxhbmUoYnViYmxlLnBhbmVsLFxuICAgICAgICAgICAgc2V0VVZTZWN0aW9uKFxuICAgICAgICAgICAgYnViYmxlT3B0aW9ucy5odWdlLFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBodWdlQnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBodWdlQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gaHVnZUJ1YmJsZVhPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIGh1Z2VCdWJibGVZT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IGh1Z2VCdWJibGVUZXh0V2lkdGhcbiAgICAgIH1cbn1cblxuLy8gQWRkcyB0aGUgYnV0dG9ucyBvciBtb3VzZSBpY29uIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB3aW5kb3dcbmZ1bmN0aW9uIGxheW91dERpYWxvZ1dpbmRvdyhucGM6RW50aXR5LCB0ZXh0SWQ6IG51bWJlcik6IHZvaWQge1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgbGV0IGN1cnJlbnRUZXh0OiBEaWFsb2cgPSBidWJibGUuc2NyaXB0W3RleHRJZF1cbiAgICAgID8gYnViYmxlLnNjcmlwdFt0ZXh0SWRdXG4gICAgICA6IHsgdGV4dDogJycgfVxuXG4gICAgLy8gVXBkYXRlIHRleHRcbiAgICBsZXQgdGV4dFkgPSBjdXJyZW50VGV4dC5vZmZzZXRZID8gY3VycmVudFRleHQub2Zmc2V0WSArIHRleHRZUG9zIDogdGV4dFlQb3NcblxuICAgIGlmIChjdXJyZW50VGV4dC5idXR0b25zICYmIGN1cnJlbnRUZXh0LmJ1dHRvbnMubGVuZ3RoID49IDMpIHtcbiAgICAgIHRleHRZICs9IDUwXG4gICAgfSBlbHNlIGlmIChjdXJyZW50VGV4dC5idXR0b25zICYmIGN1cnJlbnRUZXh0LmJ1dHRvbnMubGVuZ3RoID49IDEpIHtcbiAgICAgIHRleHRZICs9IDI0XG4gICAgfVxuICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS5mb250U2l6ZSA9IGN1cnJlbnRUZXh0LmZvbnRTaXplXG4gICAgPyBjdXJyZW50VGV4dC5mb250U2l6ZVxuICAgIDogdGV4dFNpemVcbiAgICBcbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmdldE11dGFibGUoYnViYmxlLnRleHQpLnZpc2libGUgPSB0cnVlXG4gICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnRleHQpLnBvc2l0aW9uLnkgPSB0ZXh0WVxuXG4gICAgaWYgKGN1cnJlbnRUZXh0LmF1ZGlvKSB7XG4gICAgICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShidWJibGUuc291bmRQbGF5ZXIsIHtcbiAgICAgICAgICAgIGF1ZGlvQ2xpcFVybDogY3VycmVudFRleHQuYXVkaW8sXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYXlpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGxldCBhdWRpbyA9IEF1ZGlvU291cmNlLmdldE11dGFibGUoYnViYmxlLnNvdW5kUGxheWVyKVxuICAgICAgICBhdWRpby52b2x1bWUgPSAwLjVcbiAgICAgICAgYXVkaW8ucGxheWluZyA9IHRydWVcbiAgICB9IGVsc2UgaWYgKGJ1YmJsZS5zb3VuZCkge1xuICAgICAgICBBdWRpb1NvdXJjZS5jcmVhdGVPclJlcGxhY2UoYnViYmxlLnNvdW5kUGxheWVyLCB7XG4gICAgICAgICAgICBhdWRpb0NsaXBVcmw6IGJ1YmJsZS5zb3VuZCxcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgcGxheWluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgbGV0IGF1ZGlvID0gQXVkaW9Tb3VyY2UuZ2V0TXV0YWJsZShidWJibGUuc291bmRQbGF5ZXIpXG4gICAgICAgIGF1ZGlvLnZvbHVtZSA9IDAuNVxuICAgICAgICBhdWRpby5wbGF5aW5nID0gdHJ1ZVxuICAgIH1cblxuICB9XG5cbi8vIFByb2dyZXNzZXMgdGV4dFxuZXhwb3J0IGZ1bmN0aW9uIG5leHQobnBjOkVudGl0eSk6IHZvaWQge1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG5cbiAgICBpZihidWJibGUuaXNCdWJibGVPcGVuKXtcbiAgICAgIGxldCBjdXJyZW50VGV4dCA9IGJ1YmJsZS5zY3JpcHRbYnViYmxlLmluZGV4XVxuXG4gICAgICBpZighY3VycmVudFRleHQpe1xuICAgICAgICBjdXJyZW50VGV4dCA9IGJ1YmJsZS5zY3JpcHRbYnViYmxlLmluZGV4LTFdXG4gICAgICB9XG4gICAgXG4gICAgICAgIGlmIChjdXJyZW50VGV4dC50cmlnZ2VyZWRCeU5leHQpIHtcbiAgICAgICAgICBjdXJyZW50VGV4dC50cmlnZ2VyZWRCeU5leHQoKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGlmIChjdXJyZW50VGV4dC5pc0VuZE9mRGlhbG9nKSB7XG4gICAgICAgICAgY2xvc2VCdWJibGUobnBjKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgXG4gICAgICAgLy8gVXBkYXRlIGFjdGl2ZSB0ZXh0XG4gICAgICAgICBidWJibGUuaW5kZXgrK1xuICAgIFxuICAgICAgICAvLyBVcGRhdGUgYWN0aXZlIHRleHQgd2l0aCBuZXcgYWN0aXZlIHRleHRcbiAgICAgICAgY3VycmVudFRleHQgPSBidWJibGUuc2NyaXB0W2J1YmJsZS5pbmRleF1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LnRleHQubGVuZ3RoIDwgbWF4TGVuZ3RoSHVnZUJ1YmJsZSkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0LnRleHQuc2xpY2UoMCwgbWF4TGVuZ3RoSHVnZUJ1YmJsZSlcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudGV4dCA9IFwiXCJcbiAgICBcbiAgICAgICAgYWRqdXN0QnViYmxlKG5wYywgY3VycmVudFRleHQudGV4dC5sZW5ndGgpXG4gICAgXG4gICAgICAgIGJlZ2luVHlwaW5nKFxuICAgICAgICAgICAgbnBjLFxuICAgICAgICAgICAgY3VycmVudFRleHQudGV4dCxcbiAgICAgICAgICAgIGJ1YmJsZS5pbmRleCxcbiAgICAgICAgICAgIGN1cnJlbnRUZXh0LnRpbWVPbiA/IGN1cnJlbnRUZXh0LnRpbWVPbiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA/IGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA6IHVuZGVmaW5lZCBcbiAgICAgICAgKVxuICAgICAgbGF5b3V0RGlhbG9nV2luZG93KG5wYywgYnViYmxlLmluZGV4KVxuICAgIH1cblxuICAgIFxuICB9XG5cbmZ1bmN0aW9uIHNldFVWU2VjdGlvbihcblx0c2VjdGlvbjogSW1hZ2VTZWN0aW9uLFxuXHRzaXplWDogbnVtYmVyLFxuXHRzaXplWTogbnVtYmVyXG4gICkge1xuXHRyZXR1cm4gc2V0VVZzKFxuICAgICAgICB7eDogIHNlY3Rpb24uc291cmNlTGVmdCEgLyBzaXplWCwgeTogKHNpemVZIC0gc2VjdGlvbi5zb3VyY2VUb3AhIC0gc2VjdGlvbi5zb3VyY2VIZWlnaHQpIC8gc2l6ZVl9LFxuICAgICAgICB7eDogIChzZWN0aW9uLnNvdXJjZUxlZnQhICsgc2VjdGlvbi5zb3VyY2VXaWR0aCkgLyBzaXplWCwgeTogKHNpemVZIC0gc2VjdGlvbi5zb3VyY2VUb3AhIC0gc2VjdGlvbi5zb3VyY2VIZWlnaHQpIC8gc2l6ZVl9LFxuICAgICAgICB7eDogIChzZWN0aW9uLnNvdXJjZUxlZnQhICsgc2VjdGlvbi5zb3VyY2VXaWR0aCkgLyBzaXplWCwgeTogIChzaXplWSAtIHNlY3Rpb24uc291cmNlVG9wISkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgc2VjdGlvbi5zb3VyY2VMZWZ0ISAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEpIC8gc2l6ZVl9LFxuXHQpXG4gIH1cblxuZnVuY3Rpb24gc2V0VVZzKFxuXHRfdXYwMDogYW55LFxuXHRfdXYxMDogYW55LFxuXHRfdXYxMTogYW55LFxuXHRfdXYwMTogYW55XG4gICkge1xuXG5cdHJldHVybiBbXG5cdCAgX3V2MDAueCxcblx0ICBfdXYwMC55LFxuICBcblx0ICBfdXYxMC54LFxuXHQgIF91djEwLnksXG4gIFxuXHQgIF91djExLngsXG5cdCAgX3V2MTEueSxcbiAgXG5cdCAgX3V2MDEueCxcblx0ICBfdXYwMS55LFxuXHQgIC8vLS0tLVxuXHQgIF91djAwLngsXG5cdCAgX3V2MDAueSxcbiAgXG5cdCAgX3V2MTAueCxcblx0ICBfdXYxMC55LFxuICBcblx0ICBfdXYxMS54LFxuXHQgIF91djExLnksXG4gIFxuXHQgIF91djAxLngsXG5cdCAgX3V2MDEueSxcblx0XVxuICB9XG5cbiAgbGV0IGJ1YmJsZU9wdGlvbnM6YW55ID0ge1xuICAgIHNob3J0OiB7XG4gICAgICBzb3VyY2VXaWR0aDogMTE2ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogODQgKiAyLFxuICAgICAgc291cmNlTGVmdDogMzA1ICogMixcbiAgICAgIHNvdXJjZVRvcDogNDE3ICogMixcbiAgICB9LFxuICAgIG5vcm1hbDoge1xuICAgICAgc291cmNlV2lkdGg6IDI4NiAqIDIsXG4gICAgICBzb3VyY2VIZWlnaHQ6IDg0ICogMixcbiAgICAgIHNvdXJjZUxlZnQ6IDggKiAyLFxuICAgICAgc291cmNlVG9wOiA0MTcgKiAyLFxuICAgIH0sXG4gICAgbG9uZzoge1xuICAgICAgc291cmNlV2lkdGg6IDQ5NyAqIDIsXG4gICAgICBzb3VyY2VIZWlnaHQ6IDE1MyAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiA2ICogMixcbiAgICAgIHNvdXJjZVRvcDogMjU0ICogMixcbiAgICB9LFxuICAgIGh1Z2U6IHtcbiAgICAgIHNvdXJjZVdpZHRoOiA0OTcgKiAyLFxuICAgICAgc291cmNlSGVpZ2h0OiAyMzkgKiAyLFxuICAgICAgc291cmNlTGVmdDogNiAqIDIsXG4gICAgICBzb3VyY2VUb3A6IDcgKiAyLFxuICAgIH0sXG59XG5cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEJ1YmJsZVRleHRMZW5ndGgodGV4dDpzdHJpbmcpe1xuICAgIGlmKHRleHQubGVuZ3RoID49IG1heExlbmd0aEh1Z2VCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gICAgZWxzZSBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhMb25nQnViYmxlKXtcbiAgICAgICAgcmV0dXJuIDQwXG4gICAgfVxuICAgIGVsc2UgaWYodGV4dC5sZW5ndGggPj0gbWF4TGVuZ3RoTm9ybWFsQnViYmxlKXtcbiAgICAgICAgcmV0dXJuIDQwXG4gICAgfVxuICAgIGVsc2UgaWYodGV4dC5sZW5ndGggPj0gbWF4TGVuZ3RoU2hvcnRCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gIH0iXX0=
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2J1YmJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksV0FBVyxFQUFlLFNBQVMsRUFBaUIsTUFBTSxFQUEyQyxRQUFRLEVBQWMsWUFBWSxFQUFtQyxTQUFTLEVBQUMsU0FBUyxFQUFpQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUcxUSxPQUFPLEVBQVMsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV4QyxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQUcsdURBQXVELENBQUE7QUFFbkYsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFBO0FBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFFaEIsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUE7QUFDNUIsSUFBSSxxQkFBcUIsR0FBRyxFQUFFLENBQUE7QUFDOUIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFFN0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFDN0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFDM0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFFM0IsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQTtBQUM3QixJQUFJLG1CQUFtQixHQUFHLENBQUMsR0FBRyxD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Q2pCLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQztLQUNuQjtJQUNELElBQUksRUFBRTtRQUNKLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNwQixZQUFZLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2pCLFNBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQztLQUNuQjtJQUNELElBQUksRUFBRTtRQUNKLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUNwQixZQUFZLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ2pCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztLQUNqQjtDQUNKLENBQUE7QUFHRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBVztJQUMzQyxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksbUJBQW1CLEVBQUMsQ0FBQztRQUNuQyxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7U0FDSSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksbUJBQW1CLEVBQUMsQ0FBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7U0FDSSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUkscUJBQXFCLEVBQUMsQ0FBQztRQUMxQyxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7U0FDSSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUksb0JBQW9CLEVBQUMsQ0FBQztRQUN6QyxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBbmltYXRvciwgQXVkaW9Tb3VyY2UsIEF2YXRhclNoYXBlLCBCaWxsYm9hcmQsIEJpbGxib2FyZE1vZGUsIGVuZ2luZSwgRW50aXR5LCBGb250LCBHbHRmQ29udGFpbmVyLCBJbnB1dEFjdGlvbixNYXRlcmlhbCxNZXNoQ29sbGlkZXIsTWVzaFJlbmRlcmVyLHBvaW50ZXJFdmVudHNTeXN0ZW0sVGV4dEFsaWduTW9kZSxUZXh0U2hhcGUsVHJhbnNmb3JtLCBUcmFuc2Zvcm1UeXBlLCBWaXNpYmlsaXR5Q29tcG9uZW50IH0gZnJvbSAnQGRjbC9zZGsvZWNzJ1xuaW1wb3J0ICogYXMgdXRpbHMgZnJvbSAnQGRjbC1zZGsvdXRpbHMnXG5pbXBvcnQgeyBEaWFsb2csIEltYWdlU2VjdGlvbiB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBDb2xvcjMsQ29sb3I0LCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAnQGRjbC9zZGsvbWF0aCdcbmltcG9ydCB7IGFkZExpbmVCcmVhaywgYWRkTGluZUJyZWFrcywgZmluZERpYWxvZ0J5TmFtZSB9IGZyb20gJy4vZGlhbG9nJ1xuaW1wb3J0IHsgSXNUeXBpbmdCdWJibGUgfSBmcm9tICcuL2NvbXBvbmVudHMnXG5pbXBvcnQgeyBucGNEYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9ucGMnXG5cbmV4cG9ydCBsZXQgYnViYmxlc1RleHR1cmUgPSAnaHR0cHM6Ly9kZWNlbnRyYWxhbmQub3JnL2ltYWdlcy91aS9kaWFsb2ctYnViYmxlcy5wbmcnXG5cbmV4cG9ydCBsZXQgYnViYmxlczogTWFwPEVudGl0eSwgYW55PiA9IG5ldyBNYXAoKVxuXG5sZXQgdGV4dFNpemUgPSAxXG5sZXQgdGV4dFlQb3MgPSAwICAgIFxuXG5sZXQgbWF4TGVuZ3RoU2hvcnRCdWJibGUgPSA4XG5sZXQgbWF4TGVuZ3RoTm9ybWFsQnViYmxlID0gMjVcbmxldCBtYXhMZW5ndGhMb25nQnViYmxlID0gNTBcbmxldCBtYXhMZW5ndGhIdWdlQnViYmxlID0gMTAwXG5cbmxldCBzaG9ydEJ1YmJsZVhPZmZzZXQgPSAwLjFcbmxldCBub3JtYWxCdWJibGVYT2Zmc2V0ID0gMC41XG5sZXQgbG9uZ0J1YmJsZVhPZmZzZXQgPSAwLjhcbmxldCBodWdlQnViYmxlWE9mZnNldCA9IDAuOFxuXG5sZXQgc2hvcnRCdWJibGVZT2Zmc2V0ID0gLTAuMlxubGV0IG5vcm1hbEJ1YmJsZVlPZmZzZXQgPSAtMC4yXG5sZXQgbG9uZ0J1YmJsZVlPZmZzZXQgPSAwXG5sZXQgaHVnZUJ1YmJsZVlPZmZzZXQgPSAwLjJcblxubGV0IHNob3J0QnViYmxlVGV4dFdpZHRoID0gMC43XG5sZXQgbm9ybWFsQnViYmxlVGV4dFdpZHRoID0gMS41XG5sZXQgbG9uZ0J1YmJsZVRleHRXaWR0aCA9IDJcbmxldCBodWdlQnViYmxlVGV4dFdpZHRoID0gMS41XG5cbmxldCBzaG9ydEJ1YmJsZVggPSAxMTYgKiAwLjAwNVxubGV0IHNob3J0QnViYmxlWSA9IDg0ICogMC4wMDVcblxubGV0IG5vcm1hbEJ1YmJsZVggPSAyODYgKiAwLjAwNVxubGV0IG5vcm1hbEJ1YmJsZVkgPSA4NCAqIDAuMDA1XG5cbmxldCBsb25nQnViYmxlWCA9IDQ5NyAqIDAuMDA1XG5sZXQgbG9uZ0J1YmJsZVkgPSAxNTMgKiAwLjAwNVxuXG5sZXQgaHVnZUJ1YmJsZVggPSA0OTcgKiAwLjAwNVxubGV0IGh1Z2VCdWJibGVZID0gMjM5ICogMC4wMDVcblxubGV0IGRlZmF1bHRZT2Zmc2V0ID0gMi41XG5cblxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRGlhbG9nQnViYmxlKG5wYzpFbnRpdHksIGhlaWdodD86bnVtYmVyLCBzb3VuZD86c3RyaW5nKXtcbiAgICBsZXQgYmFzZVlPZmZzZXQgPSBoZWlnaHQgPyBoZWlnaHQgOiBkZWZhdWx0WU9mZnNldFxuXG4gICAgbGV0IHJvb3QgPSBlbmdpbmUuYWRkRW50aXR5KClcbiAgICBCaWxsYm9hcmQuY3JlYXRlKHJvb3Qse1xuICAgICAgICBiaWxsYm9hcmRNb2RlOkJpbGxib2FyZE1vZGUuQk1fWVxuICAgIH0pXG5cbiAgICBUcmFuc2Zvcm0uY3JlYXRlKHJvb3Qse1xuICAgICAgICBwYXJlbnQ6bnBjXG4gICAgfSlcblxuICAgIGxldCBjb250YWluZXIgPSBlbmdpbmUuYWRkRW50aXR5KClcbiAgICBUcmFuc2Zvcm0uY3JlYXRlKGNvbnRhaW5lcix7XG4gICAgICAgIHBhcmVudDpyb290LFxuICAgICAgICBwb3NpdGlvbjpWZWN0b3IzLmNyZWF0ZShzaG9ydEJ1YmJsZVhPZmZzZXQsYmFzZVlPZmZzZXQsMClcbiAgICB9KVxuXG4gICAgbGV0IHBhbmVsID0gZW5naW5lLmFkZEVudGl0eSgpXG4gICAgVHJhbnNmb3JtLmNyZWF0ZShwYW5lbCx7XG4gICAgICAgIHBhcmVudDpjb250YWluZXIsXG4gICAgICAgIHNjYWxlOiBWZWN0b3IzLmNyZWF0ZSgyLDEsMSksXG4gICAgICAgIC8vcm90YXRpb246UXVhdGVybmlvbi5mcm9tRXVsZXJEZWdyZWVzKDAsMCw5MClcbiAgICB9KVxuICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShwYW5lbCxcbiAgICAgICAgc2V0VVZTZWN0aW9uKFxuICAgICAgICBidWJibGVPcHRpb25zLm5vcm1hbCxcbiAgICAgICAgMTAyNCxcbiAgICAgICAgMTAyNFxuICAgICAgKSlcblxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuY3JlYXRlKHBhbmVsLCB7dmlzaWJsZTogZmFsc2V9KVxuXG4gICAgTWF0ZXJpYWwuc2V0QmFzaWNNYXRlcmlhbChwYW5lbCwge1xuICAgICAgICB0ZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLkNvbW1vbih7XG4gICAgICAgICAgc3JjOiBidWJibGVzVGV4dHVyZVxuICAgICAgICB9KSxcbiAgICAgICAgYWxwaGFUZXh0dXJlOiBNYXRlcmlhbC5UZXh0dXJlLkNvbW1vbih7XG4gICAgICAgICAgc3JjOiBidWJibGVzVGV4dHVyZVxuICAgICAgICB9KSxcbiAgICAgICAgYWxwaGFUZXN0OiAwLjVcbiAgICAgIH0pXG5cbiAgICBsZXQgdGV4dCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUodGV4dCx7XG4gICAgICAgIHBvc2l0aW9uOlZlY3RvcjMuY3JlYXRlKDAsdGV4dFlQb3MsIC0uMDUpLFxuICAgICAgICBwYXJlbnQ6Y29udGFpbmVyXG4gICAgfSlcbiAgICBUZXh0U2hhcGUuY3JlYXRlKHRleHQsIHtcbiAgICAgICAgdGV4dDpcIlwiLCBcbiAgICAgICAgZm9udFNpemU6dGV4dFNpemUsXG4gICAgICAgIGZvbnQ6IEZvbnQuRl9TQU5TX1NFUklGLFxuICAgICAgICB0ZXh0Q29sb3I6IENvbG9yNC5jcmVhdGUoMCwwLDAsMSksXG4gICAgICAgIHRleHRBbGlnbjpUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSXG4gICAgfSlcbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmNyZWF0ZSh0ZXh0LCB7dmlzaWJsZTogZmFsc2V9KVxuXG4gICAgYnViYmxlcy5zZXQobnBjLCB7XG4gICAgICAgIGNvbnRhaW5lcjpjb250YWluZXIsXG4gICAgICAgIHBhbmVsOnBhbmVsLFxuICAgICAgICB0ZXh0OnRleHQsXG4gICAgICAgIGJhc2VZT2Zmc2V0OiBiYXNlWU9mZnNldCxcbiAgICAgICAgaXNCdWJibGVPcGVuOmZhbHNlLFxuICAgICAgICB0eXBpbmc6ZmFsc2UsXG4gICAgICAgIHZpc2libGVUZXh0OlwiXCIsXG4gICAgICAgIHZpc2libGVDaGFyczowLFxuICAgICAgICBmdWxsVGV4dDpcIlwiLFxuICAgICAgICB0aW1lcjowLFxuICAgICAgICBzcGVlZDozMCxcbiAgICAgICAgc2NyaXB0OltdLFxuICAgICAgICBpbmRleDowLFxuICAgICAgICBzb3VuZDogc291bmQgPyBzb3VuZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgc291bmRQbGF5ZXI6IHNvdW5kID8gZW5naW5lLmFkZEVudGl0eSgpIDogdW5kZWZpbmVkLFxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcGVuQnViYmxlKG5wYzpFbnRpdHksIGRpYWxvZzpEaWFsb2dbXSwgc3RhcnRJbmRleD86bnVtYmVyIHwgc3RyaW5nKXtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuXG4gICAgYnViYmxlLnNjcmlwdCA9IGRpYWxvZy5zbGljZSgpXG4gICAgbGV0IGluZGV4OmFueVxuICAgIGlmICghc3RhcnRJbmRleCkge1xuICAgICAgaW5kZXggPSAwXG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGluZGV4ID0gc3RhcnRJbmRleFxuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGZpbmREaWFsb2dCeU5hbWUoZGlhbG9nLCBzdGFydEluZGV4KVxuICAgIH1cblxuICAgIGJ1YmJsZS5pbmRleCA9IGluZGV4XG4gICAgXG4gICAgbGV0IGN1cnJlbnRUZXh0OiBEaWFsb2cgPSBkaWFsb2dbYnViYmxlLmluZGV4XSA/IGRpYWxvZ1tidWJibGUuaW5kZXhdIDogeyB0ZXh0OiAnJyB9XG4gICAgYnViYmxlLmN1cnJlbnRUZXh0ID0gY3VycmVudFRleHRcblxuICAgIGlmIChjdXJyZW50VGV4dC5hdWRpbykge1xuICAgICAgICBBdWRpb1NvdXJjZS5jcmVhdGVPclJlcGxhY2UoYnViYmxlLnNvdW5kUGxheWVyLCB7XG4gICAgICAgICAgICBhdWRpb0NsaXBVcmw6IGN1cnJlbnRUZXh0LmF1ZGlvLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfSBlbHNlIGlmIChidWJibGUuc291bmQpIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBidWJibGUuc291bmQsXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYXlpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGxldCBhdWRpbyA9IEF1ZGlvU291cmNlLmdldE11dGFibGUoYnViYmxlLnNvdW5kUGxheWVyKVxuICAgICAgICBhdWRpby52b2x1bWUgPSAwLjVcbiAgICAgICAgYXVkaW8ucGxheWluZyA9IHRydWVcbiAgICB9XG5cbiAgICBsZXQgdGV4dCA9IGJ1YmJsZS50ZXh0XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUodGV4dCkuZm9udFNpemUgPSBjdXJyZW50VGV4dC5mb250U2l6ZSA/IGN1cnJlbnRUZXh0LmZvbnRTaXplIDogdGV4dFNpemVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZSh0ZXh0KS5wb3NpdGlvbi55ID0gY3VycmVudFRleHQub2Zmc2V0WSA/IGN1cnJlbnRUZXh0Lm9mZnNldFkgKyB0ZXh0WVBvcyA6IHRleHRZUG9zXG4gICAgVHJhbnNmb3JtLmdldE11dGFibGUodGV4dCkucG9zaXRpb24ueCA9IGN1cnJlbnRUZXh0Lm9mZnNldFggPyBjdXJyZW50VGV4dC5vZmZzZXRYIDogMFxuXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudC5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkudmlzaWJsZSA9IHRydWVcblxuICAgIGlmIChjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aCA8IG1heExlbmd0aEh1Z2VCdWJibGUpIHtcbiAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgfVxuXG4gICAgYmVnaW5UeXBpbmcoXG4gICAgICAgIG5wYyxcbiAgICAgICAgY3VycmVudFRleHQudGV4dCxcbiAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICBjdXJyZW50VGV4dC50aW1lT24gPyBjdXJyZW50VGV4dC50aW1lT24gOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA/IGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA6IHVuZGVmaW5lZCBcbiAgICApXG5cbiAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgYnViYmxlLmlzQnViYmxlT3BlbiA9IHRydWVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQnViYmxlKG5wYzpFbnRpdHkpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgICAgIGJ1YmJsZS5pc0J1YmJsZU9wZW4gPSBmYWxzZVxuICAgICAgICBidWJibGUudHlwaW5nID0gZmFsc2VcbiAgICAgICAgYnViYmxlLnZpc2libGVUZXh0ID0gXCJcIlxuICAgICAgICBidWJibGUudmlzaWJsZUNoYXJzID0gMFxuICAgICAgICBidWJibGUuZnVsbFRleHQgPSBcIlwiXG4gICAgICAgIGJ1YmJsZS50aW1lciA9IDBcbiAgICAgICAgYnViYmxlLmluZGV4ID0gMFxuICAgICAgICBidWJibGUuc2NyaXB0ID0gW11cbiAgICAgICAgYnViYmxlLmJ1dHRvbnMgPSAwXG4gICAgICAgIGJ1YmJsZS5tYXJnaW4gPSAwXG4gICAgICAgIGJ1YmJsZS5jdXJyZW50VGV4dCA9IG51bGxcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLnRleHQgPSBcIlwiXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnZpc2libGUgPSBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VCdWJibGVFbmRBbGwobnBjOkVudGl0eSk6IHZvaWQge1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgaWYgKGJ1YmJsZS5pc0J1YmJsZU9wZW4pIHtcbiAgICAgICAgYnViYmxlLmRvbmUgPSB0cnVlXG4gICAgICAgIGNsb3NlQnViYmxlKG5wYylcbiAgICB9XG4gIH1cblxuY29uc3QgREVGQVVMVF9TUEVFRCA9IDQ1XG5cbmNvbnN0IERFRkFVTFRfVElNRV9PTiA9IDNcblxuZnVuY3Rpb24gYmVnaW5UeXBpbmcobnBjOkVudGl0eSwgdGV4dDpzdHJpbmcsIHRleHRJZDpudW1iZXIsIHRpbWVPbj86bnVtYmVyLCBzcGVlZD86bnVtYmVyKXtcbiAgICBsZXQgZGlhbG9nRGF0YSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBkaWFsb2dEYXRhLmZ1bGxUZXh0ID0gYWRkTGluZUJyZWFrKGRpYWxvZ0RhdGEuc2NyaXB0W2RpYWxvZ0RhdGEuaW5kZXhdLnRleHQsIHRydWUpXG4gICAgZGlhbG9nRGF0YS50eXBpbmcgPSB0cnVlXG4gICAgZGlhbG9nRGF0YS5kb25lID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gXCJcIlxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZXIgPSAwXG4gICAgZGlhbG9nRGF0YS5idXR0b25zID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZU9uID0gdGltZU9uID8gdGltZU9uIDogREVGQVVMVF9USU1FX09OXG4gICAgZGlhbG9nRGF0YS5zcGVlZCA9IHNwZWVkID8gc3BlZWQgOiBERUZBVUxUX1NQRUVEXG5cbiAgICBkaWFsb2dEYXRhLm9wZW5UaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpKVxuXG4gICAgaWYoZGlhbG9nRGF0YS5zcGVlZCA8PSAwKXtcbiAgICAgICAgcnVzaFRleHQobnBjKVxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZighSXNUeXBpbmdCdWJibGUuaGFzKG5wYykpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2NyZWF0aW5nIHR5cHVpbmcgYnViYmxlJylcbiAgICAgICAgICAgIElzVHlwaW5nQnViYmxlLmNyZWF0ZShucGMpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJ1c2hUZXh0KG5wYzpFbnRpdHkpe1xuICAgIGxldCBkaWFsb2dEYXRhID0gYnViYmxlcy5nZXQobnBjKVxuICAgIGRpYWxvZ0RhdGEudHlwaW5nID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnRpbWVyID0gMFxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gZGlhbG9nRGF0YS5mdWxsVGV4dC5sZW5ndGhcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gZGlhbG9nRGF0YS5mdWxsVGV4dFxufVxuXG5mdW5jdGlvbiBhZGp1c3RCdWJibGUobnBjOkVudGl0eSwgdGV4dExlbmd0aDpudW1iZXIpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgbGV0IG5wY0RhdGEgPSBucGNEYXRhQ29tcG9uZW50LmdldChucGMpXG5cbiAgICBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aFNob3J0QnViYmxlKSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLnNob3J0LFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IHNob3J0QnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBzaG9ydEJ1YmJsZVlcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueCA9IHNob3J0QnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgc2hvcnRCdWJibGVZT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IHNob3J0QnViYmxlVGV4dFdpZHRoXG4gICAgICB9IGVsc2UgaWYgKHRleHRMZW5ndGggPCBtYXhMZW5ndGhOb3JtYWxCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubm9ybWFsLFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IG5vcm1hbEJ1YmJsZVhcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS55ID0gbm9ybWFsQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbm9ybWFsQnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgbm9ybWFsQnViYmxlWU9mZnNldCArIG5wY0RhdGEuYnViYmxlWU9mZnNldFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkud2lkdGggPSBub3JtYWxCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aExvbmdCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubG9uZyxcbiAgICAgICAgICAgIDEwMjQsXG4gICAgICAgICAgICAxMDI0XG4gICAgICAgICAgKSlcblxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBsb25nQnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBsb25nQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbG9uZ0J1YmJsZVhPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIGxvbmdCdWJibGVZT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IGxvbmdCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLmh1Z2UsXG4gICAgICAgICAgICAxMDI0LFxuICAgICAgICAgICAgMTAyNFxuICAgICAgICAgICkpXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IGh1Z2VCdWJibGVYXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueSA9IGh1Z2VCdWJibGVZXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5jb250YWluZXIpLnBvc2l0aW9uLnggPSBodWdlQnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgaHVnZUJ1YmJsZVlPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVlPZmZzZXRcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLndpZHRoID0gaHVnZUJ1YmJsZVRleHRXaWR0aFxuICAgICAgfVxufVxuXG4vLyBBZGRzIHRoZSBidXR0b25zIG9yIG1vdXNlIGljb24gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHdpbmRvd1xuZnVuY3Rpb24gbGF5b3V0RGlhbG9nV2luZG93KG5wYzpFbnRpdHksIHRleHRJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBsZXQgY3VycmVudFRleHQ6IERpYWxvZyA9IGJ1YmJsZS5zY3JpcHRbdGV4dElkXVxuICAgICAgPyBidWJibGUuc2NyaXB0W3RleHRJZF1cbiAgICAgIDogeyB0ZXh0OiAnJyB9XG5cbiAgICAvLyBVcGRhdGUgdGV4dFxuICAgIGxldCB0ZXh0WSA9IGN1cnJlbnRUZXh0Lm9mZnNldFkgPyBjdXJyZW50VGV4dC5vZmZzZXRZICsgdGV4dFlQb3MgOiB0ZXh0WVBvc1xuXG4gICAgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMykge1xuICAgICAgdGV4dFkgKz0gNTBcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMSkge1xuICAgICAgdGV4dFkgKz0gMjRcbiAgICB9XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLmZvbnRTaXplID0gY3VycmVudFRleHQuZm9udFNpemVcbiAgICA/IGN1cnJlbnRUZXh0LmZvbnRTaXplXG4gICAgOiB0ZXh0U2l6ZVxuICAgIFxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IHRydWVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUudGV4dCkucG9zaXRpb24ueSA9IHRleHRZXG5cbiAgICBpZiAoY3VycmVudFRleHQuYXVkaW8pIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBjdXJyZW50VGV4dC5hdWRpbyxcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgcGxheWluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgbGV0IGF1ZGlvID0gQXVkaW9Tb3VyY2UuZ2V0TXV0YWJsZShidWJibGUuc291bmRQbGF5ZXIpXG4gICAgICAgIGF1ZGlvLnZvbHVtZSA9IDAuNVxuICAgICAgICBhdWRpby5wbGF5aW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoYnViYmxlLnNvdW5kKSB7XG4gICAgICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShidWJibGUuc291bmRQbGF5ZXIsIHtcbiAgICAgICAgICAgIGF1ZGlvQ2xpcFVybDogYnViYmxlLnNvdW5kLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfVxuXG4gIH1cblxuLy8gUHJvZ3Jlc3NlcyB0ZXh0XG5leHBvcnQgZnVuY3Rpb24gbmV4dChucGM6RW50aXR5KTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcblxuICAgIGlmKGJ1YmJsZS5pc0J1YmJsZU9wZW4pe1xuICAgICAgbGV0IGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXhdXG5cbiAgICAgIGlmKCFjdXJyZW50VGV4dCl7XG4gICAgICAgIGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXgtMV1cbiAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCgpXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LmlzRW5kT2ZEaWFsb2cpIHtcbiAgICAgICAgICBjbG9zZUJ1YmJsZShucGMpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAvLyBVcGRhdGUgYWN0aXZlIHRleHRcbiAgICAgICAgIGJ1YmJsZS5pbmRleCsrXG4gICAgXG4gICAgICAgIC8vIFVwZGF0ZSBhY3RpdmUgdGV4dCB3aXRoIG5ldyBhY3RpdmUgdGV4dFxuICAgICAgICBjdXJyZW50VGV4dCA9IGJ1YmJsZS5zY3JpcHRbYnViYmxlLmluZGV4XVxuICAgIFxuICAgICAgICBpZiAoY3VycmVudFRleHQudGV4dC5sZW5ndGggPCBtYXhMZW5ndGhIdWdlQnViYmxlKSB7XG4gICAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS50ZXh0ID0gXCJcIlxuICAgIFxuICAgICAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBcbiAgICAgICAgYmVnaW5UeXBpbmcoXG4gICAgICAgICAgICBucGMsXG4gICAgICAgICAgICBjdXJyZW50VGV4dC50ZXh0LFxuICAgICAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICAgICAgY3VycmVudFRleHQudGltZU9uID8gY3VycmVudFRleHQudGltZU9uIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3VycmVudFRleHQudHlwZVNwZWVkID8gY3VycmVudFRleHQudHlwZVNwZWVkIDogdW5kZWZpbmVkIFxuICAgICAgICApXG4gICAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgfVxuXG4gICAgXG4gIH1cblxuZnVuY3Rpb24gc2V0VVZTZWN0aW9uKFxuXHRzZWN0aW9uOiBJbWFnZVNlY3Rpb24sXG5cdHNpemVYOiBudW1iZXIsXG5cdHNpemVZOiBudW1iZXJcbiAgKSB7XG5cdHJldHVybiBzZXRVVnMoXG4gICAgICAgIHt4OiAgc2VjdGlvbi5zb3VyY2VMZWZ0ISAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAgKHNpemVZIC0gc2VjdGlvbi5zb3VyY2VUb3AhKSAvIHNpemVZfSxcbiAgICAgICAge3g6ICBzZWN0aW9uLnNvdXJjZUxlZnQhIC8gc2l6ZVgsIHk6IChzaXplWSAtIHNlY3Rpb24uc291cmNlVG9wISkgLyBzaXplWX0sXG5cdClcbiAgfVxuXG5mdW5jdGlvbiBzZXRVVnMoXG5cdF91djAwOiBhbnksXG5cdF91djEwOiBhbnksXG5cdF91djExOiBhbnksXG5cdF91djAxOiBhbnlcbiAgKSB7XG5cblx0cmV0dXJuIFtcblx0ICBfdXYwMC54LFxuXHQgIF91djAwLnksXG4gIFxuICAgIF91djAxLngsXG5cdCAgX3V2MDEueSxcbiAgXG5cdCAgX3V2MTEueCxcblx0ICBfdXYxMS55LFxuXG4gICAgX3V2MTAueCxcblx0ICBfdXYxMC55LFxuXG5cdCAgXG5cdCAgLy8tLS0tXG5cdCAgX3V2MDAueCxcblx0ICBfdXYwMC55LFxuXG4gICAgX3V2MDEueCxcblx0ICBfdXYwMS55LFxuICAgIFxuICAgIF91djExLngsXG5cdCAgX3V2MTEueSxcbiAgICBcblx0ICBfdXYxMC54LFxuXHQgIF91djEwLnksXG4gIFxuXHQgXG4gIFxuXHQgXG5cdF1cbiAgfVxuXG4gIGxldCBidWJibGVPcHRpb25zOmFueSA9IHtcbiAgICBzaG9ydDoge1xuICAgICAgc291cmNlV2lkdGg6IDExNiAqIDIsXG4gICAgICBzb3VyY2VIZWlnaHQ6IDg0ICogMixcbiAgICAgIHNvdXJjZUxlZnQ6IDMwNSAqIDIsXG4gICAgICBzb3VyY2VUb3A6IDQxNyAqIDIsXG4gICAgfSxcbiAgICBub3JtYWw6IHtcbiAgICAgIHNvdXJjZVdpZHRoOiAyODYgKiAyLFxuICAgICAgc291cmNlSGVpZ2h0OiA4NCAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiA4ICogMixcbiAgICAgIHNvdXJjZVRvcDogNDE3ICogMixcbiAgICB9LFxuICAgIGxvbmc6IHtcbiAgICAgIHNvdXJjZVdpZHRoOiA0OTcgKiAyLFxuICAgICAgc291cmNlSGVpZ2h0OiAxNTMgKiAyLFxuICAgICAgc291cmNlTGVmdDogNiAqIDIsXG4gICAgICBzb3VyY2VUb3A6IDI1NCAqIDIsXG4gICAgfSxcbiAgICBodWdlOiB7XG4gICAgICBzb3VyY2VXaWR0aDogNDk3ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogMjM5ICogMixcbiAgICAgIHNvdXJjZUxlZnQ6IDYgKiAyLFxuICAgICAgc291cmNlVG9wOiA3ICogMixcbiAgICB9LFxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCdWJibGVUZXh0TGVuZ3RoKHRleHQ6c3RyaW5nKXtcbiAgICBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhIdWdlQnViYmxlKXtcbiAgICAgICAgcmV0dXJuIDQwXG4gICAgfVxuICAgIGVsc2UgaWYodGV4dC5sZW5ndGggPj0gbWF4TGVuZ3RoTG9uZ0J1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgICBlbHNlIGlmKHRleHQubGVuZ3RoID49IG1heExlbmd0aE5vcm1hbEJ1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgICBlbHNlIGlmKHRleHQubGVuZ3RoID49IG1heExlbmd0aFNob3J0QnViYmxlKXtcbiAgICAgICAgcmV0dXJuIDQwXG4gICAgfVxuICB9Il19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dcl-npc-toolkit",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "A collection of tools for creating Non-Player-Characters (NPCs). These are capable of having conversations with the player, and play different animations.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"typings": "./dist/index.d.ts",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@dcl/js-runtime": "latest"
|
|
38
38
|
},
|
|
39
|
-
"commit": "
|
|
39
|
+
"commit": "47b3b839770bef85decc5c6b4d9cb2d8b55e0e95"
|
|
40
40
|
}
|