@bitgo-beta/statics 15.1.1-beta.220 → 15.1.1-beta.2200

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 (137) hide show
  1. package/dist/src/account.d.ts +1153 -77
  2. package/dist/src/account.d.ts.map +1 -1
  3. package/dist/src/account.js +1747 -176
  4. package/dist/src/ada.d.ts +1 -0
  5. package/dist/src/ada.d.ts.map +1 -1
  6. package/dist/src/ada.js +7 -3
  7. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  8. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  9. package/dist/src/allCoinsAndTokens.js +1919 -0
  10. package/dist/src/avaxp.d.ts +1 -0
  11. package/dist/src/avaxp.d.ts.map +1 -1
  12. package/dist/src/avaxp.js +8 -3
  13. package/dist/src/base.d.ts +2996 -44
  14. package/dist/src/base.d.ts.map +1 -1
  15. package/dist/src/base.js +3114 -55
  16. package/dist/src/bip44CoinTypes.d.ts +26 -0
  17. package/dist/src/bip44CoinTypes.d.ts.map +1 -0
  18. package/dist/src/bip44CoinTypes.js +148 -0
  19. package/dist/src/canton.d.ts +35 -0
  20. package/dist/src/canton.d.ts.map +1 -0
  21. package/dist/src/canton.js +51 -0
  22. package/dist/src/coinFeatures.d.ts +134 -0
  23. package/dist/src/coinFeatures.d.ts.map +1 -0
  24. package/dist/src/coinFeatures.js +831 -0
  25. package/dist/src/coins/adaTokens.d.ts +2 -0
  26. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  27. package/dist/src/coins/adaTokens.js +27 -0
  28. package/dist/src/coins/avaxTokens.d.ts +2 -0
  29. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  30. package/dist/src/coins/avaxTokens.js +133 -0
  31. package/dist/src/coins/botOfcTokens.d.ts +3 -0
  32. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  33. package/dist/src/coins/botOfcTokens.js +507 -0
  34. package/dist/src/coins/botTokens.d.ts +3 -0
  35. package/dist/src/coins/botTokens.d.ts.map +1 -0
  36. package/dist/src/coins/botTokens.js +3181 -0
  37. package/dist/src/coins/bscTokens.d.ts +2 -0
  38. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  39. package/dist/src/coins/bscTokens.js +421 -0
  40. package/dist/src/coins/cantonTokens.d.ts +2 -0
  41. package/dist/src/coins/cantonTokens.d.ts.map +1 -0
  42. package/dist/src/coins/cantonTokens.js +134 -0
  43. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  44. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  45. package/dist/src/coins/cosmosTokens.js +14 -0
  46. package/dist/src/coins/erc20Coins.d.ts +2 -0
  47. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  48. package/dist/src/coins/erc20Coins.js +2088 -0
  49. package/dist/src/coins/erc7984Tokens.d.ts +17 -0
  50. package/dist/src/coins/erc7984Tokens.d.ts.map +1 -0
  51. package/dist/src/coins/erc7984Tokens.js +88 -0
  52. package/dist/src/coins/generateERC20.d.ts +36 -0
  53. package/dist/src/coins/generateERC20.d.ts.map +1 -0
  54. package/dist/src/coins/generateERC20.js +46 -0
  55. package/dist/src/coins/hoodethTokens.d.ts +2 -0
  56. package/dist/src/coins/hoodethTokens.d.ts.map +1 -0
  57. package/dist/src/coins/hoodethTokens.js +319 -0
  58. package/dist/src/coins/jettonTokens.d.ts +2 -0
  59. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  60. package/dist/src/coins/jettonTokens.js +19 -0
  61. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  62. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  63. package/dist/src/coins/nep141Tokens.js +18 -0
  64. package/dist/src/coins/ofcCoins.d.ts +2 -0
  65. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  66. package/dist/src/coins/ofcCoins.js +1514 -0
  67. package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
  68. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  69. package/dist/src/coins/ofcErc20Coins.js +1909 -0
  70. package/dist/src/coins/ofcHoodethTokens.d.ts +2 -0
  71. package/dist/src/coins/ofcHoodethTokens.d.ts.map +1 -0
  72. package/dist/src/coins/ofcHoodethTokens.js +317 -0
  73. package/dist/src/coins/polygonTokens.d.ts +2 -0
  74. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  75. package/dist/src/coins/polygonTokens.js +220 -0
  76. package/dist/src/coins/polyxTokens.d.ts +2 -0
  77. package/dist/src/coins/polyxTokens.d.ts.map +1 -0
  78. package/dist/src/coins/polyxTokens.js +22 -0
  79. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  80. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  81. package/dist/src/coins/sip10Tokens.js +25 -0
  82. package/dist/src/coins/solTokens.d.ts +3 -0
  83. package/dist/src/coins/solTokens.d.ts.map +1 -0
  84. package/dist/src/coins/solTokens.js +549 -0
  85. package/dist/src/coins/vetTokens.d.ts +2 -0
  86. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  87. package/dist/src/coins/vetTokens.js +11 -0
  88. package/dist/src/coins.d.ts +22 -1
  89. package/dist/src/coins.d.ts.map +1 -1
  90. package/dist/src/coins.js +482 -2066
  91. package/dist/src/constants.d.ts +6 -0
  92. package/dist/src/constants.d.ts.map +1 -1
  93. package/dist/src/constants.js +8 -2
  94. package/dist/src/errors.d.ts +12 -0
  95. package/dist/src/errors.d.ts.map +1 -1
  96. package/dist/src/errors.js +30 -2
  97. package/dist/src/flrp.d.ts +41 -0
  98. package/dist/src/flrp.d.ts.map +1 -0
  99. package/dist/src/flrp.js +66 -0
  100. package/dist/src/hypeevm.d.ts +28 -0
  101. package/dist/src/hypeevm.d.ts.map +1 -0
  102. package/dist/src/hypeevm.js +60 -0
  103. package/dist/src/index.d.ts +8 -1
  104. package/dist/src/index.d.ts.map +1 -1
  105. package/dist/src/index.js +53 -3
  106. package/dist/src/kaspa.d.ts +35 -0
  107. package/dist/src/kaspa.d.ts.map +1 -0
  108. package/dist/src/kaspa.js +63 -0
  109. package/dist/src/lightning.d.ts +44 -0
  110. package/dist/src/lightning.d.ts.map +1 -0
  111. package/dist/src/lightning.js +64 -0
  112. package/dist/src/map.d.ts +34 -1
  113. package/dist/src/map.d.ts.map +1 -1
  114. package/dist/src/map.js +251 -35
  115. package/dist/src/networkFeatureMapForTokens.d.ts +30 -0
  116. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  117. package/dist/src/networkFeatureMapForTokens.js +97 -0
  118. package/dist/src/networks.d.ts +2065 -68
  119. package/dist/src/networks.d.ts.map +1 -1
  120. package/dist/src/networks.js +2529 -100
  121. package/dist/src/ofc.d.ts +695 -3
  122. package/dist/src/ofc.d.ts.map +1 -1
  123. package/dist/src/ofc.js +1653 -28
  124. package/dist/src/safe.d.ts +22 -0
  125. package/dist/src/safe.d.ts.map +1 -0
  126. package/dist/src/safe.js +28 -0
  127. package/dist/src/tokenConfig.d.ts +718 -120
  128. package/dist/src/tokenConfig.d.ts.map +1 -1
  129. package/dist/src/tokenConfig.js +1126 -246
  130. package/dist/src/utxo.d.ts +7 -2
  131. package/dist/src/utxo.d.ts.map +1 -1
  132. package/dist/src/utxo.js +131 -4
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +6 -3
  135. package/.mocharc.js +0 -10
  136. package/.prettierignore +0 -2
  137. package/CHANGELOG.md +0 -1584
