@bitgo-beta/sdk-coin-sol 7.6.4-beta.676 → 7.6.4-beta.678
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/src/lib/constants.d.ts +1 -0
- package/dist/cjs/src/lib/constants.d.ts.map +1 -1
- package/dist/cjs/src/lib/constants.js +3 -1
- package/dist/cjs/src/lib/index.d.ts +1 -0
- package/dist/cjs/src/lib/index.d.ts.map +1 -1
- package/dist/cjs/src/lib/index.js +5 -2
- package/dist/cjs/src/lib/scaledUiAmount.d.ts +30 -0
- package/dist/cjs/src/lib/scaledUiAmount.d.ts.map +1 -0
- package/dist/cjs/src/lib/scaledUiAmount.js +112 -0
- package/dist/cjs/test/unit/scaledUiAmount.d.ts +2 -0
- package/dist/cjs/test/unit/scaledUiAmount.d.ts.map +1 -0
- package/dist/cjs/test/unit/scaledUiAmount.js +101 -0
- package/dist/cjs/test/unit/utils.js +72 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/lib/constants.d.ts +1 -0
- package/dist/esm/lib/constants.d.ts.map +1 -1
- package/dist/esm/lib/constants.js +3 -1
- package/dist/esm/lib/index.d.ts +1 -0
- package/dist/esm/lib/index.d.ts.map +1 -1
- package/dist/esm/lib/index.js +2 -1
- package/dist/esm/lib/scaledUiAmount.d.ts +30 -0
- package/dist/esm/lib/scaledUiAmount.d.ts.map +1 -0
- package/dist/esm/lib/scaledUiAmount.js +108 -0
- package/package.json +8 -8
|
@@ -94,6 +94,7 @@ export declare enum ValidInstructionTypesEnum {
|
|
|
94
94
|
Burn = "Burn",
|
|
95
95
|
DepositSol = "DepositSol",
|
|
96
96
|
WithdrawStake = "WithdrawStake",
|
|
97
|
+
WithdrawSol = "WithdrawSol",
|
|
97
98
|
Approve = "Approve",
|
|
98
99
|
CustomInstruction = "CustomInstruction",
|
|
99
100
|
PermissionlessThawIdempotent = "PermissionlessThawIdempotent",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -104,6 +104,7 @@ var ValidInstructionTypesEnum;
|
|
|
104
104
|
ValidInstructionTypesEnum["Burn"] = "Burn";
|
|
105
105
|
ValidInstructionTypesEnum["DepositSol"] = "DepositSol";
|
|
106
106
|
ValidInstructionTypesEnum["WithdrawStake"] = "WithdrawStake";
|
|
107
|
+
ValidInstructionTypesEnum["WithdrawSol"] = "WithdrawSol";
|
|
107
108
|
ValidInstructionTypesEnum["Approve"] = "Approve";
|
|
108
109
|
ValidInstructionTypesEnum["CustomInstruction"] = "CustomInstruction";
|
|
109
110
|
ValidInstructionTypesEnum["PermissionlessThawIdempotent"] = "PermissionlessThawIdempotent";
|
|
@@ -179,6 +180,7 @@ exports.VALID_SYSTEM_INSTRUCTION_TYPES = [
|
|
|
179
180
|
ValidInstructionTypesEnum.Approve,
|
|
180
181
|
ValidInstructionTypesEnum.DepositSol,
|
|
181
182
|
ValidInstructionTypesEnum.WithdrawStake,
|
|
183
|
+
ValidInstructionTypesEnum.WithdrawSol,
|
|
182
184
|
ValidInstructionTypesEnum.CustomInstruction,
|
|
183
185
|
ValidInstructionTypesEnum.PermissionlessThawIdempotent,
|
|
184
186
|
];
|
|
@@ -264,4 +266,4 @@ exports.ataRecoverNestedInstructionIndexes = {
|
|
|
264
266
|
exports.nonceAdvanceInstruction = 'AdvanceNonceAccount';
|
|
265
267
|
exports.validInstructionData = '0a00000001000000';
|
|
266
268
|
exports.validInstructionData2 = '0a00000000000000';
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUUzQyxRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUU5Qzs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUV2Qzs7O0dBR0c7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFTO0lBQ25ELENBQUMsRUFBRSxtQkFBbUI7SUFDdEIsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO0FBRW5DLFFBQUEsdUJBQXVCLEdBQUcsNkNBQTZDLENBQUM7QUFDeEUsUUFBQSxvQkFBb0IsR0FBRyw4Q0FBOEMsQ0FBQztBQUN0RSxRQUFBLCtCQUErQixHQUFHLDhDQUE4QyxDQUFDO0FBQ2pGLFFBQUEsdUNBQXVDLEdBQUcsNkNBQTZDLENBQUM7QUFDeEYsUUFBQSx3QkFBd0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUN6RSxRQUFBLGdDQUFnQyxHQUFHLDhDQUE4QyxDQUFDO0FBRS9GOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixH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LG1DQUFtQyxFQUFFLENBQUM7Q0FDOUIsQ0FBQztBQUVFLFFBQUEsdUJBQXVCLEdBQUcscUJBQXFCLENBQUM7QUFDaEQsUUFBQSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztBQUMxQyxRQUFBLHFCQUFxQixHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRJbnN0cnVjdGlvblR5cGVzIH0gZnJvbSAnLi9pZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBNRU1PX1BST0dSQU1fUEsgPSAnTWVtb1NxNGdxQUJBWEtiOTZxbkg4VHlzTmNXeE15V0NxWGdETEdtZmNIcic7XG5cbmV4cG9ydCBjb25zdCBTRUVEX0xFTkdUSCA9IDMyO1xuXG5leHBvcnQgY29uc3QgTUFYX01FTU9fTEVOR1RIID0gMTMwO1xuZXhwb3J0IGNvbnN0IFNUQUtFX0FDQ09VTlRfUkVOVF9FWEVNUFRfQU1PVU5UID0gMjI4Mjg4MDtcblxuZXhwb3J0IGNvbnN0IFVOQVZBSUxBQkxFX1RFWFQgPSAnVU5BVkFJTEFCTEUnO1xuXG4vKipcbiAqIFN5c3ZhciBpbnN0cnVjdGlvbnMgYWNjb3VudCBhZGRyZXNzIOKAlCB1c2VkIGJ5IFRva2VuLTIwMjIgY29uZmlkZW50aWFsIHRyYW5zZmVyXG4gKiBpbnN0cnVjdGlvbnMgdG8gbG9jYXRlIGlubGluZSBwcm9vZiB2ZXJpZmljYXRpb24gaW5zdHJ1Y3Rpb25zIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgSU5TVFJVQ1RJT05TX1NZU1ZBUl9BRERSRVNTID0gJ1N5c3ZhcjFuc3RydWN0aW9uczExMTExMTExMTExMTExMTExMTExMTExMTEnO1xuXG4vKipcbiAqIENhbm9uaWNhbCBvbi1jaGFpbiBwcm9ncmFtIGlkIG9mIHRoZSB6ay1lbGdhbWFsLXByb29mIHByb2dyYW0uXG4gKlxuICogVGhpcyBpcyB0aGUgc2FtZSBhY3Jvc3MgbWFpbm5ldCwgZGV2bmV0LCBhbmQgdGVzdG5ldCDigJQgaXQgaXMgYSBuYXRpdmVcbiAqIGJ1aWx0LWluIHByb2dyYW0uIENhbGxlcnMgY2FuIG92ZXJyaWRlIHZpYSBDb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXJcbiAqIC56a1Byb29mUHJvZ3JhbUlkKCkgaWYgdGFyZ2V0aW5nIGEgY3VzdG9tIGRlcGxveW1lbnQuXG4gKlxuICogTm90ZTogVGhlIGRlcHJlY2F0ZWQgemstdG9rZW4tcHJvb2YgcHJvZ3JhbSBpZCBpc1xuICogYFprVG9rZW5Qcm9vZjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTFgLlxuICovXG5leHBvcnQgY29uc3QgWktfRUxHQU1BTF9QUk9PRl9QUk9HUkFNX0lEID0gJ1prRTFHYW1hMVByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEnO1xuXG4vKipcbiAqIFRva2VuLTIwMjIgY29uZmlkZW50aWFsIHRyYW5zZmVyIGV4dGVuc2lvbiBkaXNjcmltaW5hdG9yIChieXRlIDAgb2YgaW5zdHJ1Y3Rpb24gZGF0YSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9FWFRfRElTQ1JJTUlOQVRPUiA9IDI3O1xuXG4vKipcbiAqIFZhbGlkIENUIHN1Yi1pbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9ycyAoYnl0ZSAxIGFmdGVyIENUX0VYVF9ESVNDUklNSU5BVE9SKS5cbiAqIFVzZWQgZm9yIHRyYW5zYWN0aW9uIHR5cGUgZGV0ZWN0aW9uIChnZXRUcmFuc2FjdGlvblR5cGUgLyBkZXJpdmVUcmFuc2FjdGlvblR5cGUpLlxuICovXG5leHBvcnQgY29uc3QgQ1RfU1VCX0RJU0NSSU1JTkFUT1JTID0gbmV3IFNldDxudW1iZXI+KFtcbiAgMiwgLy8gQ29uZmlndXJlQWNjb3VudFxuICA1LCAvLyBEZXBvc2l0XG4gIDYsIC8vIFdpdGhkcmF3XG4gIDcsIC8vIFRyYW5zZmVyXG4gIDgsIC8vIEFwcGx5UGVuZGluZ0JhbGFuY2Vcbl0pO1xuXG4vKipcbiAqIE1heGltdW0gb3Zlci10aGUtd2lyZSBzaXplIG9mIGEgU29sYW5hIHRyYW5zYWN0aW9uIChpbiBieXRlcylcbiAqXG4gKiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnphLXh5ei9hZ2F2ZS9ibG9iL3YyLjEuMTMvc2RrL3BhY2tldC9zcmMvbGliLnJzI0wyNy1MMjlcbiAqXG4gKiBDYWxjdWxhdGlvbjpcbiAqIC0gSVB2NiBtaW5pbXVtIE1UVTogMTI4MCBieXRlc1xuICogLSBJUHY2IGhlYWRlcjogNDAgYnl0ZXNcbiAqIC0gRnJhZ21lbnQvVURQIGhlYWRlcjogOCBieXRlc1xuICogLSBSZXN1bHQ6IDEyODAgLSA0MCAtIDggPSAxMjMyIGJ5dGVzXG4gKlxuICogVGhpcyBsaW1pdCBpcyBkZXNpZ25lZCB0byBhdm9pZCBwYWNrZXQgZnJhZ21lbnRhdGlvbiBvbiB0eXBpY2FsIGludGVybmV0IGluZnJhc3RydWN0dXJlLlxuICogVHJhbnNhY3Rpb25zIGV4Y2VlZGluZyB0aGlzIGxpbWl0IHdpbGwgZmFpbCB0byBzZXJpYWxpemUgd2l0aCBhIFJhbmdlRXJyb3IgZHVyaW5nXG4gKiB0aGUgZW5jb2Rpbmcgb2YgdGhlIHRyYW5zYWN0aW9uIG1lc3NhZ2UuXG4gKlxuICogUmVmZXJlbmNlOiBodHRwczovL3NvbGFuYS5jb20vZG9jcy9jb3JlL3RyYW5zYWN0aW9ucyN0cmFuc2FjdGlvbi1zaXplXG4gKi9cbmV4cG9ydCBjb25zdCBTT0xBTkFfVFJBTlNBQ1RJT05fTUFYX1NJWkUgPSAxMjMyO1xuXG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX0FERFJFU1MgPSAnSml0bzRBUHlmNjQySlBaUHgzaEdjNldXSjh6UEt0UmJSczRQODE1QXdiYic7XG5leHBvcnQgY29uc3QgSklUT1NPTF9NSU5UX0FERFJFU1MgPSAnSjF0b3NvMXVDazNSTG1qb3JoVHRyVndZOUhKN1g4Vjl5WWFjNlk3a0dDUG4nO1xuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9SRVNFUlZFX0FDQ09VTlQgPSAnQmdLVVhkUzI5WWNIQ0ZyUG01TThvTEhpVHpaYU1EanNlYmdnam9hUTZLRkwnO1xuZXhwb3J0IGNvbnN0IEpJVE9fU1RBS0VfUE9PTF9SRVNFUlZFX0FDQ09VTlRfVEVTVE5FVCA9ICdycldCUXFScUJYWVp3M0NtUENDY2pGeFEyRHM0SkZKZDdvUlFKOTk3ZGh6JztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlQgPSAnZmVlZUZMTHNhbTZ4WkpGYzZVUUZySHFrdlZ0NGpmbVZ2aTJCUkxrVVo0aSc7XG5leHBvcnQgY29uc3QgSklUT19NQU5BR0VSX0ZFRV9BQ0NPVU5UX1RFU1RORVQgPSAnREg3dG1qb1E1empxY2dmWUpVMjJKcW1YaFA1RVkxdGtiWXBnVldVUzJvTm8nO1xuXG4vKipcbiAqIE9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHNSRkMtMzcgVG9rZW4gQUNMIHByb2dyYW0uIFRoaXMgc2luZ2xlIHByb2dyYW0gZ2F0ZXMgZXZlcnlcbiAqIGFsbG93bGlzdC9ibG9ja2xpc3QgKERlZmF1bHRBY2NvdW50U3RhdGUpIFRva2VuLTIwMjIgbWludCwgc28gdGhlIHZhbHVlIGlzIGdlbmVyaWMgYW5kIG5ldmVyXG4gKiB0aWVkIHRvIGEgc3BlY2lmaWMgaXNzdWVyLlxuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1BST0dSQU1fSUQgPSAnVEFDTGtVNkNpQ2RrUU4yTWpveURrVmcyeUFIOXpreGlIRHNpenRRNTJUUCc7XG5cbi8qKlxuICogSW5zdHJ1Y3Rpb24gZGlzY3JpbWluYXRvciAoYSBzaW5nbGUgdTggYnl0ZSkgZm9yIHRoZSBUb2tlbiBBQ0wgYFRoYXdQZXJtaXNzaW9ubGVzc0lkZW1wb3RlbnRgXG4gKiBpbnN0cnVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFRIQVdfUEVSTUlTU0lPTkxFU1NfSURFTVBPVEVOVF9ESVNDUklNSU5BVE9SID0gOTtcblxuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSBtaW50J3MgTWludENvbmZpZyBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9NSU5UX0NPTkZJR19TRUVEID0gJ01JTlRfQ09ORklHJztcbi8qKiBQREEgc2VlZCBwcmVmaXggKHVuZGVyIHRoZSBUb2tlbiBBQ0wgcHJvZ3JhbSkgZm9yIGEgdG9rZW4gYWNjb3VudCdzIHRoYXcgZmxhZyBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9GTEFHX0FDQ09VTlRfU0VFRCA9ICdGTEFHX0FDQ09VTlQnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIGdhdGluZyBwcm9ncmFtKSBmb3IgYSBtaW50J3MgdGhhdyBFeHRyYUFjY291bnRNZXRhTGlzdCBhY2NvdW50LiAqL1xuZXhwb3J0IGNvbnN0IFRPS0VOX0FDTF9USEFXX0VYVFJBX01FVEFTX1NFRUQgPSAndGhhd19leHRyYV9hY2NvdW50X21ldGFzJztcblxuLy8gU2RrIGluc3RydWN0aW9ucywgbWFpbmx5IHRvIGNoZWNrIGRlY29kZWQgdHlwZXMuXG5leHBvcnQgZW51bSBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtIHtcbiAgQWR2YW5jZU5vbmNlQWNjb3VudCA9ICdBZHZhbmNlTm9uY2VBY2NvdW50JyxcbiAgQ3JlYXRlID0gJ0NyZWF0ZScsXG4gIEluaXRpYWxpemVOb25jZUFjY291bnQgPSAnSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCcsXG4gIFN0YWtpbmdJbml0aWFsaXplID0gJ0luaXRpYWxpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBUb2tlblRyYW5zZmVyID0gJ1Rva2VuVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIEFsbG9jYXRlID0gJ0FsbG9jYXRlJyxcbiAgQXNzaWduID0gJ0Fzc2lnbicsXG4gIFNwbGl0ID0gJ1NwbGl0JyxcbiAgQXV0aG9yaXplID0gJ0F1dGhvcml6ZScsXG4gIFNldENvbXB1dGVVbml0TGltaXQgPSAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsXG4gIFNldFByaW9yaXR5RmVlID0gJ1NldFByaW9yaXR5RmVlJyxcbiAgTWludFRvID0gJ01pbnRUbycsXG4gIEJ1cm4gPSAnQnVybicsXG4gIERlcG9zaXRTb2wgPSAnRGVwb3NpdFNvbCcsXG4gIFdpdGhkcmF3U3Rha2UgPSAnV2l0aGRyYXdTdGFrZScsXG4gIEFwcHJvdmUgPSAnQXBwcm92ZScsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG4vLyBJbnRlcm5hbCBpbnN0cnVjdGlvbnMgdHlwZXNcbmV4cG9ydCBlbnVtIEluc3RydWN0aW9uQnVpbGRlclR5cGVzIHtcbiAgQ3JlYXRlTm9uY2VBY2NvdW50ID0gJ0NyZWF0ZU5vbmNlQWNjb3VudCcsXG4gIFN0YWtpbmdBY3RpdmF0ZSA9ICdBY3RpdmF0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIE5vbmNlQWR2YW5jZSA9ICdOb25jZUFkdmFuY2UnLFxuICBDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0NyZWF0ZUFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQgPSAnUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQnLFxuICBUb2tlblRyYW5zZmVyID0gJ1Rva2VuVHJhbnNmZXInLFxuICBTdGFraW5nQXV0aG9yaXplID0gJ0F1dGhvcml6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFNldENvbXB1dGVVbml0TGltaXQgPSAnU2V0Q29tcHV0ZVVuaXRMaW1pdCcsXG4gIFNldFByaW9yaXR5RmVlID0gJ1NldFByaW9yaXR5RmVlJyxcbiAgTWludFRvID0gJ01pbnRUbycsXG4gIEJ1cm4gPSAnQnVybicsXG4gIEN1c3RvbUluc3RydWN0aW9uID0gJ0N1c3RvbUluc3RydWN0aW9uJyxcbiAgVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24gPSAnVmVyc2lvbmVkQ3VzdG9tSW5zdHJ1Y3Rpb24nLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBXaXRoZHJhd1N0YWtlID0gJ1dpdGhkcmF3U3Rha2UnLFxuICBQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50ID0gJ1Blcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQnLFxuICAvLyBDb25maWRlbnRpYWwgVHJhbnNmZXIgaW5zdHJ1Y3Rpb24gdHlwZXMgKFRva2VuLTIwMjIgQ1QgZXh0ZW5zaW9uICsgemstZWxnYW1hbC1wcm9vZilcbiAgQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50ID0gJ0NvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCcsXG4gIEFwcGx5UGVuZGluZ0JhbGFuY2UgPSAnQXBwbHlQZW5kaW5nQmFsYW5jZScsXG4gIENvbmZpZGVudGlhbERlcG9zaXQgPSAnQ29uZmlkZW50aWFsRGVwb3NpdCcsXG4gIENvbmZpZGVudGlhbFdpdGhkcmF3ID0gJ0NvbmZpZGVudGlhbFdpdGhkcmF3JyxcbiAgQ29uZmlkZW50aWFsVHJhbnNmZXIgPSAnQ29uZmlkZW50aWFsVHJhbnNmZXInLFxuICBWZXJpZnlQdWJrZXlWYWxpZGl0eSA9ICdWZXJpZnlQdWJrZXlWYWxpZGl0eScsXG4gIFZlcmlmeUVxdWFsaXR5UHJvb2YgPSAnVmVyaWZ5RXF1YWxpdHlQcm9vZicsXG4gIFZlcmlmeVZhbGlkaXR5UHJvb2YgPSAnVmVyaWZ5VmFsaWRpdHlQcm9vZicsXG4gIFZlcmlmeVJhbmdlUHJvb2YgPSAnVmVyaWZ5UmFuZ2VQcm9vZicsXG59XG5cbmV4cG9ydCBjb25zdCBWQUxJRF9TWVNURU1fSU5TVFJVQ1RJT05fVFlQRVM6IFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc1tdID0gW1xuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFkdmFuY2VOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3JlYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdJbml0aWFsaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlN0YWtpbmdEZWxlZ2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVhY3RpdmF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nV2l0aGRyYXcsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVHJhbnNmZXIsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NZW1vLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5SZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Ub2tlblRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFsbG9jYXRlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkFzc2lnbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TcGxpdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BdXRob3JpemUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0Q29tcHV0ZVVuaXRMaW1pdCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TZXRQcmlvcml0eUZlZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5NaW50VG8sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQnVybixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BcHByb3ZlLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkRlcG9zaXRTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTdGFrZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DdXN0b21JbnN0cnVjdGlvbixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5QZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50LFxuXTtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgV2FsbGV0IEluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgd2FsbGV0SW5pdEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplTm9uY2VBY2NvdW50OiAxLFxuICBNZW1vOiAyLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIERlbGVnYXRlOiAyLFxuICBNZW1vOiAzLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgTWFyaW5hZGUgU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZTogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVwb3NpdFNvbDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0FjdGl2YXRlV2l0aEFUQUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBEZXBvc2l0U29sOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgSml0byBTdGFraW5nIEFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGppdG9TdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIEFwcHJvdmU6IDAsXG4gIENyZWF0ZTogMSxcbiAgV2l0aGRyYXdTdGFrZTogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQXV0aG9yaXplIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdBdXRob3JpemVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBdXRob3JpemU6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIERlbGVnYXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWxlZ2F0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlbGVnYXRlOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWFjdGl2YXRlIGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgRGVhY3RpdmF0ZTogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBtYXJpbmFkZVN0YWtpbmdEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBQYXJ0aWFsIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGVkICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1BhcnRpYWxEZWFjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgVHJhbnNmZXI6IDAsXG4gIEFsbG9jYXRlOiAxLFxuICBBc3NpZ246IDIsXG4gIFNwbGl0OiAzLFxuICBEZWFjdGl2YXRlOiA0LFxuICBNZW1vOiA1LFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBXaXRoZHJhdyBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nV2l0aGRyYXdJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBXaXRoZHJhdzogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50OiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgQVRBIGluaXQgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhQ2xvc2VJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIHJlY292ZXIgbmVzdGVkIEFUQSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFSZWNvdmVyTmVzdGVkSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBSZWNvdmVyTmVzdGVkQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBub25jZUFkdmFuY2VJbnN0cnVjdGlvbiA9ICdBZHZhbmNlTm9uY2VBY2NvdW50JztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YSA9ICcwYTAwMDAwMDAxMDAwMDAwJztcbmV4cG9ydCBjb25zdCB2YWxpZEluc3RydWN0aW9uRGF0YTIgPSAnMGEwMDAwMDAwMDAwMDAwMCc7XG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxlQUFlLEdBQUcsNkNBQTZDLENBQUM7QUFFaEUsUUFBQSxXQUFXLEdBQUcsRUFBRSxDQUFDO0FBRWpCLFFBQUEsZUFBZSxHQUFHLEdBQUcsQ0FBQztBQUN0QixRQUFBLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQztBQUUzQyxRQUFBLGdCQUFnQixHQUFHLGFBQWEsQ0FBQztBQUU5Qzs7O0dBR0c7QUFDVSxRQUFBLDJCQUEyQixHQUFHLDZDQUE2QyxDQUFDO0FBRXpGOzs7Ozs7Ozs7R0FTRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsNkNBQTZDLENBQUM7QUFFekY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUV2Qzs7O0dBR0c7QUFDVSxRQUFBLHFCQUFxQixHQUFHLElBQUksR0FBRyxDQUFTO0lBQ25ELENBQUMsRUFBRSxtQkFBbUI7SUFDdEIsQ0FBQyxFQUFFLFVBQVU7SUFDYixDQUFDLEVBQUUsV0FBVztJQUNkLENBQUMsRUFBRSxXQUFXO0lBQ2QsQ0FBQyxFQUFFLHNCQUFzQjtDQUMxQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNVLFFBQUEsMkJBQTJCLEdBQUcsSUFBSSxDQUFDO0FBRW5DLFFBQUEsdUJBQXVCLEdBQUcsNkNBQTZDLENBQUM7QUFDeEUsUUFBQSxvQkFBb0IsR0FBRyw4Q0FBOEMsQ0FBQztBQUN0RSxRQUFBLCtCQUErQixHQUFHLDhDQUE4QyxDQUFDO0FBQ2pGLFFBQUEsdUNBQXVDLEdBQUcsNkNBQTZDLENBQUM7QUFDeEYsUUFBQSx3QkFBd0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUN6RSxRQUFBLGdDQUFnQyxHQUFHLDhDQUE4QyxDQUFDO0FBRS9GOzs7O0dBSUc7QUFDVSxRQUFBLG9CQUFvQixH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O0FBRVgsa0ZBQWtGO0FBQ3JFLFFBQUEsa0NBQWtDLEdBQUc7SUFDaEQsbUNBQW1DLEVBQUUsQ0FBQztDQUM5QixDQUFDO0FBRUUsUUFBQSx1QkFBdUIsR0FBRyxxQkFBcUIsQ0FBQztBQUNoRCxRQUFBLG9CQUFvQixHQUFHLGtCQUFrQixDQUFDO0FBQzFDLFFBQUEscUJBQXFCLEdBQUcsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYWxpZEluc3RydWN0aW9uVHlwZXMgfSBmcm9tICcuL2lmYWNlJztcblxuZXhwb3J0IGNvbnN0IE1FTU9fUFJPR1JBTV9QSyA9ICdNZW1vU3E0Z3FBQkFYS2I5NnFuSDhUeXNOY1d4TXlXQ3FYZ0RMR21mY0hyJztcblxuZXhwb3J0IGNvbnN0IFNFRURfTEVOR1RIID0gMzI7XG5cbmV4cG9ydCBjb25zdCBNQVhfTUVNT19MRU5HVEggPSAxMzA7XG5leHBvcnQgY29uc3QgU1RBS0VfQUNDT1VOVF9SRU5UX0VYRU1QVF9BTU9VTlQgPSAyMjgyODgwO1xuXG5leHBvcnQgY29uc3QgVU5BVkFJTEFCTEVfVEVYVCA9ICdVTkFWQUlMQUJMRSc7XG5cbi8qKlxuICogU3lzdmFyIGluc3RydWN0aW9ucyBhY2NvdW50IGFkZHJlc3Mg4oCUIHVzZWQgYnkgVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXJcbiAqIGluc3RydWN0aW9ucyB0byBsb2NhdGUgaW5saW5lIHByb29mIHZlcmlmaWNhdGlvbiBpbnN0cnVjdGlvbnMgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBJTlNUUlVDVElPTlNfU1lTVkFSX0FERFJFU1MgPSAnU3lzdmFyMW5zdHJ1Y3Rpb25zMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogQ2Fub25pY2FsIG9uLWNoYWluIHByb2dyYW0gaWQgb2YgdGhlIHprLWVsZ2FtYWwtcHJvb2YgcHJvZ3JhbS5cbiAqXG4gKiBUaGlzIGlzIHRoZSBzYW1lIGFjcm9zcyBtYWlubmV0LCBkZXZuZXQsIGFuZCB0ZXN0bmV0IOKAlCBpdCBpcyBhIG5hdGl2ZVxuICogYnVpbHQtaW4gcHJvZ3JhbS4gQ2FsbGVycyBjYW4gb3ZlcnJpZGUgdmlhIENvbmZpZGVudGlhbFRyYW5zZmVyQnVpbGRlclxuICogLnprUHJvb2ZQcm9ncmFtSWQoKSBpZiB0YXJnZXRpbmcgYSBjdXN0b20gZGVwbG95bWVudC5cbiAqXG4gKiBOb3RlOiBUaGUgZGVwcmVjYXRlZCB6ay10b2tlbi1wcm9vZiBwcm9ncmFtIGlkIGlzXG4gKiBgWmtUb2tlblByb29mMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMWAuXG4gKi9cbmV4cG9ydCBjb25zdCBaS19FTEdBTUFMX1BST09GX1BST0dSQU1fSUQgPSAnWmtFMUdhbWExUHJvb2YxMTExMTExMTExMTExMTExMTExMTExMTExMTExMSc7XG5cbi8qKlxuICogVG9rZW4tMjAyMiBjb25maWRlbnRpYWwgdHJhbnNmZXIgZXh0ZW5zaW9uIGRpc2NyaW1pbmF0b3IgKGJ5dGUgMCBvZiBpbnN0cnVjdGlvbiBkYXRhKS5cbiAqL1xuZXhwb3J0IGNvbnN0IENUX0VYVF9ESVNDUklNSU5BVE9SID0gMjc7XG5cbi8qKlxuICogVmFsaWQgQ1Qgc3ViLWluc3RydWN0aW9uIGRpc2NyaW1pbmF0b3JzIChieXRlIDEgYWZ0ZXIgQ1RfRVhUX0RJU0NSSU1JTkFUT1IpLlxuICogVXNlZCBmb3IgdHJhbnNhY3Rpb24gdHlwZSBkZXRlY3Rpb24gKGdldFRyYW5zYWN0aW9uVHlwZSAvIGRlcml2ZVRyYW5zYWN0aW9uVHlwZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBDVF9TVUJfRElTQ1JJTUlOQVRPUlMgPSBuZXcgU2V0PG51bWJlcj4oW1xuICAyLCAvLyBDb25maWd1cmVBY2NvdW50XG4gIDUsIC8vIERlcG9zaXRcbiAgNiwgLy8gV2l0aGRyYXdcbiAgNywgLy8gVHJhbnNmZXJcbiAgOCwgLy8gQXBwbHlQZW5kaW5nQmFsYW5jZVxuXSk7XG5cbi8qKlxuICogTWF4aW11bSBvdmVyLXRoZS13aXJlIHNpemUgb2YgYSBTb2xhbmEgdHJhbnNhY3Rpb24gKGluIGJ5dGVzKVxuICpcbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2FuemEteHl6L2FnYXZlL2Jsb2IvdjIuMS4xMy9zZGsvcGFja2V0L3NyYy9saWIucnMjTDI3LUwyOVxuICpcbiAqIENhbGN1bGF0aW9uOlxuICogLSBJUHY2IG1pbmltdW0gTVRVOiAxMjgwIGJ5dGVzXG4gKiAtIElQdjYgaGVhZGVyOiA0MCBieXRlc1xuICogLSBGcmFnbWVudC9VRFAgaGVhZGVyOiA4IGJ5dGVzXG4gKiAtIFJlc3VsdDogMTI4MCAtIDQwIC0gOCA9IDEyMzIgYnl0ZXNcbiAqXG4gKiBUaGlzIGxpbWl0IGlzIGRlc2lnbmVkIHRvIGF2b2lkIHBhY2tldCBmcmFnbWVudGF0aW9uIG9uIHR5cGljYWwgaW50ZXJuZXQgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBUcmFuc2FjdGlvbnMgZXhjZWVkaW5nIHRoaXMgbGltaXQgd2lsbCBmYWlsIHRvIHNlcmlhbGl6ZSB3aXRoIGEgUmFuZ2VFcnJvciBkdXJpbmdcbiAqIHRoZSBlbmNvZGluZyBvZiB0aGUgdHJhbnNhY3Rpb24gbWVzc2FnZS5cbiAqXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vc29sYW5hLmNvbS9kb2NzL2NvcmUvdHJhbnNhY3Rpb25zI3RyYW5zYWN0aW9uLXNpemVcbiAqL1xuZXhwb3J0IGNvbnN0IFNPTEFOQV9UUkFOU0FDVElPTl9NQVhfU0laRSA9IDEyMzI7XG5cbmV4cG9ydCBjb25zdCBKSVRPX1NUQUtFX1BPT0xfQUREUkVTUyA9ICdKaXRvNEFQeWY2NDJKUFpQeDNoR2M2V1dKOHpQS3RSYlJzNFA4MTVBd2JiJztcbmV4cG9ydCBjb25zdCBKSVRPU09MX01JTlRfQUREUkVTUyA9ICdKMXRvc28xdUNrM1JMbWpvcmhUdHJWd1k5SEo3WDhWOXlZYWM2WTdrR0NQbic7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVCA9ICdCZ0tVWGRTMjlZY0hDRnJQbTVNOG9MSGlUelphTURqc2ViZ2dqb2FRNktGTCc7XG5leHBvcnQgY29uc3QgSklUT19TVEFLRV9QT09MX1JFU0VSVkVfQUNDT1VOVF9URVNUTkVUID0gJ3JyV0JRcVJxQlhZWnczQ21QQ0NjakZ4UTJEczRKRkpkN29SUUo5OTdkaHonO1xuZXhwb3J0IGNvbnN0IEpJVE9fTUFOQUdFUl9GRUVfQUNDT1VOVCA9ICdmZWVlRkxMc2FtNnhaSkZjNlVRRnJIcWt2VnQ0amZtVnZpMkJSTGtVWjRpJztcbmV4cG9ydCBjb25zdCBKSVRPX01BTkFHRVJfRkVFX0FDQ09VTlRfVEVTVE5FVCA9ICdESDd0bWpvUTV6anFjZ2ZZSlUyMkpxbVhoUDVFWTF0a2JZcGdWV1VTMm9Obyc7XG5cbi8qKlxuICogT24tY2hhaW4gcHJvZ3JhbSBpZCBvZiB0aGUgc1JGQy0zNyBUb2tlbiBBQ0wgcHJvZ3JhbS4gVGhpcyBzaW5nbGUgcHJvZ3JhbSBnYXRlcyBldmVyeVxuICogYWxsb3dsaXN0L2Jsb2NrbGlzdCAoRGVmYXVsdEFjY291bnRTdGF0ZSkgVG9rZW4tMjAyMiBtaW50LCBzbyB0aGUgdmFsdWUgaXMgZ2VuZXJpYyBhbmQgbmV2ZXJcbiAqIHRpZWQgdG8gYSBzcGVjaWZpYyBpc3N1ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBUT0tFTl9BQ0xfUFJPR1JBTV9JRCA9ICdUQUNMa1U2Q2lDZGtRTjJNam95RGtWZzJ5QUg5emt4aUhEc2l6dFE1MlRQJztcblxuLyoqXG4gKiBJbnN0cnVjdGlvbiBkaXNjcmltaW5hdG9yIChhIHNpbmdsZSB1OCBieXRlKSBmb3IgdGhlIFRva2VuIEFDTCBgVGhhd1Blcm1pc3Npb25sZXNzSWRlbXBvdGVudGBcbiAqIGluc3RydWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgVEhBV19QRVJNSVNTSU9OTEVTU19JREVNUE9URU5UX0RJU0NSSU1JTkFUT1IgPSA5O1xuXG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgVG9rZW4gQUNMIHByb2dyYW0pIGZvciBhIG1pbnQncyBNaW50Q29uZmlnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX01JTlRfQ09ORklHX1NFRUQgPSAnTUlOVF9DT05GSUcnO1xuLyoqIFBEQSBzZWVkIHByZWZpeCAodW5kZXIgdGhlIFRva2VuIEFDTCBwcm9ncmFtKSBmb3IgYSB0b2tlbiBhY2NvdW50J3MgdGhhdyBmbGFnIGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX0ZMQUdfQUNDT1VOVF9TRUVEID0gJ0ZMQUdfQUNDT1VOVCc7XG4vKiogUERBIHNlZWQgcHJlZml4ICh1bmRlciB0aGUgZ2F0aW5nIHByb2dyYW0pIGZvciBhIG1pbnQncyB0aGF3IEV4dHJhQWNjb3VudE1ldGFMaXN0IGFjY291bnQuICovXG5leHBvcnQgY29uc3QgVE9LRU5fQUNMX1RIQVdfRVhUUkFfTUVUQVNfU0VFRCA9ICd0aGF3X2V4dHJhX2FjY291bnRfbWV0YXMnO1xuXG4vLyBTZGsgaW5zdHJ1Y3Rpb25zLCBtYWlubHkgdG8gY2hlY2sgZGVjb2RlZCB0eXBlcy5cbmV4cG9ydCBlbnVtIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0ge1xuICBBZHZhbmNlTm9uY2VBY2NvdW50ID0gJ0FkdmFuY2VOb25jZUFjY291bnQnLFxuICBDcmVhdGUgPSAnQ3JlYXRlJyxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudCA9ICdJbml0aWFsaXplTm9uY2VBY2NvdW50JyxcbiAgU3Rha2luZ0luaXRpYWxpemUgPSAnSW5pdGlhbGl6ZScsXG4gIFN0YWtpbmdEZWxlZ2F0ZSA9ICdEZWxlZ2F0ZScsXG4gIFN0YWtpbmdEZWFjdGl2YXRlID0gJ0RlYWN0aXZhdGUnLFxuICBTdGFraW5nV2l0aGRyYXcgPSAnV2l0aGRyYXcnLFxuICBUcmFuc2ZlciA9ICdUcmFuc2ZlcicsXG4gIFRva2VuVHJhbnNmZXIgPSAnVG9rZW5UcmFuc2ZlcicsXG4gIE1lbW8gPSAnTWVtbycsXG4gIEluaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0luaXRpYWxpemVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQWxsb2NhdGUgPSAnQWxsb2NhdGUnLFxuICBBc3NpZ24gPSAnQXNzaWduJyxcbiAgU3BsaXQgPSAnU3BsaXQnLFxuICBBdXRob3JpemUgPSAnQXV0aG9yaXplJyxcbiAgU2V0Q29tcHV0ZVVuaXRMaW1pdCA9ICdTZXRDb21wdXRlVW5pdExpbWl0JyxcbiAgU2V0UHJpb3JpdHlGZWUgPSAnU2V0UHJpb3JpdHlGZWUnLFxuICBNaW50VG8gPSAnTWludFRvJyxcbiAgQnVybiA9ICdCdXJuJyxcbiAgRGVwb3NpdFNvbCA9ICdEZXBvc2l0U29sJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgV2l0aGRyYXdTb2wgPSAnV2l0aGRyYXdTb2wnLFxuICBBcHByb3ZlID0gJ0FwcHJvdmUnLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFBlcm1pc3Npb25sZXNzVGhhd0lkZW1wb3RlbnQgPSAnUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCcsXG4gIC8vIENvbmZpZGVudGlhbCBUcmFuc2ZlciBpbnN0cnVjdGlvbiB0eXBlcyAoVG9rZW4tMjAyMiBDVCBleHRlbnNpb24gKyB6ay1lbGdhbWFsLXByb29mKVxuICBDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQgPSAnQ29uZmlndXJlQ29uZmlkZW50aWFsVHJhbnNmZXJBY2NvdW50JyxcbiAgQXBwbHlQZW5kaW5nQmFsYW5jZSA9ICdBcHBseVBlbmRpbmdCYWxhbmNlJyxcbiAgQ29uZmlkZW50aWFsRGVwb3NpdCA9ICdDb25maWRlbnRpYWxEZXBvc2l0JyxcbiAgQ29uZmlkZW50aWFsV2l0aGRyYXcgPSAnQ29uZmlkZW50aWFsV2l0aGRyYXcnLFxuICBDb25maWRlbnRpYWxUcmFuc2ZlciA9ICdDb25maWRlbnRpYWxUcmFuc2ZlcicsXG4gIFZlcmlmeVB1YmtleVZhbGlkaXR5ID0gJ1ZlcmlmeVB1YmtleVZhbGlkaXR5JyxcbiAgVmVyaWZ5RXF1YWxpdHlQcm9vZiA9ICdWZXJpZnlFcXVhbGl0eVByb29mJyxcbiAgVmVyaWZ5VmFsaWRpdHlQcm9vZiA9ICdWZXJpZnlWYWxpZGl0eVByb29mJyxcbiAgVmVyaWZ5UmFuZ2VQcm9vZiA9ICdWZXJpZnlSYW5nZVByb29mJyxcbn1cblxuLy8gSW50ZXJuYWwgaW5zdHJ1Y3Rpb25zIHR5cGVzXG5leHBvcnQgZW51bSBJbnN0cnVjdGlvbkJ1aWxkZXJUeXBlcyB7XG4gIENyZWF0ZU5vbmNlQWNjb3VudCA9ICdDcmVhdGVOb25jZUFjY291bnQnLFxuICBTdGFraW5nQWN0aXZhdGUgPSAnQWN0aXZhdGUnLFxuICBTdGFraW5nRGVhY3RpdmF0ZSA9ICdEZWFjdGl2YXRlJyxcbiAgU3Rha2luZ1dpdGhkcmF3ID0gJ1dpdGhkcmF3JyxcbiAgVHJhbnNmZXIgPSAnVHJhbnNmZXInLFxuICBNZW1vID0gJ01lbW8nLFxuICBOb25jZUFkdmFuY2UgPSAnTm9uY2VBZHZhbmNlJyxcbiAgQ3JlYXRlQXNzb2NpYXRlZFRva2VuQWNjb3VudCA9ICdDcmVhdGVBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgQ2xvc2VBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ0Nsb3NlQXNzb2NpYXRlZFRva2VuQWNjb3VudCcsXG4gIFJlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50ID0gJ1JlY292ZXJOZXN0ZWRBc3NvY2lhdGVkVG9rZW5BY2NvdW50JyxcbiAgVG9rZW5UcmFuc2ZlciA9ICdUb2tlblRyYW5zZmVyJyxcbiAgU3Rha2luZ0F1dGhvcml6ZSA9ICdBdXRob3JpemUnLFxuICBTdGFraW5nRGVsZWdhdGUgPSAnRGVsZWdhdGUnLFxuICBTZXRDb21wdXRlVW5pdExpbWl0ID0gJ1NldENvbXB1dGVVbml0TGltaXQnLFxuICBTZXRQcmlvcml0eUZlZSA9ICdTZXRQcmlvcml0eUZlZScsXG4gIE1pbnRUbyA9ICdNaW50VG8nLFxuICBCdXJuID0gJ0J1cm4nLFxuICBDdXN0b21JbnN0cnVjdGlvbiA9ICdDdXN0b21JbnN0cnVjdGlvbicsXG4gIFZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uID0gJ1ZlcnNpb25lZEN1c3RvbUluc3RydWN0aW9uJyxcbiAgQXBwcm92ZSA9ICdBcHByb3ZlJyxcbiAgV2l0aGRyYXdTdGFrZSA9ICdXaXRoZHJhd1N0YWtlJyxcbiAgUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCA9ICdQZXJtaXNzaW9ubGVzc1RoYXdJZGVtcG90ZW50JyxcbiAgLy8gQ29uZmlkZW50aWFsIFRyYW5zZmVyIGluc3RydWN0aW9uIHR5cGVzIChUb2tlbi0yMDIyIENUIGV4dGVuc2lvbiArIHprLWVsZ2FtYWwtcHJvb2YpXG4gIENvbmZpZ3VyZUNvbmZpZGVudGlhbFRyYW5zZmVyQWNjb3VudCA9ICdDb25maWd1cmVDb25maWRlbnRpYWxUcmFuc2ZlckFjY291bnQnLFxuICBBcHBseVBlbmRpbmdCYWxhbmNlID0gJ0FwcGx5UGVuZGluZ0JhbGFuY2UnLFxuICBDb25maWRlbnRpYWxEZXBvc2l0ID0gJ0NvbmZpZGVudGlhbERlcG9zaXQnLFxuICBDb25maWRlbnRpYWxXaXRoZHJhdyA9ICdDb25maWRlbnRpYWxXaXRoZHJhdycsXG4gIENvbmZpZGVudGlhbFRyYW5zZmVyID0gJ0NvbmZpZGVudGlhbFRyYW5zZmVyJyxcbiAgVmVyaWZ5UHVia2V5VmFsaWRpdHkgPSAnVmVyaWZ5UHVia2V5VmFsaWRpdHknLFxuICBWZXJpZnlFcXVhbGl0eVByb29mID0gJ1ZlcmlmeUVxdWFsaXR5UHJvb2YnLFxuICBWZXJpZnlWYWxpZGl0eVByb29mID0gJ1ZlcmlmeVZhbGlkaXR5UHJvb2YnLFxuICBWZXJpZnlSYW5nZVByb29mID0gJ1ZlcmlmeVJhbmdlUHJvb2YnLFxufVxuXG5leHBvcnQgY29uc3QgVkFMSURfU1lTVEVNX0lOU1RSVUNUSU9OX1RZUEVTOiBWYWxpZEluc3RydWN0aW9uVHlwZXNbXSA9IFtcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BZHZhbmNlTm9uY2VBY2NvdW50LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkNyZWF0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nSW5pdGlhbGl6ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5TdGFraW5nRGVsZWdhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ0RlYWN0aXZhdGUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3Rha2luZ1dpdGhkcmF3LFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlRyYW5zZmVyLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkluaXRpYWxpemVOb25jZUFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWVtbyxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Jbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudCxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5DbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uVG9rZW5UcmFuc2ZlcixcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5BbGxvY2F0ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5Bc3NpZ24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU3BsaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXV0aG9yaXplLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLlNldENvbXB1dGVVbml0TGltaXQsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uU2V0UHJpb3JpdHlGZWUsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uTWludFRvLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLkJ1cm4sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQXBwcm92ZSxcbiAgVmFsaWRJbnN0cnVjdGlvblR5cGVzRW51bS5EZXBvc2l0U29sLFxuICBWYWxpZEluc3RydWN0aW9uVHlwZXNFbnVtLldpdGhkcmF3U3Rha2UsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uV2l0aGRyYXdTb2wsXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uQ3VzdG9tSW5zdHJ1Y3Rpb24sXG4gIFZhbGlkSW5zdHJ1Y3Rpb25UeXBlc0VudW0uUGVybWlzc2lvbmxlc3NUaGF3SWRlbXBvdGVudCxcbl07XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFdhbGxldCBJbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IHdhbGxldEluaXRJbnN0cnVjdGlvbkluZGV4ZXMgPSB7XG4gIENyZWF0ZTogMCxcbiAgSW5pdGlhbGl6ZU5vbmNlQWNjb3VudDogMSxcbiAgTWVtbzogMixcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ0FjdGl2YXRlSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQ3JlYXRlOiAwLFxuICBJbml0aWFsaXplOiAxLFxuICBEZWxlZ2F0ZTogMixcbiAgTWVtbzogMyxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIE1hcmluYWRlIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nQWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBDcmVhdGU6IDAsXG4gIEluaXRpYWxpemU6IDEsXG4gIE1lbW86IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlcG9zaXRTb2w6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBKaXRvIFN0YWtpbmcgQWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgaml0b1N0YWtpbmdBY3RpdmF0ZVdpdGhBVEFJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgRGVwb3NpdFNvbDogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEppdG8gU3Rha2luZyBBY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBqaXRvU3Rha2luZ0RlYWN0aXZhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBBcHByb3ZlOiAwLFxuICBDcmVhdGU6IDEsXG4gIFdpdGhkcmF3U3Rha2U6IDIsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBTdGFraW5nIEF1dGhvcml6ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nQXV0aG9yaXplSW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgQXV0aG9yaXplOiAwLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgU3Rha2luZyBEZWxlZ2F0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVsZWdhdGVJbnN0cnVjdGlvbnNJbmRleGVzID0ge1xuICBEZWxlZ2F0ZTogMCxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgRGVhY3RpdmF0ZSBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBzdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIERlYWN0aXZhdGU6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBNYXJpbmFkZSBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgbWFyaW5hZGVTdGFraW5nRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBNZW1vOiAxLFxufSBhcyBjb25zdDtcblxuLyoqIENvbnN0IHRvIGNoZWNrIHRoZSBvcmRlciBvZiB0aGUgUGFydGlhbCBTdGFraW5nIERlYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlZCAqL1xuZXhwb3J0IGNvbnN0IHN0YWtpbmdQYXJ0aWFsRGVhY3RpdmF0ZUluc3RydWN0aW9uc0luZGV4ZXMgPSB7XG4gIFRyYW5zZmVyOiAwLFxuICBBbGxvY2F0ZTogMSxcbiAgQXNzaWduOiAyLFxuICBTcGxpdDogMyxcbiAgRGVhY3RpdmF0ZTogNCxcbiAgTWVtbzogNSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIFN0YWtpbmcgV2l0aGRyYXcgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3Qgc3Rha2luZ1dpdGhkcmF3SW5zdHJ1Y3Rpb25zSW5kZXhlcyA9IHtcbiAgV2l0aGRyYXc6IDAsXG4gIE1lbW86IDEsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSBBVEEgaW5pdCBpbnN0cnVjdGlvbnMgd2hlbiBkZWNvZGUgKi9cbmV4cG9ydCBjb25zdCBhdGFJbml0SW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBJbml0aWFsaXplQXNzb2NpYXRlZFRva2VuQWNjb3VudDogMCxcbiAgTWVtbzogMSxcbn0gYXMgY29uc3Q7XG5cbi8qKiBDb25zdCB0byBjaGVjayB0aGUgb3JkZXIgb2YgdGhlIEFUQSBpbml0IGluc3RydWN0aW9ucyB3aGVuIGRlY29kZSAqL1xuZXhwb3J0IGNvbnN0IGF0YUNsb3NlSW5zdHJ1Y3Rpb25JbmRleGVzID0ge1xuICBDbG9zZUFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG4vKiogQ29uc3QgdG8gY2hlY2sgdGhlIG9yZGVyIG9mIHRoZSByZWNvdmVyIG5lc3RlZCBBVEEgaW5zdHJ1Y3Rpb25zIHdoZW4gZGVjb2RlICovXG5leHBvcnQgY29uc3QgYXRhUmVjb3Zlck5lc3RlZEluc3RydWN0aW9uSW5kZXhlcyA9IHtcbiAgUmVjb3Zlck5lc3RlZEFzc29jaWF0ZWRUb2tlbkFjY291bnQ6IDAsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3Qgbm9uY2VBZHZhbmNlSW5zdHJ1Y3Rpb24gPSAnQWR2YW5jZU5vbmNlQWNjb3VudCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEgPSAnMGEwMDAwMDAwMTAwMDAwMCc7XG5leHBvcnQgY29uc3QgdmFsaWRJbnN0cnVjdGlvbkRhdGEyID0gJzBhMDAwMDAwMDAwMDAwMDAnO1xuIl19
|
|
@@ -23,4 +23,5 @@ export { MessageBuilderFactory } from './messages';
|
|
|
23
23
|
export { explainSolTransaction, ExplainTransactionWasmOptions } from './explainTransactionWasm';
|
|
24
24
|
export { MintExtensionReadResult, extensionTypeNames, mapModeledExtensions, parseMintExtensions, readMintExtensions, } from './tokenExtensions';
|
|
25
25
|
export { ResolvePermissionlessThawResult, SolAccountFetcher, buildSolAccountConnection, resolvePermissionlessThaw, resolveTransferHookAccounts, } from './token2022Resolve';
|
|
26
|
+
export { rawToUiAmountString, uiAmountToRaw } from './scaledUiAmount';
|
|
26
27
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,+BAA+B,EAC/B,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.resolveTransferHookAccounts = exports.resolvePermissionlessThaw = exports.buildSolAccountConnection = exports.readMintExtensions = exports.parseMintExtensions = exports.mapModeledExtensions = exports.extensionTypeNames = exports.explainSolTransaction = exports.MessageBuilderFactory = exports.Utils = exports.Interface = exports.WalletInitializationBuilder = exports.TransferBuilderV2 = exports.TransferBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.TokenTransferBuilder = exports.StakingWithdrawBuilder = exports.StakingRawMsgAuthorizeBuilder = exports.StakingDelegateBuilder = exports.StakingDeactivateBuilder = exports.StakingAuthorizeBuilder = exports.StakingActivateBuilder = exports.KeyPair = exports.CustomInstructionBuilder = exports.ConfidentialTransferBuilder = exports.CloseAtaBuilder = exports.AtaInitializationBuilder = void 0;
|
|
36
|
+
exports.uiAmountToRaw = exports.rawToUiAmountString = exports.resolveTransferHookAccounts = exports.resolvePermissionlessThaw = exports.buildSolAccountConnection = exports.readMintExtensions = exports.parseMintExtensions = exports.mapModeledExtensions = exports.extensionTypeNames = exports.explainSolTransaction = exports.MessageBuilderFactory = exports.Utils = exports.Interface = exports.WalletInitializationBuilder = exports.TransferBuilderV2 = exports.TransferBuilder = exports.TransactionBuilderFactory = exports.TransactionBuilder = exports.Transaction = exports.TokenTransferBuilder = exports.StakingWithdrawBuilder = exports.StakingRawMsgAuthorizeBuilder = exports.StakingDelegateBuilder = exports.StakingDeactivateBuilder = exports.StakingAuthorizeBuilder = exports.StakingActivateBuilder = exports.KeyPair = exports.CustomInstructionBuilder = exports.ConfidentialTransferBuilder = exports.CloseAtaBuilder = exports.AtaInitializationBuilder = void 0;
|
|
37
37
|
const Interface = __importStar(require("./iface"));
|
|
38
38
|
exports.Interface = Interface;
|
|
39
39
|
const Utils = __importStar(require("./utils"));
|
|
@@ -87,4 +87,7 @@ var token2022Resolve_1 = require("./token2022Resolve");
|
|
|
87
87
|
Object.defineProperty(exports, "buildSolAccountConnection", { enumerable: true, get: function () { return token2022Resolve_1.buildSolAccountConnection; } });
|
|
88
88
|
Object.defineProperty(exports, "resolvePermissionlessThaw", { enumerable: true, get: function () { return token2022Resolve_1.resolvePermissionlessThaw; } });
|
|
89
89
|
Object.defineProperty(exports, "resolveTransferHookAccounts", { enumerable: true, get: function () { return token2022Resolve_1.resolveTransferHookAccounts; } });
|
|
90
|
-
|
|
90
|
+
var scaledUiAmount_1 = require("./scaledUiAmount");
|
|
91
|
+
Object.defineProperty(exports, "rawToUiAmountString", { enumerable: true, get: function () { return scaledUiAmount_1.rawToUiAmountString; } });
|
|
92
|
+
Object.defineProperty(exports, "uiAmountToRaw", { enumerable: true, get: function () { return scaledUiAmount_1.uiAmountToRaw; } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLG1EQUFxQztBQXFCNUIsOEJBQVM7QUFwQmxCLCtDQUFpQztBQW9CYixzQkFBSztBQWxCekIsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLHFEQUFvRDtBQUEzQyxrSEFBQSxlQUFlLE9BQUE7QUFDeEIsNkVBQTRFO0FBQW5FLDBJQUFBLDJCQUEyQixPQUFBO0FBQ3BDLHVFQUFzRTtBQUE3RCxvSUFBQSx3QkFBd0IsT0FBQTtBQUNqQyxxQ0FBb0M7QUFBM0Isa0dBQUEsT0FBTyxPQUFBO0FBQ2hCLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQixxRUFBb0U7QUFBM0Qsa0lBQUEsdUJBQXVCLE9BQUE7QUFDaEMsdUVBQXNFO0FBQTdELG9JQUFBLHdCQUF3QixPQUFBO0FBQ2pDLG1FQUFrRTtBQUF6RCxnSUFBQSxzQkFBc0IsT0FBQTtBQUMvQixpRkFBZ0Y7QUFBdkUsOElBQUEsNkJBQTZCLE9BQUE7QUFDdEMsbUVBQWtFO0FBQXpELGdJQUFBLHNCQUFzQixPQUFBO0FBQy9CLCtEQUE4RDtBQUFyRCw0SEFBQSxvQkFBb0IsT0FBQTtBQUM3Qiw2Q0FBNEM7QUFBbkMsMEdBQUEsV0FBVyxPQUFBO0FBQ3BCLDJEQUEwRDtBQUFqRCx3SEFBQSxrQkFBa0IsT0FBQTtBQUMzQix5RUFBd0U7QUFBL0Qsc0lBQUEseUJBQXlCLE9BQUE7QUFDbEMscURBQW9EO0FBQTNDLGtIQUFBLGVBQWUsT0FBQTtBQUN4Qix5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIsNkVBQTRFO0FBQW5FLDBJQUFBLDJCQUEyQixPQUFBO0FBRXBDLHVDQUFtRDtBQUExQyxpSEFBQSxxQkFBcUIsT0FBQTtBQUM5QixtRUFBZ0c7QUFBdkYsK0hBQUEscUJBQXFCLE9BQUE7QUFDOUIscURBTTJCO0FBSnpCLHFIQUFBLGtCQUFrQixPQUFBO0FBQ2xCLHVIQUFBLG9CQUFvQixPQUFBO0FBQ3BCLHNIQUFBLG1CQUFtQixPQUFBO0FBQ25CLHFIQUFBLGtCQUFrQixPQUFBO0FBRXBCLHVEQU00QjtBQUgxQiw2SEFBQSx5QkFBeUIsT0FBQTtBQUN6Qiw2SEFBQSx5QkFBeUIsT0FBQTtBQUN6QiwrSEFBQSwyQkFBMkIsT0FBQTtBQUU3QixtREFBc0U7QUFBN0QscUhBQUEsbUJBQW1CLE9BQUE7QUFBRSwrR0FBQSxhQUFhLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBJbnRlcmZhY2UgZnJvbSAnLi9pZmFjZSc7XG5pbXBvcnQgKiBhcyBVdGlscyBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IHsgQXRhSW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi9hdGFJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgQ2xvc2VBdGFCdWlsZGVyIH0gZnJvbSAnLi9jbG9zZUF0YUJ1aWxkZXInO1xuZXhwb3J0IHsgQ29uZmlkZW50aWFsVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi9jb25maWRlbnRpYWxUcmFuc2ZlckJ1aWxkZXInO1xuZXhwb3J0IHsgQ3VzdG9tSW5zdHJ1Y3Rpb25CdWlsZGVyIH0gZnJvbSAnLi9jdXN0b21JbnN0cnVjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgS2V5UGFpciB9IGZyb20gJy4va2V5UGFpcic7XG5leHBvcnQgeyBTdGFraW5nQWN0aXZhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQWN0aXZhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdBdXRob3JpemVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nQXV0aG9yaXplQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nRGVhY3RpdmF0ZUJ1aWxkZXIgfSBmcm9tICcuL3N0YWtpbmdEZWFjdGl2YXRlQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nRGVsZWdhdGVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nRGVsZWdhdGVCdWlsZGVyJztcbmV4cG9ydCB7IFN0YWtpbmdSYXdNc2dBdXRob3JpemVCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nUmF3TXNnQXV0aG9yaXplQnVpbGRlcic7XG5leHBvcnQgeyBTdGFraW5nV2l0aGRyYXdCdWlsZGVyIH0gZnJvbSAnLi9zdGFraW5nV2l0aGRyYXdCdWlsZGVyJztcbmV4cG9ydCB7IFRva2VuVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi90b2tlblRyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb24nO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyIH0gZnJvbSAnLi90cmFuc2FjdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgVHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4vdHJhbnNhY3Rpb25CdWlsZGVyRmFjdG9yeSc7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXIgfSBmcm9tICcuL3RyYW5zZmVyQnVpbGRlcic7XG5leHBvcnQgeyBUcmFuc2ZlckJ1aWxkZXJWMiB9IGZyb20gJy4vdHJhbnNmZXJCdWlsZGVyVjInO1xuZXhwb3J0IHsgV2FsbGV0SW5pdGlhbGl6YXRpb25CdWlsZGVyIH0gZnJvbSAnLi93YWxsZXRJbml0aWFsaXphdGlvbkJ1aWxkZXInO1xuZXhwb3J0IHsgSW50ZXJmYWNlLCBVdGlscyB9O1xuZXhwb3J0IHsgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5IH0gZnJvbSAnLi9tZXNzYWdlcyc7XG5leHBvcnQgeyBleHBsYWluU29sVHJhbnNhY3Rpb24sIEV4cGxhaW5UcmFuc2FjdGlvbldhc21PcHRpb25zIH0gZnJvbSAnLi9leHBsYWluVHJhbnNhY3Rpb25XYXNtJztcbmV4cG9ydCB7XG4gIE1pbnRFeHRlbnNpb25SZWFkUmVzdWx0LFxuICBleHRlbnNpb25UeXBlTmFtZXMsXG4gIG1hcE1vZGVsZWRFeHRlbnNpb25zLFxuICBwYXJzZU1pbnRFeHRlbnNpb25zLFxuICByZWFkTWludEV4dGVuc2lvbnMsXG59IGZyb20gJy4vdG9rZW5FeHRlbnNpb25zJztcbmV4cG9ydCB7XG4gIFJlc29sdmVQZXJtaXNzaW9ubGVzc1RoYXdSZXN1bHQsXG4gIFNvbEFjY291bnRGZXRjaGVyLFxuICBidWlsZFNvbEFjY291bnRDb25uZWN0aW9uLFxuICByZXNvbHZlUGVybWlzc2lvbmxlc3NUaGF3LFxuICByZXNvbHZlVHJhbnNmZXJIb29rQWNjb3VudHMsXG59IGZyb20gJy4vdG9rZW4yMDIyUmVzb2x2ZSc7XG5leHBvcnQgeyByYXdUb1VpQW1vdW50U3RyaW5nLCB1aUFtb3VudFRvUmF3IH0gZnJvbSAnLi9zY2FsZWRVaUFtb3VudCc7XG4iXX0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2026 BitGo, Inc. All Rights Reserved.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Convert a raw base-unit amount to its scaled UI denomination.
|
|
6
|
+
*
|
|
7
|
+
* Exact by construction: the result is `raw * multiplier / 10^decimals`, whose
|
|
8
|
+
* exact decimal expansion never exceeds `multiplier scale + decimals` fraction
|
|
9
|
+
* digits, so no rounding ever occurs.
|
|
10
|
+
*
|
|
11
|
+
* @param raw Amount in raw base units (integer, >= 0)
|
|
12
|
+
* @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
|
|
13
|
+
* @param decimals The mint's decimals (>= 0)
|
|
14
|
+
* @returns The exact UI amount as a decimal string
|
|
15
|
+
* @throws if any argument is malformed, the multiplier is not positive, or raw/decimals are negative
|
|
16
|
+
*/
|
|
17
|
+
export declare function rawToUiAmountString(raw: bigint, multiplier: string, decimals: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Convert a scaled UI denomination to raw base units. Inverse of
|
|
20
|
+
* {@link rawToUiAmountString}: flooring an exact ui string reproduces the
|
|
21
|
+
* original raw amount.
|
|
22
|
+
*
|
|
23
|
+
* @param uiAmount The UI amount as a decimal string (>= 0)
|
|
24
|
+
* @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
|
|
25
|
+
* @param decimals The mint's decimals (>= 0)
|
|
26
|
+
* @returns The raw amount in base units, floored to the integer unit
|
|
27
|
+
* @throws if any argument is malformed, the ui amount is negative, or the multiplier is not positive
|
|
28
|
+
*/
|
|
29
|
+
export declare function uiAmountToRaw(uiAmount: string, multiplier: string, decimals: number): bigint;
|
|
30
|
+
//# sourceMappingURL=scaledUiAmount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaledUiAmount.d.ts","sourceRoot":"","sources":["../../../../src/lib/scaledUiAmount.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2DH;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiC7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB5F"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright 2026 BitGo, Inc. All Rights Reserved.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.rawToUiAmountString = rawToUiAmountString;
|
|
7
|
+
exports.uiAmountToRaw = uiAmountToRaw;
|
|
8
|
+
const DECIMAL_LITERAL_PATTERN = /^[+-]?(?:\d+(?:\.\d*)?|\.\d+)$/;
|
|
9
|
+
/**
|
|
10
|
+
* Parse an exact decimal string into scaled-integer parts. Rejects scientific
|
|
11
|
+
* notation, empty strings, NaN/Infinity, and non-numeric input.
|
|
12
|
+
*
|
|
13
|
+
* @param value The decimal literal, e.g. "0.001"; "1e-9" must be written as "0.000000001"
|
|
14
|
+
*/
|
|
15
|
+
function parseDecimal(value, what) {
|
|
16
|
+
if (typeof value !== 'string' || !DECIMAL_LITERAL_PATTERN.test(value)) {
|
|
17
|
+
throw new Error(`Invalid ${what} '${value}': expected a finite decimal string`);
|
|
18
|
+
}
|
|
19
|
+
const negative = value.startsWith('-');
|
|
20
|
+
const unsigned = negative || value.startsWith('+') ? value.slice(1) : value;
|
|
21
|
+
const [intPart = '0', fracPart = ''] = unsigned.split('.');
|
|
22
|
+
const digits = BigInt(intPart + fracPart || '0');
|
|
23
|
+
return { negative, digits, scale: fracPart.length };
|
|
24
|
+
}
|
|
25
|
+
/** Render ±digits/10^scale as a normalized decimal string (no trailing zeros, no "-0"). */
|
|
26
|
+
function toDecimalString({ negative, digits, scale }) {
|
|
27
|
+
if (digits === 0n) {
|
|
28
|
+
return '0';
|
|
29
|
+
}
|
|
30
|
+
let s = digits.toString().padStart(scale + 1, '0');
|
|
31
|
+
if (scale > 0) {
|
|
32
|
+
s = `${s.slice(0, -scale)}.${s.slice(-scale)}`;
|
|
33
|
+
s = s.replace(/0+$/, '').replace(/\.$/, '');
|
|
34
|
+
}
|
|
35
|
+
return negative ? `-${s}` : s;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Convert a raw base-unit amount to its scaled UI denomination.
|
|
39
|
+
*
|
|
40
|
+
* Exact by construction: the result is `raw * multiplier / 10^decimals`, whose
|
|
41
|
+
* exact decimal expansion never exceeds `multiplier scale + decimals` fraction
|
|
42
|
+
* digits, so no rounding ever occurs.
|
|
43
|
+
*
|
|
44
|
+
* @param raw Amount in raw base units (integer, >= 0)
|
|
45
|
+
* @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
|
|
46
|
+
* @param decimals The mint's decimals (>= 0)
|
|
47
|
+
* @returns The exact UI amount as a decimal string
|
|
48
|
+
* @throws if any argument is malformed, the multiplier is not positive, or raw/decimals are negative
|
|
49
|
+
*/
|
|
50
|
+
function rawToUiAmountString(raw, multiplier, decimals) {
|
|
51
|
+
if (typeof raw !== 'bigint') {
|
|
52
|
+
throw new Error(`Invalid raw amount '${String(raw)}': expected a BigInt of base units`);
|
|
53
|
+
}
|
|
54
|
+
if (raw < 0n) {
|
|
55
|
+
throw new Error(`Invalid raw amount '${raw}': must be non-negative`);
|
|
56
|
+
}
|
|
57
|
+
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
58
|
+
throw new Error(`Invalid decimals '${decimals}': must be a non-negative integer`);
|
|
59
|
+
}
|
|
60
|
+
const mult = parseDecimal(multiplier, 'multiplier');
|
|
61
|
+
if (mult.negative || mult.digits === 0n) {
|
|
62
|
+
throw new Error(`Invalid multiplier '${multiplier}': must be positive`);
|
|
63
|
+
}
|
|
64
|
+
// ui = raw * (multDigits / 10^multScale) / 10^decimals
|
|
65
|
+
// = (raw * multDigits) / 10^(multScale + decimals) — exact, terminating expansion
|
|
66
|
+
const numerator = raw * mult.digits;
|
|
67
|
+
const fractionDigits = mult.scale + decimals;
|
|
68
|
+
const denominator = 10n ** BigInt(fractionDigits);
|
|
69
|
+
const quotient = numerator / denominator;
|
|
70
|
+
const remainder = numerator % denominator;
|
|
71
|
+
if (remainder === 0n) {
|
|
72
|
+
return toDecimalString({ negative: false, digits: quotient, scale: 0 });
|
|
73
|
+
}
|
|
74
|
+
// The denominator IS 10^fractionDigits, so the exact fraction digits are `remainder`
|
|
75
|
+
// zero-padded to fractionDigits — no long division needed.
|
|
76
|
+
return toDecimalString({
|
|
77
|
+
negative: false,
|
|
78
|
+
digits: quotient * 10n ** BigInt(fractionDigits) + remainder,
|
|
79
|
+
scale: fractionDigits,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Convert a scaled UI denomination to raw base units. Inverse of
|
|
84
|
+
* {@link rawToUiAmountString}: flooring an exact ui string reproduces the
|
|
85
|
+
* original raw amount.
|
|
86
|
+
*
|
|
87
|
+
* @param uiAmount The UI amount as a decimal string (>= 0)
|
|
88
|
+
* @param multiplier The mint's UiAmountMultiplier as a decimal string (> 0)
|
|
89
|
+
* @param decimals The mint's decimals (>= 0)
|
|
90
|
+
* @returns The raw amount in base units, floored to the integer unit
|
|
91
|
+
* @throws if any argument is malformed, the ui amount is negative, or the multiplier is not positive
|
|
92
|
+
*/
|
|
93
|
+
function uiAmountToRaw(uiAmount, multiplier, decimals) {
|
|
94
|
+
if (!Number.isInteger(decimals) || decimals < 0) {
|
|
95
|
+
throw new Error(`Invalid decimals '${decimals}': must be a non-negative integer`);
|
|
96
|
+
}
|
|
97
|
+
const ui = parseDecimal(uiAmount, 'uiAmount');
|
|
98
|
+
if (ui.negative) {
|
|
99
|
+
throw new Error(`Invalid uiAmount '${uiAmount}': must be non-negative`);
|
|
100
|
+
}
|
|
101
|
+
const mult = parseDecimal(multiplier, 'multiplier');
|
|
102
|
+
if (mult.negative || mult.digits === 0n) {
|
|
103
|
+
throw new Error(`Invalid multiplier '${multiplier}': must be positive`);
|
|
104
|
+
}
|
|
105
|
+
// ui = uiDigits / 10^uiScale; multiplier = multDigits / 10^multScale
|
|
106
|
+
// raw = (uiDigits / 10^uiScale) * 10^decimals * (10^multScale / multDigits)
|
|
107
|
+
// = (uiDigits * 10^(decimals + multScale)) / (multDigits * 10^uiScale)
|
|
108
|
+
const numerator = ui.digits * 10n ** BigInt(decimals + mult.scale);
|
|
109
|
+
const denominator = mult.digits * 10n ** BigInt(ui.scale);
|
|
110
|
+
return numerator / denominator; // floor — raw base units are integers
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGVkVWlBbW91bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NjYWxlZFVpQW1vdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7QUF3RUgsa0RBaUNDO0FBYUQsc0NBbUJDO0FBOUdELE1BQU0sdUJBQXVCLEdBQUcsZ0NBQWdDLENBQUM7QUFFakU7Ozs7O0dBS0c7QUFDSCxTQUFTLFlBQVksQ0FBQyxLQUFhLEVBQUUsSUFBWTtJQUMvQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3RFLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssS0FBSyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUUsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLElBQUksR0FBRyxDQUFDLENBQUM7SUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN0RCxDQUFDO0FBRUQsMkZBQTJGO0FBQzNGLFNBQVMsZUFBZSxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxL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QU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ2hELE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLFFBQVEsbUNBQW1DLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBQ0QsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5QyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixRQUFRLHlCQUF5QixDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDcEQsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsVUFBVSxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxzRUFBc0U7SUFDdEUsNEVBQTRFO0lBQzVFLDJFQUEyRTtJQUMzRSxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELE9BQU8sU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDLHNDQUFzQztBQUN4RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgMjAyNiBCaXRHbywgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5cbi8qKlxuICogU29sYW5hIFRva2VuLTIwMjIgU2NhbGVkVWlBbW91bnQgY29udmVyc2lvbiB1dGlsaXRpZXMgKENTSExELTE2ODgpLlxuICpcbiAqIEEgc2NhbGVkLVVJIG1pbnQgY2FycmllcyBhIGBVaUFtb3VudE11bHRpcGxpZXJgLiBPbi1jaGFpbiAoYW5kIHRoZXJlZm9yZSBpblxuICogZXZlcnkgc2VuZC9idWlsZCBwYXRoIG9mIHRoaXMgU0RLKSBhbW91bnRzIGFyZSByYXcgYmFzZSB1bml0czsgdGhlIFVJXG4gKiBkZW5vbWluYXRpb24gaXMgYHJhdyAqIG11bHRpcGxpZXIgLyAxMF5kZWNpbWFsc2AsIG1hdGNoaW5nIHRoZSBTUExcbiAqIHRva2VuLTIwMjIgU2NhbGVkVWlBbW91bnQgZXh0ZW5zaW9uIHNlbWFudGljcy4gVGhlc2UgdXRpbGl0aWVzIGV4aXN0IGZvclxuICogZGlzcGxheSwgcmVjb25jaWxpYXRpb24sIGFuZCBiYWxhbmNlIGNvbnZlcnNpb25zIG9ubHkg4oCUIHRoZXkgbmV2ZXIgZmVlZFxuICogdHJhbnNhY3Rpb24gYnVpbGRpbmcsIHdoaWNoIHN0YXlzIHJhdy1kZW5vbWluYXRlZC5cbiAqXG4gKiBBbGwgYXJpdGhtZXRpYyBpcyBleGFjdCBzY2FsZWQtaW50ZWdlciAoQmlnSW50KSBtYXRoIOKAlCBmbG9hdHMgYXJlIG5ldmVyIHVzZWQsXG4gKiBzbyBjb252ZXJzaW9ucyBhcmUgZGV0ZXJtaW5pc3RpYyBhY3Jvc3MgcnVudGltZXMgYW5kIGxvc2Ugbm8gcHJlY2lzaW9uOlxuICogYHJhd1RvVWlBbW91bnRTdHJpbmdgIGlzIGFsd2F5cyBleGFjdCAodGhlIGRpdmlzb3IgaXMgYSBwb3dlciBvZiB0ZW4sIHNvIHRoZVxuICogZXhhY3QgZXhwYW5zaW9uIGZpdHMgd2l0aGluIGBtdWx0aXBsaWVyU2NhbGUgKyBkZWNpbWFsc2AgZnJhY3Rpb24gZGlnaXRzKS5cbiAqIGB1aUFtb3VudFRvUmF3YCBmbG9vcnMgdG8gYW4gaW50ZWdlciBudW1iZXIgb2YgYmFzZSB1bml0cyBhbmQgaXMgdGhlIGV4YWN0XG4gKiBpbnZlcnNlIG9mIGByYXdUb1VpQW1vdW50U3RyaW5nYCB3aGVuZXZlciB0aGUgdWkgc3RyaW5nIGlzIGV4YWN0LlxuICovXG5cbi8qKiBTaWduaWZpY2FuZCBhbmQgc2NhbGUgb2YgYSBkZWNpbWFsIGxpdGVyYWw6IHZhbHVlID0gwrFkaWdpdHMgLyAxMF5zY2FsZS4gKi9cbmludGVyZmFjZSBQYXJzZWREZWNpbWFsIHtcbiAgbmVnYXRpdmU6IGJvb2xlYW47XG4gIGRpZ2l0czogYmlnaW50O1xuICBzY2FsZTogbnVtYmVyO1xufVxuXG5jb25zdCBERUNJTUFMX0xJVEVSQUxfUEFUVEVSTiA9IC9eWystXT8oPzpcXGQrKD86XFwuXFxkKik/fFxcLlxcZCspJC87XG5cbi8qKlxuICogUGFyc2UgYW4gZXhhY3QgZGVjaW1hbCBzdHJpbmcgaW50byBzY2FsZWQtaW50ZWdlciBwYXJ0cy4gUmVqZWN0cyBzY2llbnRpZmljXG4gKiBub3RhdGlvbiwgZW1wdHkgc3RyaW5ncywgTmFOL0luZmluaXR5LCBhbmQgbm9uLW51bWVyaWMgaW5wdXQuXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBkZWNpbWFsIGxpdGVyYWwsIGUuZy4gXCIwLjAwMVwiOyBcIjFlLTlcIiBtdXN0IGJlIHdyaXR0ZW4gYXMgXCIwLjAwMDAwMDAwMVwiXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRGVjaW1hbCh2YWx1ZTogc3RyaW5nLCB3aGF0OiBzdHJpbmcpOiBQYXJzZWREZWNpbWFsIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycgfHwgIURFQ0lNQUxfTElURVJBTF9QQVRURVJOLnRlc3QodmFsdWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7d2hhdH0gJyR7dmFsdWV9JzogZXhwZWN0ZWQgYSBmaW5pdGUgZGVjaW1hbCBzdHJpbmdgKTtcbiAgfVxuICBjb25zdCBuZWdhdGl2ZSA9IHZhbHVlLnN0YXJ0c1dpdGgoJy0nKTtcbiAgY29uc3QgdW5zaWduZWQgPSBuZWdhdGl2ZSB8fCB2YWx1ZS5zdGFydHNXaXRoKCcrJykgPyB2YWx1ZS5zbGljZSgxKSA6IHZhbHVlO1xuICBjb25zdCBbaW50UGFydCA9ICcwJywgZnJhY1BhcnQgPSAnJ10gPSB1bnNpZ25lZC5zcGxpdCgnLicpO1xuICBjb25zdCBkaWdpdHMgPSBCaWdJbnQoaW50UGFydCArIGZyYWNQYXJ0IHx8ICcwJyk7XG4gIHJldHVybiB7IG5lZ2F0aXZlLCBkaWdpdHMsIHNjYWxlOiBmcmFjUGFydC5sZW5ndGggfTtcbn1cblxuLyoqIFJlbmRlciDCsWRpZ2l0cy8xMF5zY2FsZSBhcyBhIG5vcm1hbGl6ZWQgZGVjaW1hbCBzdHJpbmcgKG5vIHRyYWlsaW5nIHplcm9zLCBubyBcIi0wXCIpLiAqL1xuZnVuY3Rpb24gdG9EZWNpbWFsU3RyaW5nKHsgbmVnYXRpdmUsIGRpZ2l0cywgc2NhbGUgfTogUGFyc2VkRGVjaW1hbCk6IHN0cmluZyB7XG4gIGlmIChkaWdpdHMgPT09IDBuKSB7XG4gICAgcmV0dXJuICcwJztcbiAgfVxuICBsZXQgcyA9IGRpZ2l0cy50b1N0cmluZygpLnBhZFN0YXJ0KHNjYWxlICsgMSwgJzAnKTtcbiAgaWYgKHNjYWxlID4gMCkge1xuICAgIHMgPSBgJHtzLnNsaWNlKDAsIC1zY2FsZSl9LiR7cy5zbGljZSgtc2NhbGUpfWA7XG4gICAgcyA9IHMucmVwbGFjZSgvMCskLywgJycpLnJlcGxhY2UoL1xcLiQvLCAnJyk7XG4gIH1cbiAgcmV0dXJuIG5lZ2F0aXZlID8gYC0ke3N9YCA6IHM7XG59XG5cbi8qKlxuICogQ29udmVydCBhIHJhdyBiYXNlLXVuaXQgYW1vdW50IHRvIGl0cyBzY2FsZWQgVUkgZGVub21pbmF0aW9uLlxuICpcbiAqIEV4YWN0IGJ5IGNvbnN0cnVjdGlvbjogdGhlIHJlc3VsdCBpcyBgcmF3ICogbXVsdGlwbGllciAvIDEwXmRlY2ltYWxzYCwgd2hvc2VcbiAqIGV4YWN0IGRlY2ltYWwgZXhwYW5zaW9uIG5ldmVyIGV4Y2VlZHMgYG11bHRpcGxpZXIgc2NhbGUgKyBkZWNpbWFsc2AgZnJhY3Rpb25cbiAqIGRpZ2l0cywgc28gbm8gcm91bmRpbmcgZXZlciBvY2N1cnMuXG4gKlxuICogQHBhcmFtIHJhdyBBbW91bnQgaW4gcmF3IGJhc2UgdW5pdHMgKGludGVnZXIsID49IDApXG4gKiBAcGFyYW0gbXVsdGlwbGllciBUaGUgbWludCdzIFVpQW1vdW50TXVsdGlwbGllciBhcyBhIGRlY2ltYWwgc3RyaW5nICg+IDApXG4gKiBAcGFyYW0gZGVjaW1hbHMgVGhlIG1pbnQncyBkZWNpbWFscyAoPj0gMClcbiAqIEByZXR1cm5zIFRoZSBleGFjdCBVSSBhbW91bnQgYXMgYSBkZWNpbWFsIHN0cmluZ1xuICogQHRocm93cyBpZiBhbnkgYXJndW1lbnQgaXMgbWFsZm9ybWVkLCB0aGUgbXVsdGlwbGllciBpcyBub3QgcG9zaXRpdmUsIG9yIHJhdy9kZWNpbWFscyBhcmUgbmVnYXRpdmVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJhd1RvVWlBbW91bnRTdHJpbmcocmF3OiBiaWdpbnQsIG11bHRpcGxpZXI6IHN0cmluZywgZGVjaW1hbHM6IG51bWJlcik6IHN0cmluZyB7XG4gIGlmICh0eXBlb2YgcmF3ICE9PSAnYmlnaW50Jykge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByYXcgYW1vdW50ICcke1N0cmluZyhyYXcpfSc6IGV4cGVjdGVkIGEgQmlnSW50IG9mIGJhc2UgdW5pdHNgKTtcbiAgfVxuICBpZiAocmF3IDwgMG4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmF3IGFtb3VudCAnJHtyYXd9JzogbXVzdCBiZSBub24tbmVnYXRpdmVgKTtcbiAgfVxuICBpZiAoIU51bWJlci5pc0ludGVnZXIoZGVjaW1hbHMpIHx8IGRlY2ltYWxzIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZWNpbWFscyAnJHtkZWNpbWFsc30nOiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJgKTtcbiAgfVxuICBjb25zdCBtdWx0ID0gcGFyc2VEZWNpbWFsKG11bHRpcGxpZXIsICdtdWx0aXBsaWVyJyk7XG4gIGlmIChtdWx0Lm5lZ2F0aXZlIHx8IG11bHQuZGlnaXRzID09PSAwbikge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtdWx0aXBsaWVyICcke211bHRpcGxpZXJ9JzogbXVzdCBiZSBwb3NpdGl2ZWApO1xuICB9XG5cbiAgLy8gdWkgPSByYXcgKiAobXVsdERpZ2l0cyAvIDEwXm11bHRTY2FsZSkgLyAxMF5kZWNpbWFsc1xuICAvLyAgICA9IChyYXcgKiBtdWx0RGlnaXRzKSAvIDEwXihtdWx0U2NhbGUgKyBkZWNpbWFscykgICDigJQgZXhhY3QsIHRlcm1pbmF0aW5nIGV4cGFuc2lvblxuICBjb25zdCBudW1lcmF0b3IgPSByYXcgKiBtdWx0LmRpZ2l0cztcbiAgY29uc3QgZnJhY3Rpb25EaWdpdHMgPSBtdWx0LnNjYWxlICsgZGVjaW1hbHM7XG4gIGNvbnN0IGRlbm9taW5hdG9yID0gMTBuICoqIEJpZ0ludChmcmFjdGlvbkRpZ2l0cyk7XG5cbiAgY29uc3QgcXVvdGllbnQgPSBudW1lcmF0b3IgLyBkZW5vbWluYXRvcjtcbiAgY29uc3QgcmVtYWluZGVyID0gbnVtZXJhdG9yICUgZGVub21pbmF0b3I7XG4gIGlmIChyZW1haW5kZXIgPT09IDBuKSB7XG4gICAgcmV0dXJuIHRvRGVjaW1hbFN0cmluZyh7IG5lZ2F0aXZlOiBmYWxzZSwgZGlnaXRzOiBxdW90aWVudCwgc2NhbGU6IDAgfSk7XG4gIH1cbiAgLy8gVGhlIGRlbm9taW5hdG9yIElTIDEwXmZyYWN0aW9uRGlnaXRzLCBzbyB0aGUgZXhhY3QgZnJhY3Rpb24gZGlnaXRzIGFyZSBgcmVtYWluZGVyYFxuICAvLyB6ZXJvLXBhZGRlZCB0byBmcmFjdGlvbkRpZ2l0cyDigJQgbm8gbG9uZyBkaXZpc2lvbiBuZWVkZWQuXG4gIHJldHVybiB0b0RlY2ltYWxTdHJpbmcoe1xuICAgIG5lZ2F0aXZlOiBmYWxzZSxcbiAgICBkaWdpdHM6IHF1b3RpZW50ICogMTBuICoqIEJpZ0ludChmcmFjdGlvbkRpZ2l0cykgKyByZW1haW5kZXIsXG4gICAgc2NhbGU6IGZyYWN0aW9uRGlnaXRzLFxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgc2NhbGVkIFVJIGRlbm9taW5hdGlvbiB0byByYXcgYmFzZSB1bml0cy4gSW52ZXJzZSBvZlxuICoge0BsaW5rIHJhd1RvVWlBbW91bnRTdHJpbmd9OiBmbG9vcmluZyBhbiBleGFjdCB1aSBzdHJpbmcgcmVwcm9kdWNlcyB0aGVcbiAqIG9yaWdpbmFsIHJhdyBhbW91bnQuXG4gKlxuICogQHBhcmFtIHVpQW1vdW50IFRoZSBVSSBhbW91bnQgYXMgYSBkZWNpbWFsIHN0cmluZyAoPj0gMClcbiAqIEBwYXJhbSBtdWx0aXBsaWVyIFRoZSBtaW50J3MgVWlBbW91bnRNdWx0aXBsaWVyIGFzIGEgZGVjaW1hbCBzdHJpbmcgKD4gMClcbiAqIEBwYXJhbSBkZWNpbWFscyBUaGUgbWludCdzIGRlY2ltYWxzICg+PSAwKVxuICogQHJldHVybnMgVGhlIHJhdyBhbW91bnQgaW4gYmFzZSB1bml0cywgZmxvb3JlZCB0byB0aGUgaW50ZWdlciB1bml0XG4gKiBAdGhyb3dzIGlmIGFueSBhcmd1bWVudCBpcyBtYWxmb3JtZWQsIHRoZSB1aSBhbW91bnQgaXMgbmVnYXRpdmUsIG9yIHRoZSBtdWx0aXBsaWVyIGlzIG5vdCBwb3NpdGl2ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlBbW91bnRUb1Jhdyh1aUFtb3VudDogc3RyaW5nLCBtdWx0aXBsaWVyOiBzdHJpbmcsIGRlY2ltYWxzOiBudW1iZXIpOiBiaWdpbnQge1xuICBpZiAoIU51bWJlci5pc0ludGVnZXIoZGVjaW1hbHMpIHx8IGRlY2ltYWxzIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkZWNpbWFscyAnJHtkZWNpbWFsc30nOiBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIGludGVnZXJgKTtcbiAgfVxuICBjb25zdCB1aSA9IHBhcnNlRGVjaW1hbCh1aUFtb3VudCwgJ3VpQW1vdW50Jyk7XG4gIGlmICh1aS5uZWdhdGl2ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB1aUFtb3VudCAnJHt1aUFtb3VudH0nOiBtdXN0IGJlIG5vbi1uZWdhdGl2ZWApO1xuICB9XG4gIGNvbnN0IG11bHQgPSBwYXJzZURlY2ltYWwobXVsdGlwbGllciwgJ211bHRpcGxpZXInKTtcbiAgaWYgKG11bHQubmVnYXRpdmUgfHwgbXVsdC5kaWdpdHMgPT09IDBuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG11bHRpcGxpZXIgJyR7bXVsdGlwbGllcn0nOiBtdXN0IGJlIHBvc2l0aXZlYCk7XG4gIH1cblxuICAvLyB1aSA9IHVpRGlnaXRzIC8gMTBedWlTY2FsZTsgIG11bHRpcGxpZXIgPSBtdWx0RGlnaXRzIC8gMTBebXVsdFNjYWxlXG4gIC8vIHJhdyA9ICh1aURpZ2l0cyAvIDEwXnVpU2NhbGUpICogMTBeZGVjaW1hbHMgKiAoMTBebXVsdFNjYWxlIC8gbXVsdERpZ2l0cylcbiAgLy8gICAgID0gKHVpRGlnaXRzICogMTBeKGRlY2ltYWxzICsgbXVsdFNjYWxlKSkgLyAobXVsdERpZ2l0cyAqIDEwXnVpU2NhbGUpXG4gIGNvbnN0IG51bWVyYXRvciA9IHVpLmRpZ2l0cyAqIDEwbiAqKiBCaWdJbnQoZGVjaW1hbHMgKyBtdWx0LnNjYWxlKTtcbiAgY29uc3QgZGVub21pbmF0b3IgPSBtdWx0LmRpZ2l0cyAqIDEwbiAqKiBCaWdJbnQodWkuc2NhbGUpO1xuICByZXR1cm4gbnVtZXJhdG9yIC8gZGVub21pbmF0b3I7IC8vIGZsb29yIOKAlCByYXcgYmFzZSB1bml0cyBhcmUgaW50ZWdlcnNcbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scaledUiAmount.d.ts","sourceRoot":"","sources":["../../../../test/unit/scaledUiAmount.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
require("should");
|
|
4
|
+
const scaledUiAmount_1 = require("../../src/lib/scaledUiAmount");
|
|
5
|
+
describe('Sol ScaledUiAmount conversions', function () {
|
|
6
|
+
describe('rawToUiAmountString', function () {
|
|
7
|
+
it('converts raw to UI with multiplier 1 (identity denomination)', function () {
|
|
8
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1000000000n, '1', 9).should.equal('1');
|
|
9
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1n, '1', 9).should.equal('0.000000001');
|
|
10
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(0n, '1', 9).should.equal('0');
|
|
11
|
+
});
|
|
12
|
+
it('converts raw to UI with multiplier 0.001', function () {
|
|
13
|
+
// 10^9 raw * 0.001 / 10^9 = 0.001
|
|
14
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1000000000n, '0.001', 9).should.equal('0.001');
|
|
15
|
+
// 1 raw * 0.001 / 10^9 = 10^-12
|
|
16
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1n, '0.001', 9).should.equal('0.000000000001');
|
|
17
|
+
});
|
|
18
|
+
it('converts raw to UI with multiplier 1e-9 (ticket extreme)', function () {
|
|
19
|
+
// 10^9 raw * 10^-9 / 10^9 = 10^-9
|
|
20
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1000000000n, '0.000000001', 9).should.equal('0.000000001');
|
|
21
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1n, '0.000000001', 9).should.equal('0.000000000000000001');
|
|
22
|
+
});
|
|
23
|
+
it('handles multipliers greater than 1', function () {
|
|
24
|
+
// 2 raw * 1.5 / 10^2 = 0.03
|
|
25
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(2n, '1.5', 2).should.equal('0.03');
|
|
26
|
+
// 100 raw * 12.5 / 10^2 = 12.5
|
|
27
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(100n, '12.5', 2).should.equal('12.5');
|
|
28
|
+
});
|
|
29
|
+
it('normalizes trailing zeros', function () {
|
|
30
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(500000000n, '1', 9).should.equal('0.5');
|
|
31
|
+
(0, scaledUiAmount_1.rawToUiAmountString)(1230000000n, '1', 9).should.equal('1.23');
|
|
32
|
+
});
|
|
33
|
+
it('rejects malformed inputs', function () {
|
|
34
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(-1n, '1', 9)).should.throw(/must be non-negative/);
|
|
35
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, '0', 9)).should.throw(/must be positive/);
|
|
36
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, '-0.001', 9)).should.throw(/must be positive/);
|
|
37
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, '1e-9', 9)).should.throw(/finite decimal string/);
|
|
38
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, 'abc', 9)).should.throw(/finite decimal string/);
|
|
39
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, 'NaN', 9)).should.throw(/finite decimal string/);
|
|
40
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, '1', -1)).should.throw(/non-negative integer/);
|
|
41
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1n, '1', 1.5)).should.throw(/non-negative integer/);
|
|
42
|
+
// @ts-expect-error runtime guard against non-BigInt raw
|
|
43
|
+
(() => (0, scaledUiAmount_1.rawToUiAmountString)(1000, '1', 9)).should.throw(/BigInt of base units/);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
describe('uiAmountToRaw', function () {
|
|
47
|
+
it('converts UI to raw with multiplier 1', function () {
|
|
48
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('1', '1', 9).should.equal(1000000000n);
|
|
49
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0.000000001', '1', 9).should.equal(1n);
|
|
50
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0', '1', 9).should.equal(0n);
|
|
51
|
+
});
|
|
52
|
+
it('converts UI to raw with multiplier 0.001', function () {
|
|
53
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0.001', '0.001', 9).should.equal(1000000000n);
|
|
54
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0.000000000001', '0.001', 9).should.equal(1n);
|
|
55
|
+
});
|
|
56
|
+
it('converts UI to raw with multiplier 1e-9 (ticket extreme)', function () {
|
|
57
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0.000000001', '0.000000001', 9).should.equal(1000000000n);
|
|
58
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('0.000000000000000001', '0.000000001', 9).should.equal(1n);
|
|
59
|
+
});
|
|
60
|
+
it('floors to integer base units', function () {
|
|
61
|
+
// 1.0000000005 UI * 10^9 = 1000000000.5 raw -> floors to 1000000000
|
|
62
|
+
(0, scaledUiAmount_1.uiAmountToRaw)('1.0000000005', '1', 9).should.equal(1000000000n);
|
|
63
|
+
});
|
|
64
|
+
it('rejects malformed inputs', function () {
|
|
65
|
+
(() => (0, scaledUiAmount_1.uiAmountToRaw)('-1', '1', 9)).should.throw(/must be non-negative/);
|
|
66
|
+
(() => (0, scaledUiAmount_1.uiAmountToRaw)('1', '0', 9)).should.throw(/must be positive/);
|
|
67
|
+
(() => (0, scaledUiAmount_1.uiAmountToRaw)('1e-9', '1', 9)).should.throw(/finite decimal string/);
|
|
68
|
+
(() => (0, scaledUiAmount_1.uiAmountToRaw)('1', '1', -1)).should.throw(/non-negative integer/);
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('round-trip exactness at multiplier extremes', function () {
|
|
72
|
+
const multipliers = ['1', '0.001', '0.000000001', '1.5', '12.5'];
|
|
73
|
+
const rawAmounts = [
|
|
74
|
+
0n,
|
|
75
|
+
1n,
|
|
76
|
+
999n,
|
|
77
|
+
1000n,
|
|
78
|
+
123456789n,
|
|
79
|
+
1000000000n,
|
|
80
|
+
999999999999999999n,
|
|
81
|
+
10n ** 27n, // > u64 max supply, still exact
|
|
82
|
+
];
|
|
83
|
+
for (const multiplier of multipliers) {
|
|
84
|
+
it(`round-trips every raw amount through UI at multiplier ${multiplier}`, function () {
|
|
85
|
+
for (const raw of rawAmounts) {
|
|
86
|
+
const ui = (0, scaledUiAmount_1.rawToUiAmountString)(raw, multiplier, 9);
|
|
87
|
+
(0, scaledUiAmount_1.uiAmountToRaw)(ui, multiplier, 9).should.equal(raw);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
it('round-trips at decimals other than 9', function () {
|
|
92
|
+
for (const decimals of [0, 2, 6, 18]) {
|
|
93
|
+
for (const raw of rawAmounts) {
|
|
94
|
+
const ui = (0, scaledUiAmount_1.rawToUiAmountString)(raw, '0.001', decimals);
|
|
95
|
+
(0, scaledUiAmount_1.uiAmountToRaw)(ui, '0.001', decimals).should.equal(raw);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGVkVWlBbW91bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvc2NhbGVkVWlBbW91bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxrQkFBZ0I7QUFDaEIsaUVBQWtGO0FBRWxGLFFBQVEsQ0FBQyxnQ0FBZ0MsRUFBRTtJQUN6QyxRQUFRLENBQUMscUJBQXFCLEVBQUU7UUFDOUIsRUFBRSxDQUFDLDhEQUE4RCxFQUFFO1lBQ2pFLElBQUEsb0NBQW1CLEVBQUMsV0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlELElBQUEsb0NBQW1CLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzVELElBQUEsb0NBQW1CLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFO1lBQzdDLGtDQUFrQztZQUNsQyxJQUFBLG9DQUFtQixFQUFDLFdBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0RSxnQ0FBZ0M7WUFDaEMsSUFBQSxvQ0FBbUIsRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywwREFBMEQsRUFBRTtZQUM3RCxrQ0FBa0M7WUFDbEMsSUFBQSxvQ0FBbUIsRUFBQyxXQUFjLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDbEYsSUFBQSxvQ0FBbUIsRUFBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNqRixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRTtZQUN2Qyw0QkFBNEI7WUFDNUIsSUFBQSxvQ0FBbUIsRUFBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkQsK0JBQStCO1lBQy9CLElBQUEsb0NBQW1CLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDJCQUEyQixFQUFFO1lBQzlCLElBQUEsb0NBQW1CLEVBQUMsVUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlELElBQUEsb0NBQW1CLEVBQUMsV0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBCQUEwQixFQUFFO1lBQzdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxvQ0FBbUIsRUFBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDOUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDekUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDOUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDakYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDaEYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDaEYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUM5RSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsb0NBQW1CLEVBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUMvRSx3REFBd0Q7WUFDeEQsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9DQUFtQixFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDeEIsRUFBRSxDQUFDLHNDQUFzQyxFQUFFO1lBQ3pDLElBQUEsOEJBQWEsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBYyxDQUFDLENBQUM7WUFDeEQsSUFBQSw4QkFBYSxFQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0RCxJQUFBLDhCQUFhLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFO1lBQzdDLElBQUEsOEJBQWEsRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBYyxDQUFDLENBQUM7WUFDaEUsSUFBQSw4QkFBYSxFQUFDLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBEQUEwRCxFQUFFO1lBQzdELElBQUEsOEJBQWEsRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBYyxDQUFDLENBQUM7WUFDNUUsSUFBQSw4QkFBYSxFQUFDLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFO1lBQ2pDLG9FQUFvRTtZQUNwRSxJQUFBLDhCQUFhLEVBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQWMsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBCQUEwQixFQUFFO1lBQzdCLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSw4QkFBYSxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFDekUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLDhCQUFhLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNwRSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsOEJBQWEsRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzVFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSw4QkFBYSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMzRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLDZDQUE2QyxFQUFFO1FBQ3RELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEVBQUU7WUFDRixFQUFFO1lBQ0YsSUFBSTtZQUNKLEtBQU07WUFDTixVQUFZO1lBQ1osV0FBYztZQUNkLG1CQUF3QjtZQUN4QixHQUFHLElBQUksR0FBRyxFQUFFLGdDQUFnQztTQUM3QyxDQUFDO1FBRUYsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxFQUFFLENBQUMseURBQXlELFVBQVUsRUFBRSxFQUFFO2dCQUN4RSxLQUFLLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUM3QixNQUFNLEVBQUUsR0FBRyxJQUFBLG9DQUFtQixFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ25ELElBQUEsOEJBQWEsRUFBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxFQUFFLENBQUMsc0NBQXNDLEVBQUU7WUFDekMsS0FBSyxNQUFNLFFBQVEsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzdCLE1BQU0sRUFBRSxHQUFHLElBQUEsb0NBQW1CLEVBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDdkQsSUFBQSw4QkFBYSxFQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekQsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyByYXdUb1VpQW1vdW50U3RyaW5nLCB1aUFtb3VudFRvUmF3IH0gZnJvbSAnLi4vLi4vc3JjL2xpYi9zY2FsZWRVaUFtb3VudCc7XG5cbmRlc2NyaWJlKCdTb2wgU2NhbGVkVWlBbW91bnQgY29udmVyc2lvbnMnLCBmdW5jdGlvbiAoKSB7XG4gIGRlc2NyaWJlKCdyYXdUb1VpQW1vdW50U3RyaW5nJywgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdjb252ZXJ0cyByYXcgdG8gVUkgd2l0aCBtdWx0aXBsaWVyIDEgKGlkZW50aXR5IGRlbm9taW5hdGlvbiknLCBmdW5jdGlvbiAoKSB7XG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDFfMDAwXzAwMF8wMDBuLCAnMScsIDkpLnNob3VsZC5lcXVhbCgnMScpO1xuICAgICAgcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJzEnLCA5KS5zaG91bGQuZXF1YWwoJzAuMDAwMDAwMDAxJyk7XG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDBuLCAnMScsIDkpLnNob3VsZC5lcXVhbCgnMCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvbnZlcnRzIHJhdyB0byBVSSB3aXRoIG11bHRpcGxpZXIgMC4wMDEnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyAxMF45IHJhdyAqIDAuMDAxIC8gMTBeOSA9IDAuMDAxXG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDFfMDAwXzAwMF8wMDBuLCAnMC4wMDEnLCA5KS5zaG91bGQuZXF1YWwoJzAuMDAxJyk7XG4gICAgICAvLyAxIHJhdyAqIDAuMDAxIC8gMTBeOSA9IDEwXi0xMlxuICAgICAgcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJzAuMDAxJywgOSkuc2hvdWxkLmVxdWFsKCcwLjAwMDAwMDAwMDAwMScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvbnZlcnRzIHJhdyB0byBVSSB3aXRoIG11bHRpcGxpZXIgMWUtOSAodGlja2V0IGV4dHJlbWUpJywgZnVuY3Rpb24gKCkge1xuICAgICAgLy8gMTBeOSByYXcgKiAxMF4tOSAvIDEwXjkgPSAxMF4tOVxuICAgICAgcmF3VG9VaUFtb3VudFN0cmluZygxXzAwMF8wMDBfMDAwbiwgJzAuMDAwMDAwMDAxJywgOSkuc2hvdWxkLmVxdWFsKCcwLjAwMDAwMDAwMScpO1xuICAgICAgcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJzAuMDAwMDAwMDAxJywgOSkuc2hvdWxkLmVxdWFsKCcwLjAwMDAwMDAwMDAwMDAwMDAwMScpO1xuICAgIH0pO1xuXG4gICAgaXQoJ2hhbmRsZXMgbXVsdGlwbGllcnMgZ3JlYXRlciB0aGFuIDEnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyAyIHJhdyAqIDEuNSAvIDEwXjIgPSAwLjAzXG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDJuLCAnMS41JywgMikuc2hvdWxkLmVxdWFsKCcwLjAzJyk7XG4gICAgICAvLyAxMDAgcmF3ICogMTIuNSAvIDEwXjIgPSAxMi41XG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDEwMG4sICcxMi41JywgMikuc2hvdWxkLmVxdWFsKCcxMi41Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnbm9ybWFsaXplcyB0cmFpbGluZyB6ZXJvcycsIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJhd1RvVWlBbW91bnRTdHJpbmcoNTAwXzAwMF8wMDBuLCAnMScsIDkpLnNob3VsZC5lcXVhbCgnMC41Jyk7XG4gICAgICByYXdUb1VpQW1vdW50U3RyaW5nKDFfMjMwXzAwMF8wMDBuLCAnMScsIDkpLnNob3VsZC5lcXVhbCgnMS4yMycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgbWFsZm9ybWVkIGlucHV0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICgoKSA9PiByYXdUb1VpQW1vdW50U3RyaW5nKC0xbiwgJzEnLCA5KSkuc2hvdWxkLnRocm93KC9tdXN0IGJlIG5vbi1uZWdhdGl2ZS8pO1xuICAgICAgKCgpID0+IHJhd1RvVWlBbW91bnRTdHJpbmcoMW4sICcwJywgOSkpLnNob3VsZC50aHJvdygvbXVzdCBiZSBwb3NpdGl2ZS8pO1xuICAgICAgKCgpID0+IHJhd1RvVWlBbW91bnRTdHJpbmcoMW4sICctMC4wMDEnLCA5KSkuc2hvdWxkLnRocm93KC9tdXN0IGJlIHBvc2l0aXZlLyk7XG4gICAgICAoKCkgPT4gcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJzFlLTknLCA5KSkuc2hvdWxkLnRocm93KC9maW5pdGUgZGVjaW1hbCBzdHJpbmcvKTtcbiAgICAgICgoKSA9PiByYXdUb1VpQW1vdW50U3RyaW5nKDFuLCAnYWJjJywgOSkpLnNob3VsZC50aHJvdygvZmluaXRlIGRlY2ltYWwgc3RyaW5nLyk7XG4gICAgICAoKCkgPT4gcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJ05hTicsIDkpKS5zaG91bGQudGhyb3coL2Zpbml0ZSBkZWNpbWFsIHN0cmluZy8pO1xuICAgICAgKCgpID0+IHJhd1RvVWlBbW91bnRTdHJpbmcoMW4sICcxJywgLTEpKS5zaG91bGQudGhyb3coL25vbi1uZWdhdGl2ZSBpbnRlZ2VyLyk7XG4gICAgICAoKCkgPT4gcmF3VG9VaUFtb3VudFN0cmluZygxbiwgJzEnLCAxLjUpKS5zaG91bGQudGhyb3coL25vbi1uZWdhdGl2ZSBpbnRlZ2VyLyk7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHJ1bnRpbWUgZ3VhcmQgYWdhaW5zdCBub24tQmlnSW50IHJhd1xuICAgICAgKCgpID0+IHJhd1RvVWlBbW91bnRTdHJpbmcoMTAwMCwgJzEnLCA5KSkuc2hvdWxkLnRocm93KC9CaWdJbnQgb2YgYmFzZSB1bml0cy8pO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgndWlBbW91bnRUb1JhdycsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnY29udmVydHMgVUkgdG8gcmF3IHdpdGggbXVsdGlwbGllciAxJywgZnVuY3Rpb24gKCkge1xuICAgICAgdWlBbW91bnRUb1JhdygnMScsICcxJywgOSkuc2hvdWxkLmVxdWFsKDFfMDAwXzAwMF8wMDBuKTtcbiAgICAgIHVpQW1vdW50VG9SYXcoJzAuMDAwMDAwMDAxJywgJzEnLCA5KS5zaG91bGQuZXF1YWwoMW4pO1xuICAgICAgdWlBbW91bnRUb1JhdygnMCcsICcxJywgOSkuc2hvdWxkLmVxdWFsKDBuKTtcbiAgICB9KTtcblxuICAgIGl0KCdjb252ZXJ0cyBVSSB0byByYXcgd2l0aCBtdWx0aXBsaWVyIDAuMDAxJywgZnVuY3Rpb24gKCkge1xuICAgICAgdWlBbW91bnRUb1JhdygnMC4wMDEnLCAnMC4wMDEnLCA5KS5zaG91bGQuZXF1YWwoMV8wMDBfMDAwXzAwMG4pO1xuICAgICAgdWlBbW91bnRUb1JhdygnMC4wMDAwMDAwMDAwMDEnLCAnMC4wMDEnLCA5KS5zaG91bGQuZXF1YWwoMW4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2NvbnZlcnRzIFVJIHRvIHJhdyB3aXRoIG11bHRpcGxpZXIgMWUtOSAodGlja2V0IGV4dHJlbWUpJywgZnVuY3Rpb24gKCkge1xuICAgICAgdWlBbW91bnRUb1JhdygnMC4wMDAwMDAwMDEnLCAnMC4wMDAwMDAwMDEnLCA5KS5zaG91bGQuZXF1YWwoMV8wMDBfMDAwXzAwMG4pO1xuICAgICAgdWlBbW91bnRUb1JhdygnMC4wMDAwMDAwMDAwMDAwMDAwMDEnLCAnMC4wMDAwMDAwMDEnLCA5KS5zaG91bGQuZXF1YWwoMW4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ2Zsb29ycyB0byBpbnRlZ2VyIGJhc2UgdW5pdHMnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyAxLjAwMDAwMDAwMDUgVUkgKiAxMF45ID0gMTAwMDAwMDAwMC41IHJhdyAtPiBmbG9vcnMgdG8gMTAwMDAwMDAwMFxuICAgICAgdWlBbW91bnRUb1JhdygnMS4wMDAwMDAwMDA1JywgJzEnLCA5KS5zaG91bGQuZXF1YWwoMV8wMDBfMDAwXzAwMG4pO1xuICAgIH0pO1xuXG4gICAgaXQoJ3JlamVjdHMgbWFsZm9ybWVkIGlucHV0cycsIGZ1bmN0aW9uICgpIHtcbiAgICAgICgoKSA9PiB1aUFtb3VudFRvUmF3KCctMScsICcxJywgOSkpLnNob3VsZC50aHJvdygvbXVzdCBiZSBub24tbmVnYXRpdmUvKTtcbiAgICAgICgoKSA9PiB1aUFtb3VudFRvUmF3KCcxJywgJzAnLCA5KSkuc2hvdWxkLnRocm93KC9tdXN0IGJlIHBvc2l0aXZlLyk7XG4gICAgICAoKCkgPT4gdWlBbW91bnRUb1JhdygnMWUtOScsICcxJywgOSkpLnNob3VsZC50aHJvdygvZmluaXRlIGRlY2ltYWwgc3RyaW5nLyk7XG4gICAgICAoKCkgPT4gdWlBbW91bnRUb1JhdygnMScsICcxJywgLTEpKS5zaG91bGQudGhyb3coL25vbi1uZWdhdGl2ZSBpbnRlZ2VyLyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdyb3VuZC10cmlwIGV4YWN0bmVzcyBhdCBtdWx0aXBsaWVyIGV4dHJlbWVzJywgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG11bHRpcGxpZXJzID0gWycxJywgJzAuMDAxJywgJzAuMDAwMDAwMDAxJywgJzEuNScsICcxMi41J107XG4gICAgY29uc3QgcmF3QW1vdW50cyA9IFtcbiAgICAgIDBuLFxuICAgICAgMW4sXG4gICAgICA5OTluLFxuICAgICAgMV8wMDBuLFxuICAgICAgMTIzXzQ1Nl83ODluLFxuICAgICAgMV8wMDBfMDAwXzAwMG4sXG4gICAgICA5OTlfOTk5Xzk5OV85OTlfOTk5Xzk5OW4sXG4gICAgICAxMG4gKiogMjduLCAvLyA+IHU2NCBtYXggc3VwcGx5LCBzdGlsbCBleGFjdFxuICAgIF07XG5cbiAgICBmb3IgKGNvbnN0IG11bHRpcGxpZXIgb2YgbXVsdGlwbGllcnMpIHtcbiAgICAgIGl0KGByb3VuZC10cmlwcyBldmVyeSByYXcgYW1vdW50IHRocm91Z2ggVUkgYXQgbXVsdGlwbGllciAke211bHRpcGxpZXJ9YCwgZnVuY3Rpb24gKCkge1xuICAgICAgICBmb3IgKGNvbnN0IHJhdyBvZiByYXdBbW91bnRzKSB7XG4gICAgICAgICAgY29uc3QgdWkgPSByYXdUb1VpQW1vdW50U3RyaW5nKHJhdywgbXVsdGlwbGllciwgOSk7XG4gICAgICAgICAgdWlBbW91bnRUb1Jhdyh1aSwgbXVsdGlwbGllciwgOSkuc2hvdWxkLmVxdWFsKHJhdyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGl0KCdyb3VuZC10cmlwcyBhdCBkZWNpbWFscyBvdGhlciB0aGFuIDknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlY2ltYWxzIG9mIFswLCAyLCA2LCAxOF0pIHtcbiAgICAgICAgZm9yIChjb25zdCByYXcgb2YgcmF3QW1vdW50cykge1xuICAgICAgICAgIGNvbnN0IHVpID0gcmF3VG9VaUFtb3VudFN0cmluZyhyYXcsICcwLjAwMScsIGRlY2ltYWxzKTtcbiAgICAgICAgICB1aUFtb3VudFRvUmF3KHVpLCAnMC4wMDEnLCBkZWNpbWFscykuc2hvdWxkLmVxdWFsKHJhdyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
|