@magic-xpa/utils 4.800.0-dev480.94 → 4.801.0-dev000.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.
Files changed (43) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/{esm2015/magic-xpa-utils.js → esm2020/magic-xpa-utils.mjs} +0 -0
  3. package/{esm2015/src/Base64.js → esm2020/src/Base64.mjs} +0 -0
  4. package/{esm2015/src/ChoiceUtils.js → esm2020/src/ChoiceUtils.mjs} +0 -0
  5. package/{esm2015/src/Constants.js → esm2020/src/Constants.mjs} +0 -0
  6. package/{esm2015/src/DateTimeUtils.js → esm2020/src/DateTimeUtils.mjs} +0 -0
  7. package/{esm2015/src/DateUtil.js → esm2020/src/DateUtil.mjs} +0 -0
  8. package/{esm2015/src/InternalInterface.js → esm2020/src/InternalInterface.mjs} +3 -3
  9. package/{esm2015/src/JSON_Utils.js → esm2020/src/JSON_Utils.mjs} +0 -0
  10. package/esm2020/src/Logger.mjs +216 -0
  11. package/{esm2015/src/MagicConstants.js → esm2020/src/MagicConstants.mjs} +0 -0
  12. package/{esm2015/src/Misc.js → esm2020/src/Misc.mjs} +0 -0
  13. package/{esm2015/src/MsgInterface.js → esm2020/src/MsgInterface.mjs} +0 -0
  14. package/{esm2015/src/PICInterface.js → esm2020/src/PICInterface.mjs} +0 -0
  15. package/{esm2015/src/PlatformUtils.js → esm2020/src/PlatformUtils.mjs} +0 -0
  16. package/{esm2015/src/Queue.js → esm2020/src/Queue.mjs} +0 -0
  17. package/{esm2015/src/Randomizer.js → esm2020/src/Randomizer.mjs} +0 -0
  18. package/{esm2015/src/RequestInfo.js → esm2020/src/RequestInfo.mjs} +0 -0
  19. package/{esm2015/src/Rtf.js → esm2020/src/Rtf.mjs} +0 -0
  20. package/{esm2015/src/StorageAttribute.js → esm2020/src/StorageAttribute.mjs} +0 -0
  21. package/esm2020/src/StrUtil.mjs +456 -0
  22. package/esm2020/src/SyncExecutionHelper.mjs +26 -0
  23. package/{esm2015/src/UtilDateJpn.js → esm2020/src/UtilDateJpn.mjs} +0 -0
  24. package/{esm2015/src/UtilImeJpn.js → esm2020/src/UtilImeJpn.mjs} +0 -0
  25. package/{esm2015/src/UtilStrByteMode.js → esm2020/src/UtilStrByteMode.mjs} +0 -0
  26. package/{esm2015/src/XMLConstants.js → esm2020/src/XMLConstants.mjs} +0 -0
  27. package/{esm2015/src/Xml/XmlParser.js → esm2020/src/Xml/XmlParser.mjs} +0 -0
  28. package/{esm2015/src/enums.js → esm2020/src/enums.mjs} +0 -0
  29. package/fesm2015/{magic-xpa-utils.js → magic-xpa-utils.mjs} +7 -8
  30. package/fesm2015/magic-xpa-utils.mjs.map +1 -0
  31. package/fesm2020/magic-xpa-utils.mjs +5381 -0
  32. package/fesm2020/magic-xpa-utils.mjs.map +1 -0
  33. package/package.json +25 -12
  34. package/src/InternalInterface.d.ts +1 -1
  35. package/src/Logger.d.ts +2 -2
  36. package/bundles/magic-xpa-utils.umd.js +0 -5271
  37. package/bundles/magic-xpa-utils.umd.js.map +0 -1
  38. package/bundles/magic-xpa-utils.umd.min.js +0 -2
  39. package/bundles/magic-xpa-utils.umd.min.js.map +0 -1
  40. package/esm2015/src/Logger.js +0 -217
  41. package/esm2015/src/StrUtil.js +0 -457
  42. package/esm2015/src/SyncExecutionHelper.js +0 -26
  43. package/fesm2015/magic-xpa-utils.js.map +0 -1
File without changes
@@ -271,7 +271,6 @@ InternalInterface.MG_ACT_TREE_RENAME_RT_EXIT = 413;
271
271
  InternalInterface.MG_ACT_SERVER_TERMINATION = 420;
272
272
  InternalInterface.MG_ACT_SUBFORM_REFRESH = 432;
273
273
  InternalInterface.MG_ACT_CONTEXT_MENU = 439;
274
- InternalInterface.MG_ACT_DEFAULT_BUTTON = 459;
275
274
  InternalInterface.MG_ACT_NEXT_RT_WINDOW = 462;
276
275
  InternalInterface.MG_ACT_PREV_RT_WINDOW = 463;
277
276
  InternalInterface.MG_ACT_EMPTY_DATAVIEW = 521;
@@ -305,7 +304,8 @@ InternalInterface.MG_ACT_NO_PROG_EXE_RIGHTS = 619;
305
304
  InternalInterface.MG_ACT_CRELINE_ABOVE = 634;
306
305
  InternalInterface.MG_ACT_CONTEXT_TERMINATION = 635;
307
306
  InternalInterface.MG_ACT_CONTEXT_TIMEOUT_RESET = 636;
308
- InternalInterface.MG_ACT_TOT_CNT = 637;
307
+ InternalInterface.MG_ACT_CONTEXT_REMOVE = 647;
308
+ InternalInterface.MG_ACT_TOT_CNT = 648;
309
309
  InternalInterface.MG_ACT_TASK_PREFIX = 1001;
310
310
  InternalInterface.MG_ACT_TASK_SUFFIX = 1002;
311
311
  InternalInterface.MG_ACT_REC_PREFIX = 1003;
@@ -337,4 +337,4 @@ InternalInterface.MG_ACT_MOVE_TO_FIRST_CTRL = 2018;
337
337
  InternalInterface.MG_ACT_SET_EXTERNAL_VALUE = 2019;
338
338
  InternalInterface.MG_ACT_CTRL_FOCUS_ON_NON_MAGIC_CONTROL = 2020;
339
339
  InternalInterface.MG_ACT_FETCH_RECORDS_AHEAD_FROM_SERVER = 2021;
