@plait/core 0.52.0 → 0.54.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/constants/cursor.d.ts +1 -0
- package/constants/selection.d.ts +1 -0
- package/esm2022/board/board.component.mjs +8 -6
- package/esm2022/constants/cursor.mjs +2 -1
- package/esm2022/constants/selection.mjs +2 -1
- package/esm2022/interfaces/board.mjs +5 -1
- package/esm2022/interfaces/path.mjs +2 -2
- package/esm2022/interfaces/rectangle-client.mjs +4 -1
- package/esm2022/interfaces/selection.mjs +2 -2
- package/esm2022/plugins/create-board.mjs +9 -6
- package/esm2022/plugins/with-hotkey.mjs +3 -3
- package/esm2022/plugins/with-moving.mjs +41 -21
- package/esm2022/plugins/with-related-fragment.mjs +20 -0
- package/esm2022/plugins/with-selection.mjs +37 -101
- package/esm2022/public-api.mjs +2 -1
- package/esm2022/transforms/element.mjs +2 -2
- package/esm2022/transforms/group.mjs +47 -0
- package/esm2022/transforms/index.mjs +2 -1
- package/esm2022/utils/angle.mjs +114 -0
- package/esm2022/utils/common.mjs +3 -2
- package/esm2022/utils/debug.mjs +91 -0
- package/esm2022/utils/element.mjs +17 -5
- package/esm2022/utils/fragment.mjs +5 -0
- package/esm2022/utils/group.mjs +88 -87
- package/esm2022/utils/helper.mjs +10 -1
- package/esm2022/utils/index.mjs +3 -1
- package/esm2022/utils/math.mjs +11 -1
- package/esm2022/utils/moving-snap.mjs +372 -0
- package/esm2022/utils/selection.mjs +90 -5
- package/esm2022/utils/touch.mjs +15 -4
- package/esm2022/utils/weak-maps.mjs +2 -1
- package/fesm2022/plait-core.mjs +587 -251
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/board.d.ts +5 -2
- package/interfaces/rectangle-client.d.ts +1 -0
- package/interfaces/selection.d.ts +1 -1
- package/package.json +1 -1
- package/plugins/with-moving.d.ts +1 -1
- package/plugins/with-related-fragment.d.ts +2 -0
- package/public-api.d.ts +1 -0
- package/transforms/group.d.ts +7 -0
- package/transforms/index.d.ts +1 -0
- package/utils/angle.d.ts +18 -0
- package/utils/debug.d.ts +14 -0
- package/utils/fragment.d.ts +2 -0
- package/utils/group.d.ts +16 -16
- package/utils/helper.d.ts +2 -0
- package/utils/index.d.ts +2 -0
- package/utils/math.d.ts +8 -0
- package/utils/{reaction-manager.d.ts → moving-snap.d.ts} +3 -3
- package/utils/selection.d.ts +7 -4
- package/utils/touch.d.ts +1 -1
- package/utils/weak-maps.d.ts +1 -0
- package/esm2022/plugins/with-group.mjs +0 -27
- package/esm2022/utils/reaction-manager.mjs +0 -371
- package/plugins/with-group.d.ts +0 -2
package/esm2022/utils/touch.mjs
CHANGED
|
@@ -5,8 +5,16 @@ export const isPreventTouchMove = (board) => {
|
|
|
5
5
|
return !!BOARD_TO_TOUCH_REF.get(board);
|
|
6
6
|
};
|
|
7
7
|
export const preventTouchMove = (board, event, state) => {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
const hostElement = PlaitBoard.getElementHost(board);
|
|
9
|
+
const activeHostElement = PlaitBoard.getElementActiveHost(board);
|
|
10
|
+
if (state) {
|
|
11
|
+
if ((event.target instanceof HTMLElement || event.target instanceof SVGElement) &&
|
|
12
|
+
(hostElement.contains(event.target) || activeHostElement.contains(event.target))) {
|
|
13
|
+
BOARD_TO_TOUCH_REF.set(board, { state, target: event.target instanceof SVGElement ? event.target : undefined });
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
BOARD_TO_TOUCH_REF.set(board, { state, target: undefined });
|
|
17
|
+
}
|
|
10
18
|
}
|
|
11
19
|
else {
|
|
12
20
|
const ref = BOARD_TO_TOUCH_REF.get(board);
|
|
@@ -24,7 +32,10 @@ export const preventTouchMove = (board, event, state) => {
|
|
|
24
32
|
*/
|
|
25
33
|
export const handleTouchTarget = (board) => {
|
|
26
34
|
const touchRef = BOARD_TO_TOUCH_REF.get(board);
|
|
27
|
-
if (touchRef &&
|
|
35
|
+
if (touchRef &&
|
|
36
|
+
touchRef.target &&
|
|
37
|
+
!PlaitBoard.getElementHost(board).contains(touchRef.target) &&
|
|
38
|
+
!PlaitBoard.getElementActiveHost(board).contains(touchRef.target)) {
|
|
28
39
|
touchRef.target.style.opacity = '0';
|
|
29
40
|
const host = createG();
|
|
30
41
|
host.appendChild(touchRef.target);
|
|
@@ -33,4 +44,4 @@ export const handleTouchTarget = (board) => {
|
|
|
33
44
|
PlaitBoard.getElementActiveHost(board).append(host);
|
|
34
45
|
}
|
|
35
46
|
};
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy91dGlscy90b3VjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVF2QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBd0IsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQW1CLEVBQUUsS0FBYyxFQUFFLEVBQUU7SUFDdkYsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFDSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFlBQVksV0FBVyxJQUFJLEtBQUssQ0FBQyxNQUFNLFlBQVksVUFBVSxDQUFDO1lBQzNFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUNsRixDQUFDO1lBQ0Msa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDcEgsQ0FBQzthQUFNLENBQUM7WUFDSixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ04sa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ25ELE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQyxJQUNJLFFBQVE7UUFDUixRQUFRLENBQUMsTUFBTTtRQUNmLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUMzRCxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUNuRSxDQUFDO1FBQ0MsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNwQyxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxRQUFRLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ib2FyZCc7XG5pbXBvcnQgeyBjcmVhdGVHIH0gZnJvbSAnLi9kb20vY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VjaFJlZiB7XG4gICAgdGFyZ2V0PzogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50O1xuICAgIHN0YXRlOiBib29sZWFuO1xuICAgIGhvc3Q/OiBTVkdHRWxlbWVudDtcbn1cblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1RPVUNIX1JFRiA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFRvdWNoUmVmPigpO1xuXG5leHBvcnQgY29uc3QgaXNQcmV2ZW50VG91Y2hNb3ZlID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuICEhQk9BUkRfVE9fVE9VQ0hfUkVGLmdldChib2FyZCk7XG59O1xuXG5leHBvcnQgY29uc3QgcHJldmVudFRvdWNoTW92ZSA9IChib2FyZDogUGxhaXRCb2FyZCwgZXZlbnQ6IFBvaW50ZXJFdmVudCwgc3RhdGU6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBob3N0RWxlbWVudCA9IFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEhvc3QoYm9hcmQpO1xuICAgIGNvbnN0IGFjdGl2ZUhvc3RFbGVtZW50ID0gUGxhaXRCb2FyZC5nZXRFbGVtZW50QWN0aXZlSG9zdChib2FyZCk7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIChldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCB8fCBldmVudC50YXJnZXQgaW5zdGFuY2VvZiBTVkdFbGVtZW50KSAmJlxuICAgICAgICAgICAgKGhvc3RFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgfHwgYWN0aXZlSG9zdEVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBCT0FSRF9UT19UT1VDSF9SRUYuc2V0KGJvYXJkLCB7IHN0YXRlLCB0YXJnZXQ6IGV2ZW50LnRhcmdldCBpbnN0YW5jZW9mIFNWR0VsZW1lbnQgPyBldmVudC50YXJnZXQgOiB1bmRlZmluZWQgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBCT0FSRF9UT19UT1VDSF9SRUYuc2V0KGJvYXJkLCB7IHN0YXRlLCB0YXJnZXQ6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJlZiA9IEJPQVJEX1RPX1RPVUNIX1JFRi5nZXQoYm9hcmQpO1xuICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICBCT0FSRF9UT19UT1VDSF9SRUYuZGVsZXRlKGJvYXJkKTtcbiAgICAgICAgICAgIHJlZi5ob3N0Py5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbi8qKlxuICogc29tZSBpbnRlcnNlY3Rpb24gbWF5YmUgY2F1c2UgdGFyZ2V0IGlzIHJlbW92ZWQgZnJvbSBjdXJyZW50IGJyb3dzZXIgd2luZG93LFxuICogYWZ0ZXIgaXQgd2FzIHJlbW92ZWQgdG91Y2ggbW92ZSBldmVudCB3aWxsIG5vdCBiZSBmaXJlZFxuICogc28gc2Nyb2xsIGJlaGF2aW9yIHdpbGwgY2FuIG5vdCBiZSBwcmV2ZW50ZWQgaW4gbW9iaWxlIGJyb3dzZXIgZGV2aWNlXG4gKiB0aGlzIGZ1bmN0aW9uIHdpbGwgcHJldmVudCB0YXJnZXQgZWxlbWVudCBiZWluZyByZW1vdmUuXG4gKi9cbmV4cG9ydCBjb25zdCBoYW5kbGVUb3VjaFRhcmdldCA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHRvdWNoUmVmID0gQk9BUkRfVE9fVE9VQ0hfUkVGLmdldChib2FyZCk7XG4gICAgaWYgKFxuICAgICAgICB0b3VjaFJlZiAmJlxuICAgICAgICB0b3VjaFJlZi50YXJnZXQgJiZcbiAgICAgICAgIVBsYWl0Qm9hcmQuZ2V0RWxlbWVudEhvc3QoYm9hcmQpLmNvbnRhaW5zKHRvdWNoUmVmLnRhcmdldCkgJiZcbiAgICAgICAgIVBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmNvbnRhaW5zKHRvdWNoUmVmLnRhcmdldClcbiAgICApIHtcbiAgICAgICAgdG91Y2hSZWYudGFyZ2V0LnN0eWxlLm9wYWNpdHkgPSAnMCc7XG4gICAgICAgIGNvbnN0IGhvc3QgPSBjcmVhdGVHKCk7XG4gICAgICAgIGhvc3QuYXBwZW5kQ2hpbGQodG91Y2hSZWYudGFyZ2V0KTtcbiAgICAgICAgdG91Y2hSZWYuaG9zdCA9IGhvc3Q7XG4gICAgICAgIGhvc3QuY2xhc3NMaXN0LmFkZCgndG91Y2gtdGFyZ2V0Jyk7XG4gICAgICAgIFBsYWl0Qm9hcmQuZ2V0RWxlbWVudEFjdGl2ZUhvc3QoYm9hcmQpLmFwcGVuZChob3N0KTtcbiAgICB9XG59O1xuIl19
|
|
@@ -9,6 +9,7 @@ export const BOARD_TO_AFTER_CHANGE = new WeakMap();
|
|
|
9
9
|
export const BOARD_TO_COMPONENT = new WeakMap();
|
|
10
10
|
export const BOARD_TO_ROUGH_SVG = new WeakMap();
|
|
11
11
|
export const BOARD_TO_HOST = new WeakMap();
|
|
12
|
+
export const IS_BOARD_ALIVE = new WeakMap();
|
|
12
13
|
export const BOARD_TO_ELEMENT_HOST = new WeakMap();
|
|
13
14
|
export const BOARD_TO_SELECTED_ELEMENT = new WeakMap();
|
|
14
15
|
export const BOARD_TO_MOVING_POINT_IN_BOARD = new WeakMap();
|
|
@@ -19,4 +20,4 @@ export const BOARD_TO_IS_SELECTION_MOVING = new WeakMap();
|
|
|
19
20
|
export const BOARD_TO_TEMPORARY_ELEMENTS = new WeakMap();
|
|
20
21
|
export const BOARD_TO_MOVING_ELEMENT = new WeakMap();
|
|
21
22
|
export const PATH_REFS = new WeakMap();
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvdXRpbHMvd2Vhay1tYXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLDhCQUE4QjtBQUM5QixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztBQUU5RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7QUFFbkUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7QUFFeEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXVDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQXdCLENBQUM7QUFFdEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksT0FBTyxFQUE2QixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFTN0MsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksT0FBTyxFQUE4QixDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRXRFLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0FBRTlFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO0FBRS9FLHFDQUFxQztBQUNyQyxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLE9BQU8sRUFBNEQsQ0FBQztBQUVuSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLE9BQU8sRUFBOEIsQ0FBQztBQUVqRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQXNDLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSb3VnaFNWRyB9IGZyb20gJ3JvdWdoanMvYmluL3N2Zyc7XG5pbXBvcnQgeyBCb2FyZENvbXBvbmVudEludGVyZmFjZSB9IGZyb20gJy4uL2JvYXJkL2JvYXJkLmNvbXBvbmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGxhaXRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9lbGVtZW50JztcbmltcG9ydCB7IFBsYWl0Qm9hcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JvYXJkJztcbmltcG9ydCB7IFBvaW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9wb2ludCc7XG5pbXBvcnQgeyBBbmNlc3RvciwgUGxhaXROb2RlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub2RlJztcbmltcG9ydCB7IFBhdGhSZWYgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3BhdGgtcmVmJztcblxuLy8gcmVjb3JkIHJpY2h0ZXh0IHR5cGUgc3RhdHVzXG5leHBvcnQgY29uc3QgSVNfQk9BUkRfQ0FDSEUgPSBuZXcgV2Vha01hcDxPYmplY3QsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBGTFVTSElORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX0lOREVYID0gbmV3IFdlYWtNYXA8UGxhaXROb2RlLCBudW1iZXI+KCk7XG5cbmV4cG9ydCBjb25zdCBOT0RFX1RPX1BBUkVOVCA9IG5ldyBXZWFrTWFwPFBsYWl0Tm9kZSwgQW5jZXN0b3I+KCk7XG5cbmV4cG9ydCBjb25zdCBJU19URVhUX0VESVRBQkxFID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgYm9vbGVhbj4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX09OX0NIQU5HRSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsICgpID0+IHZvaWQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19BRlRFUl9DSEFOR0UgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCAoKSA9PiB2b2lkPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fQ09NUE9ORU5UID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgQm9hcmRDb21wb25lbnRJbnRlcmZhY2U+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19ST1VHSF9TVkcgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBSb3VnaFNWRz4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX0hPU1QgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBTVkdTVkdFbGVtZW50PigpO1xuXG5leHBvcnQgY29uc3QgSVNfQk9BUkRfQUxJVkUgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuPigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fRUxFTUVOVF9IT1NUID0gbmV3IFdlYWtNYXA8XG4gICAgUGxhaXRCb2FyZCxcbiAgICB7XG4gICAgICAgIGhvc3Q6IFNWR0dFbGVtZW50O1xuICAgICAgICB1cHBlckhvc3Q6IFNWR0dFbGVtZW50O1xuICAgICAgICBhY3RpdmVIb3N0OiBTVkdHRWxlbWVudDtcbiAgICAgICAgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgICAgICAgdmlld3BvcnRDb250YWluZXI6IEhUTUxFbGVtZW50O1xuICAgIH1cbj4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX1NFTEVDVEVEX0VMRU1FTlQgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnRbXT4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX01PVklOR19QT0lOVF9JTl9CT0FSRCA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBvaW50PigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fTU9WSU5HX1BPSU5UID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUG9pbnQ+KCk7XG5cbmV4cG9ydCBjb25zdCBCT0FSRF9UT19WSUVXUE9SVF9PUklHSU5BVElPTiA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIFBvaW50PigpO1xuXG5leHBvcnQgY29uc3QgQk9BUkRfVE9fSVNfU0VMRUNUSU9OX01PVklORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4+KCk7XG5cbi8vIHNhdmUgbm8gc3RhbmRhcmQgc2VsZWN0ZWQgZWxlbWVudHNcbmV4cG9ydCBjb25zdCBCT0FSRF9UT19URU1QT1JBUllfRUxFTUVOVFMgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCB7IGVsZW1lbnRzOiBQbGFpdEVsZW1lbnRbXTsgdGltZW91dElkOiBhbnkgfT4oKTtcblxuZXhwb3J0IGNvbnN0IEJPQVJEX1RPX01PVklOR19FTEVNRU5UID0gbmV3IFdlYWtNYXA8UGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50W10+KCk7XG5cbmV4cG9ydCBjb25zdCBQQVRIX1JFRlM6IFdlYWtNYXA8UGxhaXRCb2FyZCwgU2V0PFBhdGhSZWY+PiA9IG5ldyBXZWFrTWFwKCk7XG4iXX0=
|