@ruvector/ruvllm 2.5.7 → 2.6.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/dist/cjs/benchmarks/embedding-benchmark.js +8 -8
- package/dist/cjs/benchmarks/index.js +5 -5
- package/dist/cjs/benchmarks/model-comparison.js +25 -15
- package/dist/cjs/benchmarks/routing-benchmark.js +5 -5
- package/dist/cjs/contrastive.js +9 -9
- package/dist/cjs/intelligence.js +18 -8
- package/dist/cjs/lora.d.ts +11 -0
- package/dist/cjs/lora.d.ts.map +1 -1
- package/dist/cjs/lora.js +16 -1
- package/dist/cjs/models.js +23 -13
- package/dist/cjs/native.js +4 -5
- package/dist/cjs/streaming.d.ts +0 -1
- package/dist/cjs/streaming.d.ts.map +1 -1
- package/dist/cjs/streaming.js +3 -3
- package/dist/cjs/training.d.ts +31 -1
- package/dist/cjs/training.d.ts.map +1 -1
- package/dist/cjs/training.js +86 -6
- package/dist/cjs/types.d.ts +7 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +1 -1
- package/dist/esm/lora.d.ts +11 -0
- package/dist/esm/lora.d.ts.map +1 -1
- package/dist/esm/lora.js +16 -1
- package/dist/esm/streaming.d.ts +0 -1
- package/dist/esm/streaming.d.ts.map +1 -1
- package/dist/esm/training.d.ts +31 -1
- package/dist/esm/training.d.ts.map +1 -1
- package/dist/esm/training.js +86 -6
- package/dist/esm/types.d.ts +7 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +1 -1
- package/package.json +1 -1
package/dist/cjs/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.js
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
* RuvLLM Type Definitions
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSdXZMTE0gVHlwZSBEZWZpbml0aW9uc1xuICovXG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgUnV2TExNIGVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1dkxMTUNvbmZpZyB7XG4gIC8qKiBFbWJlZGRpbmcgZGltZW5zaW9uIChkZWZhdWx0OiA3NjgpICovXG4gIGVtYmVkZGluZ0RpbT86IG51bWJlcjtcbiAgLyoqIFJvdXRlciBoaWRkZW4gZGltZW5zaW9uIChkZWZhdWx0OiAxMjgpICovXG4gIHJvdXRlckhpZGRlbkRpbT86IG51bWJlcjtcbiAgLyoqIEhOU1cgTSBwYXJhbWV0ZXIgKGRlZmF1bHQ6IDE2KSAqL1xuICBobnN3TT86IG51bWJlcjtcbiAgLyoqIEhOU1cgZWZfY29uc3RydWN0aW9uIChkZWZhdWx0OiAxMDApICovXG4gIGhuc3dFZkNvbnN0cnVjdGlvbj86IG51bWJlcjtcbiAgLyoqIEhOU1cgZWZfc2VhcmNoIChkZWZhdWx0OiA2NCkgKi9cbiAgaG5zd0VmU2VhcmNoPzogbnVtYmVyO1xuICAvKiogRW5hYmxlIGxlYXJuaW5nIChkZWZhdWx0OiB0cnVlKSAqL1xuICBsZWFybmluZ0VuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgZm9yIGxlYXJuaW5nIChkZWZhdWx0OiAwLjcpICovXG4gIHF1YWxpdHlUaHJlc2hvbGQ/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIChkZWZhdWx0OiAyMDAwKSAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG59XG5cbi8qKlxuICogR2VuZXJhdGlvbiBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvbkNvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHRva2VucyB0byBnZW5lcmF0ZSAqL1xuICBtYXhUb2tlbnM/OiBudW1iZXI7XG4gIC8qKiBUZW1wZXJhdHVyZSBmb3Igc2FtcGxpbmcgKDAuMCAtIDIuMCkgKi9cbiAgdGVtcGVyYXR1cmU/OiBudW1iZXI7XG4gIC8qKiBUb3AtcCBudWNsZXVzIHNhbXBsaW5nICgwLjAgLSAxLjApICovXG4gIHRvcFA/OiBudW1iZXI7XG4gIC8qKiBUb3AtayBzYW1wbGluZyAqL1xuICB0b3BLPzogbnVtYmVyO1xuICAvKiogUmVwZXRpdGlvbiBwZW5hbHR5ICovXG4gIHJlcGV0aXRpb25QZW5hbHR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHJlc3BvbnNlIGZyb20gdGhlIExMTVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UmVzcG9uc2Uge1xuICAvKiogR2VuZXJhdGVkIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogQ29uZmlkZW5jZSBzY29yZSAoMC4wIC0gMS4wKSAqL1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIC8qKiBTZWxlY3RlZCBtb2RlbCAqL1xuICBtb2RlbDogc3RyaW5nO1xuICAvKiogQ29udGV4dCBzaXplIHVzZWQgKi9cbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgLyoqIExhdGVuY3kgaW4gbWlsbGlzZWNvbmRzICovXG4gIGxhdGVuY3lNczogbnVtYmVyO1xuICAvKiogUmVxdWVzdCBJRCBmb3IgZmVlZGJhY2sgKi9cbiAgcmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUm91dGluZyBkZWNpc2lvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdEZWNpc2lvbiB7XG4gIC8qKiBTZWxlY3RlZCBtb2RlbCBzaXplICovXG4gIG1vZGVsOiBNb2RlbFNpemU7XG4gIC8qKiBSZWNvbW1lbmRlZCBjb250ZXh0IHNpemUgKi9cbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgLyoqIFRlbXBlcmF0dXJlICovXG4gIHRlbXBlcmF0dXJlOiBudW1iZXI7XG4gIC8qKiBUb3AtcCAqL1xuICB0b3BQOiBudW1iZXI7XG4gIC8qKiBDb25maWRlbmNlICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNZW1vcnkgc2VhcmNoIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeVJlc3VsdCB7XG4gIC8qKiBOb2RlIElEICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBTaW1pbGFyaXR5IHNjb3JlICovXG4gIHNjb3JlOiBudW1iZXI7XG4gIC8qKiBDb250ZW50IHRleHQgKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIEVuZ2luZSBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNU3RhdHMge1xuICAvKiogVG90YWwgcXVlcmllcyBwcm9jZXNzZWQgKi9cbiAgdG90YWxRdWVyaWVzOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgbm9kZXMgc3RvcmVkICovXG4gIG1lbW9yeU5vZGVzOiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBsYXRlbmN5IGluIG1zICovXG4gIGF2Z0xhdGVuY3lNczogbnVtYmVyO1xuICAvKiogQ2FjaGUgaGl0IHJhdGUgKDAuMCAtIDEuMCkgKi9cbiAgY2FjaGVIaXRSYXRlOiBudW1iZXI7XG4gIC8qKiBSb3V0ZXIgYWNjdXJhY3kgKDAuMCAtIDEuMCkgKi9cbiAgcm91dGVyQWNjdXJhY3k6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNb2RlbCBzaXplIG9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxTaXplID0gJ00zNTAnIHwgJ003MDAnIHwgJ0IxXzInIHwgJ0IyXzYnO1xuXG4vKipcbiAqIEZlZWRiYWNrIGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrIHtcbiAgLyoqIFJlcXVlc3QgSUQgZnJvbSBxdWVyeSByZXNwb25zZSAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgLyoqIFJhdGluZyAxLTUgKi9cbiAgcmF0aW5nOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uIHRleHQgKi9cbiAgY29ycmVjdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZXNzaW9uIGZvciBtdWx0aS10dXJuIGNvbnZlcnNhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgLyoqIFNlc3Npb24gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIENyZWF0ZWQgdGltZXN0YW1wICovXG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgLyoqIE1lc3NhZ2VzIGluIHNlc3Npb24gKi9cbiAgbWVzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogU0lNRCBjYXBhYmlsaXRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1kQ2FwYWJpbGl0aWVzIHtcbiAgLyoqIEhhcyBhbnkgU0lNRCBzdXBwb3J0ICovXG4gIGhhc1NpbWQ6IGJvb2xlYW47XG4gIC8qKiBBdmFpbGFibGUgU0lNRCBpbnN0cnVjdGlvbnMgKi9cbiAgY2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFbWJlZGRpbmcgcmVzdWx0XG4gKi9cbmV4cG9ydCB0eXBlIEVtYmVkZGluZyA9IG51bWJlcltdO1xuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlcXVlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVxdWVzdCB7XG4gIC8qKiBRdWVyaWVzIHRvIHByb2Nlc3MgKi9cbiAgcXVlcmllczogc3RyaW5nW107XG4gIC8qKiBPcHRpb25hbCBnZW5lcmF0aW9uIGNvbmZpZyAqL1xuICBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnO1xufVxuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlc3BvbnNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hRdWVyeVJlc3BvbnNlIHtcbiAgLyoqIFJlc3BvbnNlcyBmb3IgZWFjaCBxdWVyeSAqL1xuICByZXNwb25zZXM6IFF1ZXJ5UmVzcG9uc2VbXTtcbiAgLyoqIFRvdGFsIHByb2Nlc3NpbmcgdGltZSBpbiBtcyAqL1xuICB0b3RhbExhdGVuY3lNczogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU09OQSBMZWFybmluZyBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTT05BIENvbmZpZ3VyYXRpb24gZm9yIGFkYXB0aXZlIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29uYUNvbmZpZyB7XG4gIC8qKiBFbmFibGUgaW5zdGFudCBsb29wIChyZWFsLXRpbWUgbGVhcm5pbmcpICovXG4gIGluc3RhbnRMb29wRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgYmFja2dyb3VuZCBsb29wIChiYXRjaCBsZWFybmluZykgKi9cbiAgYmFja2dyb3VuZExvb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgZm9yIExvUkEgYWRhcHRlcnMgKi9cbiAgbG9yYUxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIExvUkEgcmFuayAobG93ZXIgPSBmYXN0ZXIsIGhpZ2hlciA9IG1vcmUgY2FwYWNpdHkpICovXG4gIGxvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogRVdDIGxhbWJkYSBmb3IgbWVtb3J5IHByb3RlY3Rpb24gKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogTWF4IHRyYWplY3RvcnkgYnVmZmVyIHNpemUgKi9cbiAgbWF4VHJhamVjdG9yeVNpemU/OiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJuIHNpbWlsYXJpdHkgdGhyZXNob2xkICovXG4gIHBhdHRlcm5UaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTGVhcm5pbmcgc2lnbmFsIGZyb20gdXNlciBmZWVkYmFja1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuaW5nU2lnbmFsIHtcbiAgLyoqIFJlcXVlc3QgSUQgKi9cbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICgwLTEpICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFNpZ25hbCB0eXBlICovXG4gIHR5cGU6IFNpZ25hbFR5cGU7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uICovXG4gIGNvcnJlY3Rpb24/OiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBEYXRlO1xufVxuXG4vKipcbiAqIFNpZ25hbCB0eXBlcyBmb3IgbGVhcm5pbmdcbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmFsVHlwZSA9ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ2NvcnJlY3Rpb24nIHwgJ2ltcGxpY2l0JztcblxuLyoqXG4gKiBRdWVyeSB0cmFqZWN0b3J5IGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHJhamVjdG9yeSB7XG4gIC8qKiBUcmFqZWN0b3J5IElEICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBTdGVwcyBpbiB0aGUgdHJhamVjdG9yeSAqL1xuICBzdGVwczogVHJhamVjdG9yeVN0ZXBbXTtcbiAgLyoqIEZpbmFsIG91dGNvbWUgKi9cbiAgb3V0Y29tZTogVHJhamVjdG9yeU91dGNvbWU7XG4gIC8qKiBUb3RhbCBkdXJhdGlvbiAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU2luZ2xlIHN0ZXAgaW4gYSB0cmFqZWN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeVN0ZXAge1xuICAvKiogU3RlcCB0eXBlICovXG4gIHR5cGU6ICdxdWVyeScgfCAncm91dGUnIHwgJ2dlbmVyYXRlJyB8ICdtZW1vcnknIHwgJ2ZlZWRiYWNrJztcbiAgLyoqIElucHV0IGRhdGEgKi9cbiAgaW5wdXQ6IHN0cmluZztcbiAgLyoqIE91dHB1dCBkYXRhICovXG4gIG91dHB1dDogc3RyaW5nO1xuICAvKiogRHVyYXRpb24gb2YgdGhpcyBzdGVwICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIENvbmZpZGVuY2UgYXQgdGhpcyBzdGVwICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUcmFqZWN0b3J5IG91dGNvbWVcbiAqL1xuZXhwb3J0IHR5cGUgVHJhamVjdG9yeU91dGNvbWUgPSAnc3VjY2VzcycgfCAncGFydGlhbCcgfCAnZmFpbHVyZScgfCAndW5rbm93bic7XG5cbi8qKlxuICogTGVhcm5lZCBwYXR0ZXJuIGZyb20gUmVhc29uaW5nQmFua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuZWRQYXR0ZXJuIHtcbiAgLyoqIFBhdHRlcm4gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFBhdHRlcm4gdHlwZSAqL1xuICB0eXBlOiBQYXR0ZXJuVHlwZTtcbiAgLyoqIFBhdHRlcm4gZW1iZWRkaW5nICovXG4gIGVtYmVkZGluZzogRW1iZWRkaW5nO1xuICAvKiogU3VjY2VzcyByYXRlICgwLTEpICovXG4gIHN1Y2Nlc3NSYXRlOiBudW1iZXI7XG4gIC8qKiBUaW1lcyB1c2VkICovXG4gIHVzZUNvdW50OiBudW1iZXI7XG4gIC8qKiBMYXN0IHVzZWQgdGltZXN0YW1wICovXG4gIGxhc3RVc2VkOiBEYXRlO1xufVxuXG4vKipcbiAqIFR5cGVzIG9mIGxlYXJuZWQgcGF0dGVybnNcbiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblR5cGUgPVxuICB8ICdxdWVyeV9yZXNwb25zZScgICAgICAvLyBRJkEgcGF0dGVyblxuICB8ICdyb3V0aW5nJyAgICAgICAgICAgICAvLyBSb3V0aW5nIGRlY2lzaW9uIHBhdHRlcm5cbiAgfCAnY29udGV4dF9yZXRyaWV2YWwnICAgLy8gTWVtb3J5IHJldHJpZXZhbCBwYXR0ZXJuXG4gIHwgJ2NvcnJlY3Rpb24nICAgICAgICAgIC8vIFVzZXIgY29ycmVjdGlvbiBwYXR0ZXJuXG4gIHwgJ2Fic3RyYWN0aW9uJzsgICAgICAgIC8vIENvbXByZXNzZWQgY29uY2VwdFxuXG4vKipcbiAqIExvUkEgYWRhcHRlciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9SQUNvbmZpZyB7XG4gIC8qKiBBZGFwdGVyIHJhbmsgKDQsIDgsIDE2LCAzMikgKi9cbiAgcmFuazogbnVtYmVyO1xuICAvKiogQWxwaGEgc2NhbGluZyBmYWN0b3IgKi9cbiAgYWxwaGE6IG51bWJlcjtcbiAgLyoqIERyb3BvdXQgcmF0ZSAqL1xuICBkcm9wb3V0OiBudW1iZXI7XG4gIC8qKiBUYXJnZXQgbW9kdWxlcyB0byBhZGFwdCAqL1xuICB0YXJnZXRNb2R1bGVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFV0MgKEVsYXN0aWMgV2VpZ2h0IENvbnNvbGlkYXRpb24pIHN0YXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXdjU3RhdHMge1xuICAvKiogTnVtYmVyIG9mIHRhc2tzIGxlYXJuZWQgKi9cbiAgdGFza3NMZWFybmVkOiBudW1iZXI7XG4gIC8qKiBGaXNoZXIgaW5mb3JtYXRpb24gY29tcHV0ZWQgKi9cbiAgZmlzaGVyQ29tcHV0ZWQ6IGJvb2xlYW47XG4gIC8qKiBNZW1vcnkgcHJvdGVjdGlvbiBzdHJlbmd0aCAqL1xuICBwcm90ZWN0aW9uU3RyZW5ndGg6IG51bWJlcjtcbiAgLyoqIEVzdGltYXRlZCBmb3JnZXR0aW5nIHJhdGUgKi9cbiAgZm9yZ2V0dGluZ1JhdGU6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlc3Npb24gJiBDb252ZXJzYXRpb24gVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXh0ZW5kZWQgc2Vzc2lvbiB3aXRoIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uU2Vzc2lvbiBleHRlbmRzIFNlc3Npb24ge1xuICAvKiogQ29udmVyc2F0aW9uIG1lc3NhZ2VzICovXG4gIG1lc3NhZ2VzOiBDb252ZXJzYXRpb25NZXNzYWdlW107XG4gIC8qKiBTZXNzaW9uIGNvbnRleHQgKGFjY3VtdWxhdGVkKSAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIEFjdGl2ZSBtZW1vcnkgSURzICovXG4gIGFjdGl2ZU1lbW9yeUlkczogbnVtYmVyW107XG4gIC8qKiBTZXNzaW9uIG1ldGFkYXRhICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgbWVzc2FnZSBpbiBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlIHtcbiAgLyoqIE1lc3NhZ2Ugcm9sZSAqL1xuICByb2xlOiAndXNlcicgfCAnYXNzaXN0YW50JyB8ICdzeXN0ZW0nO1xuICAvKiogTWVzc2FnZSBjb250ZW50ICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG4gIC8qKiBBc3NvY2lhdGVkIHJlcXVlc3QgSUQgKGlmIGFzc2lzdGFudCkgKi9cbiAgcmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RyZWFtaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFN0cmVhbWluZyByZXNwb25zZSBjaHVua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbUNodW5rIHtcbiAgLyoqIENodW5rIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogSXMgZmluYWwgY2h1bmsgKi9cbiAgZG9uZTogYm9vbGVhbjtcbiAgLyoqIFRva2VuIGNvdW50IHNvIGZhciAqL1xuICB0b2tlbkNvdW50OiBudW1iZXI7XG4gIC8qKiBDdW11bGF0aXZlIGxhdGVuY3kgKi9cbiAgbGF0ZW5jeU1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU3RyZWFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1PcHRpb25zIGV4dGVuZHMgR2VuZXJhdGlvbkNvbmZpZyB7XG4gIC8qKiBDYWxsYmFjayBmb3IgZWFjaCBjaHVuayAqL1xuICBvbkNodW5rPzogKGNodW5rOiBTdHJlYW1DaHVuaykgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGNvbXBsZXRpb24gKi9cbiAgb25Db21wbGV0ZT86IChyZXNwb25zZTogUXVlcnlSZXNwb25zZSkgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGVycm9yICovXG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tcHJlc3Npb24gJiBBcmNoaXZhbCBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBNZW1vcnkgY29tcHJlc3Npb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlc3Npb25SZXN1bHQge1xuICAvKiogTm9kZXMgY29tcHJlc3NlZCAqL1xuICBub2Rlc0NvbXByZXNzZWQ6IG51bWJlcjtcbiAgLyoqIE5vZGVzIGFyY2hpdmVkICovXG4gIG5vZGVzQXJjaGl2ZWQ6IG51bWJlcjtcbiAgLyoqIENvbmNlcHRzIGNyZWF0ZWQgKi9cbiAgY29uY2VwdHNDcmVhdGVkOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgc2F2ZWQgKGJ5dGVzKSAqL1xuICBtZW1vcnlTYXZlZDogbnVtYmVyO1xuICAvKiogRHVyYXRpb24gKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFyY2hpdmUgcXVlcnkgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJjaGl2ZVJlc3VsdCB7XG4gIC8qKiBBcmNoaXZlZCBub2RlIElEICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBPcmlnaW5hbCBjb250ZW50IChpZiBhdmFpbGFibGUpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIC8qKiBDb25jZXB0IGl0IGJlbG9uZ3MgdG8gKi9cbiAgY29uY2VwdElkPzogc3RyaW5nO1xuICAvKiogQXJjaGl2ZSB0aW1lc3RhbXAgKi9cbiAgYXJjaGl2ZWRBdDogRGF0ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEF0dGVudGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBdHRlbnRpb24gd2VpZ2h0cyBmb3IgaW50ZXJwcmV0YWJpbGl0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dGVudGlvbldlaWdodHMge1xuICAvKiogUXVlcnkta2V5IGF0dGVudGlvbiBzY29yZXMgKi9cbiAgc2NvcmVzOiBudW1iZXJbXVtdO1xuICAvKiogSGVhZCBpbmRleCAqL1xuICBoZWFkSW5kZXg6IG51bWJlcjtcbiAgLyoqIExheWVyIGluZGV4ICovXG4gIGxheWVySW5kZXg6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBdHRlbnRpb24gYW5hbHlzaXMgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uQW5hbHlzaXMge1xuICAvKiogTW9zdCBhdHRlbmRlZCB0b2tlbnMgKi9cbiAgdG9wQXR0ZW5kZWQ6IEFycmF5PHsgdG9rZW46IHN0cmluZzsgd2VpZ2h0OiBudW1iZXIgfT47XG4gIC8qKiBBdHRlbnRpb24gZW50cm9weSAodW5jZXJ0YWludHkpICovXG4gIGVudHJvcHk6IG51bWJlcjtcbiAgLyoqIEZvY3VzIHNjb3JlICgwLTEsIGhpZ2hlciA9IG1vcmUgZm9jdXNlZCkgKi9cbiAgZm9jdXNTY29yZTogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmVkZXJhdGVkIExlYXJuaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVkZXJhdGVkQ29uZmlnIHtcbiAgLyoqIEhpZGRlbiBkaW1lbnNpb24gZm9yIGVtYmVkZGluZ3MgKi9cbiAgaGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogRW1iZWRkaW5nIGRpbWVuc2lvbiAqL1xuICBlbWJlZGRpbmdEaW0/OiBudW1iZXI7XG4gIC8qKiBNaWNyby1Mb1JBIHJhbmsgKi9cbiAgbWljcm9Mb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIEJhc2UgTG9SQSByYW5rICovXG4gIGJhc2VMb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIFRyYWplY3RvcnkgYnVmZmVyIGNhcGFjaXR5ICovXG4gIHRyYWplY3RvcnlDYXBhY2l0eT86IG51bWJlcjtcbiAgLyoqIFBhdHRlcm4gY2x1c3RlciBjb3VudCAqL1xuICBwYXR0ZXJuQ2x1c3RlcnM/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciByZWd1bGFyaXphdGlvbiAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgYWNjZXB0aW5nIHRyYWplY3RvcmllcyAqL1xuICBxdWFsaXR5VGhyZXNob2xkPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWplY3RvcnkgZXhwb3J0IGZvciBmZWRlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeUV4cG9ydCB7XG4gIC8qKiBRdWVyeSBlbWJlZGRpbmcgKi9cbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIE1vZGVsIHJvdXRlIChpZiBhbnkpICovXG4gIHJvdXRlPzogc3RyaW5nO1xuICAvKiogQ29udGV4dCBpZGVudGlmaWVycyAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBZ2VudCBleHBvcnQgc3RhdGlzdGljc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0U3RhdHMge1xuICAvKiogVG90YWwgdHJhamVjdG9yaWVzIHByb2Nlc3NlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5ICovXG4gIGF2Z1F1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgbG9jYWxseSAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFeHBvcnRlZCBzdGF0ZSBmcm9tIGFuIGVwaGVtZXJhbCBhZ2VudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0IHtcbiAgLyoqIEFnZW50IGlkZW50aWZpZXIgKi9cbiAgYWdlbnRJZDogc3RyaW5nO1xuICAvKiogRXhwb3J0ZWQgdHJhamVjdG9yaWVzICovXG4gIHRyYWplY3RvcmllczogVHJhamVjdG9yeUV4cG9ydFtdO1xuICAvKiogQWdlbnQgc3RhdGlzdGljcyAqL1xuICBzdGF0czogQWdlbnRFeHBvcnRTdGF0cztcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzICovXG4gIHNlc3Npb25EdXJhdGlvbk1zOiBudW1iZXI7XG4gIC8qKiBFeHBvcnQgdGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFnZW50IGNvbnRyaWJ1dGlvbiByZWNvcmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2VudENvbnRyaWJ1dGlvbiB7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGNvbnRyaWJ1dGVkICovXG4gIHRyYWplY3RvcnlDb3VudDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5IG9mIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogQ29udHJpYnV0aW9uIHRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gKi9cbiAgc2Vzc2lvbkR1cmF0aW9uTXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgYWdncmVnYXRpbmcgYW4gYWdlbnQgZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRpb25SZXN1bHQge1xuICAvKiogQWdlbnQgSUQgdGhhdCB3YXMgYWdncmVnYXRlZCAqL1xuICBhZ2VudElkOiBzdHJpbmc7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGFjY2VwdGVkICovXG4gIHRyYWplY3Rvcmllc0FjY2VwdGVkOiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIHJlamVjdGVkIChiZWxvdyBxdWFsaXR5IHRocmVzaG9sZCkgKi9cbiAgdHJhamVjdG9yaWVzUmVqZWN0ZWQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgY29uc29saWRhdGlvbiB3YXMgdHJpZ2dlcmVkICovXG4gIGNvbnNvbGlkYXRlZDogYm9vbGVhbjtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgaW4gY29vcmRpbmF0b3IgKi9cbiAgdG90YWxUcmFqZWN0b3JpZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDb29yZGluYXRvciBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0b3JTdGF0cyB7XG4gIC8qKiBDb29yZGluYXRvciBpZGVudGlmaWVyICovXG4gIGNvb3JkaW5hdG9ySWQ6IHN0cmluZztcbiAgLyoqIE51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgYWdncmVnYXRlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogUGF0dGVybnMgbGVhcm5lZCAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbiAgLyoqIEF2ZXJhZ2UgcXVhbGl0eSBhY3Jvc3MgYWxsIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgKi9cbiAgcXVhbGl0eVRocmVzaG9sZDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyB0b3BvbG9neVxuICovXG5leHBvcnQgdHlwZSBGZWRlcmF0ZWRUb3BvbG9neSA9XG4gIHwgJ3N0YXInICAgICAgICAgICAvLyBBZ2VudHMg4oaSIENlbnRyYWwgQ29vcmRpbmF0b3JcbiAgfCAnaGllcmFyY2hpY2FsJyAgIC8vIEFnZW50cyDihpIgUmVnaW9uYWwg4oaSIEdsb2JhbFxuICB8ICdwZWVyLXRvLXBlZXInOyAgLy8gQWdlbnRzIHNoYXJlIGRpcmVjdGx5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFpbmluZyBQaXBlbGluZSBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBUcmFpbmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdDb25maWcge1xuICAvKiogSW5pdGlhbCBsZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIEJhdGNoIHNpemUgKi9cbiAgYmF0Y2hTaXplPzogbnVtYmVyO1xuICAvKiogTnVtYmVyIG9mIGVwb2NocyAqL1xuICBlcG9jaHM/OiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlIHNjaGVkdWxlciAqL1xuICBzY2hlZHVsZXI/OiAnY29uc3RhbnQnIHwgJ2xpbmVhcicgfCAnY29zaW5lJyB8ICd3YXJtdXAnO1xuICAvKiogV2FybXVwIHN0ZXBzIChmb3Igd2FybXVwIHNjaGVkdWxlcikgKi9cbiAgd2FybXVwU3RlcHM/OiBudW1iZXI7XG4gIC8qKiBXZWlnaHQgZGVjYXkgKi9cbiAgd2VpZ2h0RGVjYXk/OiBudW1iZXI7XG4gIC8qKiBHcmFkaWVudCBjbGlwcGluZyB0aHJlc2hvbGQgKi9cbiAgZ3JhZGllbnRDbGlwPzogbnVtYmVyO1xuICAvKiogRWFybHkgc3RvcHBpbmcgcGF0aWVuY2UgKi9cbiAgZWFybHlTdG9wcGluZ1BhdGllbmNlPzogbnVtYmVyO1xuICAvKiogQ2hlY2twb2ludCBpbnRlcnZhbCAoZXBvY2hzKSAqL1xuICBjaGVja3BvaW50SW50ZXJ2YWw/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciBjb250aW51YWwgbGVhcm5pbmcgKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogVmFsaWRhdGlvbiBzcGxpdCByYXRpbyAqL1xuICB2YWxpZGF0aW9uU3BsaXQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVHJhaW5pbmcgbWV0cmljcyBzbmFwc2hvdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nTWV0cmljc1NuYXBzaG90IHtcbiAgLyoqIEN1cnJlbnQgZXBvY2ggKi9cbiAgZXBvY2g6IG51bWJlcjtcbiAgLyoqIEN1cnJlbnQgc3RlcCAqL1xuICBzdGVwOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBsb3NzICovXG4gIHRyYWluTG9zczogbnVtYmVyO1xuICAvKiogVmFsaWRhdGlvbiBsb3NzICovXG4gIHZhbExvc3M6IG51bWJlcjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgKi9cbiAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XG4gIC8qKiBHcmFkaWVudCBub3JtICovXG4gIGdyYWROb3JtOiBudW1iZXI7XG4gIC8qKiBTdGVwcyBwZXIgc2Vjb25kICovXG4gIHN0ZXBzUGVyU2Vjb25kOiBudW1iZXI7XG4gIC8qKiBFVEEgaW4gc2Vjb25kcyAqL1xuICBldGFTZWNvbmRzOiBudW1iZXI7XG59XG5cbi8qKlxuICogVHJhaW5pbmcgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdSZXN1bHQge1xuICAvKiogVG90YWwgZXBvY2hzIGNvbXBsZXRlZCAqL1xuICBlcG9jaHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHN0ZXBzIGNvbXBsZXRlZCAqL1xuICBzdGVwczogbnVtYmVyO1xuICAvKiogRmluYWwgdHJhaW5pbmcgbG9zcyAqL1xuICBmaW5hbExvc3M6IG51bWJlcjtcbiAgLyoqIEJlc3QgdmFsaWRhdGlvbiBsb3NzICovXG4gIGJlc3RWYWxMb3NzOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBkdXJhdGlvbiBpbiBtcyAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIC8qKiBMb3NzIGhpc3RvcnkgKi9cbiAgbG9zc0hpc3Rvcnk6IG51bWJlcltdO1xuICAvKiogVmFsaWRhdGlvbiBsb3NzIGhpc3RvcnkgKi9cbiAgdmFsTG9zc0hpc3Rvcnk6IG51bWJlcltdO1xuICAvKiogRWFybHkgc3RvcHBlZCAqL1xuICBlYXJseVN0b3BwZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVHJhaW5pbmcgY2hlY2twb2ludFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nQ2hlY2twb2ludCB7XG4gIC8qKiBFcG9jaCBudW1iZXIgKi9cbiAgZXBvY2g6IG51bWJlcjtcbiAgLyoqIFN0ZXAgbnVtYmVyICovXG4gIHN0ZXA6IG51bWJlcjtcbiAgLyoqIFRyYWluaW5nIGxvc3MgYXQgY2hlY2twb2ludCAqL1xuICBsb3NzOiBudW1iZXI7XG4gIC8qKiBNb2RlbCB3ZWlnaHRzIChzZXJpYWxpemVkKSAqL1xuICB3ZWlnaHRzOiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFeHBvcnQvU2VyaWFsaXphdGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFeHBvcnQgZm9ybWF0IG9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgRXhwb3J0Rm9ybWF0ID0gJ3NhZmV0ZW5zb3JzJyB8ICdqc29uJyB8ICdiaW5hcnknIHwgJ29ubngnO1xuXG4vKipcbiAqIE1vZGVsIG1ldGFkYXRhIGZvciBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb2RlbE1ldGFkYXRhIHtcbiAgLyoqIE1vZGVsIG5hbWUgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogTW9kZWwgdmVyc2lvbiAqL1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIC8qKiBBcmNoaXRlY3R1cmUgdHlwZSAqL1xuICBhcmNoaXRlY3R1cmU6IHN0cmluZztcbiAgLyoqIFRyYWluaW5nIGluZm8gKi9cbiAgdHJhaW5pbmc/OiB7XG4gICAgc3RlcHM6IG51bWJlcjtcbiAgICBsb3NzOiBudW1iZXI7XG4gICAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XG4gIH07XG4gIC8qKiBDdXN0b20gbWV0YWRhdGEgKi9cbiAgY3VzdG9tPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXX0=
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSdXZMTE0gVHlwZSBEZWZpbml0aW9uc1xuICovXG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgUnV2TExNIGVuZ2luZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1dkxMTUNvbmZpZyB7XG4gIC8qKiBFbWJlZGRpbmcgZGltZW5zaW9uIChkZWZhdWx0OiA3NjgpICovXG4gIGVtYmVkZGluZ0RpbT86IG51bWJlcjtcbiAgLyoqIFJvdXRlciBoaWRkZW4gZGltZW5zaW9uIChkZWZhdWx0OiAxMjgpICovXG4gIHJvdXRlckhpZGRlbkRpbT86IG51bWJlcjtcbiAgLyoqIEhOU1cgTSBwYXJhbWV0ZXIgKGRlZmF1bHQ6IDE2KSAqL1xuICBobnN3TT86IG51bWJlcjtcbiAgLyoqIEhOU1cgZWZfY29uc3RydWN0aW9uIChkZWZhdWx0OiAxMDApICovXG4gIGhuc3dFZkNvbnN0cnVjdGlvbj86IG51bWJlcjtcbiAgLyoqIEhOU1cgZWZfc2VhcmNoIChkZWZhdWx0OiA2NCkgKi9cbiAgaG5zd0VmU2VhcmNoPzogbnVtYmVyO1xuICAvKiogRW5hYmxlIGxlYXJuaW5nIChkZWZhdWx0OiB0cnVlKSAqL1xuICBsZWFybmluZ0VuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgZm9yIGxlYXJuaW5nIChkZWZhdWx0OiAwLjcpICovXG4gIHF1YWxpdHlUaHJlc2hvbGQ/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIChkZWZhdWx0OiAyMDAwKSAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG59XG5cbi8qKlxuICogR2VuZXJhdGlvbiBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvbkNvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHRva2VucyB0byBnZW5lcmF0ZSAqL1xuICBtYXhUb2tlbnM/OiBudW1iZXI7XG4gIC8qKiBUZW1wZXJhdHVyZSBmb3Igc2FtcGxpbmcgKDAuMCAtIDIuMCkgKi9cbiAgdGVtcGVyYXR1cmU/OiBudW1iZXI7XG4gIC8qKiBUb3AtcCBudWNsZXVzIHNhbXBsaW5nICgwLjAgLSAxLjApICovXG4gIHRvcFA/OiBudW1iZXI7XG4gIC8qKiBUb3AtayBzYW1wbGluZyAqL1xuICB0b3BLPzogbnVtYmVyO1xuICAvKiogUmVwZXRpdGlvbiBwZW5hbHR5ICovXG4gIHJlcGV0aXRpb25QZW5hbHR5PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHJlc3BvbnNlIGZyb20gdGhlIExMTVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5UmVzcG9uc2Uge1xuICAvKiogR2VuZXJhdGVkIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogQ29uZmlkZW5jZSBzY29yZSAoMC4wIC0gMS4wKSAqL1xuICBjb25maWRlbmNlOiBudW1iZXI7XG4gIC8qKiBTZWxlY3RlZCBtb2RlbCAqL1xuICBtb2RlbDogc3RyaW5nO1xuICAvKiogQ29udGV4dCBzaXplIHVzZWQgKi9cbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgLyoqIExhdGVuY3kgaW4gbWlsbGlzZWNvbmRzICovXG4gIGxhdGVuY3lNczogbnVtYmVyO1xuICAvKiogUmVxdWVzdCBJRCBmb3IgZmVlZGJhY2sgKi9cbiAgcmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUm91dGluZyBkZWNpc2lvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdXRpbmdEZWNpc2lvbiB7XG4gIC8qKiBTZWxlY3RlZCBtb2RlbCBzaXplICovXG4gIG1vZGVsOiBNb2RlbFNpemU7XG4gIC8qKiBSZWNvbW1lbmRlZCBjb250ZXh0IHNpemUgKi9cbiAgY29udGV4dFNpemU6IG51bWJlcjtcbiAgLyoqIFRlbXBlcmF0dXJlICovXG4gIHRlbXBlcmF0dXJlOiBudW1iZXI7XG4gIC8qKiBUb3AtcCAqL1xuICB0b3BQOiBudW1iZXI7XG4gIC8qKiBDb25maWRlbmNlICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNZW1vcnkgc2VhcmNoIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeVJlc3VsdCB7XG4gIC8qKiBOb2RlIElEICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBTaW1pbGFyaXR5IHNjb3JlICovXG4gIHNjb3JlOiBudW1iZXI7XG4gIC8qKiBDb250ZW50IHRleHQgKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIEVuZ2luZSBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNU3RhdHMge1xuICAvKiogVG90YWwgcXVlcmllcyBwcm9jZXNzZWQgKi9cbiAgdG90YWxRdWVyaWVzOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgbm9kZXMgc3RvcmVkICovXG4gIG1lbW9yeU5vZGVzOiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBsYXRlbmN5IGluIG1zICovXG4gIGF2Z0xhdGVuY3lNczogbnVtYmVyO1xuICAvKiogQ2FjaGUgaGl0IHJhdGUgKDAuMCAtIDEuMCkgKi9cbiAgY2FjaGVIaXRSYXRlOiBudW1iZXI7XG4gIC8qKiBSb3V0ZXIgYWNjdXJhY3kgKDAuMCAtIDEuMCkgKi9cbiAgcm91dGVyQWNjdXJhY3k6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBNb2RlbCBzaXplIG9wdGlvbnNcbiAqL1xuZXhwb3J0IHR5cGUgTW9kZWxTaXplID0gJ00zNTAnIHwgJ003MDAnIHwgJ0IxXzInIHwgJ0IyXzYnO1xuXG4vKipcbiAqIEZlZWRiYWNrIGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrIHtcbiAgLyoqIFJlcXVlc3QgSUQgZnJvbSBxdWVyeSByZXNwb25zZSAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgLyoqIFJhdGluZyAxLTUgKi9cbiAgcmF0aW5nOiBudW1iZXI7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uIHRleHQgKi9cbiAgY29ycmVjdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTZXNzaW9uIGZvciBtdWx0aS10dXJuIGNvbnZlcnNhdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcbiAgLyoqIFNlc3Npb24gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIENyZWF0ZWQgdGltZXN0YW1wICovXG4gIGNyZWF0ZWRBdDogRGF0ZTtcbiAgLyoqIE1lc3NhZ2VzIGluIHNlc3Npb24gKi9cbiAgbWVzc2FnZUNvdW50OiBudW1iZXI7XG59XG5cbi8qKlxuICogU0lNRCBjYXBhYmlsaXRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1kQ2FwYWJpbGl0aWVzIHtcbiAgLyoqIEhhcyBhbnkgU0lNRCBzdXBwb3J0ICovXG4gIGhhc1NpbWQ6IGJvb2xlYW47XG4gIC8qKiBBdmFpbGFibGUgU0lNRCBpbnN0cnVjdGlvbnMgKi9cbiAgY2FwYWJpbGl0aWVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFbWJlZGRpbmcgcmVzdWx0XG4gKi9cbmV4cG9ydCB0eXBlIEVtYmVkZGluZyA9IG51bWJlcltdO1xuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlcXVlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVxdWVzdCB7XG4gIC8qKiBRdWVyaWVzIHRvIHByb2Nlc3MgKi9cbiAgcXVlcmllczogc3RyaW5nW107XG4gIC8qKiBPcHRpb25hbCBnZW5lcmF0aW9uIGNvbmZpZyAqL1xuICBjb25maWc/OiBHZW5lcmF0aW9uQ29uZmlnO1xufVxuXG4vKipcbiAqIEJhdGNoIHF1ZXJ5IHJlc3BvbnNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hRdWVyeVJlc3BvbnNlIHtcbiAgLyoqIFJlc3BvbnNlcyBmb3IgZWFjaCBxdWVyeSAqL1xuICByZXNwb25zZXM6IFF1ZXJ5UmVzcG9uc2VbXTtcbiAgLyoqIFRvdGFsIHByb2Nlc3NpbmcgdGltZSBpbiBtcyAqL1xuICB0b3RhbExhdGVuY3lNczogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU09OQSBMZWFybmluZyBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBTT05BIENvbmZpZ3VyYXRpb24gZm9yIGFkYXB0aXZlIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29uYUNvbmZpZyB7XG4gIC8qKiBFbmFibGUgaW5zdGFudCBsb29wIChyZWFsLXRpbWUgbGVhcm5pbmcpICovXG4gIGluc3RhbnRMb29wRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgYmFja2dyb3VuZCBsb29wIChiYXRjaCBsZWFybmluZykgKi9cbiAgYmFja2dyb3VuZExvb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgZm9yIExvUkEgYWRhcHRlcnMgKi9cbiAgbG9yYUxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIExvUkEgcmFuayAobG93ZXIgPSBmYXN0ZXIsIGhpZ2hlciA9IG1vcmUgY2FwYWNpdHkpICovXG4gIGxvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogRVdDIGxhbWJkYSBmb3IgbWVtb3J5IHByb3RlY3Rpb24gKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogTWF4IHRyYWplY3RvcnkgYnVmZmVyIHNpemUgKi9cbiAgbWF4VHJhamVjdG9yeVNpemU/OiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJuIHNpbWlsYXJpdHkgdGhyZXNob2xkICovXG4gIHBhdHRlcm5UaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTGVhcm5pbmcgc2lnbmFsIGZyb20gdXNlciBmZWVkYmFja1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuaW5nU2lnbmFsIHtcbiAgLyoqIFJlcXVlc3QgSUQgKi9cbiAgcmVxdWVzdElkOiBzdHJpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICgwLTEpICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFNpZ25hbCB0eXBlICovXG4gIHR5cGU6IFNpZ25hbFR5cGU7XG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uICovXG4gIGNvcnJlY3Rpb24/OiBzdHJpbmc7XG4gIC8qKiBUaW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBEYXRlO1xufVxuXG4vKipcbiAqIFNpZ25hbCB0eXBlcyBmb3IgbGVhcm5pbmdcbiAqL1xuZXhwb3J0IHR5cGUgU2lnbmFsVHlwZSA9ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ2NvcnJlY3Rpb24nIHwgJ2ltcGxpY2l0JztcblxuLyoqXG4gKiBRdWVyeSB0cmFqZWN0b3J5IGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5VHJhamVjdG9yeSB7XG4gIC8qKiBUcmFqZWN0b3J5IElEICovXG4gIGlkOiBzdHJpbmc7XG4gIC8qKiBTdGVwcyBpbiB0aGUgdHJhamVjdG9yeSAqL1xuICBzdGVwczogVHJhamVjdG9yeVN0ZXBbXTtcbiAgLyoqIEZpbmFsIG91dGNvbWUgKi9cbiAgb3V0Y29tZTogVHJhamVjdG9yeU91dGNvbWU7XG4gIC8qKiBUb3RhbCBkdXJhdGlvbiAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU2luZ2xlIHN0ZXAgaW4gYSB0cmFqZWN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeVN0ZXAge1xuICAvKiogU3RlcCB0eXBlICovXG4gIHR5cGU6ICdxdWVyeScgfCAncm91dGUnIHwgJ2dlbmVyYXRlJyB8ICdtZW1vcnknIHwgJ2ZlZWRiYWNrJztcbiAgLyoqIElucHV0IGRhdGEgKi9cbiAgaW5wdXQ6IHN0cmluZztcbiAgLyoqIE91dHB1dCBkYXRhICovXG4gIG91dHB1dDogc3RyaW5nO1xuICAvKiogRHVyYXRpb24gb2YgdGhpcyBzdGVwICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIENvbmZpZGVuY2UgYXQgdGhpcyBzdGVwICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUcmFqZWN0b3J5IG91dGNvbWVcbiAqL1xuZXhwb3J0IHR5cGUgVHJhamVjdG9yeU91dGNvbWUgPSAnc3VjY2VzcycgfCAncGFydGlhbCcgfCAnZmFpbHVyZScgfCAndW5rbm93bic7XG5cbi8qKlxuICogTGVhcm5lZCBwYXR0ZXJuIGZyb20gUmVhc29uaW5nQmFua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExlYXJuZWRQYXR0ZXJuIHtcbiAgLyoqIFBhdHRlcm4gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFBhdHRlcm4gdHlwZSAqL1xuICB0eXBlOiBQYXR0ZXJuVHlwZTtcbiAgLyoqIFBhdHRlcm4gZW1iZWRkaW5nICovXG4gIGVtYmVkZGluZzogRW1iZWRkaW5nO1xuICAvKiogU3VjY2VzcyByYXRlICgwLTEpICovXG4gIHN1Y2Nlc3NSYXRlOiBudW1iZXI7XG4gIC8qKiBUaW1lcyB1c2VkICovXG4gIHVzZUNvdW50OiBudW1iZXI7XG4gIC8qKiBMYXN0IHVzZWQgdGltZXN0YW1wICovXG4gIGxhc3RVc2VkOiBEYXRlO1xufVxuXG4vKipcbiAqIFR5cGVzIG9mIGxlYXJuZWQgcGF0dGVybnNcbiAqL1xuZXhwb3J0IHR5cGUgUGF0dGVyblR5cGUgPVxuICB8ICdxdWVyeV9yZXNwb25zZScgICAgICAvLyBRJkEgcGF0dGVyblxuICB8ICdyb3V0aW5nJyAgICAgICAgICAgICAvLyBSb3V0aW5nIGRlY2lzaW9uIHBhdHRlcm5cbiAgfCAnY29udGV4dF9yZXRyaWV2YWwnICAgLy8gTWVtb3J5IHJldHJpZXZhbCBwYXR0ZXJuXG4gIHwgJ2NvcnJlY3Rpb24nICAgICAgICAgIC8vIFVzZXIgY29ycmVjdGlvbiBwYXR0ZXJuXG4gIHwgJ2Fic3RyYWN0aW9uJzsgICAgICAgIC8vIENvbXByZXNzZWQgY29uY2VwdFxuXG4vKipcbiAqIExvUkEgYWRhcHRlciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9SQUNvbmZpZyB7XG4gIC8qKiBBZGFwdGVyIHJhbmsgKDQsIDgsIDE2LCAzMikgKi9cbiAgcmFuazogbnVtYmVyO1xuICAvKiogQWxwaGEgc2NhbGluZyBmYWN0b3IgKi9cbiAgYWxwaGE6IG51bWJlcjtcbiAgLyoqIERyb3BvdXQgcmF0ZSAqL1xuICBkcm9wb3V0OiBudW1iZXI7XG4gIC8qKiBUYXJnZXQgbW9kdWxlcyB0byBhZGFwdCAqL1xuICB0YXJnZXRNb2R1bGVzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBFV0MgKEVsYXN0aWMgV2VpZ2h0IENvbnNvbGlkYXRpb24pIHN0YXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXdjU3RhdHMge1xuICAvKiogTnVtYmVyIG9mIHRhc2tzIGxlYXJuZWQgKi9cbiAgdGFza3NMZWFybmVkOiBudW1iZXI7XG4gIC8qKiBGaXNoZXIgaW5mb3JtYXRpb24gY29tcHV0ZWQgKi9cbiAgZmlzaGVyQ29tcHV0ZWQ6IGJvb2xlYW47XG4gIC8qKiBNZW1vcnkgcHJvdGVjdGlvbiBzdHJlbmd0aCAqL1xuICBwcm90ZWN0aW9uU3RyZW5ndGg6IG51bWJlcjtcbiAgLyoqIEVzdGltYXRlZCBmb3JnZXR0aW5nIHJhdGUgKi9cbiAgZm9yZ2V0dGluZ1JhdGU6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlc3Npb24gJiBDb252ZXJzYXRpb24gVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXh0ZW5kZWQgc2Vzc2lvbiB3aXRoIGNvbnZlcnNhdGlvbiBoaXN0b3J5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uU2Vzc2lvbiBleHRlbmRzIFNlc3Npb24ge1xuICAvKiogQ29udmVyc2F0aW9uIG1lc3NhZ2VzICovXG4gIG1lc3NhZ2VzOiBDb252ZXJzYXRpb25NZXNzYWdlW107XG4gIC8qKiBTZXNzaW9uIGNvbnRleHQgKGFjY3VtdWxhdGVkKSAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIEFjdGl2ZSBtZW1vcnkgSURzICovXG4gIGFjdGl2ZU1lbW9yeUlkczogbnVtYmVyW107XG4gIC8qKiBTZXNzaW9uIG1ldGFkYXRhICovXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgbWVzc2FnZSBpbiBjb252ZXJzYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlIHtcbiAgLyoqIE1lc3NhZ2Ugcm9sZSAqL1xuICByb2xlOiAndXNlcicgfCAnYXNzaXN0YW50JyB8ICdzeXN0ZW0nO1xuICAvKiogTWVzc2FnZSBjb250ZW50ICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG4gIC8qKiBBc3NvY2lhdGVkIHJlcXVlc3QgSUQgKGlmIGFzc2lzdGFudCkgKi9cbiAgcmVxdWVzdElkPzogc3RyaW5nO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3RyZWFtaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFN0cmVhbWluZyByZXNwb25zZSBjaHVua1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbUNodW5rIHtcbiAgLyoqIENodW5rIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogSXMgZmluYWwgY2h1bmsgKi9cbiAgZG9uZTogYm9vbGVhbjtcbiAgLyoqIFRva2VuIGNvdW50IHNvIGZhciAqL1xuICB0b2tlbkNvdW50OiBudW1iZXI7XG4gIC8qKiBDdW11bGF0aXZlIGxhdGVuY3kgKi9cbiAgbGF0ZW5jeU1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogU3RyZWFtIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdHJlYW1PcHRpb25zIGV4dGVuZHMgR2VuZXJhdGlvbkNvbmZpZyB7XG4gIC8qKiBDYWxsYmFjayBmb3IgZWFjaCBjaHVuayAqL1xuICBvbkNodW5rPzogKGNodW5rOiBTdHJlYW1DaHVuaykgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGNvbXBsZXRpb24gKi9cbiAgb25Db21wbGV0ZT86IChyZXNwb25zZTogUXVlcnlSZXNwb25zZSkgPT4gdm9pZDtcbiAgLyoqIENhbGxiYWNrIG9uIGVycm9yICovXG4gIG9uRXJyb3I/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tcHJlc3Npb24gJiBBcmNoaXZhbCBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBNZW1vcnkgY29tcHJlc3Npb24gcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlc3Npb25SZXN1bHQge1xuICAvKiogTm9kZXMgY29tcHJlc3NlZCAqL1xuICBub2Rlc0NvbXByZXNzZWQ6IG51bWJlcjtcbiAgLyoqIE5vZGVzIGFyY2hpdmVkICovXG4gIG5vZGVzQXJjaGl2ZWQ6IG51bWJlcjtcbiAgLyoqIENvbmNlcHRzIGNyZWF0ZWQgKi9cbiAgY29uY2VwdHNDcmVhdGVkOiBudW1iZXI7XG4gIC8qKiBNZW1vcnkgc2F2ZWQgKGJ5dGVzKSAqL1xuICBtZW1vcnlTYXZlZDogbnVtYmVyO1xuICAvKiogRHVyYXRpb24gKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFyY2hpdmUgcXVlcnkgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJjaGl2ZVJlc3VsdCB7XG4gIC8qKiBBcmNoaXZlZCBub2RlIElEICovXG4gIGlkOiBudW1iZXI7XG4gIC8qKiBPcmlnaW5hbCBjb250ZW50IChpZiBhdmFpbGFibGUpICovXG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIC8qKiBDb25jZXB0IGl0IGJlbG9uZ3MgdG8gKi9cbiAgY29uY2VwdElkPzogc3RyaW5nO1xuICAvKiogQXJjaGl2ZSB0aW1lc3RhbXAgKi9cbiAgYXJjaGl2ZWRBdDogRGF0ZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEF0dGVudGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBdHRlbnRpb24gd2VpZ2h0cyBmb3IgaW50ZXJwcmV0YWJpbGl0eVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF0dGVudGlvbldlaWdodHMge1xuICAvKiogUXVlcnkta2V5IGF0dGVudGlvbiBzY29yZXMgKi9cbiAgc2NvcmVzOiBudW1iZXJbXVtdO1xuICAvKiogSGVhZCBpbmRleCAqL1xuICBoZWFkSW5kZXg6IG51bWJlcjtcbiAgLyoqIExheWVyIGluZGV4ICovXG4gIGxheWVySW5kZXg6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBdHRlbnRpb24gYW5hbHlzaXMgcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uQW5hbHlzaXMge1xuICAvKiogTW9zdCBhdHRlbmRlZCB0b2tlbnMgKi9cbiAgdG9wQXR0ZW5kZWQ6IEFycmF5PHsgdG9rZW46IHN0cmluZzsgd2VpZ2h0OiBudW1iZXIgfT47XG4gIC8qKiBBdHRlbnRpb24gZW50cm9weSAodW5jZXJ0YWludHkpICovXG4gIGVudHJvcHk6IG51bWJlcjtcbiAgLyoqIEZvY3VzIHNjb3JlICgwLTEsIGhpZ2hlciA9IG1vcmUgZm9jdXNlZCkgKi9cbiAgZm9jdXNTY29yZTogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRmVkZXJhdGVkIExlYXJuaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVkZXJhdGVkQ29uZmlnIHtcbiAgLyoqIEhpZGRlbiBkaW1lbnNpb24gZm9yIGVtYmVkZGluZ3MgKi9cbiAgaGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogRW1iZWRkaW5nIGRpbWVuc2lvbiAqL1xuICBlbWJlZGRpbmdEaW0/OiBudW1iZXI7XG4gIC8qKiBNaWNyby1Mb1JBIHJhbmsgKi9cbiAgbWljcm9Mb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIEJhc2UgTG9SQSByYW5rICovXG4gIGJhc2VMb3JhUmFuaz86IG51bWJlcjtcbiAgLyoqIFRyYWplY3RvcnkgYnVmZmVyIGNhcGFjaXR5ICovXG4gIHRyYWplY3RvcnlDYXBhY2l0eT86IG51bWJlcjtcbiAgLyoqIFBhdHRlcm4gY2x1c3RlciBjb3VudCAqL1xuICBwYXR0ZXJuQ2x1c3RlcnM/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciByZWd1bGFyaXphdGlvbiAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgYWNjZXB0aW5nIHRyYWplY3RvcmllcyAqL1xuICBxdWFsaXR5VGhyZXNob2xkPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWplY3RvcnkgZXhwb3J0IGZvciBmZWRlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeUV4cG9ydCB7XG4gIC8qKiBRdWVyeSBlbWJlZGRpbmcgKi9cbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XG4gIC8qKiBRdWFsaXR5IHNjb3JlICovXG4gIHF1YWxpdHk6IG51bWJlcjtcbiAgLyoqIE1vZGVsIHJvdXRlIChpZiBhbnkpICovXG4gIHJvdXRlPzogc3RyaW5nO1xuICAvKiogQ29udGV4dCBpZGVudGlmaWVycyAqL1xuICBjb250ZXh0OiBzdHJpbmdbXTtcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBZ2VudCBleHBvcnQgc3RhdGlzdGljc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0U3RhdHMge1xuICAvKiogVG90YWwgdHJhamVjdG9yaWVzIHByb2Nlc3NlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5ICovXG4gIGF2Z1F1YWxpdHk6IG51bWJlcjtcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgbG9jYWxseSAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFeHBvcnRlZCBzdGF0ZSBmcm9tIGFuIGVwaGVtZXJhbCBhZ2VudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50RXhwb3J0IHtcbiAgLyoqIEFnZW50IGlkZW50aWZpZXIgKi9cbiAgYWdlbnRJZDogc3RyaW5nO1xuICAvKiogRXhwb3J0ZWQgdHJhamVjdG9yaWVzICovXG4gIHRyYWplY3RvcmllczogVHJhamVjdG9yeUV4cG9ydFtdO1xuICAvKiogQWdlbnQgc3RhdGlzdGljcyAqL1xuICBzdGF0czogQWdlbnRFeHBvcnRTdGF0cztcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzICovXG4gIHNlc3Npb25EdXJhdGlvbk1zOiBudW1iZXI7XG4gIC8qKiBFeHBvcnQgdGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFnZW50IGNvbnRyaWJ1dGlvbiByZWNvcmRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2VudENvbnRyaWJ1dGlvbiB7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGNvbnRyaWJ1dGVkICovXG4gIHRyYWplY3RvcnlDb3VudDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5IG9mIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogQ29udHJpYnV0aW9uIHRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gKi9cbiAgc2Vzc2lvbkR1cmF0aW9uTXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXN1bHQgb2YgYWdncmVnYXRpbmcgYW4gYWdlbnQgZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdncmVnYXRpb25SZXN1bHQge1xuICAvKiogQWdlbnQgSUQgdGhhdCB3YXMgYWdncmVnYXRlZCAqL1xuICBhZ2VudElkOiBzdHJpbmc7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGFjY2VwdGVkICovXG4gIHRyYWplY3Rvcmllc0FjY2VwdGVkOiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIHJlamVjdGVkIChiZWxvdyBxdWFsaXR5IHRocmVzaG9sZCkgKi9cbiAgdHJhamVjdG9yaWVzUmVqZWN0ZWQ6IG51bWJlcjtcbiAgLyoqIFdoZXRoZXIgY29uc29saWRhdGlvbiB3YXMgdHJpZ2dlcmVkICovXG4gIGNvbnNvbGlkYXRlZDogYm9vbGVhbjtcbiAgLyoqIFRvdGFsIG51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgaW4gY29vcmRpbmF0b3IgKi9cbiAgdG90YWxUcmFqZWN0b3JpZXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDb29yZGluYXRvciBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29vcmRpbmF0b3JTdGF0cyB7XG4gIC8qKiBDb29yZGluYXRvciBpZGVudGlmaWVyICovXG4gIGNvb3JkaW5hdG9ySWQ6IHN0cmluZztcbiAgLyoqIE51bWJlciBvZiBjb250cmlidXRpbmcgYWdlbnRzICovXG4gIHRvdGFsQWdlbnRzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgYWdncmVnYXRlZCAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xuICAvKiogUGF0dGVybnMgbGVhcm5lZCAqL1xuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcbiAgLyoqIEF2ZXJhZ2UgcXVhbGl0eSBhY3Jvc3MgYWxsIGNvbnRyaWJ1dGlvbnMgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgKi9cbiAgcXVhbGl0eVRocmVzaG9sZDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEZlZGVyYXRlZCBsZWFybmluZyB0b3BvbG9neVxuICovXG5leHBvcnQgdHlwZSBGZWRlcmF0ZWRUb3BvbG9neSA9XG4gIHwgJ3N0YXInICAgICAgICAgICAvLyBBZ2VudHMg4oaSIENlbnRyYWwgQ29vcmRpbmF0b3JcbiAgfCAnaGllcmFyY2hpY2FsJyAgIC8vIEFnZW50cyDihpIgUmVnaW9uYWwg4oaSIEdsb2JhbFxuICB8ICdwZWVyLXRvLXBlZXInOyAgLy8gQWdlbnRzIHNoYXJlIGRpcmVjdGx5XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFpbmluZyBQaXBlbGluZSBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBUcmFpbmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdDb25maWcge1xuICAvKiogSW5pdGlhbCBsZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZT86IG51bWJlcjtcbiAgLyoqIEJhdGNoIHNpemUgKi9cbiAgYmF0Y2hTaXplPzogbnVtYmVyO1xuICAvKiogTnVtYmVyIG9mIGVwb2NocyAqL1xuICBlcG9jaHM/OiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlIHNjaGVkdWxlciAqL1xuICBzY2hlZHVsZXI/OiAnY29uc3RhbnQnIHwgJ2xpbmVhcicgfCAnY29zaW5lJyB8ICd3YXJtdXAnO1xuICAvKiogV2FybXVwIHN0ZXBzIChmb3Igd2FybXVwIHNjaGVkdWxlcikgKi9cbiAgd2FybXVwU3RlcHM/OiBudW1iZXI7XG4gIC8qKiBXZWlnaHQgZGVjYXkgKi9cbiAgd2VpZ2h0RGVjYXk/OiBudW1iZXI7XG4gIC8qKiBHcmFkaWVudCBjbGlwcGluZyB0aHJlc2hvbGQgKi9cbiAgZ3JhZGllbnRDbGlwPzogbnVtYmVyO1xuICAvKiogRWFybHkgc3RvcHBpbmcgcGF0aWVuY2UgKi9cbiAgZWFybHlTdG9wcGluZ1BhdGllbmNlPzogbnVtYmVyO1xuICAvKiogQ2hlY2twb2ludCBpbnRlcnZhbCAoZXBvY2hzKSAqL1xuICBjaGVja3BvaW50SW50ZXJ2YWw/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciBjb250aW51YWwgbGVhcm5pbmcgKi9cbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xuICAvKiogVmFsaWRhdGlvbiBzcGxpdCByYXRpbyAqL1xuICB2YWxpZGF0aW9uU3BsaXQ/OiBudW1iZXI7XG4gIC8qKlxuICAgKiBGaWxlIHBhdGggZm9yIGJlc3QtY2hlY2twb2ludCByZXRlbnRpb24uIFdoZW4gc2V0LCB0aGUgcGlwZWxpbmUgd3JpdGVzXG4gICAqIHRoZSBjdXJyZW50IHN0YXRlIHRvIHRoaXMgcGF0aCBlYWNoIHRpbWUgdmFsaWRhdGlvbiBsb3NzIGltcHJvdmVzLCBzbyB0aGVcbiAgICogYmVzdC12YWxpZGF0aW9uIG1vZGVsIHN1cnZpdmVzIGV2ZW4gaWYgbGF0ZXIgZXBvY2hzIGRlZ3JhZGUuIEVtcHR5IHN0cmluZ1xuICAgKiAodGhlIGRlZmF1bHQpIGRpc2FibGVzIGl0OyBhIG5vLW9wIHdoZW4gdmFsaWRhdGlvbiBuZXZlciBydW5zLlxuICAgKi9cbiAga2VlcEJlc3RDaGVja3BvaW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIG1ldHJpY3Mgc25hcHNob3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ01ldHJpY3NTbmFwc2hvdCB7XG4gIC8qKiBDdXJyZW50IGVwb2NoICovXG4gIGVwb2NoOiBudW1iZXI7XG4gIC8qKiBDdXJyZW50IHN0ZXAgKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogVHJhaW5pbmcgbG9zcyAqL1xuICB0cmFpbkxvc3M6IG51bWJlcjtcbiAgLyoqIFZhbGlkYXRpb24gbG9zcyAqL1xuICB2YWxMb3NzOiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZTogbnVtYmVyO1xuICAvKiogR3JhZGllbnQgbm9ybSAqL1xuICBncmFkTm9ybTogbnVtYmVyO1xuICAvKiogU3RlcHMgcGVyIHNlY29uZCAqL1xuICBzdGVwc1BlclNlY29uZDogbnVtYmVyO1xuICAvKiogRVRBIGluIHNlY29uZHMgKi9cbiAgZXRhU2Vjb25kczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIHJlc3VsdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYWluaW5nUmVzdWx0IHtcbiAgLyoqIFRvdGFsIGVwb2NocyBjb21wbGV0ZWQgKi9cbiAgZXBvY2hzOiBudW1iZXI7XG4gIC8qKiBUb3RhbCBzdGVwcyBjb21wbGV0ZWQgKi9cbiAgc3RlcHM6IG51bWJlcjtcbiAgLyoqIEZpbmFsIHRyYWluaW5nIGxvc3MgKi9cbiAgZmluYWxMb3NzOiBudW1iZXI7XG4gIC8qKiBCZXN0IHZhbGlkYXRpb24gbG9zcyAqL1xuICBiZXN0VmFsTG9zczogbnVtYmVyO1xuICAvKiogVHJhaW5pbmcgZHVyYXRpb24gaW4gbXMgKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICAvKiogTG9zcyBoaXN0b3J5ICovXG4gIGxvc3NIaXN0b3J5OiBudW1iZXJbXTtcbiAgLyoqIFZhbGlkYXRpb24gbG9zcyBoaXN0b3J5ICovXG4gIHZhbExvc3NIaXN0b3J5OiBudW1iZXJbXTtcbiAgLyoqIEVhcmx5IHN0b3BwZWQgKi9cbiAgZWFybHlTdG9wcGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFRyYWluaW5nIGNoZWNrcG9pbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ0NoZWNrcG9pbnQge1xuICAvKiogRXBvY2ggbnVtYmVyICovXG4gIGVwb2NoOiBudW1iZXI7XG4gIC8qKiBTdGVwIG51bWJlciAqL1xuICBzdGVwOiBudW1iZXI7XG4gIC8qKiBUcmFpbmluZyBsb3NzIGF0IGNoZWNrcG9pbnQgKi9cbiAgbG9zczogbnVtYmVyO1xuICAvKiogTW9kZWwgd2VpZ2h0cyAoc2VyaWFsaXplZCkgKi9cbiAgd2VpZ2h0czogc3RyaW5nO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRXhwb3J0L1NlcmlhbGl6YXRpb24gVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRXhwb3J0IGZvcm1hdCBvcHRpb25zXG4gKi9cbmV4cG9ydCB0eXBlIEV4cG9ydEZvcm1hdCA9ICdzYWZldGVuc29ycycgfCAnanNvbicgfCAnYmluYXJ5JyB8ICdvbm54JztcblxuLyoqXG4gKiBNb2RlbCBtZXRhZGF0YSBmb3IgZXhwb3J0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxNZXRhZGF0YSB7XG4gIC8qKiBNb2RlbCBuYW1lICovXG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIE1vZGVsIHZlcnNpb24gKi9cbiAgdmVyc2lvbjogc3RyaW5nO1xuICAvKiogQXJjaGl0ZWN0dXJlIHR5cGUgKi9cbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XG4gIC8qKiBUcmFpbmluZyBpbmZvICovXG4gIHRyYWluaW5nPzoge1xuICAgIHN0ZXBzOiBudW1iZXI7XG4gICAgbG9zczogbnVtYmVyO1xuICAgIGxlYXJuaW5nUmF0ZTogbnVtYmVyO1xuICB9O1xuICAvKiogQ3VzdG9tIG1ldGFkYXRhICovXG4gIGN1c3RvbT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuIl19
|
package/dist/esm/lora.d.ts
CHANGED
|
@@ -121,6 +121,17 @@ export declare class LoraAdapter {
|
|
|
121
121
|
* Get adapter config
|
|
122
122
|
*/
|
|
123
123
|
getConfig(): Required<LoRAConfig>;
|
|
124
|
+
/**
|
|
125
|
+
* Get input dimension (rows of loraA).
|
|
126
|
+
*
|
|
127
|
+
* The adapter's geometry (inputDim/outputDim) is not part of LoRAConfig,
|
|
128
|
+
* so these getters expose it for checkpoint metadata and shape validation.
|
|
129
|
+
*/
|
|
130
|
+
getInputDim(): number;
|
|
131
|
+
/**
|
|
132
|
+
* Get output dimension (cols of loraB).
|
|
133
|
+
*/
|
|
134
|
+
getOutputDim(): number;
|
|
124
135
|
/**
|
|
125
136
|
* Get adapter weights
|
|
126
137
|
*/
|
package/dist/esm/lora.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lora.d.ts","sourceRoot":"","sources":["../../src/lora.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lora.d.ts","sourceRoot":"","sources":["../../src/lora.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/lora.js
CHANGED
|
@@ -225,6 +225,21 @@ export class LoraAdapter {
|
|
|
225
225
|
getConfig() {
|
|
226
226
|
return { ...this.config };
|
|
227
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Get input dimension (rows of loraA).
|
|
230
|
+
*
|
|
231
|
+
* The adapter's geometry (inputDim/outputDim) is not part of LoRAConfig,
|
|
232
|
+
* so these getters expose it for checkpoint metadata and shape validation.
|
|
233
|
+
*/
|
|
234
|
+
getInputDim() {
|
|
235
|
+
return this.inputDim;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Get output dimension (cols of loraB).
|
|
239
|
+
*/
|
|
240
|
+
getOutputDim() {
|
|
241
|
+
return this.outputDim;
|
|
242
|
+
}
|
|
228
243
|
/**
|
|
229
244
|
* Get adapter weights
|
|
230
245
|
*/
|
|
@@ -486,4 +501,4 @@ export class LoraManager {
|
|
|
486
501
|
this.activeAdapterId = null;
|
|
487
502
|
}
|
|
488
503
|
}
|
|
489
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9yYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb3JhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUlIOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBeUI7SUFDaEQsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsRUFBRTtJQUNULE9BQU8sRUFBRSxHQUFHO0lBQ1osYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztDQUNsQyxDQUFDO0FBOEJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFZLE1BQTRCLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRztRQUhqRSxrQkFBYSxHQUE2QixJQUFJLENBQUM7UUFDL0MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUc5QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxLQUFlO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFckMsbURBQW1EO1FBQ25ELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUU1RSxrREFBa0Q7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztZQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ3BDLHFDQUFxQztZQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDVixJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQixPQUFPLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQzt3QkFDeEMsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25DLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUN6QixLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNqQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzNDLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQ3BCLEdBQUcsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbEIsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzlCLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxrREFBa0Q7WUFDbEQsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDaEQsQ0FBQztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxNQUFrQjtRQUM3QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEtBQWUsRUFBRSxVQUFvQixFQUFFLFlBQW9CO1FBQ2xFLElBQUksSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPLENBQUMsQ0FBQztRQUUxQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRWxELDRDQUE0QztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDN0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUVELHdDQUF3QztRQUN4QyxNQUFNLEtBQUssR0FBZSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUN4QyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3hFLENBQUM7UUFDSCxDQUFDO1FBRUQsd0NBQXdDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQzFGLENBQUM7UUFDSCxDQUFDO1FBRUQsdUNBQXVDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFlLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxDQUFDO1FBQ0gsQ0FBQztRQUVELGlCQUFpQjtRQUNqQixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDdkQsU0FBUyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsQ0FBQztRQUNILENBQUM7UUFFRCx1QkFBdUI7UUFDdkIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxZQUFZLEdBQUcsS0FBSztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLElBQUksRUFBRSxDQUFDO1lBQ1AsWUFBWTtZQUNaLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pGLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xGLFdBQVcsRUFBRSxFQUFFO1NBQ2hCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU07UUFDSixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTO1FBQ1AsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixPQUFPO1lBQ0wsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87U0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxPQUFvQjtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN6QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDekIsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSztRQUNILE1BQU0sS0FBSyxHQUFlLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUM5QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDOUIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUN0QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ3BCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFZO1FBQzFCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM1RSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFFOUIsMERBQTBEO1FBQzFELE1BQU0sS0FBSyxHQUFlLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQzNDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQ1IsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNSLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDUCxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ25FLENBQUM7UUFFSixNQUFNLEtBQUssR0FBZSxLQUFLLENBQUMsSUFBSSxDQUFDO2FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QyxPQUFPO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1NBQzlDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFdBQVc7SUFLdEIsWUFBWSxhQUFtQztRQUp2QyxhQUFRLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7UUFDL0Msb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBSTVDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUM7SUFDcEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLEVBQVUsRUFBRSxPQUFvQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEVBQVUsRUFBRSxNQUE0QixFQUFFLFFBQWlCLEVBQUUsU0FBa0I7UUFDcEYsTUFBTSxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxFQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsRUFBVTtRQUNmLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRLENBQUMsRUFBVTtRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7O09BRUc7SUFDSCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3ZGLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLEtBQWU7UUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSTtRQUNGLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLEdBQWEsRUFBRSxRQUFnQjtRQUMzQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFrQixDQUFDO1FBQ3ZGLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFdkMsNEJBQTRCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNuQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFcEMsc0NBQXNDO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDekMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRTlDLEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDdkYsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUNqRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RixDQUFDO1lBQ0gsQ0FBQztZQUNELEtBQUssSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDdkYsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDO29CQUNqRyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6RixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUs7UUFNSCxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRXBCLEtBQUssTUFBTSxPQUFPLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzdDLFdBQVcsSUFBSSxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO2dCQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDbkMsZUFBZSxFQUFFLFdBQVc7WUFDNUIsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIExvUkEgKExvdy1SYW5rIEFkYXB0YXRpb24pIFJ1bnRpbWVcbiAqXG4gKiBFZmZpY2llbnQgcGFyYW1ldGVyLWVmZmljaWVudCBmaW5lLXR1bmluZyBhZGFwdGVycyBmb3IgTExNcy5cbiAqIFN1cHBvcnRzIG1pY3JvLUxvUkEgKGZhc3QsIHNtYWxsIHVwZGF0ZXMpIGFuZCBiYXNlLUxvUkEgKGRlZXBlciBhZGFwdGF0aW9uKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgTG9yYUFkYXB0ZXIsIExvcmFNYW5hZ2VyIH0gZnJvbSAnQHJ1dmVjdG9yL3J1dmxsbSc7XG4gKlxuICogLy8gQ3JlYXRlIGFkYXB0ZXJcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgTG9yYUFkYXB0ZXIoe1xuICogICByYW5rOiA4LFxuICogICBhbHBoYTogMTYsXG4gKiAgIGRyb3BvdXQ6IDAuMSxcbiAqICAgdGFyZ2V0TW9kdWxlczogWydxdWVyeScsICd2YWx1ZSddLFxuICogfSk7XG4gKlxuICogLy8gQXBwbHkgdG8gaGlkZGVuIHN0YXRlc1xuICogY29uc3Qgb3V0cHV0ID0gYWRhcHRlci5mb3J3YXJkKGhpZGRlblN0YXRlcyk7XG4gKlxuICogLy8gTWFuYWdlIG11bHRpcGxlIGFkYXB0ZXJzXG4gKiBjb25zdCBtYW5hZ2VyID0gbmV3IExvcmFNYW5hZ2VyKCk7XG4gKiBtYW5hZ2VyLnJlZ2lzdGVyKCd0YXNrLTEnLCBhZGFwdGVyKTtcbiAqIG1hbmFnZXIuYWN0aXZhdGUoJ3Rhc2stMScpO1xuICogYGBgXG4gKi9cblxuaW1wb3J0IHsgTG9SQUNvbmZpZywgRW1iZWRkaW5nIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogRGVmYXVsdCBMb1JBIGNvbmZpZ3VyYXRpb25cbiAqL1xuY29uc3QgREVGQVVMVF9MT1JBX0NPTkZJRzogUmVxdWlyZWQ8TG9SQUNvbmZpZz4gPSB7XG4gIHJhbms6IDgsXG4gIGFscGhhOiAxNixcbiAgZHJvcG91dDogMC4xLFxuICB0YXJnZXRNb2R1bGVzOiBbJ3F1ZXJ5JywgJ3ZhbHVlJ10sXG59O1xuXG4vKipcbiAqIExvUkEgYWRhcHRlciB3ZWlnaHRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9yYVdlaWdodHMge1xuICAvKiogRG93biBwcm9qZWN0aW9uIG1hdHJpeCAoZCB4IHIpICovXG4gIGxvcmFBOiBudW1iZXJbXVtdO1xuICAvKiogVXAgcHJvamVjdGlvbiBtYXRyaXggKHIgeCBkKSAqL1xuICBsb3JhQjogbnVtYmVyW11bXTtcbiAgLyoqIFNjYWxpbmcgZmFjdG9yICovXG4gIHNjYWxpbmc6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMb1JBIHRyYWluaW5nIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9yYVRyYWluaW5nU3RhdGUge1xuICAvKiogQ3VycmVudCBzdGVwICovXG4gIHN0ZXA6IG51bWJlcjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgKi9cbiAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XG4gIC8qKiBBY2N1bXVsYXRlZCBncmFkaWVudHMgZm9yIEEgKi9cbiAgZ3JhZEE6IG51bWJlcltdW107XG4gIC8qKiBBY2N1bXVsYXRlZCBncmFkaWVudHMgZm9yIEIgKi9cbiAgZ3JhZEI6IG51bWJlcltdW107XG4gIC8qKiBMb3NzIGhpc3RvcnkgKi9cbiAgbG9zc0hpc3Rvcnk6IG51bWJlcltdO1xufVxuXG4vKipcbiAqIExvUkEgQWRhcHRlclxuICpcbiAqIEltcGxlbWVudHMgbG93LXJhbmsgZGVjb21wb3NpdGlvbiBmb3IgcGFyYW1ldGVyLWVmZmljaWVudCBmaW5lLXR1bmluZy5cbiAqIFcnID0gVyArIEJBIHdoZXJlIEEgaXMgKGQgeCByKSBhbmQgQiBpcyAociB4IGQpLCByIDw8IGRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgYWRhcHRlciA9IG5ldyBMb3JhQWRhcHRlcih7XG4gKiAgIHJhbms6IDgsXG4gKiAgIGFscGhhOiAxNixcbiAqICAgaW5wdXREaW06IDc2OCxcbiAqICAgb3V0cHV0RGltOiA3NjgsXG4gKiB9KTtcbiAqXG4gKiAvLyBGb3J3YXJkIHBhc3NcbiAqIGNvbnN0IG91dHB1dCA9IGFkYXB0ZXIuZm9yd2FyZChpbnB1dCk7XG4gKlxuICogLy8gVHJhaW5pbmcgc3RlcFxuICogYWRhcHRlci5iYWNrd2FyZChpbnB1dCwgZ3JhZE91dHB1dCwgMC4wMDEpO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBMb3JhQWRhcHRlciB7XG4gIHByaXZhdGUgY29uZmlnOiBSZXF1aXJlZDxMb1JBQ29uZmlnPjtcbiAgcHJpdmF0ZSBpbnB1dERpbTogbnVtYmVyO1xuICBwcml2YXRlIG91dHB1dERpbTogbnVtYmVyO1xuICBwcml2YXRlIHdlaWdodHM6IExvcmFXZWlnaHRzO1xuICBwcml2YXRlIHRyYWluaW5nU3RhdGU6IExvcmFUcmFpbmluZ1N0YXRlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZnJvemVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnPzogUGFydGlhbDxMb1JBQ29uZmlnPiwgaW5wdXREaW0gPSAyNTYsIG91dHB1dERpbSA9IDI1Nikge1xuICAgIHRoaXMuY29uZmlnID0geyAuLi5ERUZBVUxUX0xPUkFfQ09ORklHLCAuLi5jb25maWcgfTtcbiAgICB0aGlzLmlucHV0RGltID0gaW5wdXREaW07XG4gICAgdGhpcy5vdXRwdXREaW0gPSBvdXRwdXREaW07XG5cbiAgICAvLyBJbml0aWFsaXplIHdlaWdodHNcbiAgICB0aGlzLndlaWdodHMgPSB0aGlzLmluaXRpYWxpemVXZWlnaHRzKCk7XG4gIH1cblxuICAvKipcbiAgICogRm9yd2FyZCBwYXNzIHRocm91Z2ggTG9SQSBhZGFwdGVyXG4gICAqIE9QVElNSVpFRDogVXNlcyBGbG9hdDY0QXJyYXkgYW5kIGxvb3AgdW5yb2xsaW5nXG4gICAqXG4gICAqIG91dHB1dCA9IGlucHV0ICsgc2NhbGluZyAqIChpbnB1dCBAIEEgQCBCKVxuICAgKi9cbiAgZm9yd2FyZChpbnB1dDogbnVtYmVyW10pOiBudW1iZXJbXSB7XG4gICAgY29uc3QgcmFuayA9IHRoaXMuY29uZmlnLnJhbms7XG4gICAgY29uc3QgZGltID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCB0aGlzLmlucHV0RGltKTtcbiAgICBjb25zdCBzY2FsaW5nID0gdGhpcy53ZWlnaHRzLnNjYWxpbmc7XG5cbiAgICAvLyBBcHBseSBkcm9wb3V0IGR1cmluZyB0cmFpbmluZyAoc2ltcGxpZmllZCBjaGVjaylcbiAgICBjb25zdCBhcHBseURyb3BvdXQgPSB0aGlzLnRyYWluaW5nU3RhdGUgIT09IG51bGwgJiYgdGhpcy5jb25maWcuZHJvcG91dCA+IDA7XG5cbiAgICAvLyBpbnB1dCBAIEEgKGQgLT4gcikgLSB1c2UgdHlwZWQgYXJyYXkgZm9yIGhpZGRlblxuICAgIGNvbnN0IGhpZGRlbiA9IG5ldyBGbG9hdDY0QXJyYXkocmFuayk7XG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgY29uc3QgbG9yYUFDb2wgPSB0aGlzLndlaWdodHMubG9yYUE7XG4gICAgICAvLyBVbnJvbGwgbG9vcCBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlXG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBpZiAoYXBwbHlEcm9wb3V0KSB7XG4gICAgICAgIGZvciAoOyBpIDwgZGltOyBpKyspIHtcbiAgICAgICAgICBpZiAoTWF0aC5yYW5kb20oKSA+IHRoaXMuY29uZmlnLmRyb3BvdXQpIHtcbiAgICAgICAgICAgIHN1bSArPSBpbnB1dFtpXSAqIGxvcmFBQ29sW2ldW3JdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yICg7IGkgKyAzIDwgZGltOyBpICs9IDQpIHtcbiAgICAgICAgICBzdW0gKz0gaW5wdXRbaV0gKiBsb3JhQUNvbFtpXVtyXSArXG4gICAgICAgICAgICAgICAgIGlucHV0W2kgKyAxXSAqIGxvcmFBQ29sW2kgKyAxXVtyXSArXG4gICAgICAgICAgICAgICAgIGlucHV0W2kgKyAyXSAqIGxvcmFBQ29sW2kgKyAyXVtyXSArXG4gICAgICAgICAgICAgICAgIGlucHV0W2kgKyAzXSAqIGxvcmFBQ29sW2kgKyAzXVtyXTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKDsgaSA8IGRpbTsgaSsrKSB7XG4gICAgICAgICAgc3VtICs9IGlucHV0W2ldICogbG9yYUFDb2xbaV1bcl07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGhpZGRlbltyXSA9IHN1bTtcbiAgICB9XG5cbiAgICAvLyBoaWRkZW4gQCBCIChyIC0+IGQpICsgcmVzaWR1YWxcbiAgICBjb25zdCBvdXRwdXQgPSBuZXcgQXJyYXkodGhpcy5vdXRwdXREaW0pO1xuICAgIGNvbnN0IGxvcmFCID0gdGhpcy53ZWlnaHRzLmxvcmFCO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vdXRwdXREaW07IGkrKykge1xuICAgICAgbGV0IGRlbHRhID0gMDtcbiAgICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICAgIGRlbHRhICs9IGhpZGRlbltyXSAqIGxvcmFCW3JdW2ldO1xuICAgICAgfVxuICAgICAgLy8gQWRkIHNjYWxlZCBkZWx0YSB0byBpbnB1dCAocmVzaWR1YWwgY29ubmVjdGlvbilcbiAgICAgIG91dHB1dFtpXSA9IChpbnB1dFtpXSB8fCAwKSArIHNjYWxpbmcgKiBkZWx0YTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmQgd2l0aCBiYXRjaCBwcm9jZXNzaW5nXG4gICAqL1xuICBmb3J3YXJkQmF0Y2goaW5wdXRzOiBudW1iZXJbXVtdKTogbnVtYmVyW11bXSB7XG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4gdGhpcy5mb3J3YXJkKGlucHV0KSk7XG4gIH1cblxuICAvKipcbiAgICogQmFja3dhcmQgcGFzcyBhbmQgd2VpZ2h0IHVwZGF0ZVxuICAgKi9cbiAgYmFja3dhcmQoaW5wdXQ6IG51bWJlcltdLCBncmFkT3V0cHV0OiBudW1iZXJbXSwgbGVhcm5pbmdSYXRlOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLmZyb3plbikgcmV0dXJuIDA7XG5cbiAgICBjb25zdCByYW5rID0gdGhpcy5jb25maWcucmFuaztcbiAgICBjb25zdCBkaW0gPSBNYXRoLm1pbihpbnB1dC5sZW5ndGgsIHRoaXMuaW5wdXREaW0pO1xuXG4gICAgLy8gQ29tcHV0ZSBoaWRkZW4gYWN0aXZhdGlvbnMgKGZvciBncmFkaWVudClcbiAgICBjb25zdCBoaWRkZW4gPSBuZXcgQXJyYXkocmFuaykuZmlsbCgwKTtcbiAgICBmb3IgKGxldCByID0gMDsgciA8IHJhbms7IHIrKykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW07IGkrKykge1xuICAgICAgICBoaWRkZW5bcl0gKz0gaW5wdXRbaV0gKiB0aGlzLndlaWdodHMubG9yYUFbaV1bcl07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JhZGllbnQgZm9yIEI6IGhpZGRlbl5UIEAgZ3JhZE91dHB1dFxuICAgIGNvbnN0IGdyYWRCOiBudW1iZXJbXVtdID0gQXJyYXkocmFuaykuZmlsbChudWxsKS5tYXAoKCkgPT4gQXJyYXkodGhpcy5vdXRwdXREaW0pLmZpbGwoMCkpO1xuICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3V0cHV0RGltOyBpKyspIHtcbiAgICAgICAgZ3JhZEJbcl1baV0gPSBoaWRkZW5bcl0gKiAoZ3JhZE91dHB1dFtpXSB8fCAwKSAqIHRoaXMud2VpZ2h0cy5zY2FsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyYWRpZW50IGZvciBoaWRkZW46IGdyYWRPdXRwdXQgQCBCXlRcbiAgICBjb25zdCBncmFkSGlkZGVuID0gbmV3IEFycmF5KHJhbmspLmZpbGwoMCk7XG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vdXRwdXREaW07IGkrKykge1xuICAgICAgICBncmFkSGlkZGVuW3JdICs9IChncmFkT3V0cHV0W2ldIHx8IDApICogdGhpcy53ZWlnaHRzLmxvcmFCW3JdW2ldICogdGhpcy53ZWlnaHRzLnNjYWxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JhZGllbnQgZm9yIEE6IGlucHV0XlQgQCBncmFkSGlkZGVuXG4gICAgY29uc3QgZ3JhZEE6IG51bWJlcltdW10gPSBBcnJheShkaW0pLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KHJhbmspLmZpbGwoMCkpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltOyBpKyspIHtcbiAgICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICAgIGdyYWRBW2ldW3JdID0gaW5wdXRbaV0gKiBncmFkSGlkZGVuW3JdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVwZGF0ZSB3ZWlnaHRzXG4gICAgbGV0IHRvdGFsR3JhZCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW07IGkrKykge1xuICAgICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgICAgdGhpcy53ZWlnaHRzLmxvcmFBW2ldW3JdIC09IGxlYXJuaW5nUmF0ZSAqIGdyYWRBW2ldW3JdO1xuICAgICAgICB0b3RhbEdyYWQgKz0gTWF0aC5hYnMoZ3JhZEFbaV1bcl0pO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGxldCByID0gMDsgciA8IHJhbms7IHIrKykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm91dHB1dERpbTsgaSsrKSB7XG4gICAgICAgIHRoaXMud2VpZ2h0cy5sb3JhQltyXVtpXSAtPSBsZWFybmluZ1JhdGUgKiBncmFkQltyXVtpXTtcbiAgICAgICAgdG90YWxHcmFkICs9IE1hdGguYWJzKGdyYWRCW3JdW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUcmFjayB0cmFpbmluZyBzdGF0ZVxuICAgIGlmICh0aGlzLnRyYWluaW5nU3RhdGUpIHtcbiAgICAgIHRoaXMudHJhaW5pbmdTdGF0ZS5zdGVwKys7XG4gICAgICB0aGlzLnRyYWluaW5nU3RhdGUubG9zc0hpc3RvcnkucHVzaCh0b3RhbEdyYWQpO1xuICAgIH1cblxuICAgIHJldHVybiB0b3RhbEdyYWQ7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdHJhaW5pbmcgbW9kZVxuICAgKi9cbiAgc3RhcnRUcmFpbmluZyhsZWFybmluZ1JhdGUgPSAwLjAwMSk6IHZvaWQge1xuICAgIHRoaXMudHJhaW5pbmdTdGF0ZSA9IHtcbiAgICAgIHN0ZXA6IDAsXG4gICAgICBsZWFybmluZ1JhdGUsXG4gICAgICBncmFkQTogQXJyYXkodGhpcy5pbnB1dERpbSkuZmlsbChudWxsKS5tYXAoKCkgPT4gQXJyYXkodGhpcy5jb25maWcucmFuaykuZmlsbCgwKSksXG4gICAgICBncmFkQjogQXJyYXkodGhpcy5jb25maWcucmFuaykuZmlsbChudWxsKS5tYXAoKCkgPT4gQXJyYXkodGhpcy5vdXRwdXREaW0pLmZpbGwoMCkpLFxuICAgICAgbG9zc0hpc3Rvcnk6IFtdLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW5kIHRyYWluaW5nIG1vZGVcbiAgICovXG4gIGVuZFRyYWluaW5nKCk6IExvcmFUcmFpbmluZ1N0YXRlIHwgbnVsbCB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnRyYWluaW5nU3RhdGU7XG4gICAgdGhpcy50cmFpbmluZ1N0YXRlID0gbnVsbDtcbiAgICByZXR1cm4gc3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogRnJlZXplIGFkYXB0ZXIgKG5vIG1vcmUgdXBkYXRlcylcbiAgICovXG4gIGZyZWV6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmZyb3plbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogVW5mcmVlemUgYWRhcHRlclxuICAgKi9cbiAgdW5mcmVlemUoKTogdm9pZCB7XG4gICAgdGhpcy5mcm96ZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBmcm96ZW5cbiAgICovXG4gIGlzRnJvemVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZyb3plbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRhcHRlciBjb25maWdcbiAgICovXG4gIGdldENvbmZpZygpOiBSZXF1aXJlZDxMb1JBQ29uZmlnPiB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy5jb25maWcgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRhcHRlciB3ZWlnaHRzXG4gICAqL1xuICBnZXRXZWlnaHRzKCk6IExvcmFXZWlnaHRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9yYUE6IHRoaXMud2VpZ2h0cy5sb3JhQS5tYXAocm93ID0+IFsuLi5yb3ddKSxcbiAgICAgIGxvcmFCOiB0aGlzLndlaWdodHMubG9yYUIubWFwKHJvdyA9PiBbLi4ucm93XSksXG4gICAgICBzY2FsaW5nOiB0aGlzLndlaWdodHMuc2NhbGluZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhZGFwdGVyIHdlaWdodHNcbiAgICovXG4gIHNldFdlaWdodHMod2VpZ2h0czogTG9yYVdlaWdodHMpOiB2b2lkIHtcbiAgICB0aGlzLndlaWdodHMgPSB7XG4gICAgICBsb3JhQTogd2VpZ2h0cy5sb3JhQS5tYXAocm93ID0+IFsuLi5yb3ddKSxcbiAgICAgIGxvcmFCOiB3ZWlnaHRzLmxvcmFCLm1hcChyb3cgPT4gWy4uLnJvd10pLFxuICAgICAgc2NhbGluZzogd2VpZ2h0cy5zY2FsaW5nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYWRhcHRlciBpbnRvIGJhc2Ugd2VpZ2h0c1xuICAgKlxuICAgKiBSZXR1cm5zIGRlbHRhIHRvIGFkZCB0byBiYXNlIG1vZGVsIHdlaWdodHNcbiAgICovXG4gIG1lcmdlKCk6IG51bWJlcltdW10ge1xuICAgIGNvbnN0IGRlbHRhOiBudW1iZXJbXVtdID0gQXJyYXkodGhpcy5pbnB1dERpbSlcbiAgICAgIC5maWxsKG51bGwpXG4gICAgICAubWFwKCgpID0+IEFycmF5KHRoaXMub3V0cHV0RGltKS5maWxsKDApKTtcblxuICAgIGNvbnN0IHJhbmsgPSB0aGlzLmNvbmZpZy5yYW5rO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbnB1dERpbTsgaSsrKSB7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRoaXMub3V0cHV0RGltOyBqKyspIHtcbiAgICAgICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgICAgICBkZWx0YVtpXVtqXSArPSB0aGlzLndlaWdodHMubG9yYUFbaV1bcl0gKiB0aGlzLndlaWdodHMubG9yYUJbcl1bal07XG4gICAgICAgIH1cbiAgICAgICAgZGVsdGFbaV1bal0gKj0gdGhpcy53ZWlnaHRzLnNjYWxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbHRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBudW1iZXIgb2YgdHJhaW5hYmxlIHBhcmFtZXRlcnNcbiAgICovXG4gIG51bVBhcmFtZXRlcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuaW5wdXREaW0gKiB0aGlzLmNvbmZpZy5yYW5rKSArICh0aGlzLmNvbmZpZy5yYW5rICogdGhpcy5vdXRwdXREaW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRvIGluaXRpYWwgd2VpZ2h0c1xuICAgKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWlnaHRzID0gdGhpcy5pbml0aWFsaXplV2VpZ2h0cygpO1xuICAgIHRoaXMudHJhaW5pbmdTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5mcm96ZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9uZSBhZGFwdGVyXG4gICAqL1xuICBjbG9uZSgpOiBMb3JhQWRhcHRlciB7XG4gICAgY29uc3QgYWRhcHRlciA9IG5ldyBMb3JhQWRhcHRlcih0aGlzLmNvbmZpZywgdGhpcy5pbnB1dERpbSwgdGhpcy5vdXRwdXREaW0pO1xuICAgIGFkYXB0ZXIuc2V0V2VpZ2h0cyh0aGlzLmdldFdlaWdodHMoKSk7XG4gICAgcmV0dXJuIGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplIHRvIEpTT05cbiAgICovXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgaW5wdXREaW06IHRoaXMuaW5wdXREaW0sXG4gICAgICBvdXRwdXREaW06IHRoaXMub3V0cHV0RGltLFxuICAgICAgd2VpZ2h0czogdGhpcy53ZWlnaHRzLFxuICAgICAgZnJvemVuOiB0aGlzLmZyb3plbixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZSBmcm9tIEpTT05cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uOiBzdHJpbmcpOiBMb3JhQWRhcHRlciB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgY29uc3QgYWRhcHRlciA9IG5ldyBMb3JhQWRhcHRlcihkYXRhLmNvbmZpZywgZGF0YS5pbnB1dERpbSwgZGF0YS5vdXRwdXREaW0pO1xuICAgIGFkYXB0ZXIuc2V0V2VpZ2h0cyhkYXRhLndlaWdodHMpO1xuICAgIGlmIChkYXRhLmZyb3plbikgYWRhcHRlci5mcmVlemUoKTtcbiAgICByZXR1cm4gYWRhcHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVdlaWdodHMoKTogTG9yYVdlaWdodHMge1xuICAgIGNvbnN0IHJhbmsgPSB0aGlzLmNvbmZpZy5yYW5rO1xuXG4gICAgLy8gS2FpbWluZyBpbml0aWFsaXphdGlvbiBmb3IgQSwgemVybyBpbml0aWFsaXphdGlvbiBmb3IgQlxuICAgIGNvbnN0IGxvcmFBOiBudW1iZXJbXVtdID0gQXJyYXkodGhpcy5pbnB1dERpbSlcbiAgICAgIC5maWxsKG51bGwpXG4gICAgICAubWFwKCgpID0+XG4gICAgICAgIEFycmF5KHJhbmspXG4gICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAubWFwKCgpID0+IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIE1hdGguc3FydCgyIC8gdGhpcy5pbnB1dERpbSkpXG4gICAgICApO1xuXG4gICAgY29uc3QgbG9yYUI6IG51bWJlcltdW10gPSBBcnJheShyYW5rKVxuICAgICAgLmZpbGwobnVsbClcbiAgICAgIC5tYXAoKCkgPT4gQXJyYXkodGhpcy5vdXRwdXREaW0pLmZpbGwoMCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvcmFBLFxuICAgICAgbG9yYUIsXG4gICAgICBzY2FsaW5nOiB0aGlzLmNvbmZpZy5hbHBoYSAvIHRoaXMuY29uZmlnLnJhbmssXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIExvUkEgTWFuYWdlciBmb3IgbXVsdGlwbGUgYWRhcHRlcnNcbiAqXG4gKiBNYW5hZ2VzIGEgY29sbGVjdGlvbiBvZiBMb1JBIGFkYXB0ZXJzIGZvciBkaWZmZXJlbnQgdGFza3MvZG9tYWlucy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvcmFNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBhZGFwdGVyczogTWFwPHN0cmluZywgTG9yYUFkYXB0ZXI+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGFjdGl2ZUFkYXB0ZXJJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUmVxdWlyZWQ8TG9SQUNvbmZpZz47XG5cbiAgY29uc3RydWN0b3IoZGVmYXVsdENvbmZpZz86IFBhcnRpYWw8TG9SQUNvbmZpZz4pIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLkRFRkFVTFRfTE9SQV9DT05GSUcsIC4uLmRlZmF1bHRDb25maWcgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIG5ldyBhZGFwdGVyXG4gICAqL1xuICByZWdpc3RlcihpZDogc3RyaW5nLCBhZGFwdGVyOiBMb3JhQWRhcHRlcik6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlcnMuc2V0KGlkLCBhZGFwdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW5kIHJlZ2lzdGVyIGEgbmV3IGFkYXB0ZXJcbiAgICovXG4gIGNyZWF0ZShpZDogc3RyaW5nLCBjb25maWc/OiBQYXJ0aWFsPExvUkFDb25maWc+LCBpbnB1dERpbT86IG51bWJlciwgb3V0cHV0RGltPzogbnVtYmVyKTogTG9yYUFkYXB0ZXIge1xuICAgIGNvbnN0IG1lcmdlZENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfTtcbiAgICBjb25zdCBhZGFwdGVyID0gbmV3IExvcmFBZGFwdGVyKG1lcmdlZENvbmZpZywgaW5wdXREaW0sIG91dHB1dERpbSk7XG4gICAgdGhpcy5yZWdpc3RlcihpZCwgYWRhcHRlcik7XG4gICAgcmV0dXJuIGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFkYXB0ZXIgYnkgSURcbiAgICovXG4gIGdldChpZDogc3RyaW5nKTogTG9yYUFkYXB0ZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXJzLmdldChpZCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFkYXB0ZXJcbiAgICovXG4gIHJlbW92ZShpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlQWRhcHRlcklkID09PSBpZCkge1xuICAgICAgdGhpcy5hY3RpdmVBZGFwdGVySWQgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVycy5kZWxldGUoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGFuIGFkYXB0ZXJcbiAgICovXG4gIGFjdGl2YXRlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hZGFwdGVycy5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUFkYXB0ZXJJZCA9IGlkO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGN1cnJlbnQgYWRhcHRlclxuICAgKi9cbiAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUFkYXB0ZXJJZCA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2ZSBhZGFwdGVyXG4gICAqL1xuICBnZXRBY3RpdmUoKTogTG9yYUFkYXB0ZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBZGFwdGVySWQgPyB0aGlzLmFkYXB0ZXJzLmdldCh0aGlzLmFjdGl2ZUFkYXB0ZXJJZCkgfHwgbnVsbCA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2ZSBhZGFwdGVyIElEXG4gICAqL1xuICBnZXRBY3RpdmVJZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBZGFwdGVySWQ7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWN0aXZlIGFkYXB0ZXJcbiAgICovXG4gIGZvcndhcmQoaW5wdXQ6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuZ2V0QWN0aXZlKCk7XG4gICAgcmV0dXJuIGFjdGl2ZSA/IGFjdGl2ZS5mb3J3YXJkKGlucHV0KSA6IFsuLi5pbnB1dF07XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgYWRhcHRlciBJRHNcbiAgICovXG4gIGxpc3QoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWRhcHRlcnMua2V5cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRhcHRlciBjb3VudFxuICAgKi9cbiAgY291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVycy5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEZyZWV6ZSBhbGwgYWRhcHRlcnNcbiAgICovXG4gIGZyZWV6ZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkYXB0ZXIgb2YgdGhpcy5hZGFwdGVycy52YWx1ZXMoKSkge1xuICAgICAgYWRhcHRlci5mcmVlemUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5mcmVlemUgYWxsIGFkYXB0ZXJzXG4gICAqL1xuICB1bmZyZWV6ZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkYXB0ZXIgb2YgdGhpcy5hZGFwdGVycy52YWx1ZXMoKSkge1xuICAgICAgYWRhcHRlci51bmZyZWV6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBtdWx0aXBsZSBhZGFwdGVycyBpbnRvIG9uZVxuICAgKi9cbiAgbWVyZ2VBZGFwdGVycyhpZHM6IHN0cmluZ1tdLCBvdXRwdXRJZDogc3RyaW5nKTogTG9yYUFkYXB0ZXIgfCBudWxsIHtcbiAgICBjb25zdCBhZGFwdGVycyA9IGlkcy5tYXAoaWQgPT4gdGhpcy5hZGFwdGVycy5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbikgYXMgTG9yYUFkYXB0ZXJbXTtcbiAgICBpZiAoYWRhcHRlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIFVzZSBmaXJzdCBhZGFwdGVyIGFzIGJhc2VcbiAgICBjb25zdCBtZXJnZWQgPSBhZGFwdGVyc1swXS5jbG9uZSgpO1xuICAgIGNvbnN0IHdlaWdodHMgPSBtZXJnZWQuZ2V0V2VpZ2h0cygpO1xuXG4gICAgLy8gQXZlcmFnZSB3ZWlnaHRzIGZyb20gb3RoZXIgYWRhcHRlcnNcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGFkYXB0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBvdGhlcldlaWdodHMgPSBhZGFwdGVyc1tpXS5nZXRXZWlnaHRzKCk7XG5cbiAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHdlaWdodHMubG9yYUEubGVuZ3RoICYmIHJvdyA8IG90aGVyV2VpZ2h0cy5sb3JhQS5sZW5ndGg7IHJvdysrKSB7XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHdlaWdodHMubG9yYUFbcm93XS5sZW5ndGggJiYgY29sIDwgb3RoZXJXZWlnaHRzLmxvcmFBW3Jvd10ubGVuZ3RoOyBjb2wrKykge1xuICAgICAgICAgIHdlaWdodHMubG9yYUFbcm93XVtjb2xdID0gKHdlaWdodHMubG9yYUFbcm93XVtjb2xdICsgb3RoZXJXZWlnaHRzLmxvcmFBW3Jvd11bY29sXSkgLyAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCB3ZWlnaHRzLmxvcmFCLmxlbmd0aCAmJiByb3cgPCBvdGhlcldlaWdodHMubG9yYUIubGVuZ3RoOyByb3crKykge1xuICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCB3ZWlnaHRzLmxvcmFCW3Jvd10ubGVuZ3RoICYmIGNvbCA8IG90aGVyV2VpZ2h0cy5sb3JhQltyb3ddLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgICB3ZWlnaHRzLmxvcmFCW3Jvd11bY29sXSA9ICh3ZWlnaHRzLmxvcmFCW3Jvd11bY29sXSArIG90aGVyV2VpZ2h0cy5sb3JhQltyb3ddW2NvbF0pIC8gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG1lcmdlZC5zZXRXZWlnaHRzKHdlaWdodHMpO1xuICAgIHRoaXMucmVnaXN0ZXIob3V0cHV0SWQsIG1lcmdlZCk7XG4gICAgcmV0dXJuIG1lcmdlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3RhdGlzdGljc1xuICAgKi9cbiAgc3RhdHMoKToge1xuICAgIHRvdGFsQWRhcHRlcnM6IG51bWJlcjtcbiAgICBhY3RpdmVBZGFwdGVyOiBzdHJpbmcgfCBudWxsO1xuICAgIHRvdGFsUGFyYW1ldGVyczogbnVtYmVyO1xuICAgIGZyb3plbkNvdW50OiBudW1iZXI7XG4gIH0ge1xuICAgIGxldCB0b3RhbFBhcmFtcyA9IDA7XG4gICAgbGV0IGZyb3plbkNvdW50ID0gMDtcblxuICAgIGZvciAoY29uc3QgYWRhcHRlciBvZiB0aGlzLmFkYXB0ZXJzLnZhbHVlcygpKSB7XG4gICAgICB0b3RhbFBhcmFtcyArPSBhZGFwdGVyLm51bVBhcmFtZXRlcnMoKTtcbiAgICAgIGlmIChhZGFwdGVyLmlzRnJvemVuKCkpIGZyb3plbkNvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvdGFsQWRhcHRlcnM6IHRoaXMuYWRhcHRlcnMuc2l6ZSxcbiAgICAgIGFjdGl2ZUFkYXB0ZXI6IHRoaXMuYWN0aXZlQWRhcHRlcklkLFxuICAgICAgdG90YWxQYXJhbWV0ZXJzOiB0b3RhbFBhcmFtcyxcbiAgICAgIGZyb3plbkNvdW50LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGFkYXB0ZXJzXG4gICAqL1xuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmFkYXB0ZXJzLmNsZWFyKCk7XG4gICAgdGhpcy5hY3RpdmVBZGFwdGVySWQgPSBudWxsO1xuICB9XG59XG4iXX0=
|
|
504
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9yYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb3JhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUlIOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBeUI7SUFDaEQsSUFBSSxFQUFFLENBQUM7SUFDUCxLQUFLLEVBQUUsRUFBRTtJQUNULE9BQU8sRUFBRSxHQUFHO0lBQ1osYUFBYSxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztDQUNsQyxDQUFDO0FBOEJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFZLE1BQTRCLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRztRQUhqRSxrQkFBYSxHQUE2QixJQUFJLENBQUM7UUFDL0MsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUc5QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxtQkFBbUIsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxLQUFlO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFFckMsbURBQW1EO1FB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RUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBTUgsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQztRQUVwQixLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxXQUFXLElBQUksT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtnQkFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxDQUFDO1FBRUQsT0FBTztZQUNMLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7WUFDakMsYUFBYSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ25DLGVBQWUsRUFBRSxXQUFXO1lBQzVCLFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMb1JBIChMb3ctUmFuayBBZGFwdGF0aW9uKSBSdW50aW1lXG4gKlxuICogRWZmaWNpZW50IHBhcmFtZXRlci1lZmZpY2llbnQgZmluZS10dW5pbmcgYWRhcHRlcnMgZm9yIExMTXMuXG4gKiBTdXBwb3J0cyBtaWNyby1Mb1JBIChmYXN0LCBzbWFsbCB1cGRhdGVzKSBhbmQgYmFzZS1Mb1JBIChkZWVwZXIgYWRhcHRhdGlvbikuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IExvcmFBZGFwdGVyLCBMb3JhTWFuYWdlciB9IGZyb20gJ0BydXZlY3Rvci9ydXZsbG0nO1xuICpcbiAqIC8vIENyZWF0ZSBhZGFwdGVyXG4gKiBjb25zdCBhZGFwdGVyID0gbmV3IExvcmFBZGFwdGVyKHtcbiAqICAgcmFuazogOCxcbiAqICAgYWxwaGE6IDE2LFxuICogICBkcm9wb3V0OiAwLjEsXG4gKiAgIHRhcmdldE1vZHVsZXM6IFsncXVlcnknLCAndmFsdWUnXSxcbiAqIH0pO1xuICpcbiAqIC8vIEFwcGx5IHRvIGhpZGRlbiBzdGF0ZXNcbiAqIGNvbnN0IG91dHB1dCA9IGFkYXB0ZXIuZm9yd2FyZChoaWRkZW5TdGF0ZXMpO1xuICpcbiAqIC8vIE1hbmFnZSBtdWx0aXBsZSBhZGFwdGVyc1xuICogY29uc3QgbWFuYWdlciA9IG5ldyBMb3JhTWFuYWdlcigpO1xuICogbWFuYWdlci5yZWdpc3RlcigndGFzay0xJywgYWRhcHRlcik7XG4gKiBtYW5hZ2VyLmFjdGl2YXRlKCd0YXNrLTEnKTtcbiAqIGBgYFxuICovXG5cbmltcG9ydCB7IExvUkFDb25maWcsIEVtYmVkZGluZyB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgTG9SQSBjb25maWd1cmF0aW9uXG4gKi9cbmNvbnN0IERFRkFVTFRfTE9SQV9DT05GSUc6IFJlcXVpcmVkPExvUkFDb25maWc+ID0ge1xuICByYW5rOiA4LFxuICBhbHBoYTogMTYsXG4gIGRyb3BvdXQ6IDAuMSxcbiAgdGFyZ2V0TW9kdWxlczogWydxdWVyeScsICd2YWx1ZSddLFxufTtcblxuLyoqXG4gKiBMb1JBIGFkYXB0ZXIgd2VpZ2h0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIExvcmFXZWlnaHRzIHtcbiAgLyoqIERvd24gcHJvamVjdGlvbiBtYXRyaXggKGQgeCByKSAqL1xuICBsb3JhQTogbnVtYmVyW11bXTtcbiAgLyoqIFVwIHByb2plY3Rpb24gbWF0cml4IChyIHggZCkgKi9cbiAgbG9yYUI6IG51bWJlcltdW107XG4gIC8qKiBTY2FsaW5nIGZhY3RvciAqL1xuICBzY2FsaW5nOiBudW1iZXI7XG59XG5cbi8qKlxuICogTG9SQSB0cmFpbmluZyBzdGF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvcmFUcmFpbmluZ1N0YXRlIHtcbiAgLyoqIEN1cnJlbnQgc3RlcCAqL1xuICBzdGVwOiBudW1iZXI7XG4gIC8qKiBMZWFybmluZyByYXRlICovXG4gIGxlYXJuaW5nUmF0ZTogbnVtYmVyO1xuICAvKiogQWNjdW11bGF0ZWQgZ3JhZGllbnRzIGZvciBBICovXG4gIGdyYWRBOiBudW1iZXJbXVtdO1xuICAvKiogQWNjdW11bGF0ZWQgZ3JhZGllbnRzIGZvciBCICovXG4gIGdyYWRCOiBudW1iZXJbXVtdO1xuICAvKiogTG9zcyBoaXN0b3J5ICovXG4gIGxvc3NIaXN0b3J5OiBudW1iZXJbXTtcbn1cblxuLyoqXG4gKiBMb1JBIEFkYXB0ZXJcbiAqXG4gKiBJbXBsZW1lbnRzIGxvdy1yYW5rIGRlY29tcG9zaXRpb24gZm9yIHBhcmFtZXRlci1lZmZpY2llbnQgZmluZS10dW5pbmcuXG4gKiBXJyA9IFcgKyBCQSB3aGVyZSBBIGlzIChkIHggcikgYW5kIEIgaXMgKHIgeCBkKSwgciA8PCBkXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgTG9yYUFkYXB0ZXIoe1xuICogICByYW5rOiA4LFxuICogICBhbHBoYTogMTYsXG4gKiAgIGlucHV0RGltOiA3NjgsXG4gKiAgIG91dHB1dERpbTogNzY4LFxuICogfSk7XG4gKlxuICogLy8gRm9yd2FyZCBwYXNzXG4gKiBjb25zdCBvdXRwdXQgPSBhZGFwdGVyLmZvcndhcmQoaW5wdXQpO1xuICpcbiAqIC8vIFRyYWluaW5nIHN0ZXBcbiAqIGFkYXB0ZXIuYmFja3dhcmQoaW5wdXQsIGdyYWRPdXRwdXQsIDAuMDAxKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgTG9yYUFkYXB0ZXIge1xuICBwcml2YXRlIGNvbmZpZzogUmVxdWlyZWQ8TG9SQUNvbmZpZz47XG4gIHByaXZhdGUgaW5wdXREaW06IG51bWJlcjtcbiAgcHJpdmF0ZSBvdXRwdXREaW06IG51bWJlcjtcbiAgcHJpdmF0ZSB3ZWlnaHRzOiBMb3JhV2VpZ2h0cztcbiAgcHJpdmF0ZSB0cmFpbmluZ1N0YXRlOiBMb3JhVHJhaW5pbmdTdGF0ZSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGZyb3plbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IFBhcnRpYWw8TG9SQUNvbmZpZz4sIGlucHV0RGltID0gMjU2LCBvdXRwdXREaW0gPSAyNTYpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4uREVGQVVMVF9MT1JBX0NPTkZJRywgLi4uY29uZmlnIH07XG4gICAgdGhpcy5pbnB1dERpbSA9IGlucHV0RGltO1xuICAgIHRoaXMub3V0cHV0RGltID0gb3V0cHV0RGltO1xuXG4gICAgLy8gSW5pdGlhbGl6ZSB3ZWlnaHRzXG4gICAgdGhpcy53ZWlnaHRzID0gdGhpcy5pbml0aWFsaXplV2VpZ2h0cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmQgcGFzcyB0aHJvdWdoIExvUkEgYWRhcHRlclxuICAgKiBPUFRJTUlaRUQ6IFVzZXMgRmxvYXQ2NEFycmF5IGFuZCBsb29wIHVucm9sbGluZ1xuICAgKlxuICAgKiBvdXRwdXQgPSBpbnB1dCArIHNjYWxpbmcgKiAoaW5wdXQgQCBBIEAgQilcbiAgICovXG4gIGZvcndhcmQoaW5wdXQ6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IHJhbmsgPSB0aGlzLmNvbmZpZy5yYW5rO1xuICAgIGNvbnN0IGRpbSA9IE1hdGgubWluKGlucHV0Lmxlbmd0aCwgdGhpcy5pbnB1dERpbSk7XG4gICAgY29uc3Qgc2NhbGluZyA9IHRoaXMud2VpZ2h0cy5zY2FsaW5nO1xuXG4gICAgLy8gQXBwbHkgZHJvcG91dCBkdXJpbmcgdHJhaW5pbmcgKHNpbXBsaWZpZWQgY2hlY2spXG4gICAgY29uc3QgYXBwbHlEcm9wb3V0ID0gdGhpcy50cmFpbmluZ1N0YXRlICE9PSBudWxsICYmIHRoaXMuY29uZmlnLmRyb3BvdXQgPiAwO1xuXG4gICAgLy8gaW5wdXQgQCBBIChkIC0+IHIpIC0gdXNlIHR5cGVkIGFycmF5IGZvciBoaWRkZW5cbiAgICBjb25zdCBoaWRkZW4gPSBuZXcgRmxvYXQ2NEFycmF5KHJhbmspO1xuICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICBsZXQgc3VtID0gMDtcbiAgICAgIGNvbnN0IGxvcmFBQ29sID0gdGhpcy53ZWlnaHRzLmxvcmFBO1xuICAgICAgLy8gVW5yb2xsIGxvb3AgZm9yIGJldHRlciBwZXJmb3JtYW5jZVxuICAgICAgbGV0IGkgPSAwO1xuICAgICAgaWYgKGFwcGx5RHJvcG91dCkge1xuICAgICAgICBmb3IgKDsgaSA8IGRpbTsgaSsrKSB7XG4gICAgICAgICAgaWYgKE1hdGgucmFuZG9tKCkgPiB0aGlzLmNvbmZpZy5kcm9wb3V0KSB7XG4gICAgICAgICAgICBzdW0gKz0gaW5wdXRbaV0gKiBsb3JhQUNvbFtpXVtyXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAoOyBpICsgMyA8IGRpbTsgaSArPSA0KSB7XG4gICAgICAgICAgc3VtICs9IGlucHV0W2ldICogbG9yYUFDb2xbaV1bcl0gK1xuICAgICAgICAgICAgICAgICBpbnB1dFtpICsgMV0gKiBsb3JhQUNvbFtpICsgMV1bcl0gK1xuICAgICAgICAgICAgICAgICBpbnB1dFtpICsgMl0gKiBsb3JhQUNvbFtpICsgMl1bcl0gK1xuICAgICAgICAgICAgICAgICBpbnB1dFtpICsgM10gKiBsb3JhQUNvbFtpICsgM11bcl07XG4gICAgICAgIH1cbiAgICAgICAgZm9yICg7IGkgPCBkaW07IGkrKykge1xuICAgICAgICAgIHN1bSArPSBpbnB1dFtpXSAqIGxvcmFBQ29sW2ldW3JdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoaWRkZW5bcl0gPSBzdW07XG4gICAgfVxuXG4gICAgLy8gaGlkZGVuIEAgQiAociAtPiBkKSArIHJlc2lkdWFsXG4gICAgY29uc3Qgb3V0cHV0ID0gbmV3IEFycmF5KHRoaXMub3V0cHV0RGltKTtcbiAgICBjb25zdCBsb3JhQiA9IHRoaXMud2VpZ2h0cy5sb3JhQjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3V0cHV0RGltOyBpKyspIHtcbiAgICAgIGxldCBkZWx0YSA9IDA7XG4gICAgICBmb3IgKGxldCByID0gMDsgciA8IHJhbms7IHIrKykge1xuICAgICAgICBkZWx0YSArPSBoaWRkZW5bcl0gKiBsb3JhQltyXVtpXTtcbiAgICAgIH1cbiAgICAgIC8vIEFkZCBzY2FsZWQgZGVsdGEgdG8gaW5wdXQgKHJlc2lkdWFsIGNvbm5lY3Rpb24pXG4gICAgICBvdXRwdXRbaV0gPSAoaW5wdXRbaV0gfHwgMCkgKyBzY2FsaW5nICogZGVsdGE7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGb3J3YXJkIHdpdGggYmF0Y2ggcHJvY2Vzc2luZ1xuICAgKi9cbiAgZm9yd2FyZEJhdGNoKGlucHV0czogbnVtYmVyW11bXSk6IG51bWJlcltdW10ge1xuICAgIHJldHVybiBpbnB1dHMubWFwKGlucHV0ID0+IHRoaXMuZm9yd2FyZChpbnB1dCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJhY2t3YXJkIHBhc3MgYW5kIHdlaWdodCB1cGRhdGVcbiAgICovXG4gIGJhY2t3YXJkKGlucHV0OiBudW1iZXJbXSwgZ3JhZE91dHB1dDogbnVtYmVyW10sIGxlYXJuaW5nUmF0ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAodGhpcy5mcm96ZW4pIHJldHVybiAwO1xuXG4gICAgY29uc3QgcmFuayA9IHRoaXMuY29uZmlnLnJhbms7XG4gICAgY29uc3QgZGltID0gTWF0aC5taW4oaW5wdXQubGVuZ3RoLCB0aGlzLmlucHV0RGltKTtcblxuICAgIC8vIENvbXB1dGUgaGlkZGVuIGFjdGl2YXRpb25zIChmb3IgZ3JhZGllbnQpXG4gICAgY29uc3QgaGlkZGVuID0gbmV3IEFycmF5KHJhbmspLmZpbGwoMCk7XG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltOyBpKyspIHtcbiAgICAgICAgaGlkZGVuW3JdICs9IGlucHV0W2ldICogdGhpcy53ZWlnaHRzLmxvcmFBW2ldW3JdO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyYWRpZW50IGZvciBCOiBoaWRkZW5eVCBAIGdyYWRPdXRwdXRcbiAgICBjb25zdCBncmFkQjogbnVtYmVyW11bXSA9IEFycmF5KHJhbmspLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KHRoaXMub3V0cHV0RGltKS5maWxsKDApKTtcbiAgICBmb3IgKGxldCByID0gMDsgciA8IHJhbms7IHIrKykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm91dHB1dERpbTsgaSsrKSB7XG4gICAgICAgIGdyYWRCW3JdW2ldID0gaGlkZGVuW3JdICogKGdyYWRPdXRwdXRbaV0gfHwgMCkgKiB0aGlzLndlaWdodHMuc2NhbGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBHcmFkaWVudCBmb3IgaGlkZGVuOiBncmFkT3V0cHV0IEAgQl5UXG4gICAgY29uc3QgZ3JhZEhpZGRlbiA9IG5ldyBBcnJheShyYW5rKS5maWxsKDApO1xuICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMub3V0cHV0RGltOyBpKyspIHtcbiAgICAgICAgZ3JhZEhpZGRlbltyXSArPSAoZ3JhZE91dHB1dFtpXSB8fCAwKSAqIHRoaXMud2VpZ2h0cy5sb3JhQltyXVtpXSAqIHRoaXMud2VpZ2h0cy5zY2FsaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdyYWRpZW50IGZvciBBOiBpbnB1dF5UIEAgZ3JhZEhpZGRlblxuICAgIGNvbnN0IGdyYWRBOiBudW1iZXJbXVtdID0gQXJyYXkoZGltKS5maWxsKG51bGwpLm1hcCgoKSA9PiBBcnJheShyYW5rKS5maWxsKDApKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbTsgaSsrKSB7XG4gICAgICBmb3IgKGxldCByID0gMDsgciA8IHJhbms7IHIrKykge1xuICAgICAgICBncmFkQVtpXVtyXSA9IGlucHV0W2ldICogZ3JhZEhpZGRlbltyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgd2VpZ2h0c1xuICAgIGxldCB0b3RhbEdyYWQgPSAwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltOyBpKyspIHtcbiAgICAgIGZvciAobGV0IHIgPSAwOyByIDwgcmFuazsgcisrKSB7XG4gICAgICAgIHRoaXMud2VpZ2h0cy5sb3JhQVtpXVtyXSAtPSBsZWFybmluZ1JhdGUgKiBncmFkQVtpXVtyXTtcbiAgICAgICAgdG90YWxHcmFkICs9IE1hdGguYWJzKGdyYWRBW2ldW3JdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5vdXRwdXREaW07IGkrKykge1xuICAgICAgICB0aGlzLndlaWdodHMubG9yYUJbcl1baV0gLT0gbGVhcm5pbmdSYXRlICogZ3JhZEJbcl1baV07XG4gICAgICAgIHRvdGFsR3JhZCArPSBNYXRoLmFicyhncmFkQltyXVtpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVHJhY2sgdHJhaW5pbmcgc3RhdGVcbiAgICBpZiAodGhpcy50cmFpbmluZ1N0YXRlKSB7XG4gICAgICB0aGlzLnRyYWluaW5nU3RhdGUuc3RlcCsrO1xuICAgICAgdGhpcy50cmFpbmluZ1N0YXRlLmxvc3NIaXN0b3J5LnB1c2godG90YWxHcmFkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG90YWxHcmFkO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHRyYWluaW5nIG1vZGVcbiAgICovXG4gIHN0YXJ0VHJhaW5pbmcobGVhcm5pbmdSYXRlID0gMC4wMDEpOiB2b2lkIHtcbiAgICB0aGlzLnRyYWluaW5nU3RhdGUgPSB7XG4gICAgICBzdGVwOiAwLFxuICAgICAgbGVhcm5pbmdSYXRlLFxuICAgICAgZ3JhZEE6IEFycmF5KHRoaXMuaW5wdXREaW0pLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KHRoaXMuY29uZmlnLnJhbmspLmZpbGwoMCkpLFxuICAgICAgZ3JhZEI6IEFycmF5KHRoaXMuY29uZmlnLnJhbmspLmZpbGwobnVsbCkubWFwKCgpID0+IEFycmF5KHRoaXMub3V0cHV0RGltKS5maWxsKDApKSxcbiAgICAgIGxvc3NIaXN0b3J5OiBbXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVuZCB0cmFpbmluZyBtb2RlXG4gICAqL1xuICBlbmRUcmFpbmluZygpOiBMb3JhVHJhaW5pbmdTdGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy50cmFpbmluZ1N0YXRlO1xuICAgIHRoaXMudHJhaW5pbmdTdGF0ZSA9IG51bGw7XG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZyZWV6ZSBhZGFwdGVyIChubyBtb3JlIHVwZGF0ZXMpXG4gICAqL1xuICBmcmVlemUoKTogdm9pZCB7XG4gICAgdGhpcy5mcm96ZW4gPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFVuZnJlZXplIGFkYXB0ZXJcbiAgICovXG4gIHVuZnJlZXplKCk6IHZvaWQge1xuICAgIHRoaXMuZnJvemVuID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZnJvemVuXG4gICAqL1xuICBpc0Zyb3plbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5mcm96ZW47XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFkYXB0ZXIgY29uZmlnXG4gICAqL1xuICBnZXRDb25maWcoKTogUmVxdWlyZWQ8TG9SQUNvbmZpZz4ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuY29uZmlnIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGlucHV0IGRpbWVuc2lvbiAocm93cyBvZiBsb3JhQSkuXG4gICAqXG4gICAqIFRoZSBhZGFwdGVyJ3MgZ2VvbWV0cnkgKGlucHV0RGltL291dHB1dERpbSkgaXMgbm90IHBhcnQgb2YgTG9SQUNvbmZpZyxcbiAgICogc28gdGhlc2UgZ2V0dGVycyBleHBvc2UgaXQgZm9yIGNoZWNrcG9pbnQgbWV0YWRhdGEgYW5kIHNoYXBlIHZhbGlkYXRpb24uXG4gICAqL1xuICBnZXRJbnB1dERpbSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmlucHV0RGltO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBvdXRwdXQgZGltZW5zaW9uIChjb2xzIG9mIGxvcmFCKS5cbiAgICovXG4gIGdldE91dHB1dERpbSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm91dHB1dERpbTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRhcHRlciB3ZWlnaHRzXG4gICAqL1xuICBnZXRXZWlnaHRzKCk6IExvcmFXZWlnaHRzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG9yYUE6IHRoaXMud2VpZ2h0cy5sb3JhQS5tYXAocm93ID0+IFsuLi5yb3ddKSxcbiAgICAgIGxvcmFCOiB0aGlzLndlaWdodHMubG9yYUIubWFwKHJvdyA9PiBbLi4ucm93XSksXG4gICAgICBzY2FsaW5nOiB0aGlzLndlaWdodHMuc2NhbGluZyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhZGFwdGVyIHdlaWdodHNcbiAgICovXG4gIHNldFdlaWdodHMod2VpZ2h0czogTG9yYVdlaWdodHMpOiB2b2lkIHtcbiAgICB0aGlzLndlaWdodHMgPSB7XG4gICAgICBsb3JhQTogd2VpZ2h0cy5sb3JhQS5tYXAocm93ID0+IFsuLi5yb3ddKSxcbiAgICAgIGxvcmFCOiB3ZWlnaHRzLmxvcmFCLm1hcChyb3cgPT4gWy4uLnJvd10pLFxuICAgICAgc2NhbGluZzogd2VpZ2h0cy5zY2FsaW5nLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYWRhcHRlciBpbnRvIGJhc2Ugd2VpZ2h0c1xuICAgKlxuICAgKiBSZXR1cm5zIGRlbHRhIHRvIGFkZCB0byBiYXNlIG1vZGVsIHdlaWdodHNcbiAgICovXG4gIG1lcmdlKCk6IG51bWJlcltdW10ge1xuICAgIGNvbnN0IGRlbHRhOiBudW1iZXJbXVtdID0gQXJyYXkodGhpcy5pbnB1dERpbSlcbiAgICAgIC5maWxsKG51bGwpXG4gICAgICAubWFwKCgpID0+IEFycmF5KHRoaXMub3V0cHV0RGltKS5maWxsKDApKTtcblxuICAgIGNvbnN0IHJhbmsgPSB0aGlzLmNvbmZpZy5yYW5rO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5pbnB1dERpbTsgaSsrKSB7XG4gICAgICBmb3IgKGxldCBqID0gMDsgaiA8IHRoaXMub3V0cHV0RGltOyBqKyspIHtcbiAgICAgICAgZm9yIChsZXQgciA9IDA7IHIgPCByYW5rOyByKyspIHtcbiAgICAgICAgICBkZWx0YVtpXVtqXSArPSB0aGlzLndlaWdodHMubG9yYUFbaV1bcl0gKiB0aGlzLndlaWdodHMubG9yYUJbcl1bal07XG4gICAgICAgIH1cbiAgICAgICAgZGVsdGFbaV1bal0gKj0gdGhpcy53ZWlnaHRzLnNjYWxpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRlbHRhO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBudW1iZXIgb2YgdHJhaW5hYmxlIHBhcmFtZXRlcnNcbiAgICovXG4gIG51bVBhcmFtZXRlcnMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuaW5wdXREaW0gKiB0aGlzLmNvbmZpZy5yYW5rKSArICh0aGlzLmNvbmZpZy5yYW5rICogdGhpcy5vdXRwdXREaW0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRvIGluaXRpYWwgd2VpZ2h0c1xuICAgKi9cbiAgcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy53ZWlnaHRzID0gdGhpcy5pbml0aWFsaXplV2VpZ2h0cygpO1xuICAgIHRoaXMudHJhaW5pbmdTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5mcm96ZW4gPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9uZSBhZGFwdGVyXG4gICAqL1xuICBjbG9uZSgpOiBMb3JhQWRhcHRlciB7XG4gICAgY29uc3QgYWRhcHRlciA9IG5ldyBMb3JhQWRhcHRlcih0aGlzLmNvbmZpZywgdGhpcy5pbnB1dERpbSwgdGhpcy5vdXRwdXREaW0pO1xuICAgIGFkYXB0ZXIuc2V0V2VpZ2h0cyh0aGlzLmdldFdlaWdodHMoKSk7XG4gICAgcmV0dXJuIGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplIHRvIEpTT05cbiAgICovXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLFxuICAgICAgaW5wdXREaW06IHRoaXMuaW5wdXREaW0sXG4gICAgICBvdXRwdXREaW06IHRoaXMub3V0cHV0RGltLFxuICAgICAgd2VpZ2h0czogdGhpcy53ZWlnaHRzLFxuICAgICAgZnJvemVuOiB0aGlzLmZyb3plbixcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXNlcmlhbGl6ZSBmcm9tIEpTT05cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uOiBzdHJpbmcpOiBMb3JhQWRhcHRlciB7XG4gICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoanNvbik7XG4gICAgY29uc3QgYWRhcHRlciA9IG5ldyBMb3JhQWRhcHRlcihkYXRhLmNvbmZpZywgZGF0YS5pbnB1dERpbSwgZGF0YS5vdXRwdXREaW0pO1xuICAgIGFkYXB0ZXIuc2V0V2VpZ2h0cyhkYXRhLndlaWdodHMpO1xuICAgIGlmIChkYXRhLmZyb3plbikgYWRhcHRlci5mcmVlemUoKTtcbiAgICByZXR1cm4gYWRhcHRlcjtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVdlaWdodHMoKTogTG9yYVdlaWdodHMge1xuICAgIGNvbnN0IHJhbmsgPSB0aGlzLmNvbmZpZy5yYW5rO1xuXG4gICAgLy8gS2FpbWluZyBpbml0aWFsaXphdGlvbiBmb3IgQSwgemVybyBpbml0aWFsaXphdGlvbiBmb3IgQlxuICAgIGNvbnN0IGxvcmFBOiBudW1iZXJbXVtdID0gQXJyYXkodGhpcy5pbnB1dERpbSlcbiAgICAgIC5maWxsKG51bGwpXG4gICAgICAubWFwKCgpID0+XG4gICAgICAgIEFycmF5KHJhbmspXG4gICAgICAgICAgLmZpbGwoMClcbiAgICAgICAgICAubWFwKCgpID0+IChNYXRoLnJhbmRvbSgpIC0gMC41KSAqIE1hdGguc3FydCgyIC8gdGhpcy5pbnB1dERpbSkpXG4gICAgICApO1xuXG4gICAgY29uc3QgbG9yYUI6IG51bWJlcltdW10gPSBBcnJheShyYW5rKVxuICAgICAgLmZpbGwobnVsbClcbiAgICAgIC5tYXAoKCkgPT4gQXJyYXkodGhpcy5vdXRwdXREaW0pLmZpbGwoMCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGxvcmFBLFxuICAgICAgbG9yYUIsXG4gICAgICBzY2FsaW5nOiB0aGlzLmNvbmZpZy5hbHBoYSAvIHRoaXMuY29uZmlnLnJhbmssXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIExvUkEgTWFuYWdlciBmb3IgbXVsdGlwbGUgYWRhcHRlcnNcbiAqXG4gKiBNYW5hZ2VzIGEgY29sbGVjdGlvbiBvZiBMb1JBIGFkYXB0ZXJzIGZvciBkaWZmZXJlbnQgdGFza3MvZG9tYWlucy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvcmFNYW5hZ2VyIHtcbiAgcHJpdmF0ZSBhZGFwdGVyczogTWFwPHN0cmluZywgTG9yYUFkYXB0ZXI+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGFjdGl2ZUFkYXB0ZXJJZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZGVmYXVsdENvbmZpZzogUmVxdWlyZWQ8TG9SQUNvbmZpZz47XG5cbiAgY29uc3RydWN0b3IoZGVmYXVsdENvbmZpZz86IFBhcnRpYWw8TG9SQUNvbmZpZz4pIHtcbiAgICB0aGlzLmRlZmF1bHRDb25maWcgPSB7IC4uLkRFRkFVTFRfTE9SQV9DT05GSUcsIC4uLmRlZmF1bHRDb25maWcgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIG5ldyBhZGFwdGVyXG4gICAqL1xuICByZWdpc3RlcihpZDogc3RyaW5nLCBhZGFwdGVyOiBMb3JhQWRhcHRlcik6IHZvaWQge1xuICAgIHRoaXMuYWRhcHRlcnMuc2V0KGlkLCBhZGFwdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW5kIHJlZ2lzdGVyIGEgbmV3IGFkYXB0ZXJcbiAgICovXG4gIGNyZWF0ZShpZDogc3RyaW5nLCBjb25maWc/OiBQYXJ0aWFsPExvUkFDb25maWc+LCBpbnB1dERpbT86IG51bWJlciwgb3V0cHV0RGltPzogbnVtYmVyKTogTG9yYUFkYXB0ZXIge1xuICAgIGNvbnN0IG1lcmdlZENvbmZpZyA9IHsgLi4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi5jb25maWcgfTtcbiAgICBjb25zdCBhZGFwdGVyID0gbmV3IExvcmFBZGFwdGVyKG1lcmdlZENvbmZpZywgaW5wdXREaW0sIG91dHB1dERpbSk7XG4gICAgdGhpcy5yZWdpc3RlcihpZCwgYWRhcHRlcik7XG4gICAgcmV0dXJuIGFkYXB0ZXI7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFkYXB0ZXIgYnkgSURcbiAgICovXG4gIGdldChpZDogc3RyaW5nKTogTG9yYUFkYXB0ZXIgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmFkYXB0ZXJzLmdldChpZCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFkYXB0ZXJcbiAgICovXG4gIHJlbW92ZShpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuYWN0aXZlQWRhcHRlcklkID09PSBpZCkge1xuICAgICAgdGhpcy5hY3RpdmVBZGFwdGVySWQgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hZGFwdGVycy5kZWxldGUoaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjdGl2YXRlIGFuIGFkYXB0ZXJcbiAgICovXG4gIGFjdGl2YXRlKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hZGFwdGVycy5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmFjdGl2ZUFkYXB0ZXJJZCA9IGlkO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWFjdGl2YXRlIGN1cnJlbnQgYWRhcHRlclxuICAgKi9cbiAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmFjdGl2ZUFkYXB0ZXJJZCA9IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2ZSBhZGFwdGVyXG4gICAqL1xuICBnZXRBY3RpdmUoKTogTG9yYUFkYXB0ZXIgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBZGFwdGVySWQgPyB0aGlzLmFkYXB0ZXJzLmdldCh0aGlzLmFjdGl2ZUFkYXB0ZXJJZCkgfHwgbnVsbCA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2ZSBhZGFwdGVyIElEXG4gICAqL1xuICBnZXRBY3RpdmVJZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVBZGFwdGVySWQ7XG4gIH1cblxuICAvKipcbiAgICogQXBwbHkgYWN0aXZlIGFkYXB0ZXJcbiAgICovXG4gIGZvcndhcmQoaW5wdXQ6IG51bWJlcltdKTogbnVtYmVyW10ge1xuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuZ2V0QWN0aXZlKCk7XG4gICAgcmV0dXJuIGFjdGl2ZSA/IGFjdGl2ZS5mb3J3YXJkKGlucHV0KSA6IFsuLi5pbnB1dF07XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBhbGwgYWRhcHRlciBJRHNcbiAgICovXG4gIGxpc3QoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWRhcHRlcnMua2V5cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWRhcHRlciBjb3VudFxuICAgKi9cbiAgY291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hZGFwdGVycy5zaXplO1xuICB9XG5cbiAgLyoqXG4gICAqIEZyZWV6ZSBhbGwgYWRhcHRlcnNcbiAgICovXG4gIGZyZWV6ZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkYXB0ZXIgb2YgdGhpcy5hZGFwdGVycy52YWx1ZXMoKSkge1xuICAgICAgYWRhcHRlci5mcmVlemUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVW5mcmVlemUgYWxsIGFkYXB0ZXJzXG4gICAqL1xuICB1bmZyZWV6ZUFsbCgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkYXB0ZXIgb2YgdGhpcy5hZGFwdGVycy52YWx1ZXMoKSkge1xuICAgICAgYWRhcHRlci51bmZyZWV6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNZXJnZSBtdWx0aXBsZSBhZGFwdGVycyBpbnRvIG9uZVxuICAgKi9cbiAgbWVyZ2VBZGFwdGVycyhpZHM6IHN0cmluZ1tdLCBvdXRwdXRJZDogc3RyaW5nKTogTG9yYUFkYXB0ZXIgfCBudWxsIHtcbiAgICBjb25zdCBhZGFwdGVycyA9IGlkcy5tYXAoaWQgPT4gdGhpcy5hZGFwdGVycy5nZXQoaWQpKS5maWx0ZXIoQm9vbGVhbikgYXMgTG9yYUFkYXB0ZXJbXTtcbiAgICBpZiAoYWRhcHRlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICAgIC8vIFVzZSBmaXJzdCBhZGFwdGVyIGFzIGJhc2VcbiAgICBjb25zdCBtZXJnZWQgPSBhZGFwdGVyc1swXS5jbG9uZSgpO1xuICAgIGNvbnN0IHdlaWdodHMgPSBtZXJnZWQuZ2V0V2VpZ2h0cygpO1xuXG4gICAgLy8gQXZlcmFnZSB3ZWlnaHRzIGZyb20gb3RoZXIgYWRhcHRlcnNcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IGFkYXB0ZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBvdGhlcldlaWdodHMgPSBhZGFwdGVyc1tpXS5nZXRXZWlnaHRzKCk7XG5cbiAgICAgIGZvciAobGV0IHJvdyA9IDA7IHJvdyA8IHdlaWdodHMubG9yYUEubGVuZ3RoICYmIHJvdyA8IG90aGVyV2VpZ2h0cy5sb3JhQS5sZW5ndGg7IHJvdysrKSB7XG4gICAgICAgIGZvciAobGV0IGNvbCA9IDA7IGNvbCA8IHdlaWdodHMubG9yYUFbcm93XS5sZW5ndGggJiYgY29sIDwgb3RoZXJXZWlnaHRzLmxvcmFBW3Jvd10ubGVuZ3RoOyBjb2wrKykge1xuICAgICAgICAgIHdlaWdodHMubG9yYUFbcm93XVtjb2xdID0gKHdlaWdodHMubG9yYUFbcm93XVtjb2xdICsgb3RoZXJXZWlnaHRzLmxvcmFBW3Jvd11bY29sXSkgLyAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKGxldCByb3cgPSAwOyByb3cgPCB3ZWlnaHRzLmxvcmFCLmxlbmd0aCAmJiByb3cgPCBvdGhlcldlaWdodHMubG9yYUIubGVuZ3RoOyByb3crKykge1xuICAgICAgICBmb3IgKGxldCBjb2wgPSAwOyBjb2wgPCB3ZWlnaHRzLmxvcmFCW3Jvd10ubGVuZ3RoICYmIGNvbCA8IG90aGVyV2VpZ2h0cy5sb3JhQltyb3ddLmxlbmd0aDsgY29sKyspIHtcbiAgICAgICAgICB3ZWlnaHRzLmxvcmFCW3Jvd11bY29sXSA9ICh3ZWlnaHRzLmxvcmFCW3Jvd11bY29sXSArIG90aGVyV2VpZ2h0cy5sb3JhQltyb3ddW2NvbF0pIC8gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIG1lcmdlZC5zZXRXZWlnaHRzKHdlaWdodHMpO1xuICAgIHRoaXMucmVnaXN0ZXIob3V0cHV0SWQsIG1lcmdlZCk7XG4gICAgcmV0dXJuIG1lcmdlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgc3RhdGlzdGljc1xuICAgKi9cbiAgc3RhdHMoKToge1xuICAgIHRvdGFsQWRhcHRlcnM6IG51bWJlcjtcbiAgICBhY3RpdmVBZGFwdGVyOiBzdHJpbmcgfCBudWxsO1xuICAgIHRvdGFsUGFyYW1ldGVyczogbnVtYmVyO1xuICAgIGZyb3plbkNvdW50OiBudW1iZXI7XG4gIH0ge1xuICAgIGxldCB0b3RhbFBhcmFtcyA9IDA7XG4gICAgbGV0IGZyb3plbkNvdW50ID0gMDtcblxuICAgIGZvciAoY29uc3QgYWRhcHRlciBvZiB0aGlzLmFkYXB0ZXJzLnZhbHVlcygpKSB7XG4gICAgICB0b3RhbFBhcmFtcyArPSBhZGFwdGVyLm51bVBhcmFtZXRlcnMoKTtcbiAgICAgIGlmIChhZGFwdGVyLmlzRnJvemVuKCkpIGZyb3plbkNvdW50Kys7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRvdGFsQWRhcHRlcnM6IHRoaXMuYWRhcHRlcnMuc2l6ZSxcbiAgICAgIGFjdGl2ZUFkYXB0ZXI6IHRoaXMuYWN0aXZlQWRhcHRlcklkLFxuICAgICAgdG90YWxQYXJhbWV0ZXJzOiB0b3RhbFBhcmFtcyxcbiAgICAgIGZyb3plbkNvdW50LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGFkYXB0ZXJzXG4gICAqL1xuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmFkYXB0ZXJzLmNsZWFyKCk7XG4gICAgdGhpcy5hY3RpdmVBZGFwdGVySWQgPSBudWxsO1xuICB9XG59XG4iXX0=
|
package/dist/esm/streaming.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/streaming.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EACb,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,GAAG,CAGT;gBAEU,GAAG,EAAE;QACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,MAAM,CAAC;QAChE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,aAAa,CAAC;KACnE;IAID;;;;;OAKG;IACI,MAAM,CACX,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,GACxB,cAAc,CAAC,WAAW,CAAC;IA8B9B;;OAEG;IACG,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC;IAqCzB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAQzE,OAAO,CAAC,KAAK;CAGd;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,cAAc,CAAC,WAAW,CAAC,GACrC,cAAc,CAAC,MAAM,CAAC,CAWxB"}
|
package/dist/esm/training.d.ts
CHANGED
|
@@ -190,6 +190,8 @@ export declare class TrainingPipeline {
|
|
|
190
190
|
private currentStep;
|
|
191
191
|
private bestValLoss;
|
|
192
192
|
private patienceCounter;
|
|
193
|
+
/** Set by resumeFrom(); makes the next train() continue instead of restart. */
|
|
194
|
+
private resumePending;
|
|
193
195
|
constructor(config?: TrainingConfig, adapter?: LoraAdapter);
|
|
194
196
|
/**
|
|
195
197
|
* Add training batch
|
|
@@ -204,7 +206,14 @@ export declare class TrainingPipeline {
|
|
|
204
206
|
quality: number;
|
|
205
207
|
}>): void;
|
|
206
208
|
/**
|
|
207
|
-
* Run training
|
|
209
|
+
* Run training.
|
|
210
|
+
*
|
|
211
|
+
* When {@link resumeFrom} primed the pipeline, this continues from the
|
|
212
|
+
* restored epoch (running the remaining epochs of `config.epochs`) and
|
|
213
|
+
* advances the LR scheduler to the restored step so the schedule is
|
|
214
|
+
* unbroken; metrics history is preserved. Without a resume the run is
|
|
215
|
+
* unchanged from a fresh start — same reset, same scheduler, same result
|
|
216
|
+
* shape as before this method learned to resume.
|
|
208
217
|
*/
|
|
209
218
|
train(): TrainingResult;
|
|
210
219
|
/**
|
|
@@ -232,8 +241,29 @@ export declare class TrainingPipeline {
|
|
|
232
241
|
/**
|
|
233
242
|
* Load a checkpoint — by in-memory index, or from a file previously
|
|
234
243
|
* written by `saveCheckpoint(path)`.
|
|
244
|
+
*
|
|
245
|
+
* For v2 files, the envelope's adapter geometry is checked against the
|
|
246
|
+
* current adapter first; a mismatch (different inputDim/outputDim/rank)
|
|
247
|
+
* returns false and leaves the adapter untouched, so mis-shaped weights
|
|
248
|
+
* are never silently restored. v1 files carry no geometry and load as
|
|
249
|
+
* before (back-compat).
|
|
235
250
|
*/
|
|
236
251
|
loadCheckpoint(indexOrPath: number | string): boolean;
|
|
252
|
+
/**
|
|
253
|
+
* Resume training from a checkpoint file.
|
|
254
|
+
*
|
|
255
|
+
* Loads the checkpoint (with the same v2 shape validation as
|
|
256
|
+
* {@link loadCheckpoint}) AND primes the pipeline so the next {@link train}
|
|
257
|
+
* call continues from the restored epoch/step rather than restarting. This
|
|
258
|
+
* is the explicit, least-invasive resume path: a plain `loadCheckpoint()`
|
|
259
|
+
* still restores weights only (train() from scratch), while `resumeFrom()`
|
|
260
|
+
* additionally makes the subsequent train() pick up where the run stopped.
|
|
261
|
+
*
|
|
262
|
+
* @returns true when the checkpoint loaded and resume was primed; false if
|
|
263
|
+
* the file was missing, foreign, or shape-mismatched (in which case
|
|
264
|
+
* no resume is armed).
|
|
265
|
+
*/
|
|
266
|
+
resumeFrom(path: string): boolean;
|
|
237
267
|
/**
|
|
238
268
|
* Get current metrics
|
|
239
269
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../../src/training.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../../src/training.ts"],"names":[],"mappings":"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"}
|