dcl-npc-toolkit 1.1.2-20230614192027.commit-ae07637 → 1.1.2
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 +7 -7
- package/package.json +2 -2
package/dist/bubble.js
CHANGED
|
@@ -200,8 +200,8 @@ function adjustBubble(npc, textLength) {
|
|
|
200
200
|
MeshRenderer.setPlane(bubble.panel, setUVSection(bubbleOptions.short, 1024, 1024));
|
|
201
201
|
Transform.getMutable(bubble.panel).scale.x = shortBubbleX;
|
|
202
202
|
Transform.getMutable(bubble.panel).scale.y = shortBubbleY;
|
|
203
|
-
Transform.getMutable(bubble.container).position.x = shortBubbleXOffset;
|
|
204
|
-
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + shortBubbleYOffset;
|
|
203
|
+
Transform.getMutable(bubble.container).position.x = shortBubbleXOffset + npcData.bubbleXOffset;
|
|
204
|
+
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + shortBubbleYOffset + npcData.bubbleYOffset;
|
|
205
205
|
TextShape.getMutable(bubble.text).width = shortBubbleTextWidth;
|
|
206
206
|
}
|
|
207
207
|
else if (textLength < maxLengthNormalBubble) {
|
|
@@ -216,16 +216,16 @@ function adjustBubble(npc, textLength) {
|
|
|
216
216
|
MeshRenderer.setPlane(bubble.panel, setUVSection(bubbleOptions.long, 1024, 1024));
|
|
217
217
|
Transform.getMutable(bubble.panel).scale.x = longBubbleX;
|
|
218
218
|
Transform.getMutable(bubble.panel).scale.y = longBubbleY;
|
|
219
|
-
Transform.getMutable(bubble.container).position.x = longBubbleXOffset;
|
|
220
|
-
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + longBubbleYOffset;
|
|
219
|
+
Transform.getMutable(bubble.container).position.x = longBubbleXOffset + npcData.bubbleXOffset;
|
|
220
|
+
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + longBubbleYOffset + npcData.bubbleYOffset;
|
|
221
221
|
TextShape.getMutable(bubble.text).width = longBubbleTextWidth;
|
|
222
222
|
}
|
|
223
223
|
else {
|
|
224
224
|
MeshRenderer.setPlane(bubble.panel, setUVSection(bubbleOptions.huge, 1024, 1024));
|
|
225
225
|
Transform.getMutable(bubble.panel).scale.x = hugeBubbleX;
|
|
226
226
|
Transform.getMutable(bubble.panel).scale.y = hugeBubbleY;
|
|
227
|
-
Transform.getMutable(bubble.container).position.x = hugeBubbleXOffset;
|
|
228
|
-
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + hugeBubbleYOffset;
|
|
227
|
+
Transform.getMutable(bubble.container).position.x = hugeBubbleXOffset + npcData.bubbleXOffset;
|
|
228
|
+
Transform.getMutable(bubble.container).position.y = bubble.baseYOffset + hugeBubbleYOffset + npcData.bubbleYOffset;
|
|
229
229
|
TextShape.getMutable(bubble.text).width = hugeBubbleTextWidth;
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -355,4 +355,4 @@ export function getBubbleTextLength(text) {
|
|
|
355
355
|
return 40;
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2J1YmJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksV0FBVyxFQUFlLFNBQVMsRUFBaUIsTUFBTSxFQUEyQyxRQUFRLEVBQWMsWUFBWSxFQUFtQyxTQUFTLEVBQUMsU0FBUyxFQUFpQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUcxUSxPQUFPLEVBQVMsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV4QyxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQUcsdURBQXVELENBQUE7QUFFbkYsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFBO0FBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFFaEIsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUE7QUFDNUIsSUFBSSxxQkFBcUIsR0FBRyxFQUFFLENBQUE7QUFDOUIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFFN0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFDN0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFDM0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFFM0IsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQTtBQUM3QixJQUFJLG1CQUFtQixHQUFHLENBQUMsR0FBRyxD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LENBQUMsTUFBTSxJQUFJLG1CQUFtQixFQUFDO1FBQ3ZDLE9BQU8sRUFBRSxDQUFBO0tBQ1o7U0FDSSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUkscUJBQXFCLEVBQUM7UUFDekMsT0FBTyxFQUFFLENBQUE7S0FDWjtTQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxvQkFBb0IsRUFBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQTtLQUNaO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQW5pbWF0b3IsIEF1ZGlvU291cmNlLCBBdmF0YXJTaGFwZSwgQmlsbGJvYXJkLCBCaWxsYm9hcmRNb2RlLCBlbmdpbmUsIEVudGl0eSwgRm9udCwgR2x0ZkNvbnRhaW5lciwgSW5wdXRBY3Rpb24sTWF0ZXJpYWwsTWVzaENvbGxpZGVyLE1lc2hSZW5kZXJlcixwb2ludGVyRXZlbnRzU3lzdGVtLFRleHRBbGlnbk1vZGUsVGV4dFNoYXBlLFRyYW5zZm9ybSwgVHJhbnNmb3JtVHlwZSwgVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJ0BkY2wtc2RrL3V0aWxzJ1xuaW1wb3J0IHsgRGlhbG9nLCBJbWFnZVNlY3Rpb24gfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgQ29sb3IzLENvbG9yNCwgUXVhdGVybmlvbiwgVmVjdG9yMyB9IGZyb20gJ0BkY2wvc2RrL21hdGgnXG5pbXBvcnQgeyBhZGRMaW5lQnJlYWssIGFkZExpbmVCcmVha3MsIGZpbmREaWFsb2dCeU5hbWUgfSBmcm9tICcuL2RpYWxvZydcbmltcG9ydCB7IElzVHlwaW5nQnViYmxlIH0gZnJvbSAnLi9jb21wb25lbnRzJ1xuaW1wb3J0IHsgbnBjRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vbnBjJ1xuXG5leHBvcnQgbGV0IGJ1YmJsZXNUZXh0dXJlID0gJ2h0dHBzOi8vZGVjZW50cmFsYW5kLm9yZy9pbWFnZXMvdWkvZGlhbG9nLWJ1YmJsZXMucG5nJ1xuXG5leHBvcnQgbGV0IGJ1YmJsZXM6IE1hcDxFbnRpdHksIGFueT4gPSBuZXcgTWFwKClcblxubGV0IHRleHRTaXplID0gMVxubGV0IHRleHRZUG9zID0gMCAgICBcblxubGV0IG1heExlbmd0aFNob3J0QnViYmxlID0gOFxubGV0IG1heExlbmd0aE5vcm1hbEJ1YmJsZSA9IDI1XG5sZXQgbWF4TGVuZ3RoTG9uZ0J1YmJsZSA9IDUwXG5sZXQgbWF4TGVuZ3RoSHVnZUJ1YmJsZSA9IDEwMFxuXG5sZXQgc2hvcnRCdWJibGVYT2Zmc2V0ID0gMC4xXG5sZXQgbm9ybWFsQnViYmxlWE9mZnNldCA9IDAuNVxubGV0IGxvbmdCdWJibGVYT2Zmc2V0ID0gMC44XG5sZXQgaHVnZUJ1YmJsZVhPZmZzZXQgPSAwLjhcblxubGV0IHNob3J0QnViYmxlWU9mZnNldCA9IC0wLjJcbmxldCBub3JtYWxCdWJibGVZT2Zmc2V0ID0gLTAuMlxubGV0IGxvbmdCdWJibGVZT2Zmc2V0ID0gMFxubGV0IGh1Z2VCdWJibGVZT2Zmc2V0ID0gMC4yXG5cbmxldCBzaG9ydEJ1YmJsZVRleHRXaWR0aCA9IDAuN1xubGV0IG5vcm1hbEJ1YmJsZVRleHRXaWR0aCA9IDEuNVxubGV0IGxvbmdCdWJibGVUZXh0V2lkdGggPSAyXG5sZXQgaHVnZUJ1YmJsZVRleHRXaWR0aCA9IDEuNVxuXG5sZXQgc2hvcnRCdWJibGVYID0gMTE2ICogMC4wMDVcbmxldCBzaG9ydEJ1YmJsZVkgPSA4NCAqIDAuMDA1XG5cbmxldCBub3JtYWxCdWJibGVYID0gMjg2ICogMC4wMDVcbmxldCBub3JtYWxCdWJibGVZID0gODQgKiAwLjAwNVxuXG5sZXQgbG9uZ0J1YmJsZVggPSA0OTcgKiAwLjAwNVxubGV0IGxvbmdCdWJibGVZID0gMTUzICogMC4wMDVcblxubGV0IGh1Z2VCdWJibGVYID0gNDk3ICogMC4wMDVcbmxldCBodWdlQnViYmxlWSA9IDIzOSAqIDAuMDA1XG5cbmxldCBkZWZhdWx0WU9mZnNldCA9IDIuNVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpYWxvZ0J1YmJsZShucGM6RW50aXR5LCBoZWlnaHQ/Om51bWJlciwgc291bmQ/OnN0cmluZyl7XG4gICAgbGV0IGJhc2VZT2Zmc2V0ID0gaGVpZ2h0ID8gaGVpZ2h0IDogZGVmYXVsdFlPZmZzZXRcblxuICAgIGxldCByb290ID0gZW5naW5lLmFkZEVudGl0eSgpXG4gICAgQmlsbGJvYXJkLmNyZWF0ZShyb290LHtcbiAgICAgICAgYmlsbGJvYXJkTW9kZTpCaWxsYm9hcmRNb2RlLkJNX1lcbiAgICB9KVxuXG4gICAgVHJhbnNmb3JtLmNyZWF0ZShyb290LHtcbiAgICAgICAgcGFyZW50Om5wY1xuICAgIH0pXG5cbiAgICBsZXQgY29udGFpbmVyID0gZW5naW5lLmFkZEVudGl0eSgpXG4gICAgVHJhbnNmb3JtLmNyZWF0ZShjb250YWluZXIse1xuICAgICAgICBwYXJlbnQ6cm9vdCxcbiAgICAgICAgcG9zaXRpb246VmVjdG9yMy5jcmVhdGUoc2hvcnRCdWJibGVYT2Zmc2V0LGJhc2VZT2Zmc2V0LDApXG4gICAgfSlcblxuICAgIGxldCBwYW5lbCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUocGFuZWwse1xuICAgICAgICBwYXJlbnQ6Y29udGFpbmVyLFxuICAgICAgICBzY2FsZTogVmVjdG9yMy5jcmVhdGUoMiwxLDEpLFxuICAgICAgICAvL3JvdGF0aW9uOlF1YXRlcm5pb24uZnJvbUV1bGVyRGVncmVlcygwLDAsOTApXG4gICAgfSlcbiAgICBNZXNoUmVuZGVyZXIuc2V0UGxhbmUocGFuZWwsXG4gICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgYnViYmxlT3B0aW9ucy5ub3JtYWwsXG4gICAgICAgIDEwMjQsXG4gICAgICAgIDEwMjRcbiAgICAgICkpXG5cbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmNyZWF0ZShwYW5lbCwge3Zpc2libGU6IGZhbHNlfSlcblxuICAgIE1hdGVyaWFsLnNldEJhc2ljTWF0ZXJpYWwocGFuZWwsIHtcbiAgICAgICAgdGV4dHVyZTogTWF0ZXJpYWwuVGV4dHVyZS5Db21tb24oe1xuICAgICAgICAgIHNyYzogYnViYmxlc1RleHR1cmVcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICBsZXQgdGV4dCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUodGV4dCx7XG4gICAgICAgIHBvc2l0aW9uOlZlY3RvcjMuY3JlYXRlKDAsdGV4dFlQb3MsIC0uMDUpLFxuICAgICAgICBwYXJlbnQ6Y29udGFpbmVyXG4gICAgfSlcbiAgICBUZXh0U2hhcGUuY3JlYXRlKHRleHQsIHtcbiAgICAgICAgdGV4dDpcIlwiLCBcbiAgICAgICAgZm9udFNpemU6dGV4dFNpemUsXG4gICAgICAgIGZvbnQ6IEZvbnQuRl9TQU5TX1NFUklGLFxuICAgICAgICB0ZXh0Q29sb3I6IENvbG9yNC5jcmVhdGUoMCwwLDAsMSksXG4gICAgICAgIHRleHRBbGlnbjpUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSXG4gICAgfSlcbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmNyZWF0ZSh0ZXh0LCB7dmlzaWJsZTogZmFsc2V9KVxuXG4gICAgYnViYmxlcy5zZXQobnBjLCB7XG4gICAgICAgIGNvbnRhaW5lcjpjb250YWluZXIsXG4gICAgICAgIHBhbmVsOnBhbmVsLFxuICAgICAgICB0ZXh0OnRleHQsXG4gICAgICAgIGJhc2VZT2Zmc2V0OiBiYXNlWU9mZnNldCxcbiAgICAgICAgaXNCdWJibGVPcGVuOmZhbHNlLFxuICAgICAgICB0eXBpbmc6ZmFsc2UsXG4gICAgICAgIHZpc2libGVUZXh0OlwiXCIsXG4gICAgICAgIHZpc2libGVDaGFyczowLFxuICAgICAgICBmdWxsVGV4dDpcIlwiLFxuICAgICAgICB0aW1lcjowLFxuICAgICAgICBzcGVlZDozMCxcbiAgICAgICAgc2NyaXB0OltdLFxuICAgICAgICBpbmRleDowLFxuICAgICAgICBzb3VuZDogc291bmQgPyBzb3VuZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgc291bmRQbGF5ZXI6IHNvdW5kID8gZW5naW5lLmFkZEVudGl0eSgpIDogdW5kZWZpbmVkLFxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcGVuQnViYmxlKG5wYzpFbnRpdHksIGRpYWxvZzpEaWFsb2dbXSwgc3RhcnRJbmRleD86bnVtYmVyIHwgc3RyaW5nKXtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuXG4gICAgYnViYmxlLnNjcmlwdCA9IGRpYWxvZy5zbGljZSgpXG4gICAgbGV0IGluZGV4OmFueVxuICAgIGlmICghc3RhcnRJbmRleCkge1xuICAgICAgaW5kZXggPSAwXG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGluZGV4ID0gc3RhcnRJbmRleFxuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGZpbmREaWFsb2dCeU5hbWUoZGlhbG9nLCBzdGFydEluZGV4KVxuICAgIH1cblxuICAgIGJ1YmJsZS5pbmRleCA9IGluZGV4XG4gICAgXG4gICAgbGV0IGN1cnJlbnRUZXh0OiBEaWFsb2cgPSBkaWFsb2dbYnViYmxlLmluZGV4XSA/IGRpYWxvZ1tidWJibGUuaW5kZXhdIDogeyB0ZXh0OiAnJyB9XG4gICAgYnViYmxlLmN1cnJlbnRUZXh0ID0gY3VycmVudFRleHRcblxuICAgIGlmIChjdXJyZW50VGV4dC5hdWRpbykge1xuICAgICAgICBBdWRpb1NvdXJjZS5jcmVhdGVPclJlcGxhY2UoYnViYmxlLnNvdW5kUGxheWVyLCB7XG4gICAgICAgICAgICBhdWRpb0NsaXBVcmw6IGN1cnJlbnRUZXh0LmF1ZGlvLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfSBlbHNlIGlmIChidWJibGUuc291bmQpIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBidWJibGUuc291bmQsXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYXlpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGxldCBhdWRpbyA9IEF1ZGlvU291cmNlLmdldE11dGFibGUoYnViYmxlLnNvdW5kUGxheWVyKVxuICAgICAgICBhdWRpby52b2x1bWUgPSAwLjVcbiAgICAgICAgYXVkaW8ucGxheWluZyA9IHRydWVcbiAgICB9XG5cbiAgICBsZXQgdGV4dCA9IGJ1YmJsZS50ZXh0XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUodGV4dCkuZm9udFNpemUgPSBjdXJyZW50VGV4dC5mb250U2l6ZSA/IGN1cnJlbnRUZXh0LmZvbnRTaXplIDogdGV4dFNpemVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZSh0ZXh0KS5wb3NpdGlvbi55ID0gY3VycmVudFRleHQub2Zmc2V0WSA/IGN1cnJlbnRUZXh0Lm9mZnNldFkgKyB0ZXh0WVBvcyA6IHRleHRZUG9zXG4gICAgVHJhbnNmb3JtLmdldE11dGFibGUodGV4dCkucG9zaXRpb24ueCA9IGN1cnJlbnRUZXh0Lm9mZnNldFggPyBjdXJyZW50VGV4dC5vZmZzZXRYIDogMFxuXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudC5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkudmlzaWJsZSA9IHRydWVcblxuICAgIGlmIChjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aCA8IG1heExlbmd0aEh1Z2VCdWJibGUpIHtcbiAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgfVxuXG4gICAgYmVnaW5UeXBpbmcoXG4gICAgICAgIG5wYyxcbiAgICAgICAgY3VycmVudFRleHQudGV4dCxcbiAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICBjdXJyZW50VGV4dC50aW1lT24gPyBjdXJyZW50VGV4dC50aW1lT24gOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA/IGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA6IHVuZGVmaW5lZCBcbiAgICApXG5cbiAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgYnViYmxlLmlzQnViYmxlT3BlbiA9IHRydWVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQnViYmxlKG5wYzpFbnRpdHkpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgICAgIGJ1YmJsZS5pc0J1YmJsZU9wZW4gPSBmYWxzZVxuICAgICAgICBidWJibGUudHlwaW5nID0gZmFsc2VcbiAgICAgICAgYnViYmxlLnZpc2libGVUZXh0ID0gXCJcIlxuICAgICAgICBidWJibGUudmlzaWJsZUNoYXJzID0gMFxuICAgICAgICBidWJibGUuZnVsbFRleHQgPSBcIlwiXG4gICAgICAgIGJ1YmJsZS50aW1lciA9IDBcbiAgICAgICAgYnViYmxlLmluZGV4ID0gMFxuICAgICAgICBidWJibGUuc2NyaXB0ID0gW11cbiAgICAgICAgYnViYmxlLmJ1dHRvbnMgPSAwXG4gICAgICAgIGJ1YmJsZS5tYXJnaW4gPSAwXG4gICAgICAgIGJ1YmJsZS5jdXJyZW50VGV4dCA9IG51bGxcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLnRleHQgPSBcIlwiXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnZpc2libGUgPSBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VCdWJibGVFbmRBbGwobnBjOkVudGl0eSk6IHZvaWQge1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgaWYgKGJ1YmJsZS5pc0J1YmJsZU9wZW4pIHtcbiAgICAgICAgYnViYmxlLmRvbmUgPSB0cnVlXG4gICAgICAgIGNsb3NlQnViYmxlKG5wYylcbiAgICB9XG4gIH1cblxuY29uc3QgREVGQVVMVF9TUEVFRCA9IDQ1XG5cbmNvbnN0IERFRkFVTFRfVElNRV9PTiA9IDNcblxuZnVuY3Rpb24gYmVnaW5UeXBpbmcobnBjOkVudGl0eSwgdGV4dDpzdHJpbmcsIHRleHRJZDpudW1iZXIsIHRpbWVPbj86bnVtYmVyLCBzcGVlZD86bnVtYmVyKXtcbiAgICBsZXQgZGlhbG9nRGF0YSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBkaWFsb2dEYXRhLmZ1bGxUZXh0ID0gYWRkTGluZUJyZWFrKGRpYWxvZ0RhdGEuc2NyaXB0W2RpYWxvZ0RhdGEuaW5kZXhdLnRleHQsIHRydWUpXG4gICAgZGlhbG9nRGF0YS50eXBpbmcgPSB0cnVlXG4gICAgZGlhbG9nRGF0YS5kb25lID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gXCJcIlxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZXIgPSAwXG4gICAgZGlhbG9nRGF0YS5idXR0b25zID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZU9uID0gdGltZU9uID8gdGltZU9uIDogREVGQVVMVF9USU1FX09OXG4gICAgZGlhbG9nRGF0YS5zcGVlZCA9IHNwZWVkID8gc3BlZWQgOiBERUZBVUxUX1NQRUVEXG5cbiAgICBkaWFsb2dEYXRhLm9wZW5UaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpKVxuXG4gICAgaWYoZGlhbG9nRGF0YS5zcGVlZCA8PSAwKXtcbiAgICAgICAgcnVzaFRleHQobnBjKVxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZighSXNUeXBpbmdCdWJibGUuaGFzKG5wYykpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2NyZWF0aW5nIHR5cHVpbmcgYnViYmxlJylcbiAgICAgICAgICAgIElzVHlwaW5nQnViYmxlLmNyZWF0ZShucGMpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJ1c2hUZXh0KG5wYzpFbnRpdHkpe1xuICAgIGxldCBkaWFsb2dEYXRhID0gYnViYmxlcy5nZXQobnBjKVxuICAgIGRpYWxvZ0RhdGEudHlwaW5nID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnRpbWVyID0gMFxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gZGlhbG9nRGF0YS5mdWxsVGV4dC5sZW5ndGhcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gZGlhbG9nRGF0YS5mdWxsVGV4dFxufVxuXG5mdW5jdGlvbiBhZGp1c3RCdWJibGUobnBjOkVudGl0eSwgdGV4dExlbmd0aDpudW1iZXIpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgbGV0IG5wY0RhdGEgPSBucGNEYXRhQ29tcG9uZW50LmdldChucGMpXG5cbiAgICBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aFNob3J0QnViYmxlKSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLnNob3J0LFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IHNob3J0QnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBzaG9ydEJ1YmJsZVlcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueCA9IHNob3J0QnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgc2hvcnRCdWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IHNob3J0QnViYmxlVGV4dFdpZHRoXG4gICAgICB9IGVsc2UgaWYgKHRleHRMZW5ndGggPCBtYXhMZW5ndGhOb3JtYWxCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubm9ybWFsLFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IG5vcm1hbEJ1YmJsZVhcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS55ID0gbm9ybWFsQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbm9ybWFsQnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgbm9ybWFsQnViYmxlWU9mZnNldCArIG5wY0RhdGEuYnViYmxlWU9mZnNldFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkud2lkdGggPSBub3JtYWxCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aExvbmdCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubG9uZyxcbiAgICAgICAgICAgIDEwMjQsXG4gICAgICAgICAgICAxMDI0XG4gICAgICAgICAgKSlcblxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBsb25nQnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBsb25nQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbG9uZ0J1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIGxvbmdCdWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IGxvbmdCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLmh1Z2UsXG4gICAgICAgICAgICAxMDI0LFxuICAgICAgICAgICAgMTAyNFxuICAgICAgICAgICkpXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IGh1Z2VCdWJibGVYXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueSA9IGh1Z2VCdWJibGVZXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5jb250YWluZXIpLnBvc2l0aW9uLnggPSBodWdlQnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgaHVnZUJ1YmJsZVlPZmZzZXRcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLndpZHRoID0gaHVnZUJ1YmJsZVRleHRXaWR0aFxuICAgICAgfVxufVxuXG4vLyBBZGRzIHRoZSBidXR0b25zIG9yIG1vdXNlIGljb24gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHdpbmRvd1xuZnVuY3Rpb24gbGF5b3V0RGlhbG9nV2luZG93KG5wYzpFbnRpdHksIHRleHRJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBsZXQgY3VycmVudFRleHQ6IERpYWxvZyA9IGJ1YmJsZS5zY3JpcHRbdGV4dElkXVxuICAgICAgPyBidWJibGUuc2NyaXB0W3RleHRJZF1cbiAgICAgIDogeyB0ZXh0OiAnJyB9XG5cbiAgICAvLyBVcGRhdGUgdGV4dFxuICAgIGxldCB0ZXh0WSA9IGN1cnJlbnRUZXh0Lm9mZnNldFkgPyBjdXJyZW50VGV4dC5vZmZzZXRZICsgdGV4dFlQb3MgOiB0ZXh0WVBvc1xuXG4gICAgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMykge1xuICAgICAgdGV4dFkgKz0gNTBcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMSkge1xuICAgICAgdGV4dFkgKz0gMjRcbiAgICB9XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLmZvbnRTaXplID0gY3VycmVudFRleHQuZm9udFNpemVcbiAgICA/IGN1cnJlbnRUZXh0LmZvbnRTaXplXG4gICAgOiB0ZXh0U2l6ZVxuICAgIFxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IHRydWVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUudGV4dCkucG9zaXRpb24ueSA9IHRleHRZXG5cbiAgICBpZiAoY3VycmVudFRleHQuYXVkaW8pIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBjdXJyZW50VGV4dC5hdWRpbyxcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgcGxheWluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgbGV0IGF1ZGlvID0gQXVkaW9Tb3VyY2UuZ2V0TXV0YWJsZShidWJibGUuc291bmRQbGF5ZXIpXG4gICAgICAgIGF1ZGlvLnZvbHVtZSA9IDAuNVxuICAgICAgICBhdWRpby5wbGF5aW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoYnViYmxlLnNvdW5kKSB7XG4gICAgICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShidWJibGUuc291bmRQbGF5ZXIsIHtcbiAgICAgICAgICAgIGF1ZGlvQ2xpcFVybDogYnViYmxlLnNvdW5kLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfVxuXG4gIH1cblxuLy8gUHJvZ3Jlc3NlcyB0ZXh0XG5leHBvcnQgZnVuY3Rpb24gbmV4dChucGM6RW50aXR5KTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcblxuICAgIGlmKGJ1YmJsZS5pc0J1YmJsZU9wZW4pe1xuICAgICAgbGV0IGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXhdXG5cbiAgICAgIGlmKCFjdXJyZW50VGV4dCl7XG4gICAgICAgIGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXgtMV1cbiAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCgpXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LmlzRW5kT2ZEaWFsb2cpIHtcbiAgICAgICAgICBjbG9zZUJ1YmJsZShucGMpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAvLyBVcGRhdGUgYWN0aXZlIHRleHRcbiAgICAgICAgIGJ1YmJsZS5pbmRleCsrXG4gICAgXG4gICAgICAgIC8vIFVwZGF0ZSBhY3RpdmUgdGV4dCB3aXRoIG5ldyBhY3RpdmUgdGV4dFxuICAgICAgICBjdXJyZW50VGV4dCA9IGJ1YmJsZS5zY3JpcHRbYnViYmxlLmluZGV4XVxuICAgIFxuICAgICAgICBpZiAoY3VycmVudFRleHQudGV4dC5sZW5ndGggPCBtYXhMZW5ndGhIdWdlQnViYmxlKSB7XG4gICAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS50ZXh0ID0gXCJcIlxuICAgIFxuICAgICAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBcbiAgICAgICAgYmVnaW5UeXBpbmcoXG4gICAgICAgICAgICBucGMsXG4gICAgICAgICAgICBjdXJyZW50VGV4dC50ZXh0LFxuICAgICAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICAgICAgY3VycmVudFRleHQudGltZU9uID8gY3VycmVudFRleHQudGltZU9uIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3VycmVudFRleHQudHlwZVNwZWVkID8gY3VycmVudFRleHQudHlwZVNwZWVkIDogdW5kZWZpbmVkIFxuICAgICAgICApXG4gICAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgfVxuXG4gICAgXG4gIH1cblxuZnVuY3Rpb24gc2V0VVZTZWN0aW9uKFxuXHRzZWN0aW9uOiBJbWFnZVNlY3Rpb24sXG5cdHNpemVYOiBudW1iZXIsXG5cdHNpemVZOiBudW1iZXJcbiAgKSB7XG5cdHJldHVybiBzZXRVVnMoXG4gICAgICAgIHt4OiAgc2VjdGlvbi5zb3VyY2VMZWZ0ISAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAgKHNpemVZIC0gc2VjdGlvbi5zb3VyY2VUb3AhKSAvIHNpemVZfSxcbiAgICAgICAge3g6ICBzZWN0aW9uLnNvdXJjZUxlZnQhIC8gc2l6ZVgsIHk6IChzaXplWSAtIHNlY3Rpb24uc291cmNlVG9wISkgLyBzaXplWX0sXG5cdClcbiAgfVxuXG5mdW5jdGlvbiBzZXRVVnMoXG5cdF91djAwOiBhbnksXG5cdF91djEwOiBhbnksXG5cdF91djExOiBhbnksXG5cdF91djAxOiBhbnlcbiAgKSB7XG5cblx0cmV0dXJuIFtcblx0ICBfdXYwMC54LFxuXHQgIF91djAwLnksXG4gIFxuXHQgIF91djEwLngsXG5cdCAgX3V2MTAueSxcbiAgXG5cdCAgX3V2MTEueCxcblx0ICBfdXYxMS55LFxuICBcblx0ICBfdXYwMS54LFxuXHQgIF91djAxLnksXG5cdCAgLy8tLS0tXG5cdCAgX3V2MDAueCxcblx0ICBfdXYwMC55LFxuICBcblx0ICBfdXYxMC54LFxuXHQgIF91djEwLnksXG4gIFxuXHQgIF91djExLngsXG5cdCAgX3V2MTEueSxcbiAgXG5cdCAgX3V2MDEueCxcblx0ICBfdXYwMS55LFxuXHRdXG4gIH1cblxuICBsZXQgYnViYmxlT3B0aW9uczphbnkgPSB7XG4gICAgc2hvcnQ6IHtcbiAgICAgIHNvdXJjZVdpZHRoOiAxMTYgKiAyLFxuICAgICAgc291cmNlSGVpZ2h0OiA4NCAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiAzMDUgKiAyLFxuICAgICAgc291cmNlVG9wOiA0MTcgKiAyLFxuICAgIH0sXG4gICAgbm9ybWFsOiB7XG4gICAgICBzb3VyY2VXaWR0aDogMjg2ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogODQgKiAyLFxuICAgICAgc291cmNlTGVmdDogOCAqIDIsXG4gICAgICBzb3VyY2VUb3A6IDQxNyAqIDIsXG4gICAgfSxcbiAgICBsb25nOiB7XG4gICAgICBzb3VyY2VXaWR0aDogNDk3ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogMTUzICogMixcbiAgICAgIHNvdXJjZUxlZnQ6IDYgKiAyLFxuICAgICAgc291cmNlVG9wOiAyNTQgKiAyLFxuICAgIH0sXG4gICAgaHVnZToge1xuICAgICAgc291cmNlV2lkdGg6IDQ5NyAqIDIsXG4gICAgICBzb3VyY2VIZWlnaHQ6IDIzOSAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiA2ICogMixcbiAgICAgIHNvdXJjZVRvcDogNyAqIDIsXG4gICAgfSxcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnViYmxlVGV4dExlbmd0aCh0ZXh0OnN0cmluZyl7XG4gICAgaWYodGV4dC5sZW5ndGggPj0gbWF4TGVuZ3RoSHVnZUJ1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgICBlbHNlIGlmKHRleHQubGVuZ3RoID49IG1heExlbmd0aExvbmdCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gICAgZWxzZSBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhOb3JtYWxCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gICAgZWxzZSBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhTaG9ydEJ1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgfSJdfQ==
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2J1YmJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQVksV0FBVyxFQUFlLFNBQVMsRUFBaUIsTUFBTSxFQUEyQyxRQUFRLEVBQWMsWUFBWSxFQUFtQyxTQUFTLEVBQUMsU0FBUyxFQUFpQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUcxUSxPQUFPLEVBQVMsTUFBTSxFQUFjLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUV4QyxNQUFNLENBQUMsSUFBSSxjQUFjLEdBQUcsdURBQXVELENBQUE7QUFFbkYsTUFBTSxDQUFDLElBQUksT0FBTyxHQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFBO0FBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUE7QUFFaEIsSUFBSSxvQkFBb0IsR0FBRyxDQUFDLENBQUE7QUFDNUIsSUFBSSxxQkFBcUIsR0FBRyxFQUFFLENBQUE7QUFDOUIsSUFBSSxtQkFBbUIsR0FBRyxFQUFFLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFFN0IsSUFBSSxrQkFBa0IsR0FBRyxHQUFHLENBQUE7QUFDNUIsSUFBSSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7QUFDN0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFDM0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFFM0IsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQTtBQUM3QixJQUFJLG1CQUFtQixHQUFHLENBQUMsR0FBRyxD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Q0FBQTtBQUdELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxJQUFXO0lBQzNDLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxtQkFBbUIsRUFBQztRQUNsQyxPQUFPLEVBQUUsQ0FBQTtLQUNaO1NBQ0ksSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLG1CQUFtQixFQUFDO1FBQ3ZDLE9BQU8sRUFBRSxDQUFBO0tBQ1o7U0FDSSxJQUFHLElBQUksQ0FBQyxNQUFNLElBQUkscUJBQXFCLEVBQUM7UUFDekMsT0FBTyxFQUFFLENBQUE7S0FDWjtTQUNJLElBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxvQkFBb0IsRUFBQztRQUN4QyxPQUFPLEVBQUUsQ0FBQTtLQUNaO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQW5pbWF0b3IsIEF1ZGlvU291cmNlLCBBdmF0YXJTaGFwZSwgQmlsbGJvYXJkLCBCaWxsYm9hcmRNb2RlLCBlbmdpbmUsIEVudGl0eSwgRm9udCwgR2x0ZkNvbnRhaW5lciwgSW5wdXRBY3Rpb24sTWF0ZXJpYWwsTWVzaENvbGxpZGVyLE1lc2hSZW5kZXJlcixwb2ludGVyRXZlbnRzU3lzdGVtLFRleHRBbGlnbk1vZGUsVGV4dFNoYXBlLFRyYW5zZm9ybSwgVHJhbnNmb3JtVHlwZSwgVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJ0BkY2wvc2RrL2VjcydcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJ0BkY2wtc2RrL3V0aWxzJ1xuaW1wb3J0IHsgRGlhbG9nLCBJbWFnZVNlY3Rpb24gfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgQ29sb3IzLENvbG9yNCwgUXVhdGVybmlvbiwgVmVjdG9yMyB9IGZyb20gJ0BkY2wvc2RrL21hdGgnXG5pbXBvcnQgeyBhZGRMaW5lQnJlYWssIGFkZExpbmVCcmVha3MsIGZpbmREaWFsb2dCeU5hbWUgfSBmcm9tICcuL2RpYWxvZydcbmltcG9ydCB7IElzVHlwaW5nQnViYmxlIH0gZnJvbSAnLi9jb21wb25lbnRzJ1xuaW1wb3J0IHsgbnBjRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vbnBjJ1xuXG5leHBvcnQgbGV0IGJ1YmJsZXNUZXh0dXJlID0gJ2h0dHBzOi8vZGVjZW50cmFsYW5kLm9yZy9pbWFnZXMvdWkvZGlhbG9nLWJ1YmJsZXMucG5nJ1xuXG5leHBvcnQgbGV0IGJ1YmJsZXM6IE1hcDxFbnRpdHksIGFueT4gPSBuZXcgTWFwKClcblxubGV0IHRleHRTaXplID0gMVxubGV0IHRleHRZUG9zID0gMCAgICBcblxubGV0IG1heExlbmd0aFNob3J0QnViYmxlID0gOFxubGV0IG1heExlbmd0aE5vcm1hbEJ1YmJsZSA9IDI1XG5sZXQgbWF4TGVuZ3RoTG9uZ0J1YmJsZSA9IDUwXG5sZXQgbWF4TGVuZ3RoSHVnZUJ1YmJsZSA9IDEwMFxuXG5sZXQgc2hvcnRCdWJibGVYT2Zmc2V0ID0gMC4xXG5sZXQgbm9ybWFsQnViYmxlWE9mZnNldCA9IDAuNVxubGV0IGxvbmdCdWJibGVYT2Zmc2V0ID0gMC44XG5sZXQgaHVnZUJ1YmJsZVhPZmZzZXQgPSAwLjhcblxubGV0IHNob3J0QnViYmxlWU9mZnNldCA9IC0wLjJcbmxldCBub3JtYWxCdWJibGVZT2Zmc2V0ID0gLTAuMlxubGV0IGxvbmdCdWJibGVZT2Zmc2V0ID0gMFxubGV0IGh1Z2VCdWJibGVZT2Zmc2V0ID0gMC4yXG5cbmxldCBzaG9ydEJ1YmJsZVRleHRXaWR0aCA9IDAuN1xubGV0IG5vcm1hbEJ1YmJsZVRleHRXaWR0aCA9IDEuNVxubGV0IGxvbmdCdWJibGVUZXh0V2lkdGggPSAyXG5sZXQgaHVnZUJ1YmJsZVRleHRXaWR0aCA9IDEuNVxuXG5sZXQgc2hvcnRCdWJibGVYID0gMTE2ICogMC4wMDVcbmxldCBzaG9ydEJ1YmJsZVkgPSA4NCAqIDAuMDA1XG5cbmxldCBub3JtYWxCdWJibGVYID0gMjg2ICogMC4wMDVcbmxldCBub3JtYWxCdWJibGVZID0gODQgKiAwLjAwNVxuXG5sZXQgbG9uZ0J1YmJsZVggPSA0OTcgKiAwLjAwNVxubGV0IGxvbmdCdWJibGVZID0gMTUzICogMC4wMDVcblxubGV0IGh1Z2VCdWJibGVYID0gNDk3ICogMC4wMDVcbmxldCBodWdlQnViYmxlWSA9IDIzOSAqIDAuMDA1XG5cbmxldCBkZWZhdWx0WU9mZnNldCA9IDIuNVxuXG5cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURpYWxvZ0J1YmJsZShucGM6RW50aXR5LCBoZWlnaHQ/Om51bWJlciwgc291bmQ/OnN0cmluZyl7XG4gICAgbGV0IGJhc2VZT2Zmc2V0ID0gaGVpZ2h0ID8gaGVpZ2h0IDogZGVmYXVsdFlPZmZzZXRcblxuICAgIGxldCByb290ID0gZW5naW5lLmFkZEVudGl0eSgpXG4gICAgQmlsbGJvYXJkLmNyZWF0ZShyb290LHtcbiAgICAgICAgYmlsbGJvYXJkTW9kZTpCaWxsYm9hcmRNb2RlLkJNX1lcbiAgICB9KVxuXG4gICAgVHJhbnNmb3JtLmNyZWF0ZShyb290LHtcbiAgICAgICAgcGFyZW50Om5wY1xuICAgIH0pXG5cbiAgICBsZXQgY29udGFpbmVyID0gZW5naW5lLmFkZEVudGl0eSgpXG4gICAgVHJhbnNmb3JtLmNyZWF0ZShjb250YWluZXIse1xuICAgICAgICBwYXJlbnQ6cm9vdCxcbiAgICAgICAgcG9zaXRpb246VmVjdG9yMy5jcmVhdGUoc2hvcnRCdWJibGVYT2Zmc2V0LGJhc2VZT2Zmc2V0LDApXG4gICAgfSlcblxuICAgIGxldCBwYW5lbCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUocGFuZWwse1xuICAgICAgICBwYXJlbnQ6Y29udGFpbmVyLFxuICAgICAgICBzY2FsZTogVmVjdG9yMy5jcmVhdGUoMiwxLDEpLFxuICAgICAgICAvL3JvdGF0aW9uOlF1YXRlcm5pb24uZnJvbUV1bGVyRGVncmVlcygwLDAsOTApXG4gICAgfSlcbiAgICBNZXNoUmVuZGVyZXIuc2V0UGxhbmUocGFuZWwsXG4gICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgYnViYmxlT3B0aW9ucy5ub3JtYWwsXG4gICAgICAgIDEwMjQsXG4gICAgICAgIDEwMjRcbiAgICAgICkpXG5cbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmNyZWF0ZShwYW5lbCwge3Zpc2libGU6IGZhbHNlfSlcblxuICAgIE1hdGVyaWFsLnNldEJhc2ljTWF0ZXJpYWwocGFuZWwsIHtcbiAgICAgICAgdGV4dHVyZTogTWF0ZXJpYWwuVGV4dHVyZS5Db21tb24oe1xuICAgICAgICAgIHNyYzogYnViYmxlc1RleHR1cmVcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICBsZXQgdGV4dCA9IGVuZ2luZS5hZGRFbnRpdHkoKVxuICAgIFRyYW5zZm9ybS5jcmVhdGUodGV4dCx7XG4gICAgICAgIHBvc2l0aW9uOlZlY3RvcjMuY3JlYXRlKDAsdGV4dFlQb3MsIC0uMDUpLFxuICAgICAgICBwYXJlbnQ6Y29udGFpbmVyXG4gICAgfSlcbiAgICBUZXh0U2hhcGUuY3JlYXRlKHRleHQsIHtcbiAgICAgICAgdGV4dDpcIlwiLCBcbiAgICAgICAgZm9udFNpemU6dGV4dFNpemUsXG4gICAgICAgIGZvbnQ6IEZvbnQuRl9TQU5TX1NFUklGLFxuICAgICAgICB0ZXh0Q29sb3I6IENvbG9yNC5jcmVhdGUoMCwwLDAsMSksXG4gICAgICAgIHRleHRBbGlnbjpUZXh0QWxpZ25Nb2RlLlRBTV9NSURETEVfQ0VOVEVSXG4gICAgfSlcbiAgICBWaXNpYmlsaXR5Q29tcG9uZW50LmNyZWF0ZSh0ZXh0LCB7dmlzaWJsZTogZmFsc2V9KVxuXG4gICAgYnViYmxlcy5zZXQobnBjLCB7XG4gICAgICAgIGNvbnRhaW5lcjpjb250YWluZXIsXG4gICAgICAgIHBhbmVsOnBhbmVsLFxuICAgICAgICB0ZXh0OnRleHQsXG4gICAgICAgIGJhc2VZT2Zmc2V0OiBiYXNlWU9mZnNldCxcbiAgICAgICAgaXNCdWJibGVPcGVuOmZhbHNlLFxuICAgICAgICB0eXBpbmc6ZmFsc2UsXG4gICAgICAgIHZpc2libGVUZXh0OlwiXCIsXG4gICAgICAgIHZpc2libGVDaGFyczowLFxuICAgICAgICBmdWxsVGV4dDpcIlwiLFxuICAgICAgICB0aW1lcjowLFxuICAgICAgICBzcGVlZDozMCxcbiAgICAgICAgc2NyaXB0OltdLFxuICAgICAgICBpbmRleDowLFxuICAgICAgICBzb3VuZDogc291bmQgPyBzb3VuZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgc291bmRQbGF5ZXI6IHNvdW5kID8gZW5naW5lLmFkZEVudGl0eSgpIDogdW5kZWZpbmVkLFxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcGVuQnViYmxlKG5wYzpFbnRpdHksIGRpYWxvZzpEaWFsb2dbXSwgc3RhcnRJbmRleD86bnVtYmVyIHwgc3RyaW5nKXtcbiAgICBsZXQgYnViYmxlID0gYnViYmxlcy5nZXQobnBjKVxuXG4gICAgYnViYmxlLnNjcmlwdCA9IGRpYWxvZy5zbGljZSgpXG4gICAgbGV0IGluZGV4OmFueVxuICAgIGlmICghc3RhcnRJbmRleCkge1xuICAgICAgaW5kZXggPSAwXG4gICAgfSBlbHNlIGlmICh0eXBlb2Ygc3RhcnRJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGluZGV4ID0gc3RhcnRJbmRleFxuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IGZpbmREaWFsb2dCeU5hbWUoZGlhbG9nLCBzdGFydEluZGV4KVxuICAgIH1cblxuICAgIGJ1YmJsZS5pbmRleCA9IGluZGV4XG4gICAgXG4gICAgbGV0IGN1cnJlbnRUZXh0OiBEaWFsb2cgPSBkaWFsb2dbYnViYmxlLmluZGV4XSA/IGRpYWxvZ1tidWJibGUuaW5kZXhdIDogeyB0ZXh0OiAnJyB9XG4gICAgYnViYmxlLmN1cnJlbnRUZXh0ID0gY3VycmVudFRleHRcblxuICAgIGlmIChjdXJyZW50VGV4dC5hdWRpbykge1xuICAgICAgICBBdWRpb1NvdXJjZS5jcmVhdGVPclJlcGxhY2UoYnViYmxlLnNvdW5kUGxheWVyLCB7XG4gICAgICAgICAgICBhdWRpb0NsaXBVcmw6IGN1cnJlbnRUZXh0LmF1ZGlvLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfSBlbHNlIGlmIChidWJibGUuc291bmQpIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBidWJibGUuc291bmQsXG4gICAgICAgICAgICBsb29wOiBmYWxzZSxcbiAgICAgICAgICAgIHBsYXlpbmc6IGZhbHNlXG4gICAgICAgIH0pXG4gICAgICAgIGxldCBhdWRpbyA9IEF1ZGlvU291cmNlLmdldE11dGFibGUoYnViYmxlLnNvdW5kUGxheWVyKVxuICAgICAgICBhdWRpby52b2x1bWUgPSAwLjVcbiAgICAgICAgYXVkaW8ucGxheWluZyA9IHRydWVcbiAgICB9XG5cbiAgICBsZXQgdGV4dCA9IGJ1YmJsZS50ZXh0XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUodGV4dCkuZm9udFNpemUgPSBjdXJyZW50VGV4dC5mb250U2l6ZSA/IGN1cnJlbnRUZXh0LmZvbnRTaXplIDogdGV4dFNpemVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZSh0ZXh0KS5wb3NpdGlvbi55ID0gY3VycmVudFRleHQub2Zmc2V0WSA/IGN1cnJlbnRUZXh0Lm9mZnNldFkgKyB0ZXh0WVBvcyA6IHRleHRZUG9zXG4gICAgVHJhbnNmb3JtLmdldE11dGFibGUodGV4dCkucG9zaXRpb24ueCA9IGN1cnJlbnRUZXh0Lm9mZnNldFggPyBjdXJyZW50VGV4dC5vZmZzZXRYIDogMFxuXG4gICAgVmlzaWJpbGl0eUNvbXBvbmVudC5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkudmlzaWJsZSA9IHRydWVcblxuICAgIGlmIChjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aCA8IG1heExlbmd0aEh1Z2VCdWJibGUpIHtcbiAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgfVxuXG4gICAgYmVnaW5UeXBpbmcoXG4gICAgICAgIG5wYyxcbiAgICAgICAgY3VycmVudFRleHQudGV4dCxcbiAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICBjdXJyZW50VGV4dC50aW1lT24gPyBjdXJyZW50VGV4dC50aW1lT24gOiB1bmRlZmluZWQsXG4gICAgICAgIGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA/IGN1cnJlbnRUZXh0LnR5cGVTcGVlZCA6IHVuZGVmaW5lZCBcbiAgICApXG5cbiAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgYnViYmxlLmlzQnViYmxlT3BlbiA9IHRydWVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb3NlQnViYmxlKG5wYzpFbnRpdHkpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgICAgIGJ1YmJsZS5pc0J1YmJsZU9wZW4gPSBmYWxzZVxuICAgICAgICBidWJibGUudHlwaW5nID0gZmFsc2VcbiAgICAgICAgYnViYmxlLnZpc2libGVUZXh0ID0gXCJcIlxuICAgICAgICBidWJibGUudmlzaWJsZUNoYXJzID0gMFxuICAgICAgICBidWJibGUuZnVsbFRleHQgPSBcIlwiXG4gICAgICAgIGJ1YmJsZS50aW1lciA9IDBcbiAgICAgICAgYnViYmxlLmluZGV4ID0gMFxuICAgICAgICBidWJibGUuc2NyaXB0ID0gW11cbiAgICAgICAgYnViYmxlLmJ1dHRvbnMgPSAwXG4gICAgICAgIGJ1YmJsZS5tYXJnaW4gPSAwXG4gICAgICAgIGJ1YmJsZS5jdXJyZW50VGV4dCA9IG51bGxcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLnRleHQgPSBcIlwiXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IGZhbHNlXG4gICAgICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnZpc2libGUgPSBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VCdWJibGVFbmRBbGwobnBjOkVudGl0eSk6IHZvaWQge1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgaWYgKGJ1YmJsZS5pc0J1YmJsZU9wZW4pIHtcbiAgICAgICAgYnViYmxlLmRvbmUgPSB0cnVlXG4gICAgICAgIGNsb3NlQnViYmxlKG5wYylcbiAgICB9XG4gIH1cblxuY29uc3QgREVGQVVMVF9TUEVFRCA9IDQ1XG5cbmNvbnN0IERFRkFVTFRfVElNRV9PTiA9IDNcblxuZnVuY3Rpb24gYmVnaW5UeXBpbmcobnBjOkVudGl0eSwgdGV4dDpzdHJpbmcsIHRleHRJZDpudW1iZXIsIHRpbWVPbj86bnVtYmVyLCBzcGVlZD86bnVtYmVyKXtcbiAgICBsZXQgZGlhbG9nRGF0YSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBkaWFsb2dEYXRhLmZ1bGxUZXh0ID0gYWRkTGluZUJyZWFrKGRpYWxvZ0RhdGEuc2NyaXB0W2RpYWxvZ0RhdGEuaW5kZXhdLnRleHQsIHRydWUpXG4gICAgZGlhbG9nRGF0YS50eXBpbmcgPSB0cnVlXG4gICAgZGlhbG9nRGF0YS5kb25lID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gXCJcIlxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZXIgPSAwXG4gICAgZGlhbG9nRGF0YS5idXR0b25zID0gMFxuICAgIGRpYWxvZ0RhdGEudGltZU9uID0gdGltZU9uID8gdGltZU9uIDogREVGQVVMVF9USU1FX09OXG4gICAgZGlhbG9nRGF0YS5zcGVlZCA9IHNwZWVkID8gc3BlZWQgOiBERUZBVUxUX1NQRUVEXG5cbiAgICBkaWFsb2dEYXRhLm9wZW5UaW1lID0gTWF0aC5mbG9vcihEYXRlLm5vdygpKVxuXG4gICAgaWYoZGlhbG9nRGF0YS5zcGVlZCA8PSAwKXtcbiAgICAgICAgcnVzaFRleHQobnBjKVxuICAgIH1cbiAgICBlbHNle1xuICAgICAgICBpZighSXNUeXBpbmdCdWJibGUuaGFzKG5wYykpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ2NyZWF0aW5nIHR5cHVpbmcgYnViYmxlJylcbiAgICAgICAgICAgIElzVHlwaW5nQnViYmxlLmNyZWF0ZShucGMpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJ1c2hUZXh0KG5wYzpFbnRpdHkpe1xuICAgIGxldCBkaWFsb2dEYXRhID0gYnViYmxlcy5nZXQobnBjKVxuICAgIGRpYWxvZ0RhdGEudHlwaW5nID0gZmFsc2VcbiAgICBkaWFsb2dEYXRhLnRpbWVyID0gMFxuICAgIGRpYWxvZ0RhdGEudmlzaWJsZUNoYXJzID0gZGlhbG9nRGF0YS5mdWxsVGV4dC5sZW5ndGhcbiAgICBkaWFsb2dEYXRhLnZpc2libGVUZXh0ID0gZGlhbG9nRGF0YS5mdWxsVGV4dFxufVxuXG5mdW5jdGlvbiBhZGp1c3RCdWJibGUobnBjOkVudGl0eSwgdGV4dExlbmd0aDpudW1iZXIpe1xuICAgIGxldCBidWJibGUgPSBidWJibGVzLmdldChucGMpXG4gICAgbGV0IG5wY0RhdGEgPSBucGNEYXRhQ29tcG9uZW50LmdldChucGMpXG5cbiAgICBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aFNob3J0QnViYmxlKSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLnNob3J0LFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IHNob3J0QnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBzaG9ydEJ1YmJsZVlcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueCA9IHNob3J0QnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgc2hvcnRCdWJibGVZT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IHNob3J0QnViYmxlVGV4dFdpZHRoXG4gICAgICB9IGVsc2UgaWYgKHRleHRMZW5ndGggPCBtYXhMZW5ndGhOb3JtYWxCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubm9ybWFsLFxuICAgICAgICAgICAgMTAyNCxcbiAgICAgICAgICAgIDEwMjRcbiAgICAgICAgICApKVxuXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IG5vcm1hbEJ1YmJsZVhcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLnBhbmVsKS5zY2FsZS55ID0gbm9ybWFsQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbm9ybWFsQnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgbm9ybWFsQnViYmxlWU9mZnNldCArIG5wY0RhdGEuYnViYmxlWU9mZnNldFxuICAgICAgICBUZXh0U2hhcGUuZ2V0TXV0YWJsZShidWJibGUudGV4dCkud2lkdGggPSBub3JtYWxCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSBpZiAodGV4dExlbmd0aCA8IG1heExlbmd0aExvbmdCdWJibGUpIHtcbiAgICAgICAgTWVzaFJlbmRlcmVyLnNldFBsYW5lKGJ1YmJsZS5wYW5lbCxcbiAgICAgICAgICAgIHNldFVWU2VjdGlvbihcbiAgICAgICAgICAgIGJ1YmJsZU9wdGlvbnMubG9uZyxcbiAgICAgICAgICAgIDEwMjQsXG4gICAgICAgICAgICAxMDI0XG4gICAgICAgICAgKSlcblxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnggPSBsb25nQnViYmxlWFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUucGFuZWwpLnNjYWxlLnkgPSBsb25nQnViYmxlWVxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi54ID0gbG9uZ0J1YmJsZVhPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVhPZmZzZXRcbiAgICAgICAgVHJhbnNmb3JtLmdldE11dGFibGUoYnViYmxlLmNvbnRhaW5lcikucG9zaXRpb24ueSA9IGJ1YmJsZS5iYXNlWU9mZnNldCArIGxvbmdCdWJibGVZT2Zmc2V0ICsgbnBjRGF0YS5idWJibGVZT2Zmc2V0XG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS53aWR0aCA9IGxvbmdCdWJibGVUZXh0V2lkdGhcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIE1lc2hSZW5kZXJlci5zZXRQbGFuZShidWJibGUucGFuZWwsXG4gICAgICAgICAgICBzZXRVVlNlY3Rpb24oXG4gICAgICAgICAgICBidWJibGVPcHRpb25zLmh1Z2UsXG4gICAgICAgICAgICAxMDI0LFxuICAgICAgICAgICAgMTAyNFxuICAgICAgICAgICkpXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueCA9IGh1Z2VCdWJibGVYXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5wYW5lbCkuc2NhbGUueSA9IGh1Z2VCdWJibGVZXG4gICAgICAgIFRyYW5zZm9ybS5nZXRNdXRhYmxlKGJ1YmJsZS5jb250YWluZXIpLnBvc2l0aW9uLnggPSBodWdlQnViYmxlWE9mZnNldCArIG5wY0RhdGEuYnViYmxlWE9mZnNldFxuICAgICAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUuY29udGFpbmVyKS5wb3NpdGlvbi55ID0gYnViYmxlLmJhc2VZT2Zmc2V0ICsgaHVnZUJ1YmJsZVlPZmZzZXQgKyBucGNEYXRhLmJ1YmJsZVlPZmZzZXRcbiAgICAgICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLndpZHRoID0gaHVnZUJ1YmJsZVRleHRXaWR0aFxuICAgICAgfVxufVxuXG4vLyBBZGRzIHRoZSBidXR0b25zIG9yIG1vdXNlIGljb24gZGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHdpbmRvd1xuZnVuY3Rpb24gbGF5b3V0RGlhbG9nV2luZG93KG5wYzpFbnRpdHksIHRleHRJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcbiAgICBsZXQgY3VycmVudFRleHQ6IERpYWxvZyA9IGJ1YmJsZS5zY3JpcHRbdGV4dElkXVxuICAgICAgPyBidWJibGUuc2NyaXB0W3RleHRJZF1cbiAgICAgIDogeyB0ZXh0OiAnJyB9XG5cbiAgICAvLyBVcGRhdGUgdGV4dFxuICAgIGxldCB0ZXh0WSA9IGN1cnJlbnRUZXh0Lm9mZnNldFkgPyBjdXJyZW50VGV4dC5vZmZzZXRZICsgdGV4dFlQb3MgOiB0ZXh0WVBvc1xuXG4gICAgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMykge1xuICAgICAgdGV4dFkgKz0gNTBcbiAgICB9IGVsc2UgaWYgKGN1cnJlbnRUZXh0LmJ1dHRvbnMgJiYgY3VycmVudFRleHQuYnV0dG9ucy5sZW5ndGggPj0gMSkge1xuICAgICAgdGV4dFkgKz0gMjRcbiAgICB9XG4gICAgVGV4dFNoYXBlLmdldE11dGFibGUoYnViYmxlLnRleHQpLmZvbnRTaXplID0gY3VycmVudFRleHQuZm9udFNpemVcbiAgICA/IGN1cnJlbnRUZXh0LmZvbnRTaXplXG4gICAgOiB0ZXh0U2l6ZVxuICAgIFxuICAgIFZpc2liaWxpdHlDb21wb25lbnQuZ2V0TXV0YWJsZShidWJibGUudGV4dCkudmlzaWJsZSA9IHRydWVcbiAgICBUcmFuc2Zvcm0uZ2V0TXV0YWJsZShidWJibGUudGV4dCkucG9zaXRpb24ueSA9IHRleHRZXG5cbiAgICBpZiAoY3VycmVudFRleHQuYXVkaW8pIHtcbiAgICAgICAgQXVkaW9Tb3VyY2UuY3JlYXRlT3JSZXBsYWNlKGJ1YmJsZS5zb3VuZFBsYXllciwge1xuICAgICAgICAgICAgYXVkaW9DbGlwVXJsOiBjdXJyZW50VGV4dC5hdWRpbyxcbiAgICAgICAgICAgIGxvb3A6IGZhbHNlLFxuICAgICAgICAgICAgcGxheWluZzogZmFsc2VcbiAgICAgICAgfSlcbiAgICAgICAgbGV0IGF1ZGlvID0gQXVkaW9Tb3VyY2UuZ2V0TXV0YWJsZShidWJibGUuc291bmRQbGF5ZXIpXG4gICAgICAgIGF1ZGlvLnZvbHVtZSA9IDAuNVxuICAgICAgICBhdWRpby5wbGF5aW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoYnViYmxlLnNvdW5kKSB7XG4gICAgICAgIEF1ZGlvU291cmNlLmNyZWF0ZU9yUmVwbGFjZShidWJibGUuc291bmRQbGF5ZXIsIHtcbiAgICAgICAgICAgIGF1ZGlvQ2xpcFVybDogYnViYmxlLnNvdW5kLFxuICAgICAgICAgICAgbG9vcDogZmFsc2UsXG4gICAgICAgICAgICBwbGF5aW5nOiBmYWxzZVxuICAgICAgICB9KVxuICAgICAgICBsZXQgYXVkaW8gPSBBdWRpb1NvdXJjZS5nZXRNdXRhYmxlKGJ1YmJsZS5zb3VuZFBsYXllcilcbiAgICAgICAgYXVkaW8udm9sdW1lID0gMC41XG4gICAgICAgIGF1ZGlvLnBsYXlpbmcgPSB0cnVlXG4gICAgfVxuXG4gIH1cblxuLy8gUHJvZ3Jlc3NlcyB0ZXh0XG5leHBvcnQgZnVuY3Rpb24gbmV4dChucGM6RW50aXR5KTogdm9pZCB7XG4gICAgbGV0IGJ1YmJsZSA9IGJ1YmJsZXMuZ2V0KG5wYylcblxuICAgIGlmKGJ1YmJsZS5pc0J1YmJsZU9wZW4pe1xuICAgICAgbGV0IGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXhdXG5cbiAgICAgIGlmKCFjdXJyZW50VGV4dCl7XG4gICAgICAgIGN1cnJlbnRUZXh0ID0gYnViYmxlLnNjcmlwdFtidWJibGUuaW5kZXgtMV1cbiAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCkge1xuICAgICAgICAgIGN1cnJlbnRUZXh0LnRyaWdnZXJlZEJ5TmV4dCgpXG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaWYgKGN1cnJlbnRUZXh0LmlzRW5kT2ZEaWFsb2cpIHtcbiAgICAgICAgICBjbG9zZUJ1YmJsZShucGMpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICBcbiAgICAgICAvLyBVcGRhdGUgYWN0aXZlIHRleHRcbiAgICAgICAgIGJ1YmJsZS5pbmRleCsrXG4gICAgXG4gICAgICAgIC8vIFVwZGF0ZSBhY3RpdmUgdGV4dCB3aXRoIG5ldyBhY3RpdmUgdGV4dFxuICAgICAgICBjdXJyZW50VGV4dCA9IGJ1YmJsZS5zY3JpcHRbYnViYmxlLmluZGV4XVxuICAgIFxuICAgICAgICBpZiAoY3VycmVudFRleHQudGV4dC5sZW5ndGggPCBtYXhMZW5ndGhIdWdlQnViYmxlKSB7XG4gICAgICAgICAgY3VycmVudFRleHQudGV4dC5zbGljZSgwLCBtYXhMZW5ndGhIdWdlQnViYmxlKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIFRleHRTaGFwZS5nZXRNdXRhYmxlKGJ1YmJsZS50ZXh0KS50ZXh0ID0gXCJcIlxuICAgIFxuICAgICAgICBhZGp1c3RCdWJibGUobnBjLCBjdXJyZW50VGV4dC50ZXh0Lmxlbmd0aClcbiAgICBcbiAgICAgICAgYmVnaW5UeXBpbmcoXG4gICAgICAgICAgICBucGMsXG4gICAgICAgICAgICBjdXJyZW50VGV4dC50ZXh0LFxuICAgICAgICAgICAgYnViYmxlLmluZGV4LFxuICAgICAgICAgICAgY3VycmVudFRleHQudGltZU9uID8gY3VycmVudFRleHQudGltZU9uIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3VycmVudFRleHQudHlwZVNwZWVkID8gY3VycmVudFRleHQudHlwZVNwZWVkIDogdW5kZWZpbmVkIFxuICAgICAgICApXG4gICAgICBsYXlvdXREaWFsb2dXaW5kb3cobnBjLCBidWJibGUuaW5kZXgpXG4gICAgfVxuXG4gICAgXG4gIH1cblxuZnVuY3Rpb24gc2V0VVZTZWN0aW9uKFxuXHRzZWN0aW9uOiBJbWFnZVNlY3Rpb24sXG5cdHNpemVYOiBudW1iZXIsXG5cdHNpemVZOiBudW1iZXJcbiAgKSB7XG5cdHJldHVybiBzZXRVVnMoXG4gICAgICAgIHt4OiAgc2VjdGlvbi5zb3VyY2VMZWZ0ISAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAoc2l6ZVkgLSBzZWN0aW9uLnNvdXJjZVRvcCEgLSBzZWN0aW9uLnNvdXJjZUhlaWdodCkgLyBzaXplWX0sXG4gICAgICAgIHt4OiAgKHNlY3Rpb24uc291cmNlTGVmdCEgKyBzZWN0aW9uLnNvdXJjZVdpZHRoKSAvIHNpemVYLCB5OiAgKHNpemVZIC0gc2VjdGlvbi5zb3VyY2VUb3AhKSAvIHNpemVZfSxcbiAgICAgICAge3g6ICBzZWN0aW9uLnNvdXJjZUxlZnQhIC8gc2l6ZVgsIHk6IChzaXplWSAtIHNlY3Rpb24uc291cmNlVG9wISkgLyBzaXplWX0sXG5cdClcbiAgfVxuXG5mdW5jdGlvbiBzZXRVVnMoXG5cdF91djAwOiBhbnksXG5cdF91djEwOiBhbnksXG5cdF91djExOiBhbnksXG5cdF91djAxOiBhbnlcbiAgKSB7XG5cblx0cmV0dXJuIFtcblx0ICBfdXYwMC54LFxuXHQgIF91djAwLnksXG4gIFxuXHQgIF91djEwLngsXG5cdCAgX3V2MTAueSxcbiAgXG5cdCAgX3V2MTEueCxcblx0ICBfdXYxMS55LFxuICBcblx0ICBfdXYwMS54LFxuXHQgIF91djAxLnksXG5cdCAgLy8tLS0tXG5cdCAgX3V2MDAueCxcblx0ICBfdXYwMC55LFxuICBcblx0ICBfdXYxMC54LFxuXHQgIF91djEwLnksXG4gIFxuXHQgIF91djExLngsXG5cdCAgX3V2MTEueSxcbiAgXG5cdCAgX3V2MDEueCxcblx0ICBfdXYwMS55LFxuXHRdXG4gIH1cblxuICBsZXQgYnViYmxlT3B0aW9uczphbnkgPSB7XG4gICAgc2hvcnQ6IHtcbiAgICAgIHNvdXJjZVdpZHRoOiAxMTYgKiAyLFxuICAgICAgc291cmNlSGVpZ2h0OiA4NCAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiAzMDUgKiAyLFxuICAgICAgc291cmNlVG9wOiA0MTcgKiAyLFxuICAgIH0sXG4gICAgbm9ybWFsOiB7XG4gICAgICBzb3VyY2VXaWR0aDogMjg2ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogODQgKiAyLFxuICAgICAgc291cmNlTGVmdDogOCAqIDIsXG4gICAgICBzb3VyY2VUb3A6IDQxNyAqIDIsXG4gICAgfSxcbiAgICBsb25nOiB7XG4gICAgICBzb3VyY2VXaWR0aDogNDk3ICogMixcbiAgICAgIHNvdXJjZUhlaWdodDogMTUzICogMixcbiAgICAgIHNvdXJjZUxlZnQ6IDYgKiAyLFxuICAgICAgc291cmNlVG9wOiAyNTQgKiAyLFxuICAgIH0sXG4gICAgaHVnZToge1xuICAgICAgc291cmNlV2lkdGg6IDQ5NyAqIDIsXG4gICAgICBzb3VyY2VIZWlnaHQ6IDIzOSAqIDIsXG4gICAgICBzb3VyY2VMZWZ0OiA2ICogMixcbiAgICAgIHNvdXJjZVRvcDogNyAqIDIsXG4gICAgfSxcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QnViYmxlVGV4dExlbmd0aCh0ZXh0OnN0cmluZyl7XG4gICAgaWYodGV4dC5sZW5ndGggPj0gbWF4TGVuZ3RoSHVnZUJ1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgICBlbHNlIGlmKHRleHQubGVuZ3RoID49IG1heExlbmd0aExvbmdCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gICAgZWxzZSBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhOb3JtYWxCdWJibGUpe1xuICAgICAgICByZXR1cm4gNDBcbiAgICB9XG4gICAgZWxzZSBpZih0ZXh0Lmxlbmd0aCA+PSBtYXhMZW5ndGhTaG9ydEJ1YmJsZSl7XG4gICAgICAgIHJldHVybiA0MFxuICAgIH1cbiAgfSJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dcl-npc-toolkit",
|
|
3
|
-
"version": "1.1.2
|
|
3
|
+
"version": "1.1.2",
|
|
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",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"files": [
|
|
34
34
|
"dist"
|
|
35
35
|
],
|
|
36
|
-
"commit": "
|
|
36
|
+
"commit": "f135f0d70b2a4a7197e3690925b44f3635e5f8c0"
|
|
37
37
|
}
|