@@ -0,0 +1,831 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BSC_TOKEN_FEATURES_TRUST_ONLY = exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.BSC_TOKEN_FEATURES = exports.BSC_FEATURES = exports.APT_OFC_TOKEN_FEATURES = exports.SOL_OFC_TOKEN_FEATURES = exports.SOL_TOKEN_FEATURES_TRUST_ONLY = exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES = exports.TSOL_FEATURES = exports.SOL_FEATURES = exports.POL_FEATURES = exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES_TRUST_ONLY = exports.POLYGON_TOKEN_FEATURES = exports.POLYGON_FEATURES = exports.HBAR_FEATURES = exports.EOS_FEATURES = exports.DOT_FEATURES = exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.ADA_TOKEN_FEATURES = exports.ADA_FEATURES = exports.HTETH_TOKEN_FEATURES = exports.ALGO_FEATURES = exports.CSPR_FEATURES = exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = exports.XRP_FEATURES = exports.XTZ_FEATURES = exports.XLM_FEATURES = exports.RBTC_FEATURES = exports.CELO_TOKEN_FEATURES = exports.CELO_FEATURES = exports.AVAXC_FEATURES = exports.EVM_FEATURES = exports.ETC_FEATURES = exports.ETH_FEATURES_WITH_STAKING_AND_MMI = exports.ETH_FEATURES_WITH_STAKING = exports.ETH_FEATURES_WITH_MMI = exports.ETH_FEATURES = exports.EVM_TOKEN_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES = exports.BITGO_CUSTODY_JURISDICTIONS = void 0;
4
+ exports.ETH_FEATURES_WITH_FRANKFURT = exports.POLYX_TOKEN_FEATURES = exports.POLYX_FEATURES = exports.SONEIUM_FEATURES = exports.TAO_TOKEN_FEATURES = exports.TAO_FEATURES = exports.STARKNET_FEATURES = exports.ICP_FEATURES = exports.APT_FEATURES = exports.APECHAIN_FEATURES = exports.HYPERLIQUID_FEATURES = exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES = exports.COREDAO_FEATURES = exports.OAS_FEATURES = exports.BERA_FEATURES = exports.ZKSYNCERA_FEATURES = exports.ZKETH_FEATURES = exports.OPETH_FEATURES = exports.ARBETH_FEATURES = exports.TON_TOKEN_FEATURES = exports.TON_FEATURES = exports.GENERIC_TOKEN_FEATURES = exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = exports.TOKEN_FEATURES_WITH_FRANKFURT = exports.TOKEN_FEATURES_WITH_SWISS = exports.SEI_FEATURES = exports.COREUM_FEATURES = exports.INJECTIVE_FEATURES = exports.ATOM_FEATURES = exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = exports.COSMOS_TOKEN_FEATURES = exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = exports.COSMOS_SIDECHAIN_FEATURES = exports.TRX_FEATURES = exports.SUI_TOKEN_FEATURES_STAKING = exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES = exports.SUI_FEATURES = exports.RETH_ROCKET_FEATURES = exports.EIGEN_FEATURES = exports.TWETH_FEATURES = exports.WETH_FEATURES = exports.MATIC_FEATURES_WITH_FRANKFURT = exports.MATIC_FEATURES = exports.NEAR_TOKEN_FEATURES = exports.NEAR_FEATURES = exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES = exports.STX_FEATURES = void 0;
5
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ERC7984_TOKEN_FEATURES = exports.TCANTON_FEATURES = exports.CANTON_TOKEN_FEATURES = exports.CANTON_FEATURES = exports.IOTA_FEATURES = exports.WEMIX_FEATURES = exports.WFLR_FEATURES = exports.FLR_FEATURES = exports.SGB_FEATURES = exports.XDC_TOKEN_FEATURES = exports.XDC_FEATURES = exports.EVM_NON_EIP1559_FEATURES = exports.VET_TOKEN_FEATURES = exports.VET_FEATURES = exports.BERA_BGT_FEATURES = exports.WCT_FEATURES = exports.TIA_FEATURES = exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ZETA_EVM_FEATURES = exports.ZETA_FEATURES = exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = exports.ETH_FEATURES_WITH_GERMANY = void 0;
6
+ const base_1 = require("./base");
7
+ const ada_1 = require("./ada");
8
+ //list of all the jurisdictions where BitGo Custody is available
9
+ exports.BITGO_CUSTODY_JURISDICTIONS = [
10
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
11
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
12
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
13
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
14
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
15
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
16
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
17
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
18
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
19
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
20
+ base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE,
21
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
22
+ ];
23
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES = [
24
+ base_1.CoinFeature.ACCOUNT_MODEL,
25
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
26
+ base_1.CoinFeature.VALUELESS_TRANSFER,
27
+ base_1.CoinFeature.TRANSACTION_DATA,
28
+ base_1.CoinFeature.CUSTODY,
29
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
30
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
31
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
32
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
33
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
34
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
35
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
36
+ ];
37
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
38
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
39
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE && feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
40
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
41
+ // keeps custody enabled for BitGo Trust only, dropping every other jurisdiction's custody feature
42
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature === base_1.CoinFeature.CUSTODY_BITGO_TRUST || !exports.BITGO_CUSTODY_JURISDICTIONS.includes(feature));
43
+ // matches the erc20Token/arbethErc20/polygonErc20 default feature set ([...AccountCoin.DEFAULT_FEATURES,
44
+ // CoinFeature.EIP1559]), but scoped to BitGo Trust custody only
45
+ exports.EVM_TOKEN_FEATURES_TRUST_ONLY = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY, base_1.CoinFeature.EIP1559];
46
+ exports.ETH_FEATURES = [
47
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
48
+ base_1.CoinFeature.SUPPORTS_TOKENS,
49
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
50
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
51
+ base_1.CoinFeature.EVM_COIN,
52
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_ONCHAIN,
53
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
54
+ ];
55
+ exports.ETH_FEATURES_WITH_MMI = [...exports.ETH_FEATURES, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
56
+ exports.ETH_FEATURES_WITH_STAKING = [...exports.ETH_FEATURES, base_1.CoinFeature.STAKING];
57
+ exports.ETH_FEATURES_WITH_STAKING_AND_MMI = [...exports.ETH_FEATURES_WITH_STAKING, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
58
+ exports.ETC_FEATURES = [
59
+ ...exports.ETH_FEATURES,
60
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
61
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
62
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
63
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
64
+ base_1.CoinFeature.MULTISIG_COLD,
65
+ base_1.CoinFeature.MULTISIG,
66
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
67
+ ];
68
+ exports.EVM_FEATURES = [
69
+ ...exports.ETH_FEATURES,
70
+ base_1.CoinFeature.TSS,
71
+ base_1.CoinFeature.TSS_COLD,
72
+ base_1.CoinFeature.MPCV2,
73
+ base_1.CoinFeature.EVM_WALLET,
74
+ base_1.CoinFeature.BULK_TRANSACTION,
75
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
76
+ base_1.CoinFeature.EIP1559,
77
+ ];
78
+ exports.AVAXC_FEATURES = [
79
+ ...exports.ETH_FEATURES_WITH_MMI,
80
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
81
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
82
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
83
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
84
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
85
+ base_1.CoinFeature.MULTISIG_COLD,
86
+ base_1.CoinFeature.MULTISIG,
87
+ base_1.CoinFeature.EIP1559,
88
+ base_1.CoinFeature.STAKING,
89
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
90
+ ];
91
+ exports.CELO_FEATURES = [
92
+ ...exports.ETH_FEATURES,
93
+ base_1.CoinFeature.MULTISIG_COLD,
94
+ base_1.CoinFeature.MULTISIG,
95
+ base_1.CoinFeature.EIP1559,
96
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
97
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_GERMANY &&
98
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
99
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
100
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
101
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
102
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
103
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
104
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
105
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK &&
106
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND &&
107
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE &&
108
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA &&
109
+ feature !== base_1.CoinFeature.DISTRIBUTED_CUSTODY);
110
+ exports.CELO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
111
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
112
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
113
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
114
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
115
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
116
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
117
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
118
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA);
119
+ exports.RBTC_FEATURES = [
120
+ ...exports.ETH_FEATURES,
121
+ base_1.CoinFeature.MULTISIG_COLD,
122
+ base_1.CoinFeature.MULTISIG,
123
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
124
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
125
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
126
+ ];
127
+ exports.XLM_FEATURES = [
128
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
129
+ base_1.CoinFeature.SUPPORTS_TOKENS,
130
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
131
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
132
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
133
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
134
+ base_1.CoinFeature.MULTISIG_COLD,
135
+ base_1.CoinFeature.MULTISIG,
136
+ base_1.CoinFeature.SUPPORTS_MEMO,
137
+ ];
138
+ exports.XTZ_FEATURES = [
139
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
140
+ base_1.CoinFeature.MULTISIG_COLD,
141
+ base_1.CoinFeature.MULTISIG,
142
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
143
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
144
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
145
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE);
146
+ exports.XRP_FEATURES = [
147
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
148
+ base_1.CoinFeature.SUPPORTS_TOKENS,
149
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
150
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
151
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
152
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
153
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
154
+ base_1.CoinFeature.MULTISIG_COLD,
155
+ base_1.CoinFeature.MULTISIG,
156
+ base_1.CoinFeature.SUPPORTS_MEMO,
157
+ ];
158
+ exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = [
159
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
160
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
161
+ base_1.CoinFeature.BULK_TRANSACTION,
162
+ ];
163
+ exports.CSPR_FEATURES = [
164
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
165
+ base_1.CoinFeature.REQUIRES_RESERVE,
166
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
167
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
168
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
169
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
170
+ base_1.CoinFeature.MULTISIG_COLD,
171
+ base_1.CoinFeature.MULTISIG,
172
+ base_1.CoinFeature.STAKING,
173
+ base_1.CoinFeature.SUPPORTS_MEMO,
174
+ ];
175
+ exports.ALGO_FEATURES = [
176
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
177
+ base_1.CoinFeature.SUPPORTS_TOKENS,
178
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
179
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
180
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
181
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
182
+ base_1.CoinFeature.MULTISIG_COLD,
183
+ base_1.CoinFeature.MULTISIG,
184
+ base_1.CoinFeature.BULK_TRANSACTION,
185
+ ];
186
+ exports.HTETH_TOKEN_FEATURES = [
187
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
188
+ base_1.CoinFeature.BULK_TRANSACTION,
189
+ base_1.CoinFeature.EIP1559,
190
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
191
+ ];
192
+ exports.ADA_FEATURES = [
193
+ ...ada_1.Ada.DEFAULT_FEATURES,
194
+ base_1.CoinFeature.BULK_TRANSACTION,
195
+ base_1.CoinFeature.SUPPORTS_TOKENS,
196
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
197
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
198
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
199
+ ];
200
+ exports.ADA_TOKEN_FEATURES = [
201
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
202
+ base_1.CoinFeature.BULK_TRANSACTION,
203
+ base_1.CoinFeature.TSS,
204
+ base_1.CoinFeature.TSS_COLD,
205
+ ];
206
+ exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
207
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
208
+ base_1.CoinFeature.BULK_TRANSACTION,
209
+ base_1.CoinFeature.TSS,
210
+ base_1.CoinFeature.TSS_COLD,
211
+ ];
212
+ exports.DOT_FEATURES = [
213
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
214
+ base_1.CoinFeature.TSS,
215
+ base_1.CoinFeature.TSS_COLD,
216
+ base_1.CoinFeature.STAKING,
217
+ base_1.CoinFeature.EXPIRING_TRANSACTIONS,
218
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
219
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
220
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
221
+ base_1.CoinFeature.SUPPORTS_MEMO,
222
+ ];
223
+ exports.EOS_FEATURES = [
224
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
225
+ base_1.CoinFeature.SUPPORTS_TOKENS,
226
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
227
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
228
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
229
+ base_1.CoinFeature.MULTISIG_COLD,
230
+ base_1.CoinFeature.MULTISIG,
231
+ base_1.CoinFeature.SUPPORTS_MEMO,
232
+ ];
233
+ exports.HBAR_FEATURES = [
234
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
235
+ base_1.CoinFeature.SUPPORTS_TOKENS,
236
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
237
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
238
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
239
+ base_1.CoinFeature.MULTISIG_COLD,
240
+ base_1.CoinFeature.MULTISIG,
241
+ base_1.CoinFeature.BULK_TRANSACTION,
242
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
243
+ base_1.CoinFeature.STAKING,
244
+ base_1.CoinFeature.SUPPORTS_MEMO,
245
+ ];
246
+ exports.POLYGON_FEATURES = [
247
+ ...exports.ETH_FEATURES_WITH_MMI,
248
+ base_1.CoinFeature.TSS,
249
+ base_1.CoinFeature.TSS_COLD,
250
+ base_1.CoinFeature.MULTISIG_COLD,
251
+ base_1.CoinFeature.EVM_WALLET,
252
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
253
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
254
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
255
+ base_1.CoinFeature.MPCV2,
256
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
257
+ base_1.CoinFeature.BULK_TRANSACTION,
258
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
259
+ ];
260
+ exports.POLYGON_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.BULK_TRANSACTION];
261
+ exports.POLYGON_TOKEN_FEATURES_TRUST_ONLY = [
262
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY,
263
+ base_1.CoinFeature.BULK_TRANSACTION,
264
+ ];
265
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
266
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
267
+ base_1.CoinFeature.BULK_TRANSACTION,
268
+ ];
269
+ exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
270
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
271
+ base_1.CoinFeature.EIP1559,
272
+ ];
273
+ exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
274
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
275
+ base_1.CoinFeature.BULK_TRANSACTION,
276
+ ];
277
+ exports.POL_FEATURES = [
278
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
279
+ base_1.CoinFeature.STAKING,
280
+ base_1.CoinFeature.MULTISIG_COLD,
281
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
282
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
283
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
284
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
285
+ ];
286
+ exports.SOL_FEATURES = [
287
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
288
+ base_1.CoinFeature.TSS,
289
+ base_1.CoinFeature.TSS_COLD,
290
+ base_1.CoinFeature.REQUIRES_RESERVE,
291
+ base_1.CoinFeature.SUPPORTS_TOKENS,
292
+ base_1.CoinFeature.STAKING,
293
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
294
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
295
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
296
+ base_1.CoinFeature.BULK_TRANSACTION,
297
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
298
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
299
+ base_1.CoinFeature.SUPPORTS_MEMO,
300
+ ];
301
+ exports.TSOL_FEATURES = [...exports.SOL_FEATURES, base_1.CoinFeature.BULK_TRANSACTION, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
302
+ exports.SOL_TOKEN_FEATURES = [
303
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
304
+ base_1.CoinFeature.TSS,
305
+ base_1.CoinFeature.TSS_COLD,
306
+ base_1.CoinFeature.BULK_TRANSACTION,
307
+ ];
308
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
309
+ exports.SOL_TOKEN_FEATURES_TRUST_ONLY = exports.SOL_TOKEN_FEATURES.filter((feature) => feature === base_1.CoinFeature.CUSTODY_BITGO_TRUST || !exports.BITGO_CUSTODY_JURISDICTIONS.includes(feature));
310
+ exports.SOL_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
311
+ exports.APT_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
312
+ exports.BSC_FEATURES = [
313
+ ...exports.ETH_FEATURES_WITH_STAKING_AND_MMI,
314
+ base_1.CoinFeature.TSS,
315
+ base_1.CoinFeature.TSS_COLD,
316
+ base_1.CoinFeature.EVM_WALLET,
317
+ base_1.CoinFeature.MPCV2,
318
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
319
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
320
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
321
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
322
+ base_1.CoinFeature.BULK_TRANSACTION,
323
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
324
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
325
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
326
+ ];
327
+ exports.BSC_TOKEN_FEATURES = [
328
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
329
+ base_1.CoinFeature.BULK_TRANSACTION,
330
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
331
+ ];
332
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
333
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
334
+ base_1.CoinFeature.BULK_TRANSACTION,
335
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
336
+ ];
337
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = [
338
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE,
339
+ base_1.CoinFeature.BULK_TRANSACTION,
340
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
341
+ ];
342
+ exports.BSC_TOKEN_FEATURES_TRUST_ONLY = [
343
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_TRUST_ONLY,
344
+ base_1.CoinFeature.BULK_TRANSACTION,
345
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
346
+ ];
347
+ exports.STX_FEATURES = [
348
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
349
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
350
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
351
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
352
+ base_1.CoinFeature.MULTISIG_COLD,
353
+ base_1.CoinFeature.MULTISIG,
354
+ base_1.CoinFeature.STAKING,
355
+ base_1.CoinFeature.SUPPORTS_TOKENS,
356
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
357
+ base_1.CoinFeature.SUPPORTS_MEMO,
358
+ ];
359
+ exports.STX_TOKEN_FEATURES = [
360
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
361
+ base_1.CoinFeature.MULTISIG_COLD,
362
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
363
+ ];
364
+ exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
365
+ exports.NEAR_FEATURES = [
366
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
367
+ base_1.CoinFeature.TSS,
368
+ base_1.CoinFeature.TSS_COLD,
369
+ base_1.CoinFeature.STAKING,
370
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
371
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
372
+ base_1.CoinFeature.SUPPORTS_TOKENS,
373
+ ];
374
+ exports.NEAR_TOKEN_FEATURES = [
375
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
376
+ base_1.CoinFeature.TSS,
377
+ base_1.CoinFeature.TSS_COLD,
378
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
379
+ ];
380
+ exports.MATIC_FEATURES = [
381
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
382
+ base_1.CoinFeature.STAKING,
383
+ base_1.CoinFeature.MULTISIG_COLD,
384
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
385
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
386
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
387
+ ];
388
+ exports.MATIC_FEATURES_WITH_FRANKFURT = [...exports.MATIC_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
389
+ exports.WETH_FEATURES = [
390
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
391
+ base_1.CoinFeature.MULTISIG_COLD,
392
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
393
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
394
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
395
+ ];
396
+ exports.TWETH_FEATURES = [...exports.WETH_FEATURES, base_1.CoinFeature.STAKING];
397
+ exports.EIGEN_FEATURES = [
398
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
399
+ base_1.CoinFeature.STAKING,
400
+ base_1.CoinFeature.MULTISIG_COLD,
401
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
402
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
403
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
404
+ ];
405
+ exports.RETH_ROCKET_FEATURES = [
406
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
407
+ base_1.CoinFeature.STAKING,
408
+ base_1.CoinFeature.MULTISIG_COLD,
409
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
410
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
411
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
412
+ base_1.CoinFeature.LIQUID_STAKING,
413
+ ];
414
+ exports.SUI_FEATURES = [
415
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
416
+ base_1.CoinFeature.TSS,
417
+ base_1.CoinFeature.TSS_COLD,
418
+ base_1.CoinFeature.STAKING,
419
+ base_1.CoinFeature.BULK_TRANSACTION,
420
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
421
+ base_1.CoinFeature.SUPPORTS_TOKENS,
422
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
423
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
424
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
425
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
426
+ base_1.CoinFeature.ALLOWS_NEGATIVE_FEE,
427
+ ];
428
+ exports.SUI_TOKEN_FEATURES = [
429
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
430
+ base_1.CoinFeature.TSS,
431
+ base_1.CoinFeature.TSS_COLD,
432
+ base_1.CoinFeature.BULK_TRANSACTION,
433
+ ];
434
+ exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
435
+ exports.SUI_TOKEN_FEATURES_STAKING = [
436
+ ...exports.SUI_TOKEN_FEATURES,
437
+ base_1.CoinFeature.STAKING,
438
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
439
+ ];
440
+ exports.TRX_FEATURES = [
441
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
442
+ base_1.CoinFeature.SUPPORTS_TOKENS,
443
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
444
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
445
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
446
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
447
+ base_1.CoinFeature.MULTISIG_COLD,
448
+ base_1.CoinFeature.MULTISIG,
449
+ base_1.CoinFeature.STAKING,
450
+ base_1.CoinFeature.TSS,
451
+ base_1.CoinFeature.TSS_COLD,
452
+ base_1.CoinFeature.MPCV2,
453
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
454
+ base_1.CoinFeature.TSS_SUPPORT_IN_PROGRESS, // TODO: remove this after TSS is fully onboarded
455
+ ];
456
+ exports.COSMOS_SIDECHAIN_FEATURES = [
457
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
458
+ base_1.CoinFeature.TSS,
459
+ base_1.CoinFeature.TSS_COLD,
460
+ base_1.CoinFeature.MPCV2,
461
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
462
+ base_1.CoinFeature.COSMOS_LIKE_COINS,
463
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
464
+ base_1.CoinFeature.INCREASED_TX_REQUEST_REBUILD_LIMIT,
465
+ base_1.CoinFeature.BULK_TRANSACTION,
466
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
467
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
468
+ base_1.CoinFeature.SUPPORTS_TOKENS,
469
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
470
+ base_1.CoinFeature.SUPPORTS_MEMO,
471
+ ];
472
+ exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = [
473
+ ...exports.COSMOS_SIDECHAIN_FEATURES,
474
+ base_1.CoinFeature.STAKING,
475
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
476
+ ];
477
+ exports.COSMOS_TOKEN_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES];
478
+ exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING];
479
+ exports.ATOM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
480
+ exports.INJECTIVE_FEATURES = [
481
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
482
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
483
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
484
+ ];
485
+ exports.COREUM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
486
+ exports.SEI_FEATURES = [
487
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
488
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
489
+ base_1.CoinFeature.SUNSETTING,
490
+ ];
491
+ exports.TOKEN_FEATURES_WITH_SWISS = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND];
492
+ exports.TOKEN_FEATURES_WITH_FRANKFURT = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
493
+ exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = [
494
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
495
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
496
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
497
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
498
+ ];
499
+ exports.GENERIC_TOKEN_FEATURES = [
500
+ base_1.CoinFeature.ACCOUNT_MODEL,
501
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
502
+ base_1.CoinFeature.VALUELESS_TRANSFER,
503
+ base_1.CoinFeature.TRANSACTION_DATA,
504
+ base_1.CoinFeature.GENERIC_TOKEN,
505
+ ];
506
+ exports.TON_FEATURES = [
507
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
508
+ base_1.CoinFeature.TSS,
509
+ base_1.CoinFeature.TSS_COLD,
510
+ base_1.CoinFeature.STAKING,
511
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
512
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
513
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
514
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
515
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
516
+ base_1.CoinFeature.SUPPORTS_TOKENS,
517
+ base_1.CoinFeature.SUPPORTS_MEMO,
518
+ ];
519
+ exports.TON_TOKEN_FEATURES = [
520
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
521
+ base_1.CoinFeature.TSS,
522
+ base_1.CoinFeature.TSS_COLD,
523
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
524
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
525
+ ];
526
+ exports.ARBETH_FEATURES = [
527
+ ...exports.ETH_FEATURES,
528
+ base_1.CoinFeature.TSS,
529
+ base_1.CoinFeature.TSS_COLD,
530
+ base_1.CoinFeature.MPCV2,
531
+ base_1.CoinFeature.MULTISIG_COLD,
532
+ base_1.CoinFeature.EVM_WALLET,
533
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
534
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
535
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
536
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
537
+ base_1.CoinFeature.EIP1559,
538
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
539
+ base_1.CoinFeature.MULTISIG,
540
+ base_1.CoinFeature.BULK_TRANSACTION,
541
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
542
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
543
+ ];
544
+ exports.OPETH_FEATURES = [
545
+ ...exports.ETH_FEATURES,
546
+ base_1.CoinFeature.TSS,
547
+ base_1.CoinFeature.TSS_COLD,
548
+ base_1.CoinFeature.MPCV2,
549
+ base_1.CoinFeature.MULTISIG_COLD,
550
+ base_1.CoinFeature.MULTISIG,
551
+ base_1.CoinFeature.EVM_WALLET,
552
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
553
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
554
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
555
+ base_1.CoinFeature.EIP1559,
556
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
557
+ base_1.CoinFeature.BULK_TRANSACTION,
558
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
559
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
560
+ ];
561
+ exports.ZKETH_FEATURES = [
562
+ ...exports.ETH_FEATURES,
563
+ base_1.CoinFeature.MULTISIG_COLD,
564
+ base_1.CoinFeature.MULTISIG,
565
+ base_1.CoinFeature.EVM_WALLET,
566
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
567
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
568
+ base_1.CoinFeature.EIP1559,
569
+ ];
570
+ exports.ZKSYNCERA_FEATURES = [
571
+ ...exports.EVM_FEATURES,
572
+ base_1.CoinFeature.SHARED_EVM_SIGNING,
573
+ base_1.CoinFeature.SHARED_EVM_SDK,
574
+ base_1.CoinFeature.EVM_COMPATIBLE_IMS,
575
+ base_1.CoinFeature.EVM_COMPATIBLE_UI,
576
+ base_1.CoinFeature.EVM_COMPATIBLE_WP,
577
+ base_1.CoinFeature.SUPPORTS_ERC20,
578
+ base_1.CoinFeature.EVM_NON_BITGO_RECOVERY,
579
+ base_1.CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
580
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
581
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
582
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
583
+ ];
584
+ exports.BERA_FEATURES = [
585
+ ...exports.ETH_FEATURES,
586
+ base_1.CoinFeature.TSS,
587
+ base_1.CoinFeature.TSS_COLD,
588
+ base_1.CoinFeature.MPCV2,
589
+ base_1.CoinFeature.EVM_WALLET,
590
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
591
+ base_1.CoinFeature.BULK_TRANSACTION,
592
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
593
+ base_1.CoinFeature.EIP1559,
594
+ base_1.CoinFeature.STAKING,
595
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
596
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
597
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
598
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
599
+ base_1.CoinFeature.SUPPORTS_MEMO,
600
+ ];
601
+ exports.OAS_FEATURES = [
602
+ ...exports.ETH_FEATURES,
603
+ base_1.CoinFeature.TSS,
604
+ base_1.CoinFeature.TSS_COLD,
605
+ base_1.CoinFeature.MPCV2,
606
+ base_1.CoinFeature.EVM_WALLET,
607
+ base_1.CoinFeature.BULK_TRANSACTION,
608
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
609
+ base_1.CoinFeature.EIP1559,
610
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
611
+ ];
612
+ exports.COREDAO_FEATURES = [
613
+ ...exports.ETH_FEATURES,
614
+ base_1.CoinFeature.TSS,
615
+ base_1.CoinFeature.TSS_COLD,
616
+ base_1.CoinFeature.MPCV2,
617
+ base_1.CoinFeature.EVM_WALLET,
618
+ base_1.CoinFeature.BULK_TRANSACTION,
619
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
620
+ base_1.CoinFeature.EIP1559,
621
+ base_1.CoinFeature.STAKING,
622
+ base_1.CoinFeature.EIP1559,
623
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
624
+ ];
625
+ exports.TEMPO_FEATURES = [
626
+ ...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.ENTERPRISE_PAYS_FEES),
627
+ base_1.CoinFeature.EVM_KEYRING_UNSUPPORTED,
628
+ ];
629
+ exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
630
+ exports.HYPERLIQUID_FEATURES = [
631
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
632
+ base_1.CoinFeature.MULTISIG_COLD,
633
+ base_1.CoinFeature.TSS,
634
+ base_1.CoinFeature.TSS_COLD,
635
+ base_1.CoinFeature.MPCV2,
636
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
637
+ ];
638
+ exports.APECHAIN_FEATURES = [
639
+ ...exports.ETH_FEATURES,
640
+ base_1.CoinFeature.TSS,
641
+ base_1.CoinFeature.TSS_COLD,
642
+ base_1.CoinFeature.MPCV2,
643
+ base_1.CoinFeature.EVM_WALLET,
644
+ base_1.CoinFeature.BULK_TRANSACTION,
645
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
646
+ base_1.CoinFeature.EIP1559,
647
+ ];
648
+ exports.APT_FEATURES = [
649
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
650
+ base_1.CoinFeature.TSS,
651
+ base_1.CoinFeature.TSS_COLD,
652
+ base_1.CoinFeature.BULK_TRANSACTION,
653
+ base_1.CoinFeature.SUPPORTS_TOKENS,
654
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
655
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
656
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
657
+ ];
658
+ exports.ICP_FEATURES = [
659
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
660
+ base_1.CoinFeature.TSS,
661
+ base_1.CoinFeature.TSS_COLD,
662
+ base_1.CoinFeature.MPCV2,
663
+ base_1.CoinFeature.SUPPORTS_TOKENS,
664
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
665
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
666
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
667
+ base_1.CoinFeature.SUPPORTS_MEMO,
668
+ ];
669
+ exports.STARKNET_FEATURES = [
670
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
671
+ base_1.CoinFeature.TSS,
672
+ base_1.CoinFeature.TSS_COLD,
673
+ base_1.CoinFeature.MPCV2,
674
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
675
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
676
+ ];
677
+ exports.TAO_FEATURES = [
678
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
679
+ base_1.CoinFeature.TSS,
680
+ base_1.CoinFeature.TSS_COLD,
681
+ base_1.CoinFeature.STAKING,
682
+ base_1.CoinFeature.SUPPORTS_TOKENS,
683
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
684
+ ];
685
+ exports.TAO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
686
+ exports.SONEIUM_FEATURES = [
687
+ ...exports.ETH_FEATURES,
688
+ base_1.CoinFeature.TSS,
689
+ base_1.CoinFeature.TSS_COLD,
690
+ base_1.CoinFeature.MPCV2,
691
+ base_1.CoinFeature.EVM_WALLET,
692
+ base_1.CoinFeature.BULK_TRANSACTION,
693
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
694
+ base_1.CoinFeature.EIP1559,
695
+ base_1.CoinFeature.MULTISIG,
696
+ base_1.CoinFeature.MULTISIG_COLD,
697
+ base_1.CoinFeature.MULTISIG_SUPPORT_GATED,
698
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
699
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
700
+ ];
701
+ exports.POLYX_FEATURES = [
702
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
703
+ base_1.CoinFeature.TSS,
704
+ base_1.CoinFeature.TSS_COLD,
705
+ base_1.CoinFeature.STAKING,
706
+ base_1.CoinFeature.SUPPORTS_TOKENS,
707
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
708
+ base_1.CoinFeature.SUPPORTS_MEMO,
709
+ ];
710
+ exports.POLYX_TOKEN_FEATURES = [
711
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
712
+ base_1.CoinFeature.TSS,
713
+ base_1.CoinFeature.TOKEN_STANDARD_USES_ALTERNATIVE_ADDRESS_IDENTIFIER,
714
+ ];
715
+ exports.ETH_FEATURES_WITH_FRANKFURT = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
716
+ exports.ETH_FEATURES_WITH_GERMANY = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
717
+ exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = [...exports.ETH_FEATURES_WITH_FRANKFURT, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
718
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = [
719
+ ...exports.SOL_TOKEN_FEATURES,
720
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
721
+ base_1.CoinFeature.BULK_TRANSACTION,
722
+ ];
723
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = [
724
+ ...exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT,
725
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
726
+ ];
727
+ exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = [
728
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
729
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
730
+ ];
731
+ exports.ZETA_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
732
+ exports.ZETA_EVM_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
733
+ exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ETH_FEATURES_WITH_FRANKFURT.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
734
+ exports.TIA_FEATURES = [
735
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
736
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
737
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
738
+ ];
739
+ exports.WCT_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STAKING, base_1.CoinFeature.WALLET_CONNECT_DEFI];
740
+ exports.BERA_BGT_FEATURES = [
741
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
742
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
743
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
744
+ ];
745
+ exports.VET_FEATURES = [
746
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
747
+ base_1.CoinFeature.TSS,
748
+ base_1.CoinFeature.TSS_COLD,
749
+ base_1.CoinFeature.BULK_TRANSACTION,
750
+ base_1.CoinFeature.SUPPORTS_TOKENS,
751
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
752
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
753
+ base_1.CoinFeature.FEES_PAID_WITH_TOKEN,
754
+ base_1.CoinFeature.MPCV2,
755
+ ];
756
+ exports.VET_TOKEN_FEATURES = exports.VET_FEATURES.filter((feature) => feature !== base_1.CoinFeature.SUPPORTS_TOKENS);
757
+ exports.EVM_NON_EIP1559_FEATURES = [...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.EIP1559)];
758
+ exports.XDC_FEATURES = [
759
+ ...exports.EVM_NON_EIP1559_FEATURES,
760
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
761
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
762
+ ];
763
+ exports.XDC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX];
764
+ exports.SGB_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
765
+ exports.FLR_FEATURES = [
766
+ ...exports.EVM_FEATURES,
767
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
768
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
769
+ ];
770
+ exports.WFLR_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STABLECOIN, base_1.CoinFeature.STAKING];
771
+ exports.WEMIX_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
772
+ exports.IOTA_FEATURES = [
773
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
774
+ base_1.CoinFeature.TSS,
775
+ base_1.CoinFeature.TSS_COLD,
776
+ base_1.CoinFeature.BULK_TRANSACTION,
777
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
778
+ ];
779
+ // TODO: https://bitgoinc.atlassian.net/browse/COIN-5870
780
+ exports.CANTON_FEATURES = [
781
+ base_1.CoinFeature.TRANSACTION_DATA,
782
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
783
+ base_1.CoinFeature.TSS,
784
+ base_1.CoinFeature.TSS_COLD,
785
+ base_1.CoinFeature.CUSTODY,
786
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
787
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
788
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
789
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
790
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
791
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
792
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
793
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
794
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
795
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
796
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
797
+ base_1.CoinFeature.SUPPORTS_TOKENS,
798
+ base_1.CoinFeature.SUPPORTS_MEMO,
799
+ ];
800
+ exports.CANTON_TOKEN_FEATURES = [
801
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
802
+ base_1.CoinFeature.TSS,
803
+ base_1.CoinFeature.TSS_COLD,
804
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
805
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
806
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
807
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
808
+ ];
809
+ exports.TCANTON_FEATURES = [
810
+ ...exports.CANTON_FEATURES,
811
+ base_1.CoinFeature.UNSPENT_MODEL,
812
+ base_1.CoinFeature.MERGE_UTXOS,
813
+ base_1.CoinFeature.FANOUT_UTXOS,
814
+ base_1.CoinFeature.BYOV_VALIDATOR,
815
+ ];
816
+ exports.ERC7984_TOKEN_FEATURES = [
817
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
818
+ base_1.CoinFeature.BULK_TRANSACTION,
819
+ base_1.CoinFeature.TSS,
820
+ base_1.CoinFeature.TSS_COLD,
821
+ base_1.CoinFeature.CONFIDENTIAL_TRANSFER,
822
+ base_1.CoinFeature.REQUIRES_DECRYPTION_DELEGATION,
823
+ ];
824
+ exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
825
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
826
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
827
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
828
+ exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
829
+ exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
830
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.APT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
831
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvaW5GZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFxQztBQUNyQywrQkFBNEI7QUFFNUIsZ0VBQWdFO0FBQ25ELFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyx3QkFBd0I7SUFDcEMsa0JBQVcsQ0FBQyxxQkFBcUI7SUFDakMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyx5QkFBeUI7SUFDckMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxtQkFBbUI7Q0FDaEMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0Msa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsbUJBQW1CO0lBQy9CLGtCQUFXLENBQUMsa0JBQWtCO0lBQzlCLGtCQUFXLENBQUMsZ0JBQWdCO0lBQzVCLGtCQUFXLENBQUMsT0FBTztJQUNuQixrQkFBVyxDQUFDLG1CQUFtQjtJQUMvQixrQkFBVyxDQUFDLHNCQUFzQjtJQUNsQyxrQkFBVyxDQUFDLDhCQUE4QjtJQUMxQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLHdCQUF3QjtJQUNwQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLG1CQUFtQjtDQUNoQyxDQUFDO0FBRVcsUUFBQSwrQ0FBK0MsR0FBRyxxQ0FBNkIsQ0FBQyxNQUFNLENBQ2pHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FD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Q0FDaEYsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSxpQ0FBaUMsR0FBRywwQkFBa0IsQ0FBQyxNQUFNLENBQ3hFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FDakgsQ0FBQztBQUNXLFFBQUEsaUNBQWlDLEdBQUcsMEJBQWtCLENBQUMsTUFBTSxDQUN4RSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLGtCQUFXLENBQUMsd0JBQXdCLElBQUksT0FBTyxLQUFLLGtCQUFXLENBQUMsdUJBQXVCLENBQ2pILENBQUM7QUFDVyxRQUFBLGlDQUFpQyxHQUFHLDBCQUFrQixDQUFDLE1BQU0sQ0FDeEUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSw2QkFBNkIsR0FBRyxzQkFBYyxDQUFDLE1BQU0sQ0FDaEUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSwyQkFBMkIsR0FBRyxvQkFBWSxDQUFDLE1BQU0sQ0FDNUQsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZlYXR1cmUgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQWRhIH0gZnJvbSAnLi9hZGEnO1xuXG4vL2xpc3Qgb2YgYWxsIHRoZSBqdXJpc2RpY3Rpb25zIHdoZXJlIEJpdEdvIEN1c3RvZHkgaXMgYXZhaWxhYmxlXG5leHBvcnQgY29uc3QgQklUR09fQ1VTVE9EWV9KVVJJU0RJQ1RJT05TID0gW1xuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lTVEVSX1RSVVNUX09ORSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSxcbl07XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyA9IFtcbiAgQ29pbkZlYXR1cmUuQUNDT1VOVF9NT0RFTCxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfQklHX05VTUJFUixcbiAgQ29pbkZlYXR1cmUuVkFMVUVMRVNTX1RSQU5TRkVSLFxuICBDb2luRmVhdHVyZS5UUkFOU0FDVElPTl9EQVRBLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0lORElBLFxuXTtcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFID0gQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRVxuKTtcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFX0FORF9NRU5BX0ZaRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkVcbik7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcblxuLy8ga2VlcHMgY3VzdG9keSBlbmFibGVkIGZvciBCaXRHbyBUcnVzdCBvbmx5LCBkcm9wcGluZyBldmVyeSBvdGhlciBqdXJpc2RpY3Rpb24ncyBjdXN0b2R5IGZlYXR1cmVcbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19UUlVTVF9PTkxZID0gQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSA9PT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCB8fCAhQklUR09fQ1VTVE9EWV9KVVJJU0RJQ1RJT05TLmluY2x1ZGVzKGZlYXR1cmUpXG4pO1xuXG4vLyBtYXRjaGVzIHRoZSBlcmMyMFRva2VuL2FyYmV0aEVyYzIwL3BvbHlnb25FcmMyMCBkZWZhdWx0IGZlYXR1cmUgc2V0IChbLi4uQWNjb3VudENvaW4uREVGQVVMVF9GRUFUVVJFUyxcbi8vIENvaW5GZWF0dXJlLkVJUDE1NTldKSwgYnV0IHNjb3BlZCB0byBCaXRHbyBUcnVzdCBjdXN0b2R5IG9ubHlcbmV4cG9ydCBjb25zdCBFVk1fVE9LRU5fRkVBVFVSRVNfVFJVU1RfT05MWSA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19UUlVTVF9PTkxZLCBDb2luRmVhdHVyZS5FSVAxNTU5XTtcblxuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLkVWTV9DT0lOLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX09OQ0hBSU4sXG4gIENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fTUVTU0FHRV9TSUdOSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9NTUkgPSBbLi4uRVRIX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5NRVRBTUFTS19JTlNUSVRVVElPTkFMXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuU1RBS0lOR107XG5leHBvcnQgY29uc3QgRVRIX0ZFQVRVUkVTX1dJVEhfU1RBS0lOR19BTkRfTU1JID0gWy4uLkVUSF9GRUFUVVJFU19XSVRIX1NUQUtJTkcsIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUxdO1xuZXhwb3J0IGNvbnN0IEVUQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuZXhwb3J0IGNvbnN0IEVWTV9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuZXhwb3J0IGNvbnN0IEFWQVhDX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVNfV0lUSF9NTUksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgQ0VMT19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbl0uZmlsdGVyKFxuICAoZmVhdHVyZSkgPT5cbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUksgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5EICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSVNURVJfVFJVU1RfT05FICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkRJU1RSSUJVVEVEX0NVU1RPRFlcbik7XG5cbmV4cG9ydCBjb25zdCBDRUxPX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTXS5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFkgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQVxuKTtcblxuZXhwb3J0IGNvbnN0IFJCVENfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBYTE1fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfTUVNTyxcbl07XG5leHBvcnQgY29uc3QgWFRaX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG5dLmZpbHRlcigoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFKTtcblxuZXhwb3J0IGNvbnN0IFhSUF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19NRU1PLFxuXTtcbmV4cG9ydCBjb25zdCBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENTUFJfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19SRVNFUlZFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuZXhwb3J0IGNvbnN0IEFMR09fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgSFRFVEhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuICBDb2luRmVhdHVyZS5XQUxMRVRfQ09OTkVDVF9ERUZJLFxuXTtcbmV4cG9ydCBjb25zdCBBREFfRkVBVFVSRVMgPSBbXG4gIC4uLkFkYS5ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbl07XG5leHBvcnQgY29uc3QgQURBX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbl07XG5leHBvcnQgY29uc3QgQURBX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbl07XG5leHBvcnQgY29uc3QgRE9UX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuRVhQSVJJTkdfVFJBTlNBQ1RJT05TLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19NRU1PLFxuXTtcbmV4cG9ydCBjb25zdCBFT1NfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfTUVNTyxcbl07XG5leHBvcnQgY29uc3QgSEJBUl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfTUVNTyxcbl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTX1dJVEhfTU1JLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuXG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFU19UUlVTVF9PTkxZID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19UUlVTVF9PTkxZLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgRVZNX0VSQzIwX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbl07XG5leHBvcnQgY29uc3QgRVJDMjBfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBQT0xfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbl07XG5leHBvcnQgY29uc3QgU09MX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfUkVTRVJWRSxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5XQUxMRVRfQ09OTkVDVF9ERUZJLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuZXhwb3J0IGNvbnN0IFRTT0xfRkVBVFVSRVMgPSBbLi4uU09MX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRV07XG5leHBvcnQgY29uc3QgU09MX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgU09MX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gU09MX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFU19UUlVTVF9PTkxZID0gU09MX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgPT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QgfHwgIUJJVEdPX0NVU1RPRFlfSlVSSVNESUNUSU9OUy5pbmNsdWRlcyhmZWF0dXJlKVxuKTtcbmV4cG9ydCBjb25zdCBTT0xfT0ZDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1MsIENvaW5GZWF0dXJlLlRTU19DT0xEXTtcbmV4cG9ydCBjb25zdCBBUFRfT0ZDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1MsIENvaW5GZWF0dXJlLlRTU19DT0xEXTtcblxuZXhwb3J0IGNvbnN0IEJTQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTX1dJVEhfU1RBS0lOR19BTkRfTU1JLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9NRVNTQUdFX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcbmV4cG9ydCBjb25zdCBCU0NfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgQlNDX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVgsXG5dO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgQlNDX1RPS0VOX0ZFQVRVUkVTX1RSVVNUX09OTFkgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX1RSVVNUX09OTFksXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcbmV4cG9ydCBjb25zdCBTVFhfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQUxQSEFOVU1FUklDX01FTU9fSUQsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuZXhwb3J0IGNvbnN0IFNUWF9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuXTtcbmV4cG9ydCBjb25zdCBTVFhfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUgPSBTVFhfVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5leHBvcnQgY29uc3QgTkVBUl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuXTtcbmV4cG9ydCBjb25zdCBORUFSX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG5dO1xuZXhwb3J0IGNvbnN0IE1BVElDX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTUVUQU1BU0tfSU5TVElUVVRJT05BTCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG5dO1xuZXhwb3J0IGNvbnN0IE1BVElDX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gWy4uLk1BVElDX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVF07XG5cbmV4cG9ydCBjb25zdCBXRVRIX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTUVUQU1BU0tfSU5TVElUVVRJT05BTCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG5dO1xuZXhwb3J0IGNvbnN0IFRXRVRIX0ZFQVRVUkVTID0gWy4uLldFVEhfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlNUQUtJTkddO1xuZXhwb3J0IGNvbnN0IEVJR0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTUVUQU1BU0tfSU5TVElUVVRJT05BTCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG5dO1xuZXhwb3J0IGNvbnN0IFJFVEhfUk9DS0VUX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTUVUQU1BU0tfSU5TVElUVVRJT05BTCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkxJUVVJRF9TVEFLSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBTVUlfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5CVUxLX1NUQUtJTkdfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTExPV1NfTkVHQVRJVkVfRkVFLFxuXTtcbmV4cG9ydCBjb25zdCBTVUlfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBTVUlfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUgPSBTVUlfVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5leHBvcnQgY29uc3QgU1VJX1RPS0VOX0ZFQVRVUkVTX1NUQUtJTkcgPSBbXG4gIC4uLlNVSV9UT0tFTl9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQlVMS19TVEFLSU5HX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBUUlhfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX1NVUFBPUlRfSU5fUFJPR1JFU1MsIC8vIFRPRE86IHJlbW92ZSB0aGlzIGFmdGVyIFRTUyBpcyBmdWxseSBvbmJvYXJkZWRcbl07XG5leHBvcnQgY29uc3QgQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5TSEEyNTZfV0lUSF9FQ0RTQV9UU1MsXG4gIENvaW5GZWF0dXJlLkNPU01PU19MSUtFX0NPSU5TLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuSU5DUkVBU0VEX1RYX1JFUVVFU1RfUkVCVUlMRF9MSU1JVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfTUVNTyxcbl07XG5leHBvcnQgY29uc3QgQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcgPSBbXG4gIC4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkJVTEtfU1RBS0lOR19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgQ09TTU9TX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNdO1xuZXhwb3J0IGNvbnN0IENPU01PU19UT0tFTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcgPSBbLi4uQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkddO1xuZXhwb3J0IGNvbnN0IEFUT01fRkVBVFVSRVMgPSBbLi4uQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXTtcbmV4cG9ydCBjb25zdCBJTkpFQ1RJVkVfRkVBVFVSRVMgPSBbXG4gIC4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbl07XG5leHBvcnQgY29uc3QgQ09SRVVNX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVF07XG5leHBvcnQgY29uc3QgU0VJX0ZFQVRVUkVTID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLlNVTlNFVFRJTkcsXG5dO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0ZFQVRVUkVTX1dJVEhfU1dJU1MgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkRdO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVF07XG5leHBvcnQgY29uc3QgVE9LRU5fRkVBVFVSRVNfV0lUSF9OWV9HRVJNQU5ZX0ZSQU5LRlVSVCA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IEdFTkVSSUNfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIENvaW5GZWF0dXJlLkFDQ09VTlRfTU9ERUwsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0JJR19OVU1CRVIsXG4gIENvaW5GZWF0dXJlLlZBTFVFTEVTU19UUkFOU0ZFUixcbiAgQ29pbkZlYXR1cmUuVFJBTlNBQ1RJT05fREFUQSxcbiAgQ29pbkZlYXR1cmUuR0VORVJJQ19UT0tFTixcbl07XG5leHBvcnQgY29uc3QgVE9OX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuZXhwb3J0IGNvbnN0IFRPTl9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbl07XG5leHBvcnQgY29uc3QgQVJCRVRIX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBPUEVUSF9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5FVEhfUk9MTFVQX0NIQUlOLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuZXhwb3J0IGNvbnN0IFpLRVRIX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbl07XG5cbmV4cG9ydCBjb25zdCBaS1NZTkNFUkFfRkVBVFVSRVMgPSBbXG4gIC4uLkVWTV9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5TSEFSRURfRVZNX1NESyxcbiAgQ29pbkZlYXR1cmUuRVZNX0NPTVBBVElCTEVfSU1TLFxuICBDb2luRmVhdHVyZS5FVk1fQ09NUEFUSUJMRV9VSSxcbiAgQ29pbkZlYXR1cmUuRVZNX0NPTVBBVElCTEVfV1AsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX0VSQzIwLFxuICBDb2luRmVhdHVyZS5FVk1fTk9OX0JJVEdPX1JFQ09WRVJZLFxuICBDb2luRmVhdHVyZS5FVk1fVU5TSUdORURfU1dFRVBfUkVDT1ZFUlksXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5FVEhfUk9MTFVQX0NIQUlOLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuZXhwb3J0IGNvbnN0IEJFUkFfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19NRU1PLFxuXTtcbmV4cG9ydCBjb25zdCBPQVNfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBDT1JFREFPX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgVEVNUE9fRkVBVFVSRVMgPSBbXG4gIC4uLkVWTV9GRUFUVVJFUy5maWx0ZXIoKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTKSxcbiAgQ29pbkZlYXR1cmUuRVZNX0tFWVJJTkdfVU5TVVBQT1JURUQsXG5dO1xuZXhwb3J0IGNvbnN0IFRFTVBPX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gVEVNUE9fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5leHBvcnQgY29uc3QgSFlQRVJMSVFVSURfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU0hBMjU2X1dJVEhfRUNEU0FfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBBUEVDSEFJTl9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuZXhwb3J0IGNvbnN0IEFQVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLlRTU19FTlRFUlBSSVNFX1BBWVNfRkVFUyxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuXG5leHBvcnQgY29uc3QgSUNQX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuU0hBMjU2X1dJVEhfRUNEU0FfVFNTLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVgsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuXG5leHBvcnQgY29uc3QgU1RBUktORVRfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU0hBMjU2X1dJVEhfRUNEU0FfVFNTLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbl07XG5cbmV4cG9ydCBjb25zdCBUQU9fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcblxuZXhwb3J0IGNvbnN0IFRBT19UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuVFNTLCBDb2luRmVhdHVyZS5UU1NfQ09MRF07XG5cbmV4cG9ydCBjb25zdCBTT05FSVVNX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX1NVUFBPUlRfR0FURUQsXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuZXhwb3J0IGNvbnN0IFBPTFlYX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfTUVNTyxcbl07XG5cbmV4cG9ydCBjb25zdCBQT0xZWF9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVE9LRU5fU1RBTkRBUkRfVVNFU19BTFRFUk5BVElWRV9BRERSRVNTX0lERU5USUZJRVIsXG5dO1xuXG5leHBvcnQgY29uc3QgRVRIX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX0dFUk1BTlkgPSBbLi4uRVRIX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlldO1xuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVF9HRVJNQU5ZID0gWy4uLkVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCwgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZXTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQgPSBbXG4gIC4uLlNPTF9UT0tFTl9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVF9HRVJNQU5ZID0gW1xuICAuLi5TT0xfVE9LRU5fRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbl07XG5leHBvcnQgY29uc3QgWExNX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IFpFVEFfRkVBVFVSRVMgPSBbLi4uQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXTtcbmV4cG9ydCBjb25zdCBaRVRBX0VWTV9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVdO1xuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVF9FWENMVURFX1NJTkdBUE9SRSA9IEVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVC5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRVxuKTtcbmV4cG9ydCBjb25zdCBUSUFfRkVBVFVSRVMgPSBbXG4gIC4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5ELFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbl07XG5leHBvcnQgY29uc3QgV0NUX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFLSU5HLCBDb2luRmVhdHVyZS5XQUxMRVRfQ09OTkVDVF9ERUZJXTtcbmV4cG9ydCBjb25zdCBCRVJBX0JHVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG5dO1xuXG5leHBvcnQgY29uc3QgVkVUX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5FTlRFUlBSSVNFX1BBWVNfRkVFUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0VOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5GRUVTX1BBSURfV0lUSF9UT0tFTixcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG5dO1xuZXhwb3J0IGNvbnN0IFZFVF9UT0tFTl9GRUFUVVJFUyA9IFZFVF9GRUFUVVJFUy5maWx0ZXIoKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyk7XG5cbmV4cG9ydCBjb25zdCBFVk1fTk9OX0VJUDE1NTlfRkVBVFVSRVMgPSBbLi4uRVZNX0ZFQVRVUkVTLmZpbHRlcigoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuRUlQMTU1OSldO1xuXG5leHBvcnQgY29uc3QgWERDX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fTk9OX0VJUDE1NTlfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcbmV4cG9ydCBjb25zdCBYRENfVE9LRU5fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYXTtcblxuZXhwb3J0IGNvbnN0IFNHQl9GRUFUVVJFUyA9IFsuLi5FVk1fRkVBVFVSRVMsIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT05dO1xuXG5leHBvcnQgY29uc3QgRkxSX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlVTRVNfTk9OX1BBQ0tFRF9FTkNPRElOR19GT1JfVFhEQVRBLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuZXhwb3J0IGNvbnN0IFdGTFJfRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlNUQUJMRUNPSU4sIENvaW5GZWF0dXJlLlNUQUtJTkddO1xuXG5leHBvcnQgY29uc3QgV0VNSVhfRkVBVFVSRVMgPSBbLi4uRVZNX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OXTtcblxuZXhwb3J0IGNvbnN0IElPVEFfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuXG4vLyBUT0RPOiBodHRwczovL2JpdGdvaW5jLmF0bGFzc2lhbi5uZXQvYnJvd3NlL0NPSU4tNTg3MFxuZXhwb3J0IGNvbnN0IENBTlRPTl9GRUFUVVJFUyA9IFtcbiAgQ29pbkZlYXR1cmUuVFJBTlNBQ1RJT05fREFUQSxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfQklHX05VTUJFUixcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19UUlVTVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfT05FX1NURVBfREVQT1NJVCxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfV0FMTEVUX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19ERVBPU0lUX0FDQ0VQVEFOQ0VfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX01FTU8sXG5dO1xuXG5leHBvcnQgY29uc3QgQ0FOVE9OX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfT05FX1NURVBfREVQT1NJVCxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfV0FMTEVUX0lOSVRJQUxJWkFUSU9OX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19ERVBPU0lUX0FDQ0VQVEFOQ0VfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuXTtcblxuZXhwb3J0IGNvbnN0IFRDQU5UT05fRkVBVFVSRVMgPSBbXG4gIC4uLkNBTlRPTl9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVU5TUEVOVF9NT0RFTCxcbiAgQ29pbkZlYXR1cmUuTUVSR0VfVVRYT1MsXG4gIENvaW5GZWF0dXJlLkZBTk9VVF9VVFhPUyxcbiAgQ29pbkZlYXR1cmUuQllPVl9WQUxJREFUT1IsXG5dO1xuXG5leHBvcnQgY29uc3QgRVJDNzk4NF9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkNPTkZJREVOVElBTF9UUkFOU0ZFUixcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfREVDUllQVElPTl9ERUxFR0FUSU9OLFxuXTtcblxuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEVUSF9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IFBPTFlHT05fVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IFNPTF9UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG5leHBvcnQgY29uc3QgQlNDX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfRVVST1BFID0gQlNDX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBUT05fVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBUT05fVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IFRFTVBPX0ZFQVRVUkVTX0VYQ0xVREVfRVVST1BFID0gVEVNUE9fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IEFQVF9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEFQVF9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG4iXX0=