340
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJuYWxJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvSW50ZXJuYWxJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGlCQUFpQjtJQWdXNUI7SUFFQSxDQUFDO0lBTkQsTUFBTSxDQUFFLFlBQVksQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLGlCQUFpQixDQUFDLDZCQUE2QixDQUFDO0lBQzVGLENBQUM7O0FBN1ZlLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLHNDQUFvQixHQUFXLENBQUMsQ0FBQztBQUNqQyxzQ0FBb0IsR0FBVyxDQUFDLENBQUM7QUFDakMsc0NBQW9CLEdBQVcsQ0FBQyxDQUFDO0FBQ2pDLHNDQUFvQixHQUFXLENBQUMsQ0FBQztBQUNqQyxpQ0FBZSxHQUFXLENBQUMsQ0FBQztBQUM1QixtQ0FBaUIsR0FBVyxDQUFDLENBQUM7QUFDOUIsbUNBQWlCLEdBQVcsRUFBRSxDQUFDO0FBQy9CLDRCQUFVLEdBQVcsRUFBRSxDQUFDO0FBQ3hCLDhCQUFZLEdBQVcsRUFBRSxDQUFDO0FBQzFCLDZCQUFXLEdBQVcsRUFBRSxDQUFDO0FBQ3pCLHdDQUFzQixHQUFXLEVBQUUsQ0FBQztBQUNwQyx5Q0FBdUIsR0FBVyxFQUFFLENBQUM7QUFDckMsK0JBQWEsR0FBVyxFQUFFLENBQUM7QUFDM0Isb0NBQWtCLEdBQVcsRUFBRSxDQUFDO0FBQ2hDLHVDQUFxQixHQUFXLEVBQUUsQ0FBQztBQUNuQyx5Q0FBdUIsR0FBVyxFQUFFLENBQUM7QUFDckMsdUNBQXFCLEdBQVcsRUFBRSxDQUFDO0FBQ25DLHdDQUFzQixHQUFXLEVBQUUsQ0FBQztBQUNwQyx5Q0FBdUIsR0FBVyxFQUFF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SSxDQUFDO0FBQ2pDLHVDQUFxQixHQUFXLElBQUksQ0FBQztBQUNyQyw4Q0FBNEIsR0FBVyxJQUFJLENBQUM7QUFDNUMsZ0NBQWMsR0FBVyxJQUFJLENBQUM7QUFDOUIsOEJBQVksR0FBVyxJQUFJLENBQUM7QUFHNUIsbUNBQWlCLEdBQVcsSUFBSSxDQUFDO0FBQ2pDLHFDQUFtQixHQUFXLElBQUksQ0FBQztBQUNuQyxxQ0FBbUIsR0FBVyxJQUFJLENBQUM7QUFDbkMsOEJBQVksR0FBVyxJQUFJLENBQUM7QUFDNUIsa0NBQWdCLEdBQVcsSUFBSSxDQUFDO0FBQ2hDLCtCQUFhLEdBQVcsSUFBSSxDQUFDO0FBQzdCLDJDQUF5QixHQUFXLElBQUksQ0FBQztBQUN6QyxrQ0FBZ0IsR0FBVyxJQUFJLENBQUM7QUFDaEMsdUNBQXFCLEdBQVcsSUFBSSxDQUFDO0FBRXJDLHNDQUFvQixHQUFXLElBQUksQ0FBQztBQUVwQywyQ0FBeUIsR0FBVyxJQUFJLENBQUM7QUFDekMsMkNBQXlCLEdBQVcsSUFBSSxDQUFDO0FBQ3pDLDJDQUF5QixHQUFXLElBQUksQ0FBQztBQUN6Qyx3REFBc0MsR0FBVyxJQUFJLENBQUM7QUFDdEQsd0RBQXNDLEdBQVcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PiB0aGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBpbnRlcm5hbCBldmVudHMgY29kZXM8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbEludGVyZmFjZSB7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9OT05FOiBudW1iZXIgPSAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0hBUjogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX09MRTI6IG51bWJlciA9IDM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS1BSVkNIOiBudW1iZXIgPSA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX01BUktOWFRDSDogbnVtYmVyID0gNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9NQVJLVE9CRUc6IG51bWJlciA9IDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS1RPRU5EOiBudW1iZXIgPSA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUVOVV9CQVI6IG51bWJlciA9IDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHRkxEOiBudW1iZXIgPSA5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX0VOREZMRDogbnVtYmVyID0gMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVVQ6IG51bWJlciA9IDExO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0xPU0U6IG51bWJlciA9IDEzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhJVDogbnVtYmVyID0gMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ESVNQTEFZX1JFRlJFU0g6IG51bWJlciA9IDE1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVTVE9SRV9ERUZBVUxUUzogbnVtYmVyID0gMTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9CVVRUT046IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSlVNUF9UT19ST1c6IG51bWJlciA9IDE5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09NTVVOSUNBVElPTlM6IG51bWJlciA9IDIyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfT1BFTl9BUFBMSUNBVElPTjogbnVtYmVyID0gMjM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BQ1RfQ0xPU0VfQVBQTDogbnVtYmVyID0gMjQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT09MS0lUX1JVTlRJTUU6IG51bWJlciA9IDI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfS0VZQk9BUkRfTUFQUElORzogbnVtYmVyID0gMjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TSEVMTF9UT19PUzogbnVtYmVyID0gMjc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FWElUX1NZU1RFTTogbnVtYmVyID0gMjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SVE9fTU9ESUZZOiBudW1iZXIgPSAzMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19DUkVBVEU6IG51bWJlciA9IDMxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRPX1FVRVJZOiBudW1iZXIgPSAzMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NBTkNFTDogbnVtYmVyID0gMzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9aT09NOiBudW1iZXIgPSAzNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RFTExJTkU6IG51bWJlciA9IDM2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1JFTElORTogbnVtYmVyID0gMzc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRVBFQVRfRU5UUlk6IG51bWJlciA9IDM5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU9WRV9FTlRSWTogbnVtYmVyID0gNDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PVkVSV1JJVEVfRU5UUlk6IG51bWJlciA9IDQxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VMRUNUOiBudW1iZXIgPSA0MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9QUlZDSEFSOiBudW1iZXIgPSA0MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9OWFRDSEFSOiBudW1iZXIgPSA0NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9QUlZUQUI6IG51bWJlciA9IDQ1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX05YVFRBQjogbnVtYmVyID0gNDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWV09SRDogbnVtYmVyID0gNDc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUV09SRDogbnVtYmVyID0gNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWTElORTogbnVtYmVyID0gNDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUTElORTogbnVtYmVyID0gNTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWUEFHRTogbnVtYmVyID0gNTE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUUEFHRTogbnVtYmVyID0gNTI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHTElORTogbnVtYmVyID0gNTM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5ETElORTogbnVtYmVyID0gNTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHUEFHRTogbnVtYmVyID0gNTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5EUEFHRTogbnVtYmVyID0gNTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHRk9STTogbnVtYmVyID0gNTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5ERk9STTogbnVtYmVyID0gNTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfREVMQ1VSQ0g6IG51bWJlciA9IDU5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX0RFTFBSVkNIOiBudW1iZXIgPSA2MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9CRUdOWFRMSU5FOiBudW1iZXIgPSA2MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RCTF9QUlZGTEQ6IG51bWJlciA9IDYyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEJMX05YVEZMRDogbnVtYmVyID0gNjM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfUFJWTElORTogbnVtYmVyID0gNjQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfTlhUTElORTogbnVtYmVyID0gNjU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfUFJWUEFHRTogbnVtYmVyID0gNjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfTlhUUEFHRTogbnVtYmVyID0gNjc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHTElORTogbnVtYmVyID0gNjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfRU5ETElORTogbnVtYmVyID0gNjk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHUEFHRTogbnVtYmVyID0gNzA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfRU5EUEFHRTogbnVtYmVyID0gNzE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHVEJMOiBudW1iZXIgPSA3MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RCTF9FTkRUQkw6IG51bWJlciA9IDczO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFCX05FWFQ6IG51bWJlciA9IDc1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfQ09QWUZMRDogbnVtYmVyID0gNzc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FTlZJUk9OTUVOVDogbnVtYmVyID0gNzg7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VSVkVSUzogbnVtYmVyID0gODA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBQkFTRVM6IG51bWJlciA9IDgxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9HSUNBTFBOQU1FUzogbnVtYmVyID0gODI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUklOVEVSUzogbnVtYmVyID0gODM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQVNLX0VWRU5UUzogbnVtYmVyID0gODU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NRU5VUzogbnVtYmVyID0gODY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UWVBFUzogbnVtYmVyID0gODc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJMRVM6IG51bWJlciA9IDg4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJPR1JBTVM6IG51bWJlciA9IDg5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSEVMUF9TQ1JFRU5TOiBudW1iZXIgPSA5MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfSURTOiBudW1iZXIgPSA5MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYUE9SVF9JTVBPUlQ6IG51bWJlciA9IDkzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFSS19TVUJUUkVFOiBudW1iZXIgPSA5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFUEVBVF9TVUJUUkVFOiBudW1iZXIgPSA5NjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PVkVfU1VCVFJFRTogbnVtYmVyID0gOTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PVkVSV1JJVEVfU1VCVFJFRTogbnVtYmVyID0gOTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DUkVBVEVfUEFSRU5UOiBudW1iZXIgPSA5OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NSRUFURV9TVUJUQVNLOiBudW1iZXIgPSAxMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUxFVEVfU1VCVFJFRTogbnVtYmVyID0gMTAxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhQQU5EX1RSRUU6IG51bWJlciA9IDEwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NIUklOS19UUkVFOiBudW1iZXIgPSAxMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BVVRIT1JJWkU6IG51bWJlciA9IDEwNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BST1BFUlRJRVM6IG51bWJlciA9IDEwNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1ZJUlRVQUxfVkFSSUFCTEVTOiBudW1iZXIgPSAxMDc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FWFBSRVNTSU9OX1JVTEVTOiBudW1iZXIgPSAxMDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9GT1JNUzogbnVtYmVyID0gMTA5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfREJfVEFCTEVTOiBudW1iZXIgPSAxMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9JX09fRklMRVM6IG51bWJlciA9IDExMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NPUlQ6IG51bWJlciA9IDExMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9NQVJLUFJWTElORTogbnVtYmVyID0gMTEzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFTS19DT05UUk9MOiBudW1iZXIgPSAxMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DSEVDS19TWU5UQVg6IG51bWJlciA9IDExNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYRUNVVEVfUFJPR1JBTTogbnVtYmVyID0gMTE2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1JPU1NfUkVGRVJFTkNFOiBudW1iZXIgPSAxMTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9HRU5FUkFURV9QUk9HUkFNOiBudW1iZXIgPSAxMTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9HRU5FUkFURV9GT1JNOiBudW1iZXIgPSAxMTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRElUX01BSU5fRk9STTogbnVtYmVyID0gMTIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFSS19ORVhUX0xJTkU6IG51bWJlciA9IDEyMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19MT0NBVEU6IG51bWJlciA9IDEyMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19SQU5HRTogbnVtYmVyID0gMTIzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVklFV19CWV9LRVk6IG51bWJlciA9IDEyNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NPUlRfUkVDT1JEUzogbnVtYmVyID0gMTI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVESVJFQ1RfRklMRVM6IG51bWJlciA9IDEyNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFUE9SVF9HRU5FUkFUT1I6IG51bWJlciA9IDEyNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMRUFSX1RFTVBMQVRFOiBudW1iZXIgPSAxMjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DTEVBUl9WQUxVRTogbnVtYmVyID0gMTI5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfREVGSU5FX0VYUFJFU1NJT046IG51bWJlciA9IDEzMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0ZST01fVkFMVUU6IG51bWJlciA9IDEzMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RPX1ZBTFVFOiBudW1iZXIgPSAxMzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRURSQVdfTEFZT1VUOiBudW1iZXIgPSAxMzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUZBVUxUX0xBWU9VVDogbnVtYmVyID0gMTM1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09QWV9MQVlPVVQ6IG51bWJlciA9IDEzNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NIT1dfRlVMTF9MQVlPVVQ6IG51bWJlciA9IDEzNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0xFRlQ6IG51bWJlciA9IDEzODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JJR0hUOiBudW1iZXIgPSAxMzk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT1A6IG51bWJlciA9IDE0MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0JPVFRPTTogbnVtYmVyID0gMTQxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSF9DRU5URVJfT0ZfRk9STTogbnVtYmVyID0gMTQyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVl9DRU5URVJfT0ZfRk9STTogbnVtYmVyID0gMTQzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSE9SSVpfQ0VOVEVSOiBudW1iZXIgPSAxNDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9WRVJUSUNBTF9DRU5URVI6IG51bWJlciA9IDE0NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0FUVEFDSF9UT19UQUJMRTogbnVtYmVyID0gMTQ2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFYSU1VTV9XSURUSDogbnVtYmVyID0gMTQ3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhURVJOQUxfRURJVE9SOiBudW1iZXIgPSAxNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NQVhJTVVNX0hFSUdIVDogbnVtYmVyID0gMTUzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUlOSU1VTV9XSURUSDogbnVtYmVyID0gMTU0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNJTkdfSEVMUDogbnVtYmVyID0gMTU1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSEVMUDogbnVtYmVyID0gMTU2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQUJPVVQ6IG51bWJlciA9IDE1NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BSSU5UX0RBVEE6IG51bWJlciA9IDE2MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JJR0hUUzogbnVtYmVyID0gMTYxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJJTlRFUl9TRVRVUDogbnVtYmVyID0gMTYyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRPX1NFQVJDSDogbnVtYmVyID0gMTY1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0hPV19FWFBSRVNTSU9OOiBudW1iZXIgPSAxNjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BQ1RJT05fTElTVDogbnVtYmVyID0gMTY3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfS0VZQk9BUkRfTElTVDogbnVtYmVyID0gMTY4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQVBQTElDQVRJT05TOiBudW1iZXIgPSAxNzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BUFBMX1BST1BFUlRJRVM6IG51bWJlciA9IDE3NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01JTklNVU1fSEVJR0hUOiBudW1iZXIgPSAxNzY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfVU5ETzogbnVtYmVyID0gMTgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVUVVJOX1RPX1RSRUU6IG51bWJlciA9IDE4MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0dPX1RPX1RPUDogbnVtYmVyID0gMTgyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRlVOQ1RJT05fTElTVDogbnVtYmVyID0gMTgzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9HT046IG51bWJlciA9IDE4NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYRUNVVEVfUkVQT1JUOiBudW1iZXIgPSAxODg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PSzogbnVtYmVyID0gMTg5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQVBQTElDQVRJT05TX0xJU1Q6IG51bWJlciA9IDE5MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFQ1JFVF9OQU1FUzogbnVtYmVyID0gMTkyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUklHSFRTX0xJU1Q6IG51bWJlciA9IDE5MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NIRUNLX1RPX0VORDogbnVtYmVyID0gMTk0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU1FMX0NPTU1BTkQ6IG51bWJlciA9IDE5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfR1JPVVBTOiBudW1iZXIgPSAxOTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJMRV9MT0NBVEU6IG51bWJlciA9IDE5NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RBQkxFX0xPQ0FURV9ORVhUOiBudW1iZXIgPSAxOTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQk1TOiBudW1iZXIgPSAxOTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfS0VZV09SRFM6IG51bWJlciA9IDIwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9PUEVSQVRPUlM6IG51bWJlciA9IDIwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9UQUJMRVM6IG51bWJlciA9IDIwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9DT0xVTU5TOiBudW1iZXIgPSAyMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfRkxJUF9ERVNDOiBudW1iZXIgPSAyMDU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfQVNTSVNUOiBudW1iZXIgPSAyMDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUEQ6IG51bWJlciA9IDIwNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX05VTExfU0VUVElOR1M6IG51bWJlciA9IDIwODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUX0VEVF9OVUxMOiBudW1iZXIgPSAyMDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUklOVF9BVFRSSUJVVEVTOiBudW1iZXIgPSAyMTE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9OT1JNQUw6IG51bWJlciA9IDIxMjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9JTkRFTlQ6IG51bWJlciA9IDIxNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0JVTExFVDogbnVtYmVyID0gMjE2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTogbnVtYmVyID0gMjE5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMjogbnVtYmVyID0gMjIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMzogbnVtYmVyID0gMjIxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNDogbnVtYmVyID0gMjIyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNTogbnVtYmVyID0gMjIzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNjogbnVtYmVyID0gMjI0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNzogbnVtYmVyID0gMjI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fODogbnVtYmVyID0gMjI2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fOTogbnVtYmVyID0gMjI3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTA6IG51bWJlciA9IDIyODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzExOiBudW1iZXIgPSAyMjk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xMjogbnVtYmVyID0gMjMwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTM6IG51bWJlciA9IDIzMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzE0OiBudW1iZXIgPSAyMzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xNTogbnVtYmVyID0gMjMzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTY6IG51bWJlciA9IDIzNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzE3OiBudW1iZXIgPSAyMzU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xODogbnVtYmVyID0gMjM2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTk6IG51bWJlciA9IDIzNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzIwOiBudW1iZXIgPSAyMzg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DTElQX0NPUFk6IG51bWJlciA9IDIzOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMSVBfUEFTVEU6IG51bWJlciA9IDI0MDtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVFJMX0hJVDogbnVtYmVyID0gMjQyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUEFHRV9IRUFERVI6IG51bWJlciA9IDI0MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBR0VfRk9PVEVSOiBudW1iZXIgPSAyNDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ISVQ6IG51bWJlciA9IDI0NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0lOU0VSVF9PQkpFQ1Q6IG51bWJlciA9IDI0NjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBU1RFX0xJTks6IG51bWJlciA9IDI0NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTlRST0xfTkFNRV9MSVNUOiBudW1iZXIgPSAyNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XSU5TSVpFOiBudW1iZXIgPSAyNDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XSU5NT1ZFOiBudW1iZXIgPSAyNTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9MQU5HVUFHRVM6IG51bWJlciA9IDI1MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RERl9NQUtFOiBudW1iZXIgPSAyNTI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VUERBVEVfTElOSzogbnVtYmVyID0gMjUzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSFRNTF9TVFlMRVM6IG51bWJlciA9IDI1NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VOSU5ERU5UOiBudW1iZXIgPSAyNTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BTElHTl9MRUZUOiBudW1iZXIgPSAyNTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BTElHTl9SSUdIVDogbnVtYmVyID0gMjU3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0VOVEVSOiBudW1iZXIgPSAyNTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BRERfSFlQRVJMSU5LOiBudW1iZXIgPSAyNTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUxFVEVfSFlQRVJMSU5LOiBudW1iZXIgPSAyNjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DSEVDS19PQkpFQ1RfTElTVDogbnVtYmVyID0gMjY1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEJMX1BMQUNFTUVOVDogbnVtYmVyID0gMjY3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09MX1NPUlQ6IG51bWJlciA9IDI2ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJTX0xJU1Q6IG51bWJlciA9IDI2OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFUlZJQ0VTOiBudW1iZXIgPSAyNzA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT1BZX1NVQlRSRUU6IG51bWJlciA9IDI3MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBU1RFX1NVQlRSRUU6IG51bWJlciA9IDI3MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1ZJU1VBTF9DT05ORUNUSU9OOiBudW1iZXIgPSAyNzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfV0hFUkVfQ0xBVVNFOiBudW1iZXIgPSAyNzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9MT0NLSU5HX0FCT1JUOiBudW1iZXIgPSAyNzY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJfUFJFVjogbnVtYmVyID0gMjc1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9DS0lOR19SRVRSWTogbnVtYmVyID0gMjc3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9DS0lOR19ERVRBSUxTOiBudW1iZXIgPSAyNzg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS0FMTDogbnVtYmVyID0gMjg2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU9OSVRPUl9ERUJVR0dFUjogbnVtYmVyID0gMjg3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfUkVGUkVTSF9SRUNPUkQ6IG51bWJlciA9IDI5MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUX1JFRlJFU0hfU0NSRUVOOiBudW1iZXIgPSAyOTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SVF9SRUZSRVNIX1ZJRVc6IG51bWJlciA9IDI5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTVBPTkVOVFM6IG51bWJlciA9IDI5NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PREVMUzogbnVtYmVyID0gMjk5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfV0VCX09OX0RCTElDSzogbnVtYmVyID0gMzAxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfV0VCX0NMSUNLOiBudW1iZXIgPSAzMDI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9OWFRMSU5FOiBudW1iZXIgPSAzMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9QUlZMSU5FOiBudW1iZXIgPSAzMTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9QUlZQQUdFOiBudW1iZXIgPSAzMTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9OWFRQQUdFOiBudW1iZXIgPSAzMTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9TSElGVF9UQkxfTlhUTElORTogbnVtYmVyID0gMzE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU1fU0hJRlRfVEJMX1BSVkxJTkU6IG51bWJlciA9IDMxOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01NX1NISUZUX1RCTF9QUlZQQUdFOiBudW1iZXIgPSAzMjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9TSElGVF9UQkxfTlhUUEFHRTogbnVtYmVyID0gMzIxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQlJPV1NFUl9FU0M6IG51bWJlciA9IDM0MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMT1NFX0FMTF9XSU46IG51bWJlciA9IDM3MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYVF9FVkVOVDogbnVtYmVyID0gMzc3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9FWFBBTkQ6IG51bWJlciA9IDM3ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfQ09MTEFQU0U6IG51bWJlciA9IDM3OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfQ1JFX1NPTjogbnVtYmVyID0gMzgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9TRUxDSEFOR0lORzogbnVtYmVyID0gMzgxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9SRU5BTUVfUlQ6IG51bWJlciA9IDM4MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfTU9WRVRPX1BBUkVOVDogbnVtYmVyID0gMzgzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9NT1ZFVE9fRklSU1RDSElMRDogbnVtYmVyID0gMzg0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9NT1ZFVE9fUFJFVlNJQkxJTkc6IG51bWJlciA9IDM4NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfTU9WRVRPX05FWFRTSUJMSU5HOiBudW1iZXIgPSAzODY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ST0xMQkFDSzogbnVtYmVyID0gMzg3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfUVVJVDogbnVtYmVyID0gMzkzO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfUkVOQU1FX1JUX0VYSVQ6IG51bWJlciA9IDQxMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFUlZFUl9URVJNSU5BVElPTjogbnVtYmVyID0gNDIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU1VCRk9STV9SRUZSRVNIOiBudW1iZXIgPSA0MzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT05URVhUX01FTlU6IG51bWJlciA9IDQzOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RFRkFVTFRfQlVUVE9OOiBudW1iZXIgPSA0NTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ORVhUX1JUX1dJTkRPVzogbnVtYmVyID0gNDYyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJFVl9SVF9XSU5ET1c6IG51bWJlciA9IDQ2MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VNUFRZX0RBVEFWSUVXOiBudW1iZXIgPSA1MjE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9CUk9XU0VSX1NUU19URVhUX0NIQU5HRTogbnVtYmVyID0gNTI5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEJMX1JFT1JERVI6IG51bWJlciA9IDUzOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfTU9ESUZZOiBudW1iZXIgPSA1NDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TVUJGT1JNX09QRU46IG51bWJlciA9IDU0NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTF9DTElDSzogbnVtYmVyID0gNTU1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUE9TVF9SRUZSRVNIX0JZX1BBUkVOVDogbnVtYmVyID0gNTU5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09NQk9fRFJPUF9ET1dOOiBudW1iZXIgPSA1NjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SQUlTRV9CVVRUT05fRVZFTlQ6IG51bWJlciA9IDU2MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VQREFURV9ETl9DT05UUk9MX1ZBTFVFOiBudW1iZXIgPSA1NjI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9HRVRfREFUQVZJRVdfQ09OVEVOVDogbnVtYmVyID0gNTYzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJFU1M6IG51bWJlciA9IDU2NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01VTFRJX01BUktfSElUOiBudW1iZXIgPSA1NjU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EVkNPTlRST0xfUk9XX0NIQU5HRTogbnVtYmVyID0gNTY2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRFZDT05UUk9MX1VQREFURV9DT0xVTU5fVkFMVUU6IG51bWJlciA9IDU2NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NXSVRDSF9UT19PRkZMSU5FOiBudW1iZXIgPSA1Njg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VTkFWQUlMQUJMRV9TRVJWRVI6IG51bWJlciA9IDU2OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VQREFURV9EQVRBVklFV19UT19EQVRBU09VUkNFOiBudW1iZXIgPSA1NzE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FTkFCTEVfRVZFTlRTOiBudW1iZXIgPSA1NzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XUklURV9FUlJPUl9UT19TRVJWRVJfTE9HOiBudW1iZXIgPSA1NzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PUEVOX0ZPUk1fREVTSUdORVI6IG51bWJlciA9IDU3ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0ZFVENIX0RBVEFfQ09OVFJPTF9WQUxVRVM6IG51bWJlciA9IDU3OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTF9GSUxURVI6IG51bWJlciA9IDU4MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0lOREVYX0NIQU5HRTogbnVtYmVyID0gNTg1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfV0VCQ0xJRU5UX1JPVVRFOiBudW1iZXIgPSA1OTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FTlRFUl9ST1dfRURJVElORzpudW1iZXIgPSA1OTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TVUJGT1JNX0NMT1NFOiBudW1iZXIgPSA1OTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9OT19QUk9HX0VYRV9SSUdIVFM6IG51bWJlciA9IDYxOTtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DUkVMSU5FX0FCT1ZFOiBudW1iZXIgPSA2MzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT05URVhUX1RFUk1JTkFUSU9OOiBudW1iZXIgPSA2MzU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT05URVhUX1RJTUVPVVRfUkVTRVQ6IG51bWJlciA9IDYzNjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT1RfQ05UOm51bWJlciA9IDYzNztcclxuXHJcbiAgLy8gTkVXIElOVEVSTkFMIEVWRU5UU1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFTS19QUkVGSVg6IG51bWJlciA9IDEwMDE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQVNLX1NVRkZJWDogbnVtYmVyID0gMTAwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFQ19QUkVGSVg6IG51bWJlciA9IDEwMDM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRUNfU1VGRklYOiBudW1iZXIgPSAxMDA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1RSTF9QUkVGSVg6IG51bWJlciA9IDEwMDU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVFJMX1NVRkZJWDogbnVtYmVyID0gMTAwNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfVkVSSUZJQ0FUSU9OOiBudW1iZXIgPSAxMDA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVkFSSUFCTEU6IG51bWJlciA9IDEwMDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBVklFV19UT1A6IG51bWJlciA9IDEwMTM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBVklFV19CT1RUT006IG51bWJlciA9IDEwMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DQUNIRV9QUkVWOiBudW1iZXIgPSAxMDE1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0FDSEVfTkVYVDogbnVtYmVyID0gMTAxNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NZQ0xFX05FWFRfUkVDOiBudW1iZXIgPSAxMDE3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1lDTEVfTkVYVF9ERUxFVEVfUkVDOiBudW1iZXIgPSAxMDE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09NUFVURTogbnVtYmVyID0gMTAyMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RVTU1ZOiBudW1iZXIgPSAxMTExO1xyXG5cclxuICAvLyBJTlRFUk5BTCBFVkVOVFMgZm9yIFdlYkNsaWVudFxyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1RSTF9GT0NVUzogbnVtYmVyID0gMjAwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfTU9VU0VVUDogbnVtYmVyID0gMjAwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfS0VZRE9XTjogbnVtYmVyID0gMjAwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RJTUVSOiBudW1iZXIgPSAyMDA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VMRUNUSU9OOiBudW1iZXIgPSAyMDA1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVTSVpFOiBudW1iZXIgPSAyMDA2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUk9XX0RBVEFfQ1VSUl9QQUdFOiBudW1iZXIgPSAyMDA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRFZfVE9fR1VJOiBudW1iZXIgPSAyMDA4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRElTQUJMRV9FVkVOVFM6IG51bWJlciA9IDIwMTA7XHJcbiAgLy8gdG9nZ2xlIGluc2VydCBpcyB0ZW1wIDUzOSAsIGl0IHNob3VsZCBtYXRjaCB0aGUgY29kZSBpbiBvbmxpbmUgb25jZSBpdCB3aWxsIGJlIGNyZWF0ZWQuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT0dHTEVfSU5TRVJUOiBudW1iZXIgPSAyMDExO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0lOQ1JFTUVOVEFMX0xPQ0FURTogbnVtYmVyID0gMjAxNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PVkVfVE9fRklSU1RfQ1RSTDogbnVtYmVyID0gMjAxODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFVF9FWFRFUk5BTF9WQUxVRTogbnVtYmVyID0gMjAxOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfRk9DVVNfT05fTk9OX01BR0lDX0NPTlRST0w6IG51bWJlciA9IDIwMjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9GRVRDSF9SRUNPUkRTX0FIRUFEX0ZST01fU0VSVkVSOiBudW1iZXIgPSAyMDIxOyAvLyBmb3IgcGFnaW5hdGVkIHRhYmxlLCBmZXRjaCByZWNvcmRzIGluIGJhY2tncm91bmQgZGVwZW5kaW5nIG9uIFBST1BfVFlQRV9TRVJWRVJfUkVBRF9BSEVBRFxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyAgQnVpbHRpbkV2ZW50KGV2ZW50Q29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZXZlbnRDb2RlID49IDEwMDAgfHwgZXZlbnRDb2RlID09PSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUE9TVF9SRUZSRVNIX0JZX1BBUkVOVDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
340
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJuYWxJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91dGlscy9zcmMvSW50ZXJuYWxJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLGlCQUFpQjtJQWdXNUI7SUFFQSxDQUFDO0lBTkQsTUFBTSxDQUFFLFlBQVksQ0FBQyxTQUFpQjtRQUNwQyxPQUFPLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLGlCQUFpQixDQUFDLDZCQUE2QixDQUFDO0lBQzVGLENBQUM7O0FBN1ZlLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLDZCQUFXLEdBQVcsQ0FBQyxDQUFDO0FBQ3hCLHNDQUFvQixHQUFXLENBQUMsQ0FBQztBQUNqQyxzQ0FBb0IsR0FBVyxDQUFDLENBQUM7QUFDakMsc0NBQW9CLEdBQVcsQ0FBQyxDQUFDO0FBQ2pDLHNDQUFvQixHQUFXLENBQUMsQ0FBQztBQUNqQyxpQ0FBZSxHQUFXLENBQUMsQ0FBQztBQUM1QixtQ0FBaUIsR0FBVyxDQUFDLENBQUM7QUFDOUIsbUNBQWlCLEdBQVcsRUFBRSxDQUFDO0FBQy9CLDRCQUFVLEdBQVcsRUFBRSxDQUFDO0FBQ3hCLDhCQUFZLEdBQVcsRUFBRSxDQUFDO0FBQzFCLDZCQUFXLEdBQVcsRUFBRSxDQUFDO0FBQ3pCLHdDQUFzQixHQUFXLEVBQUUsQ0FBQztBQUNwQyx5Q0FBdUIsR0FBVyxFQUFFLENBQUM7QUFDckMsK0JBQWEsR0FBVyxFQUFFLENBQUM7QUFDM0Isb0NBQWtCLEdBQVcsRUFBRSxDQUFDO0FBQ2hDLHVDQUFxQixHQUFXLEVBQUUsQ0FBQztBQUNuQyx5Q0FBdUIsR0FBVyxFQUFFLENBQUM7QUFDckMsdUNBQXFCLEdBQVcsRUFBRSxDQUFDO0FBQ25DLHdDQUFzQixHQUFXLEVBQUUsQ0FBQztBQUNwQyx5Q0FBdUIsR0FBVyxFQUFF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SSxDQUFDO0FBQ2pDLHVDQUFxQixHQUFXLElBQUksQ0FBQztBQUNyQyw4Q0FBNEIsR0FBVyxJQUFJLENBQUM7QUFDNUMsZ0NBQWMsR0FBVyxJQUFJLENBQUM7QUFDOUIsOEJBQVksR0FBVyxJQUFJLENBQUM7QUFHNUIsbUNBQWlCLEdBQVcsSUFBSSxDQUFDO0FBQ2pDLHFDQUFtQixHQUFXLElBQUksQ0FBQztBQUNuQyxxQ0FBbUIsR0FBVyxJQUFJLENBQUM7QUFDbkMsOEJBQVksR0FBVyxJQUFJLENBQUM7QUFDNUIsa0NBQWdCLEdBQVcsSUFBSSxDQUFDO0FBQ2hDLCtCQUFhLEdBQVcsSUFBSSxDQUFDO0FBQzdCLDJDQUF5QixHQUFXLElBQUksQ0FBQztBQUN6QyxrQ0FBZ0IsR0FBVyxJQUFJLENBQUM7QUFDaEMsdUNBQXFCLEdBQVcsSUFBSSxDQUFDO0FBRXJDLHNDQUFvQixHQUFXLElBQUksQ0FBQztBQUVwQywyQ0FBeUIsR0FBVyxJQUFJLENBQUM7QUFDekMsMkNBQXlCLEdBQVcsSUFBSSxDQUFDO0FBQ3pDLDJDQUF5QixHQUFXLElBQUksQ0FBQztBQUN6Qyx3REFBc0MsR0FBVyxJQUFJLENBQUM7QUFDdEQsd0RBQXNDLEdBQVcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxzdW1tYXJ5PiB0aGlzIGludGVyZmFjZSBkZWZpbmVzIHRoZSBpbnRlcm5hbCBldmVudHMgY29kZXM8L3N1bW1hcnk+XHJcbmV4cG9ydCBjbGFzcyBJbnRlcm5hbEludGVyZmFjZSB7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9OT05FOiBudW1iZXIgPSAwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0hBUjogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX09MRTI6IG51bWJlciA9IDM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS1BSVkNIOiBudW1iZXIgPSA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX01BUktOWFRDSDogbnVtYmVyID0gNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9NQVJLVE9CRUc6IG51bWJlciA9IDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS1RPRU5EOiBudW1iZXIgPSA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUVOVV9CQVI6IG51bWJlciA9IDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHRkxEOiBudW1iZXIgPSA5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX0VOREZMRDogbnVtYmVyID0gMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVVQ6IG51bWJlciA9IDExO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0xPU0U6IG51bWJlciA9IDEzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhJVDogbnVtYmVyID0gMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ESVNQTEFZX1JFRlJFU0g6IG51bWJlciA9IDE1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVTVE9SRV9ERUZBVUxUUzogbnVtYmVyID0gMTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9CVVRUT046IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSlVNUF9UT19ST1c6IG51bWJlciA9IDE5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09NTVVOSUNBVElPTlM6IG51bWJlciA9IDIyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfT1BFTl9BUFBMSUNBVElPTjogbnVtYmVyID0gMjM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BQ1RfQ0xPU0VfQVBQTDogbnVtYmVyID0gMjQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT09MS0lUX1JVTlRJTUU6IG51bWJlciA9IDI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfS0VZQk9BUkRfTUFQUElORzogbnVtYmVyID0gMjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TSEVMTF9UT19PUzogbnVtYmVyID0gMjc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FWElUX1NZU1RFTTogbnVtYmVyID0gMjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SVE9fTU9ESUZZOiBudW1iZXIgPSAzMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19DUkVBVEU6IG51bWJlciA9IDMxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRPX1FVRVJZOiBudW1iZXIgPSAzMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NBTkNFTDogbnVtYmVyID0gMzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9aT09NOiBudW1iZXIgPSAzNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RFTExJTkU6IG51bWJlciA9IDM2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1JFTElORTogbnVtYmVyID0gMzc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRVBFQVRfRU5UUlk6IG51bWJlciA9IDM5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU9WRV9FTlRSWTogbnVtYmVyID0gNDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PVkVSV1JJVEVfRU5UUlk6IG51bWJlciA9IDQxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VMRUNUOiBudW1iZXIgPSA0MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9QUlZDSEFSOiBudW1iZXIgPSA0MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9OWFRDSEFSOiBudW1iZXIgPSA0NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9QUlZUQUI6IG51bWJlciA9IDQ1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX05YVFRBQjogbnVtYmVyID0gNDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWV09SRDogbnVtYmVyID0gNDc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUV09SRDogbnVtYmVyID0gNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWTElORTogbnVtYmVyID0gNDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUTElORTogbnVtYmVyID0gNTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfUFJWUEFHRTogbnVtYmVyID0gNTE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTlhUUEFHRTogbnVtYmVyID0gNTI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHTElORTogbnVtYmVyID0gNTM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5ETElORTogbnVtYmVyID0gNTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHUEFHRTogbnVtYmVyID0gNTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5EUEFHRTogbnVtYmVyID0gNTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfQkVHRk9STTogbnVtYmVyID0gNTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfRU5ERk9STTogbnVtYmVyID0gNTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfREVMQ1VSQ0g6IG51bWJlciA9IDU5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRURUX0RFTFBSVkNIOiBudW1iZXIgPSA2MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9CRUdOWFRMSU5FOiBudW1iZXIgPSA2MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RCTF9QUlZGTEQ6IG51bWJlciA9IDYyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEJMX05YVEZMRDogbnVtYmVyID0gNjM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfUFJWTElORTogbnVtYmVyID0gNjQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfTlhUTElORTogbnVtYmVyID0gNjU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfUFJWUEFHRTogbnVtYmVyID0gNjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfTlhUUEFHRTogbnVtYmVyID0gNjc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHTElORTogbnVtYmVyID0gNjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfRU5ETElORTogbnVtYmVyID0gNjk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHUEFHRTogbnVtYmVyID0gNzA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfRU5EUEFHRTogbnVtYmVyID0gNzE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfQkVHVEJMOiBudW1iZXIgPSA3MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RCTF9FTkRUQkw6IG51bWJlciA9IDczO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFCX05FWFQ6IG51bWJlciA9IDc1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfQ09QWUZMRDogbnVtYmVyID0gNzc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FTlZJUk9OTUVOVDogbnVtYmVyID0gNzg7XHJcblxyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VSVkVSUzogbnVtYmVyID0gODA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBQkFTRVM6IG51bWJlciA9IDgxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9HSUNBTFBOQU1FUzogbnVtYmVyID0gODI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUklOVEVSUzogbnVtYmVyID0gODM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQVNLX0VWRU5UUzogbnVtYmVyID0gODU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NRU5VUzogbnVtYmVyID0gODY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UWVBFUzogbnVtYmVyID0gODc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJMRVM6IG51bWJlciA9IDg4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJPR1JBTVM6IG51bWJlciA9IDg5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSEVMUF9TQ1JFRU5TOiBudW1iZXIgPSA5MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfSURTOiBudW1iZXIgPSA5MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYUE9SVF9JTVBPUlQ6IG51bWJlciA9IDkzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFSS19TVUJUUkVFOiBudW1iZXIgPSA5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFUEVBVF9TVUJUUkVFOiBudW1iZXIgPSA5NjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PVkVfU1VCVFJFRTogbnVtYmVyID0gOTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PVkVSV1JJVEVfU1VCVFJFRTogbnVtYmVyID0gOTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DUkVBVEVfUEFSRU5UOiBudW1iZXIgPSA5OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NSRUFURV9TVUJUQVNLOiBudW1iZXIgPSAxMDA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUxFVEVfU1VCVFJFRTogbnVtYmVyID0gMTAxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhQQU5EX1RSRUU6IG51bWJlciA9IDEwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NIUklOS19UUkVFOiBudW1iZXIgPSAxMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BVVRIT1JJWkU6IG51bWJlciA9IDEwNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BST1BFUlRJRVM6IG51bWJlciA9IDEwNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1ZJUlRVQUxfVkFSSUFCTEVTOiBudW1iZXIgPSAxMDc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FWFBSRVNTSU9OX1JVTEVTOiBudW1iZXIgPSAxMDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9GT1JNUzogbnVtYmVyID0gMTA5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfREJfVEFCTEVTOiBudW1iZXIgPSAxMTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9JX09fRklMRVM6IG51bWJlciA9IDExMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NPUlQ6IG51bWJlciA9IDExMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VEVF9NQVJLUFJWTElORTogbnVtYmVyID0gMTEzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFTS19DT05UUk9MOiBudW1iZXIgPSAxMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DSEVDS19TWU5UQVg6IG51bWJlciA9IDExNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYRUNVVEVfUFJPR1JBTTogbnVtYmVyID0gMTE2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1JPU1NfUkVGRVJFTkNFOiBudW1iZXIgPSAxMTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9HRU5FUkFURV9QUk9HUkFNOiBudW1iZXIgPSAxMTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9HRU5FUkFURV9GT1JNOiBudW1iZXIgPSAxMTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRElUX01BSU5fRk9STTogbnVtYmVyID0gMTIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFSS19ORVhUX0xJTkU6IG51bWJlciA9IDEyMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19MT0NBVEU6IG51bWJlciA9IDEyMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUT19SQU5HRTogbnVtYmVyID0gMTIzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVklFV19CWV9LRVk6IG51bWJlciA9IDEyNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NPUlRfUkVDT1JEUzogbnVtYmVyID0gMTI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVESVJFQ1RfRklMRVM6IG51bWJlciA9IDEyNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFUE9SVF9HRU5FUkFUT1I6IG51bWJlciA9IDEyNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMRUFSX1RFTVBMQVRFOiBudW1iZXIgPSAxMjg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DTEVBUl9WQUxVRTogbnVtYmVyID0gMTI5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfREVGSU5FX0VYUFJFU1NJT046IG51bWJlciA9IDEzMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0ZST01fVkFMVUU6IG51bWJlciA9IDEzMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RPX1ZBTFVFOiBudW1iZXIgPSAxMzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRURSQVdfTEFZT1VUOiBudW1iZXIgPSAxMzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUZBVUxUX0xBWU9VVDogbnVtYmVyID0gMTM1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09QWV9MQVlPVVQ6IG51bWJlciA9IDEzNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NIT1dfRlVMTF9MQVlPVVQ6IG51bWJlciA9IDEzNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0xFRlQ6IG51bWJlciA9IDEzODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JJR0hUOiBudW1iZXIgPSAxMzk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT1A6IG51bWJlciA9IDE0MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0JPVFRPTTogbnVtYmVyID0gMTQxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSF9DRU5URVJfT0ZfRk9STTogbnVtYmVyID0gMTQyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVl9DRU5URVJfT0ZfRk9STTogbnVtYmVyID0gMTQzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSE9SSVpfQ0VOVEVSOiBudW1iZXIgPSAxNDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9WRVJUSUNBTF9DRU5URVI6IG51bWJlciA9IDE0NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0FUVEFDSF9UT19UQUJMRTogbnVtYmVyID0gMTQ2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUFYSU1VTV9XSURUSDogbnVtYmVyID0gMTQ3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRVhURVJOQUxfRURJVE9SOiBudW1iZXIgPSAxNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NQVhJTVVNX0hFSUdIVDogbnVtYmVyID0gMTUzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTUlOSU1VTV9XSURUSDogbnVtYmVyID0gMTU0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNJTkdfSEVMUDogbnVtYmVyID0gMTU1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSEVMUDogbnVtYmVyID0gMTU2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQUJPVVQ6IG51bWJlciA9IDE1NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BSSU5UX0RBVEE6IG51bWJlciA9IDE2MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JJR0hUUzogbnVtYmVyID0gMTYxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUFJJTlRFUl9TRVRVUDogbnVtYmVyID0gMTYyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRPX1NFQVJDSDogbnVtYmVyID0gMTY1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0hPV19FWFBSRVNTSU9OOiBudW1iZXIgPSAxNjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BQ1RJT05fTElTVDogbnVtYmVyID0gMTY3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfS0VZQk9BUkRfTElTVDogbnVtYmVyID0gMTY4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQVBQTElDQVRJT05TOiBudW1iZXIgPSAxNzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BUFBMX1BST1BFUlRJRVM6IG51bWJlciA9IDE3NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01JTklNVU1fSEVJR0hUOiBudW1iZXIgPSAxNzY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfVU5ETzogbnVtYmVyID0gMTgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVUVVJOX1RPX1RSRUU6IG51bWJlciA9IDE4MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0dPX1RPX1RPUDogbnVtYmVyID0gMTgyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRlVOQ1RJT05fTElTVDogbnVtYmVyID0gMTgzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9HT046IG51bWJlciA9IDE4NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYRUNVVEVfUkVQT1JUOiBudW1iZXIgPSAxODg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9PSzogbnVtYmVyID0gMTg5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQVBQTElDQVRJT05TX0xJU1Q6IG51bWJlciA9IDE5MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFQ1JFVF9OQU1FUzogbnVtYmVyID0gMTkyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUklHSFRTX0xJU1Q6IG51bWJlciA9IDE5MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NIRUNLX1RPX0VORDogbnVtYmVyID0gMTk0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU1FMX0NPTU1BTkQ6IG51bWJlciA9IDE5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfR1JPVVBTOiBudW1iZXIgPSAxOTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJMRV9MT0NBVEU6IG51bWJlciA9IDE5NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RBQkxFX0xPQ0FURV9ORVhUOiBudW1iZXIgPSAxOTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQk1TOiBudW1iZXIgPSAxOTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfS0VZV09SRFM6IG51bWJlciA9IDIwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9PUEVSQVRPUlM6IG51bWJlciA9IDIwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9UQUJMRVM6IG51bWJlciA9IDIwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NRTF9DT0xVTU5TOiBudW1iZXIgPSAyMDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfRkxJUF9ERVNDOiBudW1iZXIgPSAyMDU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfQVNTSVNUOiBudW1iZXIgPSAyMDY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUEQ6IG51bWJlciA9IDIwNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX05VTExfU0VUVElOR1M6IG51bWJlciA9IDIwODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUX0VEVF9OVUxMOiBudW1iZXIgPSAyMDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUklOVF9BVFRSSUJVVEVTOiBudW1iZXIgPSAyMTE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9OT1JNQUw6IG51bWJlciA9IDIxMjtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9JTkRFTlQ6IG51bWJlciA9IDIxNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0JVTExFVDogbnVtYmVyID0gMjE2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTogbnVtYmVyID0gMjE5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMjogbnVtYmVyID0gMjIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMzogbnVtYmVyID0gMjIxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNDogbnVtYmVyID0gMjIyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNTogbnVtYmVyID0gMjIzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNjogbnVtYmVyID0gMjI0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fNzogbnVtYmVyID0gMjI1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fODogbnVtYmVyID0gMjI2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fOTogbnVtYmVyID0gMjI3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTA6IG51bWJlciA9IDIyODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzExOiBudW1iZXIgPSAyMjk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xMjogbnVtYmVyID0gMjMwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTM6IG51bWJlciA9IDIzMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzE0OiBudW1iZXIgPSAyMzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xNTogbnVtYmVyID0gMjMzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTY6IG51bWJlciA9IDIzNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzE3OiBudW1iZXIgPSAyMzU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VU0VSX0FDVElPTl8xODogbnVtYmVyID0gMjM2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVNFUl9BQ1RJT05fMTk6IG51bWJlciA9IDIzNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJfQUNUSU9OXzIwOiBudW1iZXIgPSAyMzg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DTElQX0NPUFk6IG51bWJlciA9IDIzOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMSVBfUEFTVEU6IG51bWJlciA9IDI0MDtcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVFJMX0hJVDogbnVtYmVyID0gMjQyO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUEFHRV9IRUFERVI6IG51bWJlciA9IDI0MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBR0VfRk9PVEVSOiBudW1iZXIgPSAyNDQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ISVQ6IG51bWJlciA9IDI0NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0lOU0VSVF9PQkpFQ1Q6IG51bWJlciA9IDI0NjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBU1RFX0xJTks6IG51bWJlciA9IDI0NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTlRST0xfTkFNRV9MSVNUOiBudW1iZXIgPSAyNDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XSU5TSVpFOiBudW1iZXIgPSAyNDk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XSU5NT1ZFOiBudW1iZXIgPSAyNTA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9MQU5HVUFHRVM6IG51bWJlciA9IDI1MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RERl9NQUtFOiBudW1iZXIgPSAyNTI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9VUERBVEVfTElOSzogbnVtYmVyID0gMjUzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSFRNTF9TVFlMRVM6IG51bWJlciA9IDI1NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VOSU5ERU5UOiBudW1iZXIgPSAyNTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BTElHTl9MRUZUOiBudW1iZXIgPSAyNTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BTElHTl9SSUdIVDogbnVtYmVyID0gMjU3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0VOVEVSOiBudW1iZXIgPSAyNTg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9BRERfSFlQRVJMSU5LOiBudW1iZXIgPSAyNTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ERUxFVEVfSFlQRVJMSU5LOiBudW1iZXIgPSAyNjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DSEVDS19PQkpFQ1RfTElTVDogbnVtYmVyID0gMjY1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEJMX1BMQUNFTUVOVDogbnVtYmVyID0gMjY3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09MX1NPUlQ6IG51bWJlciA9IDI2ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VTRVJTX0xJU1Q6IG51bWJlciA9IDI2OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFUlZJQ0VTOiBudW1iZXIgPSAyNzA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT1BZX1NVQlRSRUU6IG51bWJlciA9IDI3MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1BBU1RFX1NVQlRSRUU6IG51bWJlciA9IDI3MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1ZJU1VBTF9DT05ORUNUSU9OOiBudW1iZXIgPSAyNzM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9TUUxfV0hFUkVfQ0xBVVNFOiBudW1iZXIgPSAyNzQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9MT0NLSU5HX0FCT1JUOiBudW1iZXIgPSAyNzY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQUJfUFJFVjogbnVtYmVyID0gMjc1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9DS0lOR19SRVRSWTogbnVtYmVyID0gMjc3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTE9DS0lOR19ERVRBSUxTOiBudW1iZXIgPSAyNzg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9FRFRfTUFSS0FMTDogbnVtYmVyID0gMjg2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU9OSVRPUl9ERUJVR0dFUjogbnVtYmVyID0gMjg3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfUkVGUkVTSF9SRUNPUkQ6IG51bWJlciA9IDI5MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JUX1JFRlJFU0hfU0NSRUVOOiBudW1iZXIgPSAyOTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SVF9SRUZSRVNIX1ZJRVc6IG51bWJlciA9IDI5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTVBPTkVOVFM6IG51bWJlciA9IDI5NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PREVMUzogbnVtYmVyID0gMjk5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfV0VCX09OX0RCTElDSzogbnVtYmVyID0gMzAxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfV0VCX0NMSUNLOiBudW1iZXIgPSAzMDI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9OWFRMSU5FOiBudW1iZXIgPSAzMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9QUlZMSU5FOiBudW1iZXIgPSAzMTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9QUlZQQUdFOiBudW1iZXIgPSAzMTY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9DVFJMX1RCTF9OWFRQQUdFOiBudW1iZXIgPSAzMTc7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9TSElGVF9UQkxfTlhUTElORTogbnVtYmVyID0gMzE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTU1fU0hJRlRfVEJMX1BSVkxJTkU6IG51bWJlciA9IDMxOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01NX1NISUZUX1RCTF9QUlZQQUdFOiBudW1iZXIgPSAzMjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9NTV9TSElGVF9UQkxfTlhUUEFHRTogbnVtYmVyID0gMzIxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQlJPV1NFUl9FU0M6IG51bWJlciA9IDM0MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NMT1NFX0FMTF9XSU46IG51bWJlciA9IDM3MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VYVF9FVkVOVDogbnVtYmVyID0gMzc3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9FWFBBTkQ6IG51bWJlciA9IDM3ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfQ09MTEFQU0U6IG51bWJlciA9IDM3OTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfQ1JFX1NPTjogbnVtYmVyID0gMzgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9TRUxDSEFOR0lORzogbnVtYmVyID0gMzgxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9SRU5BTUVfUlQ6IG51bWJlciA9IDM4MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfTU9WRVRPX1BBUkVOVDogbnVtYmVyID0gMzgzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9NT1ZFVE9fRklSU1RDSElMRDogbnVtYmVyID0gMzg0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVFJFRV9NT1ZFVE9fUFJFVlNJQkxJTkc6IG51bWJlciA9IDM4NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfTU9WRVRPX05FWFRTSUJMSU5HOiBudW1iZXIgPSAzODY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9ST0xMQkFDSzogbnVtYmVyID0gMzg3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUlRfUVVJVDogbnVtYmVyID0gMzkzO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RSRUVfUkVOQU1FX1JUX0VYSVQ6IG51bWJlciA9IDQxMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFUlZFUl9URVJNSU5BVElPTjogbnVtYmVyID0gNDIwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU1VCRk9STV9SRUZSRVNIOiBudW1iZXIgPSA0MzI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT05URVhUX01FTlU6IG51bWJlciA9IDQzOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX05FWFRfUlRfV0lORE9XOiBudW1iZXIgPSA0NjI7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUkVWX1JUX1dJTkRPVzogbnVtYmVyID0gNDYzO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRU1QVFlfREFUQVZJRVc6IG51bWJlciA9IDUyMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0JST1dTRVJfU1RTX1RFWFRfQ0hBTkdFOiBudW1iZXIgPSA1Mjk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQkxfUkVPUkRFUjogbnVtYmVyID0gNTM5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1RSTF9NT0RJRlk6IG51bWJlciA9IDU0NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NVQkZPUk1fT1BFTjogbnVtYmVyID0gNTQ1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09MX0NMSUNLOiBudW1iZXIgPSA1NTU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QT1NUX1JFRlJFU0hfQllfUEFSRU5UOiBudW1iZXIgPSA1NTk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DT01CT19EUk9QX0RPV046IG51bWJlciA9IDU2MDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JBSVNFX0JVVFRPTl9FVkVOVDogbnVtYmVyID0gNTYxO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVBEQVRFX0ROX0NPTlRST0xfVkFMVUU6IG51bWJlciA9IDU2MjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0dFVF9EQVRBVklFV19DT05URU5UOiBudW1iZXIgPSA1NjM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9QUkVTUzogbnVtYmVyID0gNTY0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfTVVMVElfTUFSS19ISVQ6IG51bWJlciA9IDU2NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RWQ09OVFJPTF9ST1dfQ0hBTkdFOiBudW1iZXIgPSA1NjY7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EVkNPTlRST0xfVVBEQVRFX0NPTFVNTl9WQUxVRTogbnVtYmVyID0gNTY3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU1dJVENIX1RPX09GRkxJTkU6IG51bWJlciA9IDU2ODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1VOQVZBSUxBQkxFX1NFUlZFUjogbnVtYmVyID0gNTY5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVVBEQVRFX0RBVEFWSUVXX1RPX0RBVEFTT1VSQ0U6IG51bWJlciA9IDU3MTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VOQUJMRV9FVkVOVFM6IG51bWJlciA9IDU3MztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1dSSVRFX0VSUk9SX1RPX1NFUlZFUl9MT0c6IG51bWJlciA9IDU3NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX09QRU5fRk9STV9ERVNJR05FUjogbnVtYmVyID0gNTc4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRkVUQ0hfREFUQV9DT05UUk9MX1ZBTFVFUzogbnVtYmVyID0gNTc5O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09MX0ZJTFRFUjogbnVtYmVyID0gNTgwO1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfSU5ERVhfQ0hBTkdFOiBudW1iZXIgPSA1ODU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9XRUJDTElFTlRfUk9VVEU6IG51bWJlciA9IDU5NDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0VOVEVSX1JPV19FRElUSU5HOm51bWJlciA9IDU5NTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NVQkZPUk1fQ0xPU0U6IG51bWJlciA9IDU5NztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX05PX1BST0dfRVhFX1JJR0hUUzogbnVtYmVyID0gNjE5O1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NSRUxJTkVfQUJPVkU6IG51bWJlciA9IDYzNDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTlRFWFRfVEVSTUlOQVRJT046IG51bWJlciA9IDYzNTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NPTlRFWFRfVElNRU9VVF9SRVNFVDogbnVtYmVyID0gNjM2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09OVEVYVF9SRU1PVkU6IG51bWJlciA9IDY0NztcclxuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT1RfQ05UOm51bWJlciA9IDY0ODtcclxuXHJcbiAgLy8gTkVXIElOVEVSTkFMIEVWRU5UU1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVEFTS19QUkVGSVg6IG51bWJlciA9IDEwMDE7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UQVNLX1NVRkZJWDogbnVtYmVyID0gMTAwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1JFQ19QUkVGSVg6IG51bWJlciA9IDEwMDM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9SRUNfU1VGRklYOiBudW1iZXIgPSAxMDA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1RSTF9QUkVGSVg6IG51bWJlciA9IDEwMDU7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DVFJMX1NVRkZJWDogbnVtYmVyID0gMTAwNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfVkVSSUZJQ0FUSU9OOiBudW1iZXIgPSAxMDA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfVkFSSUFCTEU6IG51bWJlciA9IDEwMDg7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBVklFV19UT1A6IG51bWJlciA9IDEwMTM7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9EQVRBVklFV19CT1RUT006IG51bWJlciA9IDEwMTQ7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9DQUNIRV9QUkVWOiBudW1iZXIgPSAxMDE1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ0FDSEVfTkVYVDogbnVtYmVyID0gMTAxNjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NZQ0xFX05FWFRfUkVDOiBudW1iZXIgPSAxMDE3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1lDTEVfTkVYVF9ERUxFVEVfUkVDOiBudW1iZXIgPSAxMDE4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ09NUFVURTogbnVtYmVyID0gMTAyMDtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0RVTU1ZOiBudW1iZXIgPSAxMTExO1xyXG5cclxuICAvLyBJTlRFUk5BTCBFVkVOVFMgZm9yIFdlYkNsaWVudFxyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfQ1RSTF9GT0NVUzogbnVtYmVyID0gMjAwMTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfTU9VU0VVUDogbnVtYmVyID0gMjAwMjtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfS0VZRE9XTjogbnVtYmVyID0gMjAwMztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1RJTUVSOiBudW1iZXIgPSAyMDA0O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfU0VMRUNUSU9OOiBudW1iZXIgPSAyMDA1O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUkVTSVpFOiBudW1iZXIgPSAyMDA2O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfUk9XX0RBVEFfQ1VSUl9QQUdFOiBudW1iZXIgPSAyMDA3O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRFZfVE9fR1VJOiBudW1iZXIgPSAyMDA4O1xyXG4gIHN0YXRpYyByZWFkb25seSBNR19BQ1RfRElTQUJMRV9FVkVOVFM6IG51bWJlciA9IDIwMTA7XHJcbiAgLy8gdG9nZ2xlIGluc2VydCBpcyB0ZW1wIDUzOSAsIGl0IHNob3VsZCBtYXRjaCB0aGUgY29kZSBpbiBvbmxpbmUgb25jZSBpdCB3aWxsIGJlIGNyZWF0ZWQuXHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9UT0dHTEVfSU5TRVJUOiBudW1iZXIgPSAyMDExO1xyXG5cclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0lOQ1JFTUVOVEFMX0xPQ0FURTogbnVtYmVyID0gMjAxNztcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX01PVkVfVE9fRklSU1RfQ1RSTDogbnVtYmVyID0gMjAxODtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX1NFVF9FWFRFUk5BTF9WQUxVRTogbnVtYmVyID0gMjAxOTtcclxuICBzdGF0aWMgcmVhZG9ubHkgTUdfQUNUX0NUUkxfRk9DVVNfT05fTk9OX01BR0lDX0NPTlRST0w6IG51bWJlciA9IDIwMjA7XHJcbiAgc3RhdGljIHJlYWRvbmx5IE1HX0FDVF9GRVRDSF9SRUNPUkRTX0FIRUFEX0ZST01fU0VSVkVSOiBudW1iZXIgPSAyMDIxOyAvLyBmb3IgcGFnaW5hdGVkIHRhYmxlLCBmZXRjaCByZWNvcmRzIGluIGJhY2tncm91bmQgZGVwZW5kaW5nIG9uIFBST1BfVFlQRV9TRVJWRVJfUkVBRF9BSEVBRFxyXG5cclxuXHJcblxyXG4gIHN0YXRpYyAgQnVpbHRpbkV2ZW50KGV2ZW50Q29kZTogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZXZlbnRDb2RlID49IDEwMDAgfHwgZXZlbnRDb2RlID09PSBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUE9TVF9SRUZSRVNIX0JZX1BBUkVOVDtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,216 @@
1
+ import { Logger_LogLevels, Logger_MessageDirection } from "./enums";
2
+ import { DateTime, Debug, Exception, NString, StringBuilder, Thread, isNullOrUndefined } from "@magic-xpa/mscorelib";
3
+ import { OSEnvironment } from "./PlatformUtils";
4
+ import { DateTimeUtils } from "./DateTimeUtils";
5
+ import { XMLConstants } from "./XMLConstants";
6
+ import { RequestInfo } from "./RequestInfo";
7
+ import { StrUtil } from "./StrUtil";
8
+ export var LogType;
9
+ (function (LogType) {
10
+ LogType[LogType["info"] = 1] = "info";
11
+ LogType[LogType["warning"] = 2] = "warning";
12
+ LogType[LogType["error"] = 3] = "error";
13
+ })(LogType || (LogType = {}));
14
+ export class Logger {
15
+ constructor() {
16
+ this.LogLevel = 0;
17
+ this.ShouldBeep = false;
18
+ }
19
+ static set Instance(value) {
20
+ Logger.instance = value;
21
+ }
22
+ static get Instance() {
23
+ if (Logger.instance === null) {
24
+ Logger.instance = new Logger();
25
+ }
26
+ return Logger.instance;
27
+ }
28
+ Initialize(logLevel, shouldBeep) {
29
+ try {
30
+ this.LogLevel = logLevel;
31
+ this.ShouldBeep = shouldBeep;
32
+ }
33
+ catch (e) {
34
+ this.WriteDevToLog("ClientManager.init(): " + e.Message);
35
+ }
36
+ }
37
+ ShouldLog(logLevel) {
38
+ if (arguments.length === 1)
39
+ return this.ShouldLog_0(logLevel);
40
+ else
41
+ return this.ShouldLog_1();
42
+ }
43
+ ShouldLog_0(logLevel) {
44
+ return this.LogLevel === logLevel;
45
+ }
46
+ ShouldLog_1() {
47
+ return this.LogLevel > Logger_LogLevels.None;
48
+ }
49
+ ShouldLogServerRelatedMessages() {
50
+ return (this.ShouldLogExtendedServerRelatedMessages() || Logger.Instance.ShouldLog(Logger_LogLevels.Server)) && this.LogLevel !== Logger_LogLevels.Basic;
51
+ }
52
+ ShouldLogExtendedServerRelatedMessages() {
53
+ return (Logger.Instance.ShouldLog(Logger_LogLevels.ServerMessages) || Logger.Instance.ShouldLog(Logger_LogLevels.Support) || Logger.Instance.ShouldLog(Logger_LogLevels.Development)) && this.LogLevel !== Logger_LogLevels.Basic;
54
+ }
55
+ WriteToLog(msg, openIfNecessary, logType = LogType.info) {
56
+ if (this.LogLevel > Logger_LogLevels.None || openIfNecessary) {
57
+ msg = NString.Format("{0} {1}", (this.LogLevel === Logger_LogLevels.Basic) ? new Date().toISOString() : DateTimeUtils.ToString(DateTime.Now, XMLConstants.ERROR_LOG_TIME_FORMAT, this), msg);
58
+ switch (logType) {
59
+ case LogType.error:
60
+ console.error(msg);
61
+ break;
62
+ case LogType.warning:
63
+ console.warn(msg);
64
+ break;
65
+ default:
66
+ console.log(msg);
67
+ }
68
+ }
69
+ }
70
+ WriteServerToLog(msg) {
71
+ if (this.ShouldLogServerRelatedMessages()) {
72
+ this.WriteToLog(NString.Format("Server, Thread={0}: ", Thread.CurrentThread.ManagedThreadId) + msg, false, LogType.info);
73
+ }
74
+ }
75
+ WriteServerMessagesToLog(msg) {
76
+ if (this.ShouldLogExtendedServerRelatedMessages()) {
77
+ this.WriteToLog("Server#: " + msg, false, LogType.info);
78
+ }
79
+ }
80
+ WriteSupportToLog(msg, skipLine) {
81
+ if (this.LogLevel >= Logger_LogLevels.Support && this.LogLevel !== Logger_LogLevels.Basic) {
82
+ if (skipLine) {
83
+ this.WriteToLog("SUPPORT: " + msg, false, LogType.info);
84
+ }
85
+ else {
86
+ this.WriteToLog("SUPPORT: " + msg + OSEnvironment.EolSeq + "-----------------------------------------------------------------------------------------------------------", false, LogType.info);
87
+ }
88
+ }
89
+ }
90
+ WriteGuiToLog(msg) {
91
+ if (this.LogLevel >= Logger_LogLevels.Gui && this.LogLevel !== Logger_LogLevels.Basic) {
92
+ this.WriteToLog(msg, false, LogType.info);
93
+ }
94
+ }
95
+ WriteDevToLog(msg) {
96
+ if (this.LogLevel >= Logger_LogLevels.Development && this.LogLevel !== Logger_LogLevels.Basic) {
97
+ this.WriteToLog("DEV: " + msg, false, LogType.info);
98
+ }
99
+ }
100
+ WriteBasicToLog(messageDirection, contextID, sessionCounter, clientID, serverID, responseTime, statusCode, httpHeaders, contentLength) {
101
+ if (this.LogLevel === Logger_LogLevels.Basic) {
102
+ let text = httpHeaders;
103
+ text = text.trim();
104
+ text = NString.Replace(text, "\r\n", "|");
105
+ let arg_E4_0 = "RIA,{0}_{1},{2},{3},{4},{5},-,{6},{7},{8},{9},{10},{11}";
106
+ let expr_3E = new Array(12);
107
+ expr_3E[1] = Thread.CurrentThread.ManagedThreadId;
108
+ expr_3E[2] = new Date().toISOString();
109
+ expr_3E[3] = ((messageDirection === Logger_MessageDirection.MessageLeaving) ? "MSGL" : "MSGE");
110
+ expr_3E[4] = contextID;
111
+ expr_3E[5] = sessionCounter;
112
+ expr_3E[6] = clientID;
113
+ expr_3E[7] = serverID;
114
+ expr_3E[8] = ((responseTime !== 0) ? responseTime.toString() : "-");
115
+ let arg_D3_1 = 9;
116
+ let arg_D3_2;
117
+ arg_D3_2 = statusCode;
118
+ expr_3E[arg_D3_1] = arg_D3_2;
119
+ expr_3E[10] = text;
120
+ expr_3E[11] = contentLength;
121
+ let value = NString.Format(arg_E4_0, expr_3E);
122
+ console.log(value);
123
+ }
124
+ }
125
+ WriteRequestInfoToLog(requestInfo, extraMessageStr) {
126
+ if (this.LogLevel === Logger_LogLevels.RequestInfo) {
127
+ console.log(extraMessageStr, RequestInfo.clone(requestInfo));
128
+ }
129
+ }
130
+ WriteBasicErrorToLog() {
131
+ Debug.Assert(this.LogLevel === Logger_LogLevels.Basic);
132
+ }
133
+ WriteErrorToLog(msg) {
134
+ this.WriteToLog("MagicWeb [ERROR]: " + StrUtil.getConsoleErorString(msg), true, LogType.error);
135
+ }
136
+ WriteExceptionToLog(msgOrEx, msg) {
137
+ if (msgOrEx instanceof Error) {
138
+ this.WriteExceptionToLog_2(msgOrEx, msg);
139
+ return;
140
+ }
141
+ if (arguments.length === 1 && (msgOrEx !== null || msgOrEx instanceof Exception)) {
142
+ this.WriteExceptionToLog_1(msgOrEx);
143
+ return;
144
+ }
145
+ this.WriteExceptionToLog_3(msgOrEx, msg);
146
+ }
147
+ WriteExceptionToLogWithMsg(msg) {
148
+ this.WriteToLog("MagicWeb [ERROR]: " + StrUtil.getConsoleErorString(msg), true, LogType.error);
149
+ }
150
+ WriteExceptionToLog_1(ex) {
151
+ this.WriteExceptionToLogWithMsg(NString.Format("{0} : {1}{2}{3}{4}", [
152
+ ex.GetType(), OSEnvironment.EolSeq, ex.StackTrace, OSEnvironment.EolSeq, ex.Message
153
+ ]));
154
+ }
155
+ WriteExceptionToLog_2(ex, message) {
156
+ if (isNullOrUndefined(message))
157
+ this.WriteExceptionToLogWithMsg(NString.Format("{0}{1}{2}", [ex.stack, OSEnvironment.EolSeq, ex.message]));
158
+ else
159
+ this.WriteExceptionToLogWithMsg(NString.Format("{0}{1}{2}{4}{5}", [message, OSEnvironment.EolSeq, ex.stack, OSEnvironment.EolSeq, ex.message]));
160
+ }
161
+ WriteExceptionToLog_3(ex, msg) {
162
+ this.WriteExceptionToLogWithMsg(NString.Format("{0}, {1} : {2}{3}{4}{5}", [
163
+ ex.GetType(), msg, OSEnvironment.EolSeq, ex.StackTrace, OSEnvironment.EolSeq, ex.Message
164
+ ]));
165
+ }
166
+ WriteWarningToLog(msgOrEx, msg) {
167
+ if (arguments.length === 1 && msgOrEx !== null) {
168
+ if (msgOrEx instanceof Exception)
169
+ this.WriteWarningToLog_1(msgOrEx);
170
+ else if (msgOrEx instanceof Error)
171
+ this.WriteWarningToLog_2(msgOrEx);
172
+ }
173
+ else
174
+ this.WriteWarningToLog_3(msgOrEx, msg);
175
+ }
176
+ WriteWarningToLogWithMsg(msg) {
177
+ if (this.LogLevel !== Logger_LogLevels.Basic) {
178
+ this.WriteToLog("MagicWeb [WARNING]: " + msg, true, LogType.warning);
179
+ }
180
+ }
181
+ WriteWarningToLog_1(ex) {
182
+ this.WriteWarningToLogWithMsg(ex.GetType() + " : " + OSEnvironment.EolSeq + ex.StackTrace + OSEnvironment.EolSeq + ex.Message);
183
+ }
184
+ WriteWarningToLog_2(ex) {
185
+ this.WriteWarningToLogWithMsg(NString.Format("{0}{1}{2}", [
186
+ ex.stack, OSEnvironment.EolSeq, ex.message
187
+ ]));
188
+ }
189
+ WriteWarningToLog_3(ex, msg) {
190
+ this.WriteWarningToLogWithMsg(NString.Format("{0}, {1} : {2}{3}{4}{5}", [
191
+ ex.GetType(), msg, OSEnvironment.EolSeq, ex.StackTrace, OSEnvironment.EolSeq, ex.Message
192
+ ]));
193
+ }
194
+ WriteStackTrace(stackTrace, framesToPrint, traceTitle) {
195
+ if (traceTitle === null) {
196
+ traceTitle = "Stack trace:";
197
+ }
198
+ let stringBuilder = new StringBuilder(traceTitle + OSEnvironment.EolSeq);
199
+ let frames = stackTrace.GetFrames();
200
+ let array = frames;
201
+ for (let i = 0; i < array.length; i = i + 1) {
202
+ let stackFrame = array[i];
203
+ framesToPrint = framesToPrint - 1;
204
+ stringBuilder.Append(stackFrame.toString());
205
+ if (framesToPrint === 0) {
206
+ stringBuilder.Append("\t... more stack frames ...\n");
207
+ break;
208
+ }
209
+ }
210
+ this.WriteToLog(stringBuilder.ToString(), true);
211
+ }
212
+ Flush() {
213
+ }
214
+ }
215
+ Logger.instance = null;
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdXRpbHMvc3JjL0xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDbEUsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDL0gsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBR2xDLE1BQU0sQ0FBTixJQUFZLE9BSVg7QUFKRCxXQUFZLE9BQU87SUFDakIscUNBQVEsQ0FBQTtJQUNSLDJDQUFPLENBQUE7SUFDUCx1Q0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQUpXLE9BQU8sS0FBUCxPQUFPLFFBSWxCO0FBT0QsTUFBTSxPQUFPLE1BQU07SUFvVmpCO1FBbFZBLGFBQVEsR0FBcUIsQ0FBQyxDQUFDO1FBSy9CLGVBQVUsR0FBWSxLQUFLLENBQUM7SUE4VTVCLENBQUM7SUE1VUQsTUFBTSxLQUFLLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLE1BQU0sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLEtBQUssUUFBUTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQzVCLE1BQU0sQ0FBQyxRQUFRLEdBQUcsSUFBSSxNQUFNLEVBQUUsQ0FB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QUksVUFBVSxHQUFpQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsYUFBYSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFFbEMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUU1QyxJQUFJLGFBQWEsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLGFBQWEsQ0FBQyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztnQkFDdEQsTUFBTTthQUNQO1NBQ0Y7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBS0QsS0FBSztJQUVMLENBQUM7O0FBalZNLGVBQVEsR0FBVyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0xvZ2dlcl9Mb2dMZXZlbHMsIExvZ2dlcl9NZXNzYWdlRGlyZWN0aW9ufSBmcm9tIFwiLi9lbnVtc1wiO1xyXG5pbXBvcnQge0RhdGVUaW1lLCBEZWJ1ZywgRXhjZXB0aW9uLCBOU3RyaW5nLCBTdGFja1RyYWNlLCBTdHJpbmdCdWlsZGVyLCBUaHJlYWQsIGlzTnVsbE9yVW5kZWZpbmVkfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHtPU0Vudmlyb25tZW50fSBmcm9tIFwiLi9QbGF0Zm9ybVV0aWxzXCI7XHJcbmltcG9ydCB7RGF0ZVRpbWVVdGlsc30gZnJvbSBcIi4vRGF0ZVRpbWVVdGlsc1wiO1xyXG5pbXBvcnQge1hNTENvbnN0YW50c30gZnJvbSBcIi4vWE1MQ29uc3RhbnRzXCI7XHJcbmltcG9ydCAqIGFzIEpTU3RhY2tUcmFjZSBmcm9tICdzdGFja3RyYWNlLWpzJztcclxuaW1wb3J0IHtSZXF1ZXN0SW5mb30gZnJvbSBcIi4vUmVxdWVzdEluZm9cIjtcclxuaW1wb3J0IHtTdHJVdGlsfSBmcm9tIFwiLi9TdHJVdGlsXCI7XHJcbmltcG9ydCBKU1N0YWNrRnJhbWUgPSBKU1N0YWNrVHJhY2UuU3RhY2tGcmFtZTtcclxuXHJcbmV4cG9ydCBlbnVtIExvZ1R5cGUge1xyXG4gIGluZm8gPSAxLFxyXG4gIHdhcm5pbmcsXHJcbiAgZXJyb3JcclxufVxyXG5cclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIExvZ2dlciBjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBjbGllbnQgc2lkZSBsb2dnaW5nIC4gSXQgd2lsbCBjaGVjayBmb3IgdmFyaW91cyBsb2cgbGV2ZWxzIGFuZCBhY2NvcmRpbmdseSB3aWxsIHdyaXRlIG1lc3NhZ2VzIGluIGxvZyBmaWxlLlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vL0BkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXIge1xyXG4gIHN0YXRpYyBpbnN0YW5jZTogTG9nZ2VyID0gbnVsbDtcclxuICBMb2dMZXZlbDogTG9nZ2VyX0xvZ0xldmVscyA9IDA7IC8vIEludGVybmFsTG9nTGV2ZWxcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBXaGlsZSB3cml0aW5nIHRoZSBlcnJvciBtZXNzYWdlcyBpbiB0aGUgZmlsZSBwbGF5IHRoZSBiZWVwLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgU2hvdWxkQmVlcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBzdGF0aWMgc2V0IEluc3RhbmNlKHZhbHVlOiBMb2dnZXIpIHtcclxuICAgIExvZ2dlci5pbnN0YW5jZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldCBJbnN0YW5jZSgpOiBMb2dnZXIge1xyXG4gICAgaWYgKExvZ2dlci5pbnN0YW5jZSA9PT0gbnVsbCkge1xyXG4gICAgICBMb2dnZXIuaW5zdGFuY2UgPSBuZXcgTG9nZ2VyKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTG9nZ2VyLmluc3RhbmNlO1xyXG4gIH1cclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuICAvLy8gSW5pdGlhbGl6ZSBsb2dnZXJcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImxvZ0xldmVsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpbnRlcm5hbExvZ1N5bmNcIj48L3BhcmFtPlxyXG4gIEluaXRpYWxpemUobG9nTGV2ZWw6IExvZ2dlcl9Mb2dMZXZlbHMsIHNob3VsZEJlZXA6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIGxldCBsb2dTeW5jOiBMb2dTeW5jTW9kZSAgPSBMb2dTeW5jTW9kZS5TZXNzaW9uO1xyXG4gICAgICB0aGlzLkxvZ0xldmVsID0gbG9nTGV2ZWw7XHJcbiAgICAgIHRoaXMuU2hvdWxkQmVlcCA9IHNob3VsZEJlZXA7XHJcblxyXG4gICAgICAvLyBUT0RPOiBpbXBsZW1lbnRcclxuLy8gICBTdHJpbmcgc3RyTG9nU3luYyA9IGludGVybmFsTG9nU3luYztcclxuLy8gICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHN0ckxvZ1N5bmMpKVxyXG4vLyB7XHJcbi8vICAgaWYgKHN0ckxvZ1N5bmMuU3RhcnRzV2l0aChcIk1cIiwgU3RyaW5nQ29tcGFyaXNvbi5DdXJyZW50Q3VsdHVyZUlnbm9yZUNhc2UpKVxyXG4vLyAgIGxvZ1N5bmMgPSBMb2dTeW5jTW9kZS5NZXNzYWdlO1xyXG4vLyAgIGVsc2UgaWYgKHN0ckxvZ1N5bmMuU3RhcnRzV2l0aChcIkZcIiwgU3RyaW5nQ29tcGFyaXNvbi5DdXJyZW50Q3VsdHVyZUlnbm9yZUNhc2UpKVxyXG4vLyAgIGxvZ1N5bmMgPSBMb2dTeW5jTW9kZS5GbHVzaDtcclxuLy8gfVxyXG4vL1xyXG4gICAgfVxyXG4gICAgY2F0Y2ggKGUpIHtcclxuICAgICAgdGhpcy5Xcml0ZURldlRvTG9nKFwiQ2xpZW50TWFuYWdlci5pbml0KCk6IFwiICsgZS5NZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT48L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibG9nTGV2ZWxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcblxyXG4gIFNob3VsZExvZyhsb2dMZXZlbDogTG9nZ2VyX0xvZ0xldmVscyk6IGJvb2xlYW47XHJcbiAgU2hvdWxkTG9nKCk6IGJvb2xlYW47XHJcbiAgU2hvdWxkTG9nKGxvZ0xldmVsPzogTG9nZ2VyX0xvZ0xldmVscyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHJldHVybiB0aGlzLlNob3VsZExvZ18wKGxvZ0xldmVsKTtcclxuICAgIGVsc2VcclxuICAgICAgcmV0dXJuIHRoaXMuU2hvdWxkTG9nXzEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2hvdWxkTG9nXzAobG9nTGV2ZWw6IExvZ2dlcl9Mb2dMZXZlbHMpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLkxvZ0xldmVsID09PSBsb2dMZXZlbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgU2hvdWxkTG9nXzEoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5Mb2dMZXZlbCA+IExvZ2dlcl9Mb2dMZXZlbHMuTm9uZTtcclxuICB9XHJcblxyXG4gIFNob3VsZExvZ1NlcnZlclJlbGF0ZWRNZXNzYWdlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5TaG91bGRMb2dFeHRlbmRlZFNlcnZlclJlbGF0ZWRNZXNzYWdlcygpIHx8IExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2coTG9nZ2VyX0xvZ0xldmVscy5TZXJ2ZXIpKSAmJiB0aGlzLkxvZ0xldmVsICE9PSBMb2dnZXJfTG9nTGV2ZWxzLkJhc2ljO1xyXG4gIH1cclxuXHJcbiAgU2hvdWxkTG9nRXh0ZW5kZWRTZXJ2ZXJSZWxhdGVkTWVzc2FnZXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2coTG9nZ2VyX0xvZ0xldmVscy5TZXJ2ZXJNZXNzYWdlcykgfHwgTG9nZ2VyLkluc3RhbmNlLlNob3VsZExvZyhMb2dnZXJfTG9nTGV2ZWxzLlN1cHBvcnQpIHx8IExvZ2dlci5JbnN0YW5jZS5TaG91bGRMb2coTG9nZ2VyX0xvZ0xldmVscy5EZXZlbG9wbWVudCkpICYmIHRoaXMuTG9nTGV2ZWwgIT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWM7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1zZ1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwib3BlbklmTmVjZXNzYXJ5XCI+b3BlbiB0aGUgbG9nIGZpbGUgaWYgbm90IG9wZW5lZCB5ZXQ8L3BhcmFtPlxyXG5cclxuICBXcml0ZVRvTG9nKG1zZzogc3RyaW5nLCBvcGVuSWZOZWNlc3Nhcnk6IGJvb2xlYW4sIGxvZ1R5cGU6IExvZ1R5cGUgPSBMb2dUeXBlLmluZm8pOiB2b2lkIHtcclxuXHJcbiAgICBpZiAodGhpcy5Mb2dMZXZlbCA+IExvZ2dlcl9Mb2dMZXZlbHMuTm9uZSB8fCBvcGVuSWZOZWNlc3NhcnkpIHtcclxuICAgICAgbXNnID0gTlN0cmluZy5Gb3JtYXQoXCJ7MH0gezF9XCIsICh0aGlzLkxvZ0xldmVsID09PSBMb2dnZXJfTG9nTGV2ZWxzLkJhc2ljKSA/IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSA6IERhdGVUaW1lVXRpbHMuVG9TdHJpbmcoRGF0ZVRpbWUuTm93LCBYTUxDb25zdGFudHMuRVJST1JfTE9HX1RJTUVfRk9STUFULCB0aGlzKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnKTtcclxuXHJcbiAgICAgIHN3aXRjaCAobG9nVHlwZSkge1xyXG4gICAgICAgIGNhc2UgTG9nVHlwZS5lcnJvcjpcclxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IobXNnKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgTG9nVHlwZS53YXJuaW5nOlxyXG4gICAgICAgICAgY29uc29sZS53YXJuKG1zZyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgY29uc29sZS5sb2cobXNnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyB3cml0ZSBhIHNlcnZlciBhY2Nlc3MgdG8gdGhlIGxvZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibXNnXCI+dGhlIG1lc3NhZ2UgdG8gd3JpdGUgdG8gdGhlIGxvZzwvcGFyYW0+XHJcbiAgV3JpdGVTZXJ2ZXJUb0xvZyhtc2c6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU2hvdWxkTG9nU2VydmVyUmVsYXRlZE1lc3NhZ2VzKCkpIHtcclxuICAgICAgdGhpcy5Xcml0ZVRvTG9nKE5TdHJpbmcuRm9ybWF0KFwiU2VydmVyLCBUaHJlYWQ9ezB9OiBcIiwgVGhyZWFkLkN1cnJlbnRUaHJlYWQuTWFuYWdlZFRocmVhZElkKSArIG1zZywgZmFsc2UsIExvZ1R5cGUuaW5mbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHdyaXRlIGEgc2VydmVyIGFjY2VzcyB0byB0aGUgbG9nLCBpbmNsdWRpbmcgdGhlIGNvbnRlbnRcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1zZ1wiPnRoZSBtZXNzYWdlIHRvIHdyaXRlIHRvIHRoZSBsb2c8L3BhcmFtPlxyXG4gIFdyaXRlU2VydmVyTWVzc2FnZXNUb0xvZyhtc2c6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuU2hvdWxkTG9nRXh0ZW5kZWRTZXJ2ZXJSZWxhdGVkTWVzc2FnZXMoKSkge1xyXG4gICAgICB0aGlzLldyaXRlVG9Mb2coXCJTZXJ2ZXIjOiBcIiArIG1zZywgZmFsc2UsIExvZ1R5cGUuaW5mbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+V3JpdGUgYSBRQyBtZXNzYWdlIHRvIHRoZSBsb2c8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibXNnXCI+dGhlIG1lc3NhZ2UgdG8gd3JpdGUgdG8gdGhlIGxvZzwvcGFyYW0+XHJcbiAgV3JpdGVTdXBwb3J0VG9Mb2cobXNnOiBzdHJpbmcsIHNraXBMaW5lOiBib29sZWFuKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMuTG9nTGV2ZWwgPj0gTG9nZ2VyX0xvZ0xldmVscy5TdXBwb3J0ICYmIHRoaXMuTG9nTGV2ZWwgIT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWMpIHtcclxuICAgICAgaWYgKHNraXBMaW5lKSB7XHJcbiAgICAgICAgdGhpcy5Xcml0ZVRvTG9nKFwiU1VQUE9SVDogXCIgKyBtc2csIGZhbHNlLCBMb2dUeXBlLmluZm8pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuV3JpdGVUb0xvZyhcIlNVUFBPUlQ6IFwiICsgbXNnICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBcIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXCIsIGZhbHNlLCBMb2dUeXBlLmluZm8pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIHdyaXRlIGEgcGVyZm9ybWFuY2UgbWVzc2FnZSB0byB0aGUgbG9nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtc2dcIj50aGUgbWVzc2FnZSB0byB3cml0ZSB0byB0aGUgbG9nPC9wYXJhbT5cclxuICBXcml0ZUd1aVRvTG9nKG1zZzogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRoaXMuTG9nTGV2ZWwgPj0gTG9nZ2VyX0xvZ0xldmVscy5HdWkgJiYgdGhpcy5Mb2dMZXZlbCAhPT0gTG9nZ2VyX0xvZ0xldmVscy5CYXNpYykge1xyXG4gICAgICB0aGlzLldyaXRlVG9Mb2cobXNnLCBmYWxzZSwgTG9nVHlwZS5pbmZvKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gd3JpdGUgYSBkZXZlbG9wZXIgbWVzc2FnZSB0byB0aGUgbG9nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJtc2dcIj50aGUgbWVzc2FnZSB0byB3cml0ZSB0byB0aGUgbG9nPC9wYXJhbT5cclxuICBXcml0ZURldlRvTG9nKG1zZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Mb2dMZXZlbCA+PSBMb2dnZXJfTG9nTGV2ZWxzLkRldmVsb3BtZW50ICYmIHRoaXMuTG9nTGV2ZWwgIT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWMpIHtcclxuICAgICAgdGhpcy5Xcml0ZVRvTG9nKFwiREVWOiBcIiArIG1zZywgZmFsc2UsIExvZ1R5cGUuaW5mbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFdyaXRlcyBhIGJhc2ljIGxldmVsIGVudHJ5IHRvIGxvZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWVzc2FnZURpcmVjdGlvblwiPm1lc3NhZ2UgZGlyZWN0aW9uIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IG1vZHVsZSAoUklBIGNsaWVudCkuIENhbiBiZSBlaXRoZXIgTWVzc2FnZUVudGVyaW5nIG9yIE1lc3NhZ2VMZWF2aW5nPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJzdGF0dXNDb2RlXCI+SFRUUCBzdGF0dXMgY29kZTwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udGVudExlbmd0aFwiPmxlbmd0aCBvZiB0aGUgaHR0cCBtZXNzYWdlPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJodHRwSGVhZGVyc1wiPkhUVFAgaGVhZGVyczwvcGFyYW0+XHJcbiAgV3JpdGVCYXNpY1RvTG9nKG1lc3NhZ2VEaXJlY3Rpb246IExvZ2dlcl9NZXNzYWdlRGlyZWN0aW9uLCBjb250ZXh0SUQ6IHN0cmluZywgc2Vzc2lvbkNvdW50ZXI6IG51bWJlciwgY2xpZW50SUQ6IHN0cmluZywgc2VydmVySUQ6IHN0cmluZywgcmVzcG9uc2VUaW1lOiBudW1iZXIsIHN0YXR1c0NvZGU6IHN0cmluZywgaHR0cEhlYWRlcnM6IHN0cmluZywgY29udGVudExlbmd0aDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Mb2dMZXZlbCA9PT0gTG9nZ2VyX0xvZ0xldmVscy5CYXNpYykge1xyXG4gICAgICBsZXQgdGV4dDogc3RyaW5nID0gaHR0cEhlYWRlcnM7XHJcbiAgICAgIHRleHQgPSB0ZXh0LnRyaW0oKTtcclxuICAgICAgdGV4dCA9IE5TdHJpbmcuUmVwbGFjZSh0ZXh0LCBcIlxcclxcblwiLCBcInxcIik7XHJcbiAgICAgIGxldCBhcmdfRTRfMDogc3RyaW5nID0gXCJSSUEsezB9X3sxfSx7Mn0sezN9LHs0fSx7NX0sLSx7Nn0sezd9LHs4fSx7OX0sezEwfSx7MTF9XCI7XHJcbiAgICAgIGxldCBleHByXzNFOiBhbnlbXSA9IG5ldyBBcnJheTxhbnk+KDEyKTtcclxuXHJcbiAgICAgIC8vIFRPRE8gOiBuZWVkIHRvIGNoZWNrIEhvdyB0byBoYW5kbGUgUHJvY2VzcyBjbGFzcy5cclxuICAgICAgLy8gZXhwcl8zRVswXSA9IFByb2Nlc3MuR2V0Q3VycmVudFByb2Nlc3MoKS5JZDtcclxuICAgICAgZXhwcl8zRVsxXSA9IFRocmVhZC5DdXJyZW50VGhyZWFkLk1hbmFnZWRUaHJlYWRJZDtcclxuICAgICAgZXhwcl8zRVsyXSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTtcclxuICAgICAgZXhwcl8zRVszXSA9ICgobWVzc2FnZURpcmVjdGlvbiA9PT0gTG9nZ2VyX01lc3NhZ2VEaXJlY3Rpb24uTWVzc2FnZUxlYXZpbmcpID8gXCJNU0dMXCIgOiBcIk1TR0VcIik7XHJcbiAgICAgIGV4cHJfM0VbNF0gPSBjb250ZXh0SUQ7XHJcbiAgICAgIGV4cHJfM0VbNV0gPSBzZXNzaW9uQ291bnRlcjtcclxuICAgICAgZXhwcl8zRVs2XSA9IGNsaWVudElEO1xyXG4gICAgICBleHByXzNFWzddID0gc2VydmVySUQ7XHJcbiAgICAgIGV4cHJfM0VbOF0gPSAoKHJlc3BvbnNlVGltZSAhPT0gMCkgPyByZXNwb25zZVRpbWUudG9TdHJpbmcoKSA6IFwiLVwiKTtcclxuICAgICAgbGV0IGFyZ19EM18xOiBudW1iZXIgPSA5O1xyXG4gICAgICBsZXQgYXJnX0QzXzI6IGFueTtcclxuICAgICAgYXJnX0QzXzIgPSBzdGF0dXNDb2RlO1xyXG4gICAgICBleHByXzNFW2FyZ19EM18xXSA9IGFyZ19EM18yO1xyXG4gICAgICBleHByXzNFWzEwXSA9IHRleHQ7XHJcbiAgICAgIGV4cHJfM0VbMTFdID0gY29udGVudExlbmd0aDtcclxuICAgICAgbGV0IHZhbHVlOiBzdHJpbmcgPSBOU3RyaW5nLkZvcm1hdChhcmdfRTRfMCwgZXhwcl8zRSk7XHJcbiAgICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gV3JpdGVzIHJlcXVlc3QgaW5mb3JtYXRpb24gdG8gbG9nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjbGllbnRTZXNzaW9uXCI+VGhlIGNsaWVudFNlc3Npb24gb2JqZWN0IHRvIGJlIGxvZ2dlZDwvcGFyYW0+XHJcbiAgV3JpdGVSZXF1ZXN0SW5mb1RvTG9nKHJlcXVlc3RJbmZvOiBSZXF1ZXN0SW5mbywgZXh0cmFNZXNzYWdlU3RyOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLkxvZ0xldmVsID09PSBMb2dnZXJfTG9nTGV2ZWxzLlJlcXVlc3RJbmZvKSB7XHJcblxyXG4gICAgICAvLyBDaHJvbWUgZGVidWdnZXIgYXV0b21hdGljYWxseSByZWNvbXB1dGVzIGxvZ2dlZCBvYmplY3RzLlxyXG4gICAgICAvLyBIZW5jZSwgY2xvbmUgdGhlIHJlcXVlc3RJbmZvIG9iamVjdCB0byBwcmludCB0aGUgZGV0YWlscyBhdCB0aGUgdGltZSBvZiBsb2dnaW5nXHJcbiAgICAgIGNvbnNvbGUubG9nKGV4dHJhTWVzc2FnZVN0ciwgUmVxdWVzdEluZm8uY2xvbmUocmVxdWVzdEluZm8pKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gV3JpdGVzIGEgcmVxdWVzdCBleGNlcHRpb24gYmFzaWMgbGV2ZWwgZW50cnkgdG8gbG9nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjb250ZXh0SURcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInNlc3Npb25Db3VudGVyXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjbGllbnRJRFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwic2VydmVySURcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImV4XCI+dGhlIGxvZ2dlZCBleGNlcHRpb248L3BhcmFtPlxyXG4gIFdyaXRlQmFzaWNFcnJvclRvTG9nKCk6IHZvaWQge1xyXG4gICAgRGVidWcuQXNzZXJ0KHRoaXMuTG9nTGV2ZWwgPT09IExvZ2dlcl9Mb2dMZXZlbHMuQmFzaWMpO1xyXG5cclxuICAgIC8vIFRPRE8gOiBOZWVkIHRvIGNoZWNrIGhvdyB0byBoYW5kbGUgUHJvY2Vzc1xyXG4gICAgLy8gbGV0IHZhbHVlOiBzdHJpbmcgPSBOU3RyaW5nLkZvcm1hdChcIlJJQSx7MH1fezF9LHsyfSx7M30sezR9LHs1fSwtLHs2fSx7N30sLSwtLC0sezh9IHs5fVwiLCBbXHJcbiAgICAvLyBQcm9jZXNzLkdldEN1cnJlbnRQcm9jZXNzKCkuSWQsIFRocmVhZC5DdXJyZW50VGhyZWFkLk1hbmFnZWRUaHJlYWRJZCwgRGF0ZVRpbWUuVXRjTm93LlRvU3RyaW5nKFwieXl5eS1NTS1kZFRISDptbTpzcy5mZmZmZmZmWlwiKSwgXCJSRVNcIiwgY29udGV4dElELCBzZXNzaW9uQ291bnRlciwgY2xpZW50SUQsIHNlcnZlcklELCBleC5HZXRUeXBlKCksIGV4Lk1lc3NhZ2VcclxuICAgIC8vIF0pO1xyXG4gICAgLy8gTkNvbnNvbGUuV3JpdGVMaW5lKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gV3JpdGUgYW4gZXJyb3IgdG8gdGhlIGxvZ1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibXNnXCI+dGhlIG1lc3NhZ2UgdG8gd3JpdGUgdG8gdGhlIGxvZzwvcGFyYW0+XHJcbiAgV3JpdGVFcnJvclRvTG9nKG1zZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLldyaXRlVG9Mb2coXCJNYWdpY1dlYiBbRVJST1JdOiBcIiArIFN0clV0aWwuZ2V0Q29uc29sZUVyb3JTdHJpbmcobXNnKSwgdHJ1ZSwgTG9nVHlwZS5lcnJvcik7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFdyaXRlIGFuIGludGVybmFsIGVycm9yIHRvIHRoZSBsb2cuIEFsc28gcHJpbnRzIHN0YWNrIHRyYWNlIGFsb25nIHdpdGggdGhlIG1lc3NhZ2VcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1zZ1wiPnRoZSBtZXNzYWdlIHRvIHdyaXRlIHRvIHRoZSBsb2c8L3BhcmFtPlxyXG4gIFdyaXRlRXhjZXB0aW9uVG9Mb2coZXg6IEV4Y2VwdGlvbik6IHZvaWQ7XHJcbiAgV3JpdGVFeGNlcHRpb25Ub0xvZyhleDogRXJyb3IpOiB2b2lkO1xyXG4gIFdyaXRlRXhjZXB0aW9uVG9Mb2coZXg6IEV4Y2VwdGlvbiwgbXNnOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFdyaXRlRXhjZXB0aW9uVG9Mb2cobXNnT3JFeDogYW55LCBtc2c/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChtc2dPckV4IGluc3RhbmNlb2YgRXJyb3IpIHtcclxuICAgICAgdGhpcy5Xcml0ZUV4Y2VwdGlvblRvTG9nXzIobXNnT3JFeCwgbXNnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgKG1zZ09yRXggIT09IG51bGwgfHwgbXNnT3JFeCBpbnN0YW5jZW9mIEV4Y2VwdGlvbikpIHtcclxuICAgICAgdGhpcy5Xcml0ZUV4Y2VwdGlvblRvTG9nXzEobXNnT3JFeCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLldyaXRlRXhjZXB0aW9uVG9Mb2dfMyhtc2dPckV4LCBtc2cpO1xyXG4gIH1cclxuXHJcbiAgV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2cobXNnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuV3JpdGVUb0xvZyhcIk1hZ2ljV2ViIFtFUlJPUl06IFwiICsgU3RyVXRpbC5nZXRDb25zb2xlRXJvclN0cmluZyhtc2cpLCB0cnVlLCBMb2dUeXBlLmVycm9yKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgV3JpdGVFeGNlcHRpb25Ub0xvZ18xKGV4OiBFeGNlcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coTlN0cmluZy5Gb3JtYXQoXCJ7MH0gOiB7MX17Mn17M317NH1cIiwgW1xyXG4gICAgICBleC5HZXRUeXBlKCksIE9TRW52aXJvbm1lbnQuRW9sU2VxLCBleC5TdGFja1RyYWNlLCBPU0Vudmlyb25tZW50LkVvbFNlcSwgZXguTWVzc2FnZVxyXG4gICAgXSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBXcml0ZUV4Y2VwdGlvblRvTG9nXzIoZXg6IEVycm9yLCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChtZXNzYWdlKSlcclxuICAgICAgdGhpcy5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZyhOU3RyaW5nLkZvcm1hdChcInswfXsxfXsyfVwiLCBbZXguc3RhY2ssIE9TRW52aXJvbm1lbnQuRW9sU2VxLCBleC5tZXNzYWdlXSkpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLldyaXRlRXhjZXB0aW9uVG9Mb2dXaXRoTXNnKE5TdHJpbmcuRm9ybWF0KFwiezB9ezF9ezJ9ezR9ezV9XCIsIFttZXNzYWdlLCBPU0Vudmlyb25tZW50LkVvbFNlcSwgZXguc3RhY2ssIE9TRW52aXJvbm1lbnQuRW9sU2VxLCBleC5tZXNzYWdlXSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBXcml0ZUV4Y2VwdGlvblRvTG9nXzMoZXg6IEV4Y2VwdGlvbiwgbXNnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coTlN0cmluZy5Gb3JtYXQoXCJ7MH0sIHsxfSA6IHsyfXszfXs0fXs1fVwiLCBbXHJcbiAgICAgIGV4LkdldFR5cGUoKSwgbXNnLCBPU0Vudmlyb25tZW50LkVvbFNlcSwgZXguU3RhY2tUcmFjZSwgT1NFbnZpcm9ubWVudC5Fb2xTZXEsIGV4Lk1lc3NhZ2VcclxuICAgIF0pKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gd3JpdGUgYSB3YXJuaW5nIHRvIHRoZSBsb2c8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibXNnXCI+dGhlIG1lc3NhZ2UgdG8gd3JpdGUgdG8gdGhlIGxvZzwvcGFyYW0+XHJcbiAgV3JpdGVXYXJuaW5nVG9Mb2coZXg6IEV4Y2VwdGlvbik6IHZvaWQ7XHJcbiAgV3JpdGVXYXJuaW5nVG9Mb2coZXg6IEV4Y2VwdGlvbiwgbXNnOiBzdHJpbmcpOiB2b2lkO1xyXG4gIFdyaXRlV2FybmluZ1RvTG9nKGV4OiBFcnJvcik6IHZvaWQ7XHJcbiAgV3JpdGVXYXJuaW5nVG9Mb2cobXNnT3JFeDogYW55LCBtc2c/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIG1zZ09yRXggIT09IG51bGwpIHtcclxuICAgICAgaWYgKG1zZ09yRXggaW5zdGFuY2VvZiBFeGNlcHRpb24pXHJcbiAgICAgICAgdGhpcy5Xcml0ZVdhcm5pbmdUb0xvZ18xKG1zZ09yRXgpO1xyXG4gICAgICBlbHNlIGlmIChtc2dPckV4IGluc3RhbmNlb2YgRXJyb3IpXHJcbiAgICAgICAgdGhpcy5Xcml0ZVdhcm5pbmdUb0xvZ18yKG1zZ09yRXgpO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLldyaXRlV2FybmluZ1RvTG9nXzMobXNnT3JFeCwgbXNnKTtcclxuICB9XHJcblxyXG4gIFdyaXRlV2FybmluZ1RvTG9nV2l0aE1zZyhtc2c6IHN0cmluZyk6IHZvaWQge1xyXG5cclxuICAgIGlmICh0aGlzLkxvZ0xldmVsICE9PSBMb2dnZXJfTG9nTGV2ZWxzLkJhc2ljKSB7XHJcbiAgICAgIHRoaXMuV3JpdGVUb0xvZyhcIk1hZ2ljV2ViIFtXQVJOSU5HXTogXCIgKyBtc2csIHRydWUsIExvZ1R5cGUud2FybmluZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFdyaXRlV2FybmluZ1RvTG9nXzEoZXg6IEV4Y2VwdGlvbik6IHZvaWQge1xyXG4gICAgdGhpcy5Xcml0ZVdhcm5pbmdUb0xvZ1dpdGhNc2coZXguR2V0VHlwZSgpICsgXCIgOiBcIiArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgZXguU3RhY2tUcmFjZSArIE9TRW52aXJvbm1lbnQuRW9sU2VxICsgZXguTWVzc2FnZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIFdyaXRlV2FybmluZ1RvTG9nXzIoZXg6IEVycm9yKTogdm9pZCB7XHJcbiAgICB0aGlzLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZyhOU3RyaW5nLkZvcm1hdChcInswfXsxfXsyfVwiLCBbXHJcbiAgICAgIGV4LnN0YWNrLCBPU0Vudmlyb25tZW50LkVvbFNlcSwgZXgubWVzc2FnZVxyXG4gICAgXSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBXcml0ZVdhcm5pbmdUb0xvZ18zKGV4OiBFeGNlcHRpb24sIG1zZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZyhOU3RyaW5nLkZvcm1hdChcInswfSwgezF9IDogezJ9ezN9ezR9ezV9XCIsIFtcclxuICAgICAgZXguR2V0VHlwZSgpLCBtc2csIE9TRW52aXJvbm1lbnQuRW9sU2VxLCBleC5TdGFja1RyYWNlLCBPU0Vudmlyb25tZW50LkVvbFNlcSwgZXguTWVzc2FnZVxyXG4gICAgXSkpO1xyXG4gIH1cclxuXHJcbiAgV3JpdGVTdGFja1RyYWNlKHN0YWNrVHJhY2U6IFN0YWNrVHJhY2UsIGZyYW1lc1RvUHJpbnQ6IG51bWJlciwgdHJhY2VUaXRsZTogc3RyaW5nKTogdm9pZCB7XHJcblxyXG4gICAgaWYgKHRyYWNlVGl0bGUgPT09IG51bGwpIHtcclxuICAgICAgdHJhY2VUaXRsZSA9IFwiU3RhY2sgdHJhY2U6XCI7XHJcbiAgICB9XHJcbiAgICBsZXQgc3RyaW5nQnVpbGRlcjogU3RyaW5nQnVpbGRlciA9IG5ldyBTdHJpbmdCdWlsZGVyKHRyYWNlVGl0bGUgKyBPU0Vudmlyb25tZW50LkVvbFNlcSk7XHJcbiAgICBsZXQgZnJhbWVzOiBKU1N0YWNrRnJhbWVbXSA9IHN0YWNrVHJhY2UuR2V0RnJhbWVzKCk7XHJcbiAgICBsZXQgYXJyYXk6IEpTU3RhY2tGcmFtZVtdID0gZnJhbWVzO1xyXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSA9IGkgKyAxKSB7XHJcbiAgICAgIGxldCBzdGFja0ZyYW1lOiBKU1N0YWNrRnJhbWUgPSBhcnJheVtpXTtcclxuICAgICAgZnJhbWVzVG9QcmludCA9IGZyYW1lc1RvUHJpbnQgLSAxO1xyXG5cclxuICAgICAgc3RyaW5nQnVpbGRlci5BcHBlbmQoc3RhY2tGcmFtZS50b1N0cmluZygpKTtcclxuXHJcbiAgICAgIGlmIChmcmFtZXNUb1ByaW50ID09PSAwKSB7XHJcbiAgICAgICAgc3RyaW5nQnVpbGRlci5BcHBlbmQoXCJcXHQuLi4gbW9yZSBzdGFjayBmcmFtZXMgLi4uXFxuXCIpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLldyaXRlVG9Mb2coc3RyaW5nQnVpbGRlci5Ub1N0cmluZygpLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gRmx1c2ggdGhlIGxvZyB3cml0ZXIuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBGbHVzaCgpOiB2b2lkIHtcclxuXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcbn1cclxuIl19
File without changes
File without changes
File without changes