@bitgo-beta/statics 15.1.1-beta.170 → 15.1.1-beta.1701

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