@libs-ui/components-drag-drop 0.2.356-38 → 0.2.356-40
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/drag-drop.directive.d.ts +3 -3
- package/drag-drop.service.d.ts +14 -14
- package/drag-item.directive.d.ts +3 -3
- package/drag-scroll.directive.d.ts +2 -2
- package/esm2022/drag-drop.directive.mjs +6 -4
- package/esm2022/drag-drop.service.mjs +1 -1
- package/esm2022/drag-item-in-container-virtual-scroll.directive.mjs +3 -3
- package/esm2022/drag-item.directive.mjs +1 -1
- package/esm2022/drag-scroll.directive.mjs +1 -1
- package/fesm2022/libs-ui-components-drag-drop.mjs +7 -5
- package/fesm2022/libs-ui-components-drag-drop.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -273,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
273
273
|
standalone: true,
|
|
274
274
|
}]
|
|
275
275
|
}], ctorParameters: () => [] });
|
|
276
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9kcmFnLWRyb3Avc3JjL2RyYWctaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQVFwSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsK0NBQStDO0lBQzFGLG1CQUFtQjtJQUNYLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUU1QyxnQkFBZ0I7SUFDaEIsb0VBQW9FO0lBQzNELE9BQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUIsSUFBSSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztJQUM3Qiw0QkFBNEIsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUN6RCxvQ0FBb0M7SUFDM0IsZ0NBQWdDLEdBQUcsS0FBSyxDQUE2QixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFD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LFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbEMsYUFBYSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDOUMsQ0FBQztnQkFDRCxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNyQyxhQUFhLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUNqRCxDQUFDO1lBQ0gsQ0FBQztZQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUM7WUFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztZQUVqQyxNQUFNLGFBQWEsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXZJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBM1NVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJQm91bmRpbmdDbGllbnRSZWN0IH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgeyBjaGVja01vdXNlT3ZlckluQ29udGFpbmVyLCBjaGVja1ZpZXdJblNjcmVlbiwgZ2V0LCBnZXREcmFnRXZlbnRCeUVsZW1lbnQsIGdldFZpZXdwb3J0IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlic1VpRHJhZ0l0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctaXRlbS1pbi1jb250YWluZXItdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IElEcmFnRW5kLCBJRHJhZ0xlYXZlLCBJRHJhZ092ZXIsIElEcmFnU3RhcnQsIElEcm9wIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2V2ZW50LmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tMaWJzVWlEcmFnSXRlbURpcmVjdGl2ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlEcmFnSXRlbURpcmVjdGl2ZSBleHRlbmRzIExpYnNVaURyYWdJdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJpdmF0ZSBpc0RyYWdPdmVyID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIC8vc2V0dXAgMyBmaWVsZCBwaMOtYSBkxrDhu5tpIG7hur91IMSRYW5nIHPhu60gZOG7pW5nIGl0ZW0gdHJvbmcgdmlydHVhbC1zY3JvbGxcbiAgcmVhZG9ubHkgZmllbGRJZCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBpdGVtID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBpdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHJlYWRvbmx5IHRocm90dGxlVGltZUhhbmRsZXJEcmFnZ2luZ0V2ZW50ID0gaW5wdXQ8bnVtYmVyLCBudW1iZXIgfCB1bmRlZmluZWQ+KDAsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8IDAgfSk7XG4gIHJlYWRvbmx5IGlnbm9yZVN0b3BFdmVudCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IG9ubHlNb3VzZURvd25TdG9wRXZlbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnUm9vdEVsZW1lbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnQm91bmRhcnkgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgZWxlbWVudENvbnRhaW5lciA9IGlucHV0PEhUTUxFbGVtZW50PigpO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXIsIG51bWJlciB8IHVuZGVmaW5lZD4oMTMwMCwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gMTMwMCB9KTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVVzZXJTZWxlY3ROb25lID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXREcmFnU3RhcnQgPSBvdXRwdXQ8SURyYWdTdGFydD4oKTtcbiAgcmVhZG9ubHkgb3V0RHJhZ092ZXIgPSBvdXRwdXQ8SURyYWdPdmVyPigpO1xuICByZWFkb25seSBvdXREcmFnTGVhdmUgPSBvdXRwdXQ8SURyYWdMZWF2ZT4oKTtcbiAgcmVhZG9ubHkgb3V0RHJhZ0VuZCA9IG91dHB1dDxJRHJhZ0VuZD4oKTtcbiAgcmVhZG9ubHkgb3V0RHJvcHBlZCA9IG91dHB1dDxJRHJvcD4oKTtcblxuICAvLyAjcmVnaW9uIElOSkVDVFxuICBwcml2YXRlIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYCR7dGhpcy5kcmFnRHJvcFNlcnZpY2UuQ2xhc3NJdGVtRGVmaW5lfS1kaXNhYmxlYCk7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlKCkgJiYgIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGAke3RoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNsYXNzSXRlbURlZmluZX0tZGlzYWJsZWApKSB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChgJHt0aGlzLmRyYWdEcm9wU2VydmljZS5DbGFzc0l0ZW1EZWZpbmV9LWRpc2FibGVgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuZmllbGRJZCgpKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZmllbGRfaWQnLCB0aGlzLmZpZWxkSWQoKSk7XG4gICAgICBpZiAodGhpcy5pdGVtKCkpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2l0ZW1faWQnLCBnZXQodGhpcy5pdGVtKCksIHRoaXMuZmllbGRJZCgpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmRyYWdEcm9wU2VydmljZS5DbGFzc0l0ZW1EZWZpbmUpO1xuICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ2dpbmcucGlwZSh0aHJvdHRsZVRpbWUodGhpcy50aHJvdHRsZVRpbWVIYW5kbGVyRHJhZ2dpbmdFdmVudCgpKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnREcmFnZ2luZykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICh0aGlzLmZpZWxkSWQoKSAmJiB0aGlzLml0ZW0oKSAmJiBldmVudERyYWdnaW5nLmVsZW1lbnREcmFnLmdldEF0dHJpYnV0ZSgnaXRlbV9pZCcpID09PSBnZXQodGhpcy5pdGVtKCksIHRoaXMuZmllbGRJZCgpKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udGFpbmVyQnlJZCA9IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNvbnRhaW5lcigpLmdldChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZ3JvdXBJRCcpIHx8ICcnKTtcblxuICAgICAgaWYgKGNvbnRhaW5lckJ5SWQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50RHJhZ2dpbmcuZWxlbWVudEtlZXBDb250YWluZXIgfHxcbiAgICAgICAgICAhdGhpcy5kcmFnRHJvcFNlcnZpY2UuY2hlY2tFbGVtZW50T3ZlckFjY2VwdEVsZW1lbnREcmFnKGNvbnRhaW5lckJ5SWQuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2dyb3VwTmFtZScpLCBldmVudERyYWdnaW5nLmVsZW1lbnREcmFnLmdldEF0dHJpYnV0ZSgnZ3JvdXBOYW1lJyksIGV2ZW50RHJhZ2dpbmcuZWxlbWVudERyYWcuZ2V0QXR0cmlidXRlKCdkcm9wVG9Hcm91cE5hbWUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hlY2tNb3VzZU92ZXJJbkNvbnRhaW5lcihldmVudERyYWdnaW5nLm1vdXNlUG9zaXRpb24sIGVsZW1lbnQpICYmIGVsZW1lbnQgIT09IGV2ZW50RHJhZ2dpbmcuZWxlbWVudERyYWcgJiYgY29udGFpbmVyQnlJZCAmJiBjaGVja1ZpZXdJblNjcmVlbihjb250YWluZXJCeUlkLmVsZW1lbnQsIGVsZW1lbnQsIGNvbnRhaW5lckJ5SWQuZWxlbWVudFNjcm9sbCkpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnT3ZlcigpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ092ZXIgPSB7IC4uLmV2ZW50RHJhZ2dpbmcsIGVsZW1lbnREcmFnT3ZlcjogZWxlbWVudCB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ092ZXIubmV4dChldmVudERyYWdPdmVyKTtcbiAgICAgICAgdGhpcy5vdXREcmFnT3Zlci5lbWl0KGV2ZW50RHJhZ092ZXIpO1xuICAgICAgICB0aGlzLmlzRHJhZ092ZXIuc2V0KHRydWUpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNEcmFnT3ZlcigpKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ0xlYXZlID0geyAuLi5ldmVudERyYWdnaW5nLCBlbGVtZW50RHJhZ0xlYXZlOiBlbGVtZW50IH07XG4gICAgICAgIHRoaXMuaXNEcmFnT3Zlci5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdMZWF2ZS5uZXh0KGV2ZW50RHJhZ0xlYXZlKTtcbiAgICAgICAgdGhpcy5vdXREcmFnTGVhdmUuZW1pdChldmVudERyYWdMZWF2ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyb3BDb250YWluZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChldmVudERyb3ApID0+IHtcbiAgICAgIGlmIChldmVudERyb3AuZWxlbWVudERyb3AgIT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZHJvcEV2ZW50ID0geyBlbGVtZW50RHJhZzogZXZlbnREcm9wLmVsZW1lbnREcmFnLCBlbGVtZW50RHJvcDogZWxlbWVudCwgaXRlbURyYWdJbmZvOiBldmVudERyb3AuaXRlbURyYWdJbmZvIH07XG5cbiAgICAgIHRoaXMub3V0RHJvcHBlZC5lbWl0KGRyb3BFdmVudCk7XG4gICAgfSk7XG4gICAgY29uc3Qgc3R5bGVUYWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgc3R5bGVUYWcudGV4dENvbnRlbnQgPSBgLmxpYnMtdWktZHJhZy1kcm9wLWl0ZW0tZHJhZ2dpbmd7Y3Vyc29yOm1vdmV9YDtcbiAgICBsZXQgbm9kZUNsb25lID0gZWxlbWVudDtcbiAgICBsZXQgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPSAtMTtcbiAgICBsZXQgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZVRvcCA9IC0xO1xuICAgIGxldCBjb250ZXh0TWVudSA9IGZhbHNlO1xuICAgIGNvbnN0IHN0b3BFdmVudE1vdXNlID0gKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5pZ25vcmVTdG9wRXZlbnQoKSkge1xuICAgICAgICBtb3VzZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG1vdXNlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCB1cGRhdGVQb3NpdGlvbkVsZW1lbnRSb290QW5kUmVtb3ZlTm9kZUNsb25lID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJhZ1Jvb3RFbGVtZW50KCkpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyQnlJZCA9IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNvbnRhaW5lcigpLmdldChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZ3JvdXBJRCcpIHx8ICcnKTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJJdGVtID0gdGhpcy5lbGVtZW50Q29udGFpbmVyKCkgfHwgY29udGFpbmVyQnlJZD8uZWxlbWVudFNjcm9sbCB8fCBjb250YWluZXJCeUlkPy5lbGVtZW50IHx8IGRvY3VtZW50LmJvZHk7XG4gICAgICAgIGNvbnN0IHJlY3RDb250YWluZXIgPSBjb250YWluZXJJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCByZWN0Tm9kZUNsb25lID0gbm9kZUNsb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBudW1iZXJTdWIgPSBOdW1iZXIoKGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVySXRlbSkuYm9yZGVyLm1hdGNoKC9cXGQrcHgvZ2kpIHx8IFsnMCddKVswXS5yZXBsYWNlKC9cXEQrL2dpLCAnJykpLnZhbHVlT2YoKTtcblxuICAgICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSByZWN0Tm9kZUNsb25lLmxlZnQgLSByZWN0Q29udGFpbmVyLmxlZnQgLSBudW1iZXJTdWIgKyAncHgnO1xuICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IHJlY3ROb2RlQ2xvbmUudG9wIC0gcmVjdENvbnRhaW5lci50b3AgLSBudW1iZXJTdWIgKyAncHgnO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ29wYWNpdHktMCcpO1xuICAgICAgfVxuICAgICAgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPSAtMTtcbiAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3AgPSAtMTtcbiAgICAgIG5vZGVDbG9uZS5yZW1vdmUoKTtcbiAgICB9O1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY29udGV4dG1lbnUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgICB1cGRhdGVQb3NpdGlvbkVsZW1lbnRSb290QW5kUmVtb3ZlTm9kZUNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRleHRNZW51ID0gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBsZXQgaWdub3JlTW91c2Vkb3duID0gZmFsc2U7XG5cbiAgICBnZXREcmFnRXZlbnRCeUVsZW1lbnQoe1xuICAgICAgZWxlbWVudE1vdXNlRG93bjogZWxlbWVudCxcbiAgICAgIGZ1bmN0aW9uTW91c2VEb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuSXRlbUNsaWNrID0gZWxlbWVudDtcbiAgICAgICAgY29udGV4dE1lbnUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVNb3VzZUV2ZW50c1doZW5Nb3ZlT3ZlcklmcmFtZSgnbm9uZScpO1xuICAgICAgICBpZiAoKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICF0aGlzLmlzRHJhZ2dpbmcoKSB8fCB0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkgJiYgIXRoaXMub25seU1vdXNlRG93blN0b3BFdmVudCgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbk1vdXNlTW92ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbk1vdXNlVXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU1vdXNlRXZlbnRzV2hlbk1vdmVPdmVySWZyYW1lKCdhdXRvJyk7XG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLnJlc2V0SXRlbUNsaWNrKCk7XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8IGNvbnRleHRNZW51IHx8ICF0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIGNvbnRleHRNZW51ID0gZmFsc2U7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dE1lbnUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0RyYWdnaW5nLnNldChmYWxzZSk7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLlRhcmdldEl0ZW1EcmFnRmxhZyk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb3VzZVBvc2l0aW9uID0geyBjbGllbnRYOiBldmVudC5jbGllbnRYLCBjbGllbnRZOiBldmVudC5jbGllbnRZIH07XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0JvdW5kYXJ5KCkgJiYgdGhpcy5kcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyKCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldENsaWVudFBvc2l0aW9uKGVsZW1lbnQsIG1vdXNlUG9zaXRpb24sIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LCBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wLCB0aGlzLmRyYWdCb3VuZGFyeSgpLCB0aGlzLmVsZW1lbnRDb250YWluZXIoKSk7XG5cbiAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFggPSByZXN1bHQuY2xpZW50WDtcbiAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFkgPSByZXN1bHQuY2xpZW50WTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkcmFnRW5kRXZlbnQgPSB7IG1vdXNlUG9zaXRpb24sIGVsZW1lbnREcmFnOiBlbGVtZW50LCBpdGVtRHJhZ0luZm86IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuT25EcmFnRW5kLm5leHQoZHJhZ0VuZEV2ZW50KTtcbiAgICAgICAgdGhpcy5vdXREcmFnRW5kLmVtaXQoZHJhZ0VuZEV2ZW50KTtcblxuICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICBpZiAoIXRoaXMuaWdub3JlVXNlclNlbGVjdE5vbmUoKSkge1xuICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3Qtbm9uZScpO1xuICAgICAgICB9XG4gICAgICAgIHN0eWxlVGFnLnJlbW92ZSgpO1xuXG4gICAgICAgIHVwZGF0ZVBvc2l0aW9uRWxlbWVudFJvb3RBbmRSZW1vdmVOb2RlQ2xvbmUoKTtcbiAgICAgIH0sXG4gICAgICBkZXN0cm95UmVmOiB0aGlzLmRlc3Ryb3lSZWYsXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGRyYWdNb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVjdEVsZW1lbnQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gZ2V0Vmlld3BvcnQoKSBhcyBJQm91bmRpbmdDbGllbnRSZWN0O1xuXG4gICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICFkcmFnTW91c2VFdmVudC5jbGllbnRYIHx8ICghaWdub3JlTW91c2Vkb3duICYmIGRyYWdNb3VzZUV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nICYmIHJlY3RFbGVtZW50LmhlaWdodCArIHJlY3RFbGVtZW50LnRvcCA+PSB2aWV3cG9ydC5oZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHsgY2xpZW50WCwgY2xpZW50WSB9ID0gZHJhZ01vdXNlRXZlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPT09IC0xKSB7XG4gICAgICAgICAgICBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlTGVmdCA9IGNsaWVudFggLSByZWN0RWxlbWVudC5sZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wID09PSAtMSkge1xuICAgICAgICAgICAgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZVRvcCA9IGNsaWVudFkgLSByZWN0RWxlbWVudC50b3A7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZHJhZ01vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1DbGljay5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IGVsZW1lbnQpLnNvbWUoKGl0ZW0pID0+IGVsZW1lbnQuY29udGFpbnMoaXRlbSkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGUoKSB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzYWJsZURyYWdDb250YWluZXInKSB8fCAhZHJhZ01vdXNlRXZlbnQuY2xpZW50WCB8fCBkcmFnTW91c2VFdmVudC50eXBlID09PSAnbW91c2Vkb3duJyB8fCBjb250ZXh0TWVudSB8fCAodGhpcy5pdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsKCkgJiYgdGhpcy5pc0RyYWdnaW5nKCkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlnbm9yZU1vdXNlZG93biA9IHRydWU7XG4gICAgICAgIGNvbnN0IHsgY2xpZW50WCwgY2xpZW50WSB9ID0gZHJhZ01vdXNlRXZlbnQ7XG4gICAgICAgIGNvbnN0IG1vdXNlUG9zaXRpb24gPSB7IGNsaWVudFgsIGNsaWVudFkgfTtcbiAgICAgICAgY29uc3QgcmVjdEVsZW1lbnQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0RyYWdnaW5nKCkpIHtcbiAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcuc2V0KHRydWUpO1xuICAgICAgICAgIGNvbnN0IGV2ZW50RHJhZ1N0YXJ0ID0geyBtb3VzZVBvc2l0aW9uLCBlbGVtZW50RHJhZzogZWxlbWVudCwgaXRlbURyYWdJbmZvOiB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm8gfTtcblxuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLlRhcmdldEl0ZW1EcmFnRmxhZywgJ3RydWUnKTtcbiAgICAgICAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdTdGFydC5uZXh0KGV2ZW50RHJhZ1N0YXJ0KTtcbiAgICAgICAgICBldmVudERyYWdTdGFydC5pdGVtRHJhZ0luZm8gPSB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm87XG4gICAgICAgICAgdGhpcy5vdXREcmFnU3RhcnQuZW1pdChldmVudERyYWdTdGFydCk7XG5cbiAgICAgICAgICBub2RlQ2xvbmUgPSBlbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUuekluZGV4ID0gYCR7dGhpcy56SW5kZXgoKX1gO1xuICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QuYWRkKCchZml4ZWQnKTtcbiAgICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1vcmlnaW4tcGxhY2Vob2xkZXInKTtcbiAgICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1wbGFjZWhvbGRlcicpO1xuICAgICAgICAgIG5vZGVDbG9uZS5hcHBlbmRDaGlsZChzdHlsZVRhZyk7XG4gICAgICAgICAgbm9kZUNsb25lLmNsYXNzTGlzdC5hZGQoJ2xpYnMtdWktZHJhZy1kcm9wLWl0ZW0tZHJhZ2dpbmcnKTtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUud2lkdGggPSBgJHtyZWN0RWxlbWVudC53aWR0aH1weGA7XG4gICAgICAgICAgbm9kZUNsb25lLnN0eWxlLmhlaWdodCA9IGAke3JlY3RFbGVtZW50LmhlaWdodH1weGA7XG4gICAgICAgICAgbm9kZUNsb25lLnN0eWxlLmxlZnQgPSBgJHstOTk5fXB4YDtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUudG9wID0gYCR7LTk5OX1weGA7XG4gICAgICAgICAgaWYgKCF0aGlzLmlnbm9yZVVzZXJTZWxlY3ROb25lKCkpIHtcbiAgICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QuYWRkKCdzZWxlY3Qtbm9uZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChub2RlQ2xvbmUpO1xuICAgICAgICAgIGlmICh0aGlzLmRyYWdSb290RWxlbWVudCgpKSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ29wYWNpdHktMCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkge1xuICAgICAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuT25EcmFnSXRlbUluQ29udGFpbmVyVmlydHVhbFNjcm9sbC5uZXh0KHtcbiAgICAgICAgICAgICAgaXRlbURyYWdJbmZvOiB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm8sXG4gICAgICAgICAgICAgIGVsZW1lbnREcmFnOiBub2RlQ2xvbmUsXG4gICAgICAgICAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3AsXG4gICAgICAgICAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LFxuICAgICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyOiB0aGlzLmVsZW1lbnRDb250YWluZXIoKSxcbiAgICAgICAgICAgICAgZHJhZ0JvdW5kYXJ5OiB0aGlzLmRyYWdCb3VuZGFyeSgpLFxuICAgICAgICAgICAgICBkcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyOiB0aGlzLmRyYWdCb3VuZGFyeUFjY2VwdE1vdXNlTGVhdmVDb250YWluZXIoKSxcbiAgICAgICAgICAgICAgaWdub3JlU3RvcEV2ZW50OiB0aGlzLmlnbm9yZVN0b3BFdmVudCgpLFxuICAgICAgICAgICAgICBpZ25vcmVVc2VyU2VsZWN0Tm9uZTogdGhpcy5pZ25vcmVVc2VyU2VsZWN0Tm9uZSgpIHx8IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5nZXRDbGllbnRQb3NpdGlvbihub2RlQ2xvbmUsIG1vdXNlUG9zaXRpb24sIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LCBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wLCB0aGlzLmRyYWdCb3VuZGFyeSgpLCB0aGlzLmVsZW1lbnRDb250YWluZXIoKSk7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudEtlZXBDb250YWluZXIgPSByZXN1bHQuZWxlbWVudEtlZXBDb250YWluZXI7XG4gICAgICAgIGNvbnN0IGxlZnQgPSByZXN1bHQuY2xpZW50WCAtIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0O1xuICAgICAgICBjb25zdCB0b3AgPSByZXN1bHQuY2xpZW50WSAtIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3A7XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0JvdW5kYXJ5KCkgJiYgdGhpcy5kcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyKCkpIHtcbiAgICAgICAgICBpZiAoY2xpZW50WCA8IHJlc3VsdC52aWV3cG9ydC5sZWZ0KSB7XG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFggPSByZXN1bHQudmlld3BvcnQubGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNsaWVudFggPiByZXN1bHQudmlld3BvcnQud2lkdGgpIHtcbiAgICAgICAgICAgIG1vdXNlUG9zaXRpb24uY2xpZW50WCA9IHJlc3VsdC52aWV3cG9ydC53aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNsaWVudFkgPCByZXN1bHQudmlld3BvcnQudG9wKSB7XG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFkgPSByZXN1bHQudmlld3BvcnQudG9wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2xpZW50WSA+IHJlc3VsdC52aWV3cG9ydC5oZWlnaHQpIHtcbiAgICAgICAgICAgIG1vdXNlUG9zaXRpb24uY2xpZW50WSA9IHJlc3VsdC52aWV3cG9ydC5oZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG5vZGVDbG9uZS5zdHlsZS5sZWZ0ID0gYCR7bGVmdH1weGA7XG4gICAgICAgIG5vZGVDbG9uZS5zdHlsZS50b3AgPSBgJHt0b3B9cHhgO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ2dpbmcgPSB7IG1vdXNlUG9zaXRpb24sIGVsZW1lbnREcmFnOiBub2RlQ2xvbmUsIGVsZW1lbnRLZWVwQ29udGFpbmVyLCBpdGVtRHJhZ0luZm86IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ2dpbmcubmV4dChldmVudERyYWdnaW5nKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
276
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9kcmFnLWRyb3Avc3JjL2RyYWctaXRlbS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQVFwSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsK0NBQStDO0lBQzFGLG1CQUFtQjtJQUNGLFVBQVUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDcEMsVUFBVSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVyRCxnQkFBZ0I7SUFDaEIsb0VBQW9FO0lBQzNELE9BQU8sR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7SUFDNUIsSUFBSSxHQUFHLEtBQUssQ0FBTSxTQUFTLENBQUMsQ0FBQztJQUM3Qiw0QkFBNEIsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUN6RCxvQ0FBb0M7SUFDM0IsZ0NBQWdDLEdBQUcsS0FBSyxDQUE2QixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFD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LFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ2hELENBQUM7Z0JBQ0QsSUFBSSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbEMsYUFBYSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDOUMsQ0FBQztnQkFDRCxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNyQyxhQUFhLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUNqRCxDQUFDO1lBQ0gsQ0FBQztZQUNELFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUM7WUFDbkMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztZQUVqQyxNQUFNLGFBQWEsR0FBRyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXZJLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0dBM1NVLHVCQUF1Qjs0RkFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNULDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBJQm91bmRpbmdDbGllbnRSZWN0IH0gZnJvbSAnQGxpYnMtdWkvaW50ZXJmYWNlcy10eXBlcyc7XG5pbXBvcnQgeyBjaGVja01vdXNlT3ZlckluQ29udGFpbmVyLCBjaGVja1ZpZXdJblNjcmVlbiwgZ2V0LCBnZXREcmFnRXZlbnRCeUVsZW1lbnQsIGdldFZpZXdwb3J0IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlic1VpRHJhZ0l0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWctaXRlbS1pbi1jb250YWluZXItdmlydHVhbC1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IElEcmFnRW5kLCBJRHJhZ0xlYXZlLCBJRHJhZ092ZXIsIElEcmFnU3RhcnQsIElEcm9wIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2V2ZW50LmludGVyZmFjZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tMaWJzVWlEcmFnSXRlbURpcmVjdGl2ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlEcmFnSXRlbURpcmVjdGl2ZSBleHRlbmRzIExpYnNVaURyYWdJdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIC8vICNyZWdpb24gUFJPUEVSVFlcbiAgcHJpdmF0ZSByZWFkb25seSBpc0RyYWdPdmVyID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpc0RyYWdnaW5nID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIC8vc2V0dXAgMyBmaWVsZCBwaMOtYSBkxrDhu5tpIG7hur91IMSRYW5nIHPhu60gZOG7pW5nIGl0ZW0gdHJvbmcgdmlydHVhbC1zY3JvbGxcbiAgcmVhZG9ubHkgZmllbGRJZCA9IGlucHV0PHN0cmluZz4oJycpO1xuICByZWFkb25seSBpdGVtID0gaW5wdXQ8YW55Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBpdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHJlYWRvbmx5IHRocm90dGxlVGltZUhhbmRsZXJEcmFnZ2luZ0V2ZW50ID0gaW5wdXQ8bnVtYmVyLCBudW1iZXIgfCB1bmRlZmluZWQ+KDAsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlIHx8IDAgfSk7XG4gIHJlYWRvbmx5IGlnbm9yZVN0b3BFdmVudCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IG9ubHlNb3VzZURvd25TdG9wRXZlbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnUm9vdEVsZW1lbnQgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnQm91bmRhcnkgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgZWxlbWVudENvbnRhaW5lciA9IGlucHV0PEhUTUxFbGVtZW50PigpO1xuICByZWFkb25seSB6SW5kZXggPSBpbnB1dDxudW1iZXIsIG51bWJlciB8IHVuZGVmaW5lZD4oMTMwMCwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gMTMwMCB9KTtcbiAgcmVhZG9ubHkgZGlzYWJsZSA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIHJlYWRvbmx5IGlnbm9yZVVzZXJTZWxlY3ROb25lID0gaW5wdXQ8Ym9vbGVhbj4oKTtcblxuICAvLyAjcmVnaW9uIE9VVFBVVFxuICByZWFkb25seSBvdXREcmFnU3RhcnQgPSBvdXRwdXQ8SURyYWdTdGFydD4oKTtcbiAgcmVhZG9ubHkgb3V0RHJhZ092ZXIgPSBvdXRwdXQ8SURyYWdPdmVyPigpO1xuICByZWFkb25seSBvdXREcmFnTGVhdmUgPSBvdXRwdXQ8SURyYWdMZWF2ZT4oKTtcbiAgcmVhZG9ubHkgb3V0RHJhZ0VuZCA9IG91dHB1dDxJRHJhZ0VuZD4oKTtcbiAgcmVhZG9ubHkgb3V0RHJvcHBlZCA9IG91dHB1dDxJRHJvcD4oKTtcblxuICAvLyAjcmVnaW9uIElOSkVDVFxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYCR7dGhpcy5kcmFnRHJvcFNlcnZpY2UuQ2xhc3NJdGVtRGVmaW5lfS1kaXNhYmxlYCk7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlKCkgJiYgIWVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGAke3RoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNsYXNzSXRlbURlZmluZX0tZGlzYWJsZWApKSB7XG4gICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZChgJHt0aGlzLmRyYWdEcm9wU2VydmljZS5DbGFzc0l0ZW1EZWZpbmV9LWRpc2FibGVgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMuZmllbGRJZCgpKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnZmllbGRfaWQnLCB0aGlzLmZpZWxkSWQoKSk7XG4gICAgICBpZiAodGhpcy5pdGVtKCkpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2l0ZW1faWQnLCBnZXQodGhpcy5pdGVtKCksIHRoaXMuZmllbGRJZCgpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCh0aGlzLmRyYWdEcm9wU2VydmljZS5DbGFzc0l0ZW1EZWZpbmUpO1xuICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ2dpbmcucGlwZSh0aHJvdHRsZVRpbWUodGhpcy50aHJvdHRsZVRpbWVIYW5kbGVyRHJhZ2dpbmdFdmVudCgpKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnREcmFnZ2luZykgPT4ge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICh0aGlzLmZpZWxkSWQoKSAmJiB0aGlzLml0ZW0oKSAmJiBldmVudERyYWdnaW5nLmVsZW1lbnREcmFnLmdldEF0dHJpYnV0ZSgnaXRlbV9pZCcpID09PSBnZXQodGhpcy5pdGVtKCksIHRoaXMuZmllbGRJZCgpKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udGFpbmVyQnlJZCA9IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNvbnRhaW5lcigpLmdldChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZ3JvdXBJRCcpIHx8ICcnKTtcblxuICAgICAgaWYgKGNvbnRhaW5lckJ5SWQpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV2ZW50RHJhZ2dpbmcuZWxlbWVudEtlZXBDb250YWluZXIgfHxcbiAgICAgICAgICAhdGhpcy5kcmFnRHJvcFNlcnZpY2UuY2hlY2tFbGVtZW50T3ZlckFjY2VwdEVsZW1lbnREcmFnKGNvbnRhaW5lckJ5SWQuZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2dyb3VwTmFtZScpLCBldmVudERyYWdnaW5nLmVsZW1lbnREcmFnLmdldEF0dHJpYnV0ZSgnZ3JvdXBOYW1lJyksIGV2ZW50RHJhZ2dpbmcuZWxlbWVudERyYWcuZ2V0QXR0cmlidXRlKCdkcm9wVG9Hcm91cE5hbWUnKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY2hlY2tNb3VzZU92ZXJJbkNvbnRhaW5lcihldmVudERyYWdnaW5nLm1vdXNlUG9zaXRpb24sIGVsZW1lbnQpICYmIGVsZW1lbnQgIT09IGV2ZW50RHJhZ2dpbmcuZWxlbWVudERyYWcgJiYgY29udGFpbmVyQnlJZCAmJiBjaGVja1ZpZXdJblNjcmVlbihjb250YWluZXJCeUlkLmVsZW1lbnQsIGVsZW1lbnQsIGNvbnRhaW5lckJ5SWQuZWxlbWVudFNjcm9sbCkpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNEcmFnT3ZlcigpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ092ZXIgPSB7IC4uLmV2ZW50RHJhZ2dpbmcsIGVsZW1lbnREcmFnT3ZlcjogZWxlbWVudCB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ092ZXIubmV4dChldmVudERyYWdPdmVyKTtcbiAgICAgICAgdGhpcy5vdXREcmFnT3Zlci5lbWl0KGV2ZW50RHJhZ092ZXIpO1xuICAgICAgICB0aGlzLmlzRHJhZ092ZXIuc2V0KHRydWUpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuaXNEcmFnT3ZlcigpKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ0xlYXZlID0geyAuLi5ldmVudERyYWdnaW5nLCBlbGVtZW50RHJhZ0xlYXZlOiBlbGVtZW50IH07XG4gICAgICAgIHRoaXMuaXNEcmFnT3Zlci5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdMZWF2ZS5uZXh0KGV2ZW50RHJhZ0xlYXZlKTtcbiAgICAgICAgdGhpcy5vdXREcmFnTGVhdmUuZW1pdChldmVudERyYWdMZWF2ZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyb3BDb250YWluZXIucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKChldmVudERyb3ApID0+IHtcbiAgICAgIGlmIChldmVudERyb3AuZWxlbWVudERyb3AgIT09IGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZHJvcEV2ZW50ID0geyBlbGVtZW50RHJhZzogZXZlbnREcm9wLmVsZW1lbnREcmFnLCBlbGVtZW50RHJvcDogZWxlbWVudCwgaXRlbURyYWdJbmZvOiBldmVudERyb3AuaXRlbURyYWdJbmZvIH07XG5cbiAgICAgIHRoaXMub3V0RHJvcHBlZC5lbWl0KGRyb3BFdmVudCk7XG4gICAgfSk7XG4gICAgY29uc3Qgc3R5bGVUYWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuXG4gICAgc3R5bGVUYWcudGV4dENvbnRlbnQgPSBgLmxpYnMtdWktZHJhZy1kcm9wLWl0ZW0tZHJhZ2dpbmd7Y3Vyc29yOm1vdmV9YDtcbiAgICBsZXQgbm9kZUNsb25lID0gZWxlbWVudDtcbiAgICBsZXQgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPSAtMTtcbiAgICBsZXQgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZVRvcCA9IC0xO1xuICAgIGxldCBjb250ZXh0TWVudSA9IGZhbHNlO1xuICAgIGNvbnN0IHN0b3BFdmVudE1vdXNlID0gKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICghdGhpcy5pZ25vcmVTdG9wRXZlbnQoKSkge1xuICAgICAgICBtb3VzZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG1vdXNlRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCB1cGRhdGVQb3NpdGlvbkVsZW1lbnRSb290QW5kUmVtb3ZlTm9kZUNsb25lID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZHJhZ1Jvb3RFbGVtZW50KCkpIHtcbiAgICAgICAgY29uc3QgY29udGFpbmVyQnlJZCA9IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkNvbnRhaW5lcigpLmdldChlbGVtZW50LmdldEF0dHJpYnV0ZSgnZ3JvdXBJRCcpIHx8ICcnKTtcblxuICAgICAgICBjb25zdCBjb250YWluZXJJdGVtID0gdGhpcy5lbGVtZW50Q29udGFpbmVyKCkgfHwgY29udGFpbmVyQnlJZD8uZWxlbWVudFNjcm9sbCB8fCBjb250YWluZXJCeUlkPy5lbGVtZW50IHx8IGRvY3VtZW50LmJvZHk7XG4gICAgICAgIGNvbnN0IHJlY3RDb250YWluZXIgPSBjb250YWluZXJJdGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCByZWN0Tm9kZUNsb25lID0gbm9kZUNsb25lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBudW1iZXJTdWIgPSBOdW1iZXIoKGdldENvbXB1dGVkU3R5bGUoY29udGFpbmVySXRlbSkuYm9yZGVyLm1hdGNoKC9cXGQrcHgvZ2kpIHx8IFsnMCddKVswXS5yZXBsYWNlKC9cXEQrL2dpLCAnJykpLnZhbHVlT2YoKTtcblxuICAgICAgICBlbGVtZW50LnN0eWxlLmxlZnQgPSByZWN0Tm9kZUNsb25lLmxlZnQgLSByZWN0Q29udGFpbmVyLmxlZnQgLSBudW1iZXJTdWIgKyAncHgnO1xuICAgICAgICBlbGVtZW50LnN0eWxlLnRvcCA9IHJlY3ROb2RlQ2xvbmUudG9wIC0gcmVjdENvbnRhaW5lci50b3AgLSBudW1iZXJTdWIgKyAncHgnO1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ29wYWNpdHktMCcpO1xuICAgICAgfVxuICAgICAgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPSAtMTtcbiAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3AgPSAtMTtcbiAgICAgIG5vZGVDbG9uZS5yZW1vdmUoKTtcbiAgICB9O1xuXG4gICAgZnJvbUV2ZW50KGRvY3VtZW50LCAnY29udGV4dG1lbnUnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuaXNEcmFnZ2luZygpKSB7XG4gICAgICAgICAgICB1cGRhdGVQb3NpdGlvbkVsZW1lbnRSb290QW5kUmVtb3ZlTm9kZUNsb25lKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRleHRNZW51ID0gdHJ1ZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICBsZXQgaWdub3JlTW91c2Vkb3duID0gZmFsc2U7XG5cbiAgICBnZXREcmFnRXZlbnRCeUVsZW1lbnQoe1xuICAgICAgZWxlbWVudE1vdXNlRG93bjogZWxlbWVudCxcbiAgICAgIGZ1bmN0aW9uTW91c2VEb3duOiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuSXRlbUNsaWNrID0gZWxlbWVudDtcbiAgICAgICAgY29udGV4dE1lbnUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy51cGRhdGVNb3VzZUV2ZW50c1doZW5Nb3ZlT3ZlcklmcmFtZSgnbm9uZScpO1xuICAgICAgICBpZiAoKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICF0aGlzLmlzRHJhZ2dpbmcoKSB8fCB0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkgJiYgIXRoaXMub25seU1vdXNlRG93blN0b3BFdmVudCgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbk1vdXNlTW92ZTogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgIH0sXG4gICAgICBmdW5jdGlvbk1vdXNlVXA6IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLnVwZGF0ZU1vdXNlRXZlbnRzV2hlbk1vdmVPdmVySWZyYW1lKCdhdXRvJyk7XG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLnJlc2V0SXRlbUNsaWNrKCk7XG4gICAgICAgIHN0b3BFdmVudE1vdXNlKGV2ZW50KTtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8IGNvbnRleHRNZW51IHx8ICF0aGlzLmlzRHJhZ2dpbmcoKSkge1xuICAgICAgICAgIGNvbnRleHRNZW51ID0gZmFsc2U7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dE1lbnUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0RyYWdnaW5nLnNldChmYWxzZSk7XG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLlRhcmdldEl0ZW1EcmFnRmxhZyk7XG4gICAgICAgIGlmICh0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtb3VzZVBvc2l0aW9uID0geyBjbGllbnRYOiBldmVudC5jbGllbnRYLCBjbGllbnRZOiBldmVudC5jbGllbnRZIH07XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0JvdW5kYXJ5KCkgJiYgdGhpcy5kcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyKCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLmdldENsaWVudFBvc2l0aW9uKGVsZW1lbnQsIG1vdXNlUG9zaXRpb24sIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LCBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wLCB0aGlzLmRyYWdCb3VuZGFyeSgpLCB0aGlzLmVsZW1lbnRDb250YWluZXIoKSk7XG5cbiAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFggPSByZXN1bHQuY2xpZW50WDtcbiAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFkgPSByZXN1bHQuY2xpZW50WTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkcmFnRW5kRXZlbnQgPSB7IG1vdXNlUG9zaXRpb24sIGVsZW1lbnREcmFnOiBlbGVtZW50LCBpdGVtRHJhZ0luZm86IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuT25EcmFnRW5kLm5leHQoZHJhZ0VuZEV2ZW50KTtcbiAgICAgICAgdGhpcy5vdXREcmFnRW5kLmVtaXQoZHJhZ0VuZEV2ZW50KTtcblxuICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICBpZiAoIXRoaXMuaWdub3JlVXNlclNlbGVjdE5vbmUoKSkge1xuICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QucmVtb3ZlKCdzZWxlY3Qtbm9uZScpO1xuICAgICAgICB9XG4gICAgICAgIHN0eWxlVGFnLnJlbW92ZSgpO1xuXG4gICAgICAgIHVwZGF0ZVBvc2l0aW9uRWxlbWVudFJvb3RBbmRSZW1vdmVOb2RlQ2xvbmUoKTtcbiAgICAgIH0sXG4gICAgICBkZXN0cm95UmVmOiB0aGlzLmRlc3Ryb3lSZWYsXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGRyYWdNb3VzZUV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVjdEVsZW1lbnQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gZ2V0Vmlld3BvcnQoKSBhcyBJQm91bmRpbmdDbGllbnRSZWN0O1xuXG4gICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZSgpIHx8IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkaXNhYmxlRHJhZ0NvbnRhaW5lcicpIHx8ICFkcmFnTW91c2VFdmVudC5jbGllbnRYIHx8ICghaWdub3JlTW91c2Vkb3duICYmIGRyYWdNb3VzZUV2ZW50LnR5cGUgPT09ICdtb3VzZWRvd24nICYmIHJlY3RFbGVtZW50LmhlaWdodCArIHJlY3RFbGVtZW50LnRvcCA+PSB2aWV3cG9ydC5oZWlnaHQpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHsgY2xpZW50WCwgY2xpZW50WSB9ID0gZHJhZ01vdXNlRXZlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZUxlZnQgPT09IC0xKSB7XG4gICAgICAgICAgICBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlTGVmdCA9IGNsaWVudFggLSByZWN0RWxlbWVudC5sZWZ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wID09PSAtMSkge1xuICAgICAgICAgICAgZGlzdGFuY2VTdGFydEVsZW1lbnRBbmRNb3VzZVRvcCA9IGNsaWVudFkgLSByZWN0RWxlbWVudC50b3A7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoZHJhZ01vdXNlRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1DbGljay5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IGVsZW1lbnQpLnNvbWUoKGl0ZW0pID0+IGVsZW1lbnQuY29udGFpbnMoaXRlbSkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGUoKSB8fCBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGlzYWJsZURyYWdDb250YWluZXInKSB8fCAhZHJhZ01vdXNlRXZlbnQuY2xpZW50WCB8fCBkcmFnTW91c2VFdmVudC50eXBlID09PSAnbW91c2Vkb3duJyB8fCBjb250ZXh0TWVudSB8fCAodGhpcy5pdGVtSW5Db250YWluZXJWaXJ0dWFsU2Nyb2xsKCkgJiYgdGhpcy5pc0RyYWdnaW5nKCkpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlnbm9yZU1vdXNlZG93biA9IHRydWU7XG4gICAgICAgIGNvbnN0IHsgY2xpZW50WCwgY2xpZW50WSB9ID0gZHJhZ01vdXNlRXZlbnQ7XG4gICAgICAgIGNvbnN0IG1vdXNlUG9zaXRpb24gPSB7IGNsaWVudFgsIGNsaWVudFkgfTtcbiAgICAgICAgY29uc3QgcmVjdEVsZW1lbnQgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0RyYWdnaW5nKCkpIHtcbiAgICAgICAgICB0aGlzLmlzRHJhZ2dpbmcuc2V0KHRydWUpO1xuICAgICAgICAgIGNvbnN0IGV2ZW50RHJhZ1N0YXJ0ID0geyBtb3VzZVBvc2l0aW9uLCBlbGVtZW50RHJhZzogZWxlbWVudCwgaXRlbURyYWdJbmZvOiB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm8gfTtcblxuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLlRhcmdldEl0ZW1EcmFnRmxhZywgJ3RydWUnKTtcbiAgICAgICAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdTdGFydC5uZXh0KGV2ZW50RHJhZ1N0YXJ0KTtcbiAgICAgICAgICBldmVudERyYWdTdGFydC5pdGVtRHJhZ0luZm8gPSB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm87XG4gICAgICAgICAgdGhpcy5vdXREcmFnU3RhcnQuZW1pdChldmVudERyYWdTdGFydCk7XG5cbiAgICAgICAgICBub2RlQ2xvbmUgPSBlbGVtZW50LmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUuekluZGV4ID0gYCR7dGhpcy56SW5kZXgoKX1gO1xuICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QuYWRkKCchZml4ZWQnKTtcbiAgICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1vcmlnaW4tcGxhY2Vob2xkZXInKTtcbiAgICAgICAgICBub2RlQ2xvbmUuY2xhc3NMaXN0LnJlbW92ZSgnbGlicy11aS1kcmFnLWRyb3AtaXRlbS1wbGFjZWhvbGRlcicpO1xuICAgICAgICAgIG5vZGVDbG9uZS5hcHBlbmRDaGlsZChzdHlsZVRhZyk7XG4gICAgICAgICAgbm9kZUNsb25lLmNsYXNzTGlzdC5hZGQoJ2xpYnMtdWktZHJhZy1kcm9wLWl0ZW0tZHJhZ2dpbmcnKTtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUud2lkdGggPSBgJHtyZWN0RWxlbWVudC53aWR0aH1weGA7XG4gICAgICAgICAgbm9kZUNsb25lLnN0eWxlLmhlaWdodCA9IGAke3JlY3RFbGVtZW50LmhlaWdodH1weGA7XG4gICAgICAgICAgbm9kZUNsb25lLnN0eWxlLmxlZnQgPSBgJHstOTk5fXB4YDtcbiAgICAgICAgICBub2RlQ2xvbmUuc3R5bGUudG9wID0gYCR7LTk5OX1weGA7XG4gICAgICAgICAgaWYgKCF0aGlzLmlnbm9yZVVzZXJTZWxlY3ROb25lKCkpIHtcbiAgICAgICAgICAgIG5vZGVDbG9uZS5jbGFzc0xpc3QuYWRkKCdzZWxlY3Qtbm9uZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChub2RlQ2xvbmUpO1xuICAgICAgICAgIGlmICh0aGlzLmRyYWdSb290RWxlbWVudCgpKSB7XG4gICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ29wYWNpdHktMCcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLml0ZW1JbkNvbnRhaW5lclZpcnR1YWxTY3JvbGwoKSkge1xuICAgICAgICAgICAgdGhpcy5kcmFnRHJvcFNlcnZpY2UuT25EcmFnSXRlbUluQ29udGFpbmVyVmlydHVhbFNjcm9sbC5uZXh0KHtcbiAgICAgICAgICAgICAgaXRlbURyYWdJbmZvOiB0aGlzLmRyYWdEcm9wU2VydmljZS5JdGVtRHJhZ0luZm8sXG4gICAgICAgICAgICAgIGVsZW1lbnREcmFnOiBub2RlQ2xvbmUsXG4gICAgICAgICAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3AsXG4gICAgICAgICAgICAgIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LFxuICAgICAgICAgICAgICBlbGVtZW50Q29udGFpbmVyOiB0aGlzLmVsZW1lbnRDb250YWluZXIoKSxcbiAgICAgICAgICAgICAgZHJhZ0JvdW5kYXJ5OiB0aGlzLmRyYWdCb3VuZGFyeSgpLFxuICAgICAgICAgICAgICBkcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyOiB0aGlzLmRyYWdCb3VuZGFyeUFjY2VwdE1vdXNlTGVhdmVDb250YWluZXIoKSxcbiAgICAgICAgICAgICAgaWdub3JlU3RvcEV2ZW50OiB0aGlzLmlnbm9yZVN0b3BFdmVudCgpLFxuICAgICAgICAgICAgICBpZ25vcmVVc2VyU2VsZWN0Tm9uZTogdGhpcy5pZ25vcmVVc2VyU2VsZWN0Tm9uZSgpIHx8IGZhbHNlLFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5nZXRDbGllbnRQb3NpdGlvbihub2RlQ2xvbmUsIG1vdXNlUG9zaXRpb24sIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0LCBkaXN0YW5jZVN0YXJ0RWxlbWVudEFuZE1vdXNlVG9wLCB0aGlzLmRyYWdCb3VuZGFyeSgpLCB0aGlzLmVsZW1lbnRDb250YWluZXIoKSk7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudEtlZXBDb250YWluZXIgPSByZXN1bHQuZWxlbWVudEtlZXBDb250YWluZXI7XG4gICAgICAgIGNvbnN0IGxlZnQgPSByZXN1bHQuY2xpZW50WCAtIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VMZWZ0O1xuICAgICAgICBjb25zdCB0b3AgPSByZXN1bHQuY2xpZW50WSAtIGRpc3RhbmNlU3RhcnRFbGVtZW50QW5kTW91c2VUb3A7XG5cbiAgICAgICAgaWYgKHRoaXMuZHJhZ0JvdW5kYXJ5KCkgJiYgdGhpcy5kcmFnQm91bmRhcnlBY2NlcHRNb3VzZUxlYXZlQ29udGFpbmVyKCkpIHtcbiAgICAgICAgICBpZiAoY2xpZW50WCA8IHJlc3VsdC52aWV3cG9ydC5sZWZ0KSB7XG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFggPSByZXN1bHQudmlld3BvcnQubGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNsaWVudFggPiByZXN1bHQudmlld3BvcnQud2lkdGgpIHtcbiAgICAgICAgICAgIG1vdXNlUG9zaXRpb24uY2xpZW50WCA9IHJlc3VsdC52aWV3cG9ydC53aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNsaWVudFkgPCByZXN1bHQudmlld3BvcnQudG9wKSB7XG4gICAgICAgICAgICBtb3VzZVBvc2l0aW9uLmNsaWVudFkgPSByZXN1bHQudmlld3BvcnQudG9wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2xpZW50WSA+IHJlc3VsdC52aWV3cG9ydC5oZWlnaHQpIHtcbiAgICAgICAgICAgIG1vdXNlUG9zaXRpb24uY2xpZW50WSA9IHJlc3VsdC52aWV3cG9ydC5oZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG5vZGVDbG9uZS5zdHlsZS5sZWZ0ID0gYCR7bGVmdH1weGA7XG4gICAgICAgIG5vZGVDbG9uZS5zdHlsZS50b3AgPSBgJHt0b3B9cHhgO1xuXG4gICAgICAgIGNvbnN0IGV2ZW50RHJhZ2dpbmcgPSB7IG1vdXNlUG9zaXRpb24sIGVsZW1lbnREcmFnOiBub2RlQ2xvbmUsIGVsZW1lbnRLZWVwQ29udGFpbmVyLCBpdGVtRHJhZ0luZm86IHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLkl0ZW1EcmFnSW5mbyB9O1xuXG4gICAgICAgIHRoaXMuZHJhZ0Ryb3BTZXJ2aWNlLk9uRHJhZ2dpbmcubmV4dChldmVudERyYWdnaW5nKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -137,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
137
137
|
standalone: true,
|
|
138
138
|
}]
|
|
139
139
|
}] });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2RyYWctZHJvcC9zcmMvZHJhZy1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxtQkFBbUI7SUFDWCxVQUFVLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLHFCQUFxQixHQUFHLE1BQU0sQ0FBd0IsU0FBUyxDQUFDLENBQUM7SUFDL0QsdUJBQXVCLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUUxRSxnQkFBZ0I7SUFDUCxnQkFBZ0IsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUNwQyxlQUFlLEdBQUcsS0FBSyxDQUE2QixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLGNBQWMsR0FBRyxLQUFLLENBQTZCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUYsaUJBQWlCLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFDekMsd0JB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VSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElQYWdlSW5mbywgVmlydHVhbFNjcm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnQGloYXJiZWNrL25neC12aXJ0dWFsLXNjcm9sbGVyJztcbmltcG9ydCB7IElCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IGNoZWNrTW91c2VPdmVySW5Db250YWluZXIsIGNsb25lSUJvdW5kaW5nQ2xpZW50UmVjdCwgZ2V0IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgTW9MaWJzU2hhcmVkRHJhZ0Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi9kcmFnLWRyb3Auc2VydmljZSc7XG5pbXBvcnQgeyBJRHJhZ2dpbmcgfSBmcm9tICcuL2ludGVyZmFjZXMvZXZlbnQuaW50ZXJmYWNlJztcbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tMaWJzVWlDb21wb25lbnRzRHJhZ1Njcm9sbERpcmVjdGl2ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzRHJhZ1Njcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByaXZhdGUgc3RvcFNjcm9sbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgdmlydHVhbFNjcm9sbFBhZ2VJbmZvID0gc2lnbmFsPElQYWdlSW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJvdGVjdGVkIGludGVydmFsU2Nyb2xsVG9FbGVtZW50ID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IGlnbm9yZUF1dG9TY3JvbGwgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB3aWR0aFpvbmVEZXRlY3QgPSBpbnB1dDxudW1iZXIsIG51bWJlciB8IHVuZGVmaW5lZD4oMTYsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IDE2IH0pO1xuICByZWFkb25seSBtb3ZlbWVudExlbmd0aCA9IGlucHV0PG51bWJlciwgbnVtYmVyIHwgdW5kZWZpbmVkPig2LCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyA2IH0pO1xuICByZWFkb25seSByb290RWxlbWVudFNjcm9sbCA9IGlucHV0PEhUTUxFbGVtZW50PigpO1xuICByZWFkb25seSB2aXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQgPSBpbnB1dDxWaXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQ+KCk7XG5cbiAgLy8gI3JlZ2lvbiBJTkpFQ1RcbiAgcHJvdGVjdGVkIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByb3RlY3RlZCBkcmFnRHJvcFNlcnZpY2UgPSBpbmplY3QoTW9MaWJzU2hhcmVkRHJhZ0Ryb3BTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdnaW5nLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnREcmFnZ2luZzogSURyYWdnaW5nKSA9PiB0aGlzLmNoZWNrQW5kU2Nyb2xsRWxlbWVudFRvUG9zaXRpb24oZXZlbnREcmFnZ2luZywgdGhpcy5pZ25vcmVBdXRvU2Nyb2xsKCkpKTtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdFbmQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFNjcm9sbFRvRWxlbWVudCgpKTtcbiAgICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mbygpKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCksICdlbGVtZW50Jyk/Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCksICdfaG9yaXpvbnRhbCcpO1xuICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgZmlyc3RFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGBzY2FsZVgoJHt0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mbygpPy5zY3JvbGxFbmRQb3NpdGlvbn0pYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgIGZpcnN0RWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgc2NhbGVZKCR7dGhpcy52aXJ0dWFsU2Nyb2xsUGFnZUluZm8oKT8uc2Nyb2xsRW5kUG9zaXRpb259KWA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsUGFnZUluZm8uc2V0KHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdTdGFydC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCk/LnNjcm9sbFRvSW5kZXgoMCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCF0aGlzLnZpcnR1YWxTY3JvbGxlckNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpcnR1YWxTY3JvbGxlckNvbXBvbmVudCgpXG4gICAgICA/LnZzQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChwYWdlSW5mbykgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50LCAnX2l0ZW1zJyk7XG5cbiAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA9PT0gcGFnZUluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mby5zZXQocGFnZUluZm8pO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRTZXRTY3JvbGwgPSB0aGlzLnJvb3RFbGVtZW50U2Nyb2xsKCkgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgY29uc3QgaXNIb3Jpem9udGFsID0gZ2V0PGFueT4odGhpcy52aXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQsICdfaG9yaXpvbnRhbCcpO1xuXG4gICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCAmJiBwYWdlSW5mby5zY3JvbGxFbmRQb3NpdGlvbiA8IGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0V2lkdGggKyBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgKyAzKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KHRydWUpO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFpc0hvcml6b250YWwgJiYgcGFnZUluZm8uc2Nyb2xsRW5kUG9zaXRpb24gPCBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldEhlaWdodCArIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wICsgMykge1xuICAgICAgICAgICAgdGhpcy5zdG9wU2Nyb2xsLnNldCh0cnVlKTtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFNjcm9sbFRvRWxlbWVudCgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KGZhbHNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBjaGVja0FuZFNjcm9sbEVsZW1lbnRUb1Bvc2l0aW9uKGV2ZW50RHJhZ2dpbmc6IElEcmFnZ2luZywgaWdub3JlQXV0b1Njcm9sbD86IGJvb2xlYW4pIHtcbiAgICBsZXQgZWxlbWVudFNldFNjcm9sbCA9IHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChpZ25vcmVBdXRvU2Nyb2xsIHx8ICFjaGVja01vdXNlT3ZlckluQ29udGFpbmVyKGV2ZW50RHJhZ2dpbmcubW91c2VQb3NpdGlvbiwgZWxlbWVudFNldFNjcm9sbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVjdEVsZW1lbnQgPSBjbG9uZUlCb3VuZGluZ0NsaWVudFJlY3QodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgaWYgKHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSkge1xuICAgICAgY29uc3QgcmVjdEVsZW1lbnRTY3JvbGwgPSB0aGlzLnJvb3RFbGVtZW50U2Nyb2xsKCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGFzIElCb3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgIHJlY3RFbGVtZW50LmxlZnQgPSByZWN0RWxlbWVudFNjcm9sbC5sZWZ0O1xuICAgICAgcmVjdEVsZW1lbnQudG9wID0gcmVjdEVsZW1lbnRTY3JvbGwudG9wO1xuICAgIH1cblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0IH0gPSByZWN0RWxlbWVudDtcbiAgICBjb25zdCB7IGNsaWVudFgsIGNsaWVudFkgfSA9IGV2ZW50RHJhZ2dpbmcubW91c2VQb3NpdGlvbjtcbiAgICBjb25zdCBsaW1pdExlZnQgPSBsZWZ0ICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRXaWR0aDtcbiAgICBjb25zdCBsaW1pdFRvcCA9IHRvcCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuICAgIGlmICgoY2xpZW50WCA8IGxlZnQgfHwgY2xpZW50WCA+IGxlZnQgKyB3aWR0aCkgJiYgKGNsaWVudFkgPCB0b3AgfHwgY2xpZW50WSA+IHRvcCArIGhlaWdodCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50LnNldChcbiAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgZWxlbWVudFNldFNjcm9sbCA9IHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGRpcmVjdGlvblRvcCA9IDA7XG4gICAgICAgIGxldCBkaXJlY3Rpb25MZWZ0ID0gMDtcblxuICAgICAgICBpZiAodG9wIDw9IGNsaWVudFkgJiYgY2xpZW50WSA8PSB0b3AgKyB0aGlzLndpZHRoWm9uZURldGVjdCgpKSB7XG4gICAgICAgICAgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgLT0gdGhpcy5tb3ZlbWVudExlbmd0aCgpO1xuICAgICAgICAgIGRpcmVjdGlvblRvcCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbWl0VG9wIC0gdGhpcy53aWR0aFpvbmVEZXRlY3QoKSA8PSBjbGllbnRZICYmIGNsaWVudFkgPD0gbGltaXRUb3ApIHtcbiAgICAgICAgICBpZiAodGhpcy5zdG9wU2Nyb2xsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgKz0gdGhpcy5tb3ZlbWVudExlbmd0aCgpO1xuICAgICAgICAgIGRpcmVjdGlvblRvcCA9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGltaXRMZWZ0IC0gdGhpcy53aWR0aFpvbmVEZXRlY3QoKSA8PSBjbGllbnRYICYmIGNsaWVudFggPD0gbGltaXRMZWZ0KSB7XG4gICAgICAgICAgaWYgKHRoaXMuc3RvcFNjcm9sbCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCArPSB0aGlzLm1vdmVtZW50TGVuZ3RoKCk7XG4gICAgICAgICAgZGlyZWN0aW9uTGVmdCA9ICsxO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsZWZ0IDw9IGNsaWVudFggJiYgY2xpZW50WCA8PSBsZWZ0ICsgdGhpcy53aWR0aFpvbmVEZXRlY3QoKSkge1xuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCAtPSB0aGlzLm1vdmVtZW50TGVuZ3RoKCk7XG4gICAgICAgICAgZGlyZWN0aW9uTGVmdCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgKyBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldFdpZHRoID49IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsV2lkdGgpIHtcbiAgICAgICAgICBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgLT0gZWxlbWVudFNldFNjcm9sbC5zY3JvbGxMZWZ0ICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRXaWR0aCAtIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsV2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgJiYgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgKyBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldEhlaWdodCA+PSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wIC09IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRIZWlnaHQgLSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZGlyZWN0aW9uVG9wIDwgMCAmJiAhZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3ApIHx8XG4gICAgICAgICAgKCFlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgJiYgZGlyZWN0aW9uTGVmdCA8IDApIHx8XG4gICAgICAgICAgKGRpcmVjdGlvblRvcCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodCA8PSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbFRvcCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0SGVpZ2h0ICsgMykgfHxcbiAgICAgICAgICAoZGlyZWN0aW9uTGVmdCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbFdpZHRoIDw9IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0V2lkdGggKyAzKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuICAgICAgICB9XG4gICAgICB9LCAxMClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1zY3JvbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2RyYWctZHJvcC9zcmMvZHJhZy1zY3JvbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQWlCLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFPbEUsTUFBTSxPQUFPLG1DQUFtQztJQUM5QyxtQkFBbUI7SUFDRixVQUFVLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLHFCQUFxQixHQUFHLE1BQU0sQ0FBd0IsU0FBUyxDQUFDLENBQUM7SUFDeEUsdUJBQXVCLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztJQUUxRSxnQkFBZ0I7SUFDUCxnQkFBZ0IsR0FBRyxLQUFLLEVBQVcsQ0FBQztJQUNwQyxlQUFlLEdBQUcsS0FBSyxDQUE2QixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9GLGNBQWMsR0FBRyxLQUFLLENBQTZCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUYsaUJBQWlCLEdBQUcsS0FBSyxFQUFlLENBQUM7SUFDekMsd0JB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VSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElQYWdlSW5mbywgVmlydHVhbFNjcm9sbGVyQ29tcG9uZW50IH0gZnJvbSAnQGloYXJiZWNrL25neC12aXJ0dWFsLXNjcm9sbGVyJztcbmltcG9ydCB7IElCb3VuZGluZ0NsaWVudFJlY3QgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IGNoZWNrTW91c2VPdmVySW5Db250YWluZXIsIGNsb25lSUJvdW5kaW5nQ2xpZW50UmVjdCwgZ2V0IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgTW9MaWJzU2hhcmVkRHJhZ0Ryb3BTZXJ2aWNlIH0gZnJvbSAnLi9kcmFnLWRyb3Auc2VydmljZSc7XG5pbXBvcnQgeyBJRHJhZ2dpbmcgfSBmcm9tICcuL2ludGVyZmFjZXMvZXZlbnQuaW50ZXJmYWNlJztcbkBEaXJlY3RpdmUoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tMaWJzVWlDb21wb25lbnRzRHJhZ1Njcm9sbERpcmVjdGl2ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBMaWJzVWlDb21wb25lbnRzRHJhZ1Njcm9sbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAvLyAjcmVnaW9uIFBST1BFUlRZXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcFNjcm9sbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmlydHVhbFNjcm9sbFBhZ2VJbmZvID0gc2lnbmFsPElQYWdlSW5mbyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgcHJvdGVjdGVkIGludGVydmFsU2Nyb2xsVG9FbGVtZW50ID0gc2lnbmFsPG51bWJlciB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvLyAjcmVnaW9uIElOUFVUXG4gIHJlYWRvbmx5IGlnbm9yZUF1dG9TY3JvbGwgPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSB3aWR0aFpvbmVEZXRlY3QgPSBpbnB1dDxudW1iZXIsIG51bWJlciB8IHVuZGVmaW5lZD4oMTYsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/IDE2IH0pO1xuICByZWFkb25seSBtb3ZlbWVudExlbmd0aCA9IGlucHV0PG51bWJlciwgbnVtYmVyIHwgdW5kZWZpbmVkPig2LCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyA2IH0pO1xuICByZWFkb25seSByb290RWxlbWVudFNjcm9sbCA9IGlucHV0PEhUTUxFbGVtZW50PigpO1xuICByZWFkb25seSB2aXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQgPSBpbnB1dDxWaXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQ+KCk7XG5cbiAgLy8gI3JlZ2lvbiBJTkpFQ1RcbiAgcHJvdGVjdGVkIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByb3RlY3RlZCBkcmFnRHJvcFNlcnZpY2UgPSBpbmplY3QoTW9MaWJzU2hhcmVkRHJhZ0Ryb3BTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdnaW5nLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZXZlbnREcmFnZ2luZzogSURyYWdnaW5nKSA9PiB0aGlzLmNoZWNrQW5kU2Nyb2xsRWxlbWVudFRvUG9zaXRpb24oZXZlbnREcmFnZ2luZywgdGhpcy5pZ25vcmVBdXRvU2Nyb2xsKCkpKTtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdFbmQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFNjcm9sbFRvRWxlbWVudCgpKTtcbiAgICAgIGlmICh0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mbygpKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0RWxlbWVudCA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCksICdlbGVtZW50Jyk/Lm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCksICdfaG9yaXpvbnRhbCcpO1xuICAgICAgICBpZiAoaXNIb3Jpem9udGFsKSB7XG4gICAgICAgICAgZmlyc3RFbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGBzY2FsZVgoJHt0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mbygpPy5zY3JvbGxFbmRQb3NpdGlvbn0pYDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWlzSG9yaXpvbnRhbCkge1xuICAgICAgICAgIGZpcnN0RWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPSBgc2NhbGVZKCR7dGhpcy52aXJ0dWFsU2Nyb2xsUGFnZUluZm8oKT8uc2Nyb2xsRW5kUG9zaXRpb259KWA7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsUGFnZUluZm8uc2V0KHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KGZhbHNlKTtcbiAgICB9KTtcbiAgICB0aGlzLmRyYWdEcm9wU2VydmljZS5PbkRyYWdTdGFydC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50KCk/LnNjcm9sbFRvSW5kZXgoMCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaWYgKCF0aGlzLnZpcnR1YWxTY3JvbGxlckNvbXBvbmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZpcnR1YWxTY3JvbGxlckNvbXBvbmVudCgpXG4gICAgICA/LnZzQ2hhbmdlLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAuc3Vic2NyaWJlKChwYWdlSW5mbykgPT4ge1xuICAgICAgICBjb25zdCBpdGVtcyA9IGdldDxhbnk+KHRoaXMudmlydHVhbFNjcm9sbGVyQ29tcG9uZW50LCAnX2l0ZW1zJyk7XG5cbiAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCA9PT0gcGFnZUluZm8uZW5kSW5kZXgpIHtcbiAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxQYWdlSW5mby5zZXQocGFnZUluZm8pO1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnRTZXRTY3JvbGwgPSB0aGlzLnJvb3RFbGVtZW50U2Nyb2xsKCkgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgY29uc3QgaXNIb3Jpem9udGFsID0gZ2V0PGFueT4odGhpcy52aXJ0dWFsU2Nyb2xsZXJDb21wb25lbnQsICdfaG9yaXpvbnRhbCcpO1xuXG4gICAgICAgICAgaWYgKGlzSG9yaXpvbnRhbCAmJiBwYWdlSW5mby5zY3JvbGxFbmRQb3NpdGlvbiA8IGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0V2lkdGggKyBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgKyAzKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KHRydWUpO1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFpc0hvcml6b250YWwgJiYgcGFnZUluZm8uc2Nyb2xsRW5kUG9zaXRpb24gPCBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldEhlaWdodCArIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wICsgMykge1xuICAgICAgICAgICAgdGhpcy5zdG9wU2Nyb2xsLnNldCh0cnVlKTtcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbFNjcm9sbFRvRWxlbWVudCgpKTtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnN0b3BTY3JvbGwuc2V0KGZhbHNlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyogRlVOQ1RJT05TICovXG4gIHByb3RlY3RlZCBjaGVja0FuZFNjcm9sbEVsZW1lbnRUb1Bvc2l0aW9uKGV2ZW50RHJhZ2dpbmc6IElEcmFnZ2luZywgaWdub3JlQXV0b1Njcm9sbD86IGJvb2xlYW4pIHtcbiAgICBsZXQgZWxlbWVudFNldFNjcm9sbCA9IHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGlmIChpZ25vcmVBdXRvU2Nyb2xsIHx8ICFjaGVja01vdXNlT3ZlckluQ29udGFpbmVyKGV2ZW50RHJhZ2dpbmcubW91c2VQb3NpdGlvbiwgZWxlbWVudFNldFNjcm9sbCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVjdEVsZW1lbnQgPSBjbG9uZUlCb3VuZGluZ0NsaWVudFJlY3QodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuXG4gICAgaWYgKHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSkge1xuICAgICAgY29uc3QgcmVjdEVsZW1lbnRTY3JvbGwgPSB0aGlzLnJvb3RFbGVtZW50U2Nyb2xsKCk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIGFzIElCb3VuZGluZ0NsaWVudFJlY3Q7XG5cbiAgICAgIHJlY3RFbGVtZW50LmxlZnQgPSByZWN0RWxlbWVudFNjcm9sbC5sZWZ0O1xuICAgICAgcmVjdEVsZW1lbnQudG9wID0gcmVjdEVsZW1lbnRTY3JvbGwudG9wO1xuICAgIH1cblxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgdG9wLCBsZWZ0IH0gPSByZWN0RWxlbWVudDtcbiAgICBjb25zdCB7IGNsaWVudFgsIGNsaWVudFkgfSA9IGV2ZW50RHJhZ2dpbmcubW91c2VQb3NpdGlvbjtcbiAgICBjb25zdCBsaW1pdExlZnQgPSBsZWZ0ICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRXaWR0aDtcbiAgICBjb25zdCBsaW1pdFRvcCA9IHRvcCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0SGVpZ2h0O1xuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuICAgIGlmICgoY2xpZW50WCA8IGxlZnQgfHwgY2xpZW50WCA+IGxlZnQgKyB3aWR0aCkgJiYgKGNsaWVudFkgPCB0b3AgfHwgY2xpZW50WSA+IHRvcCArIGhlaWdodCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50LnNldChcbiAgICAgIHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgZWxlbWVudFNldFNjcm9sbCA9IHRoaXMucm9vdEVsZW1lbnRTY3JvbGwoKSB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IGRpcmVjdGlvblRvcCA9IDA7XG4gICAgICAgIGxldCBkaXJlY3Rpb25MZWZ0ID0gMDtcblxuICAgICAgICBpZiAodG9wIDw9IGNsaWVudFkgJiYgY2xpZW50WSA8PSB0b3AgKyB0aGlzLndpZHRoWm9uZURldGVjdCgpKSB7XG4gICAgICAgICAgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgLT0gdGhpcy5tb3ZlbWVudExlbmd0aCgpO1xuICAgICAgICAgIGRpcmVjdGlvblRvcCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxpbWl0VG9wIC0gdGhpcy53aWR0aFpvbmVEZXRlY3QoKSA8PSBjbGllbnRZICYmIGNsaWVudFkgPD0gbGltaXRUb3ApIHtcbiAgICAgICAgICBpZiAodGhpcy5zdG9wU2Nyb2xsKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgKz0gdGhpcy5tb3ZlbWVudExlbmd0aCgpO1xuICAgICAgICAgIGRpcmVjdGlvblRvcCA9IDE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGltaXRMZWZ0IC0gdGhpcy53aWR0aFpvbmVEZXRlY3QoKSA8PSBjbGllbnRYICYmIGNsaWVudFggPD0gbGltaXRMZWZ0KSB7XG4gICAgICAgICAgaWYgKHRoaXMuc3RvcFNjcm9sbCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCArPSB0aGlzLm1vdmVtZW50TGVuZ3RoKCk7XG4gICAgICAgICAgZGlyZWN0aW9uTGVmdCA9ICsxO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsZWZ0IDw9IGNsaWVudFggJiYgY2xpZW50WCA8PSBsZWZ0ICsgdGhpcy53aWR0aFpvbmVEZXRlY3QoKSkge1xuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCAtPSB0aGlzLm1vdmVtZW50TGVuZ3RoKCk7XG4gICAgICAgICAgZGlyZWN0aW9uTGVmdCA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgKyBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldFdpZHRoID49IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsV2lkdGgpIHtcbiAgICAgICAgICBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgLT0gZWxlbWVudFNldFNjcm9sbC5zY3JvbGxMZWZ0ICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRXaWR0aCAtIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsV2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgJiYgZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3AgKyBlbGVtZW50U2V0U2Nyb2xsLm9mZnNldEhlaWdodCA+PSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodCkge1xuICAgICAgICAgIGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wIC09IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsVG9wICsgZWxlbWVudFNldFNjcm9sbC5vZmZzZXRIZWlnaHQgLSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAoZGlyZWN0aW9uVG9wIDwgMCAmJiAhZWxlbWVudFNldFNjcm9sbC5zY3JvbGxUb3ApIHx8XG4gICAgICAgICAgKCFlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbExlZnQgJiYgZGlyZWN0aW9uTGVmdCA8IDApIHx8XG4gICAgICAgICAgKGRpcmVjdGlvblRvcCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbEhlaWdodCA8PSBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbFRvcCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0SGVpZ2h0ICsgMykgfHxcbiAgICAgICAgICAoZGlyZWN0aW9uTGVmdCAmJiBlbGVtZW50U2V0U2Nyb2xsLnNjcm9sbFdpZHRoIDw9IGVsZW1lbnRTZXRTY3JvbGwuc2Nyb2xsTGVmdCArIGVsZW1lbnRTZXRTY3JvbGwub2Zmc2V0V2lkdGggKyAzKVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsU2Nyb2xsVG9FbGVtZW50KCkpO1xuICAgICAgICB9XG4gICAgICB9LCAxMClcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -621,7 +621,9 @@ class LibsUiComponentsDragContainerDirective extends LibsUiComponentsDragScrollD
|
|
|
621
621
|
if (this.groupID() !== elementDrop.getAttribute('groupID') || elementDrag.getAttribute('groupID') === elementDrop.getAttribute('groupID')) {
|
|
622
622
|
return;
|
|
623
623
|
}
|
|
624
|
-
const
|
|
624
|
+
const dropIndex = Number(elementDrop.getAttribute('index')).valueOf();
|
|
625
|
+
const dropContainerOffset = elementDrop.getAttribute('dropContainer') ? 0 : 1;
|
|
626
|
+
const indexDragOver = this.groupID() !== elementDrag.getAttribute('groupID') ? dropIndex : dropIndex - dropContainerOffset;
|
|
625
627
|
const item = this.mode() === 'copy' ? cloneDeep(itemDragInfo?.item) : itemDragInfo?.item;
|
|
626
628
|
if (itemDragInfo) {
|
|
627
629
|
itemDragInfo.indexDrop = indexDragOver;
|
|
@@ -635,7 +637,7 @@ class LibsUiComponentsDragContainerDirective extends LibsUiComponentsDragScrollD
|
|
|
635
637
|
items.splice(indexDragOver, 0, item);
|
|
636
638
|
return [...items];
|
|
637
639
|
});
|
|
638
|
-
if (itemDragInfo
|
|
640
|
+
if (itemDragInfo?.itemsMove?.()) {
|
|
639
641
|
itemDragInfo.itemsDrag.set([...itemDragInfo.itemsMove()]);
|
|
640
642
|
this.setAttributeElementAndItemDrag(elementContainer);
|
|
641
643
|
}
|
|
@@ -787,7 +789,7 @@ class LibsUiComponentsDragContainerDirective extends LibsUiComponentsDragScrollD
|
|
|
787
789
|
return;
|
|
788
790
|
}
|
|
789
791
|
childElement.removeAttribute('index');
|
|
790
|
-
if (!this.dropToGroupName()
|
|
792
|
+
if (!this.dropToGroupName()?.length) {
|
|
791
793
|
childElement.removeAttribute('dropToGroupName');
|
|
792
794
|
}
|
|
793
795
|
if (!this.placeholder()) {
|
|
@@ -926,8 +928,8 @@ class LibsUiDragItemInContainerVirtualScrollDirective {
|
|
|
926
928
|
if (!frames?.length) {
|
|
927
929
|
return;
|
|
928
930
|
}
|
|
929
|
-
for (
|
|
930
|
-
|
|
931
|
+
for (const frame of Array.from(frames)) {
|
|
932
|
+
frame.style.pointerEvents = pointerEvents;
|
|
931
933
|
}
|
|
932
934
|
}
|
|
933
935
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiDragItemInContainerVirtualScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|