@bitgo-beta/statics 15.1.1-beta.205 → 15.1.1-beta.2050

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