@paraswap/dex-lib 2.21.0 → 2.21.2

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 (107) hide show
  1. package/build/dex/curve-v1-factory/config.js +91 -9
  2. package/build/dex/curve-v1-factory/config.js.map +1 -1
  3. package/build/dex/curve-v1-factory/curve-v1-factory.js +10 -5
  4. package/build/dex/curve-v1-factory/curve-v1-factory.js.map +1 -1
  5. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js +2 -0
  6. package/build/dex/curve-v1-factory/curve-v1-pool-manager.js.map +1 -1
  7. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js +27 -3
  8. package/build/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.js.map +1 -1
  9. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js +6 -0
  10. package/build/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.js.map +1 -1
  11. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js +6 -0
  12. package/build/dex/curve-v1-factory/price-handlers/functions/_rates.js.map +1 -1
  13. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js +6 -0
  14. package/build/dex/curve-v1-factory/price-handlers/functions/_xp.js.map +1 -1
  15. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js +6 -0
  16. package/build/dex/curve-v1-factory/price-handlers/functions/_xp_mem.js.map +1 -1
  17. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js +6 -0
  18. package/build/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.js.map +1 -1
  19. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js +6 -0
  20. package/build/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.js.map +1 -1
  21. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js +66 -0
  22. package/build/dex/curve-v1-factory/price-handlers/functions/constants.js.map +1 -1
  23. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js +6 -0
  24. package/build/dex/curve-v1-factory/price-handlers/functions/get_D.js.map +1 -1
  25. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js +20 -0
  26. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_mem.js.map +1 -1
  27. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js +6 -0
  28. package/build/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.js.map +1 -1
  29. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js +26 -3
  30. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy.js.map +1 -1
  31. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js +6 -0
  32. package/build/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.js.map +1 -1
  33. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js +6 -0
  34. package/build/dex/curve-v1-factory/price-handlers/functions/get_y.js.map +1 -1
  35. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js +6 -0
  36. package/build/dex/curve-v1-factory/price-handlers/functions/get_y_D.js.map +1 -1
  37. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.d.ts +1 -4
  38. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js +2 -5
  39. package/build/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.js.map +1 -1
  40. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.d.ts +3 -1
  41. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js +22 -3
  42. package/build/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.js.map +1 -1
  43. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.d.ts +1 -1
  44. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js +28 -3
  45. package/build/dex/curve-v1-factory/state-polling-pools/polling-manager.js.map +1 -1
  46. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.d.ts +2 -1
  47. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js +2 -1
  48. package/build/dex/curve-v1-factory/state-polling-pools/pool-polling-base.js.map +1 -1
  49. package/build/dex/curve-v1-factory/types.d.ts +16 -0
  50. package/build/dex/curve-v1-factory/types.js +6 -0
  51. package/build/dex/curve-v1-factory/types.js.map +1 -1
  52. package/build/dex/swaap-v2/rate-fetcher.js.map +1 -1
  53. package/build/dex/test-dex/config.d.ts +4 -0
  54. package/build/dex/test-dex/config.js +15 -0
  55. package/build/dex/test-dex/config.js.map +1 -0
  56. package/build/dex/test-dex/test-dex-pool.d.ts +39 -0
  57. package/build/dex/test-dex/test-dex-pool.js +63 -0
  58. package/build/dex/test-dex/test-dex-pool.js.map +1 -0
  59. package/build/dex/test-dex/test-dex.d.ts +37 -0
  60. package/build/dex/test-dex/test-dex.js +126 -0
  61. package/build/dex/test-dex/test-dex.js.map +1 -0
  62. package/build/dex/test-dex/types.d.ts +6 -0
  63. package/build/dex/{pancakeswap-v3 → test-dex}/types.js.map +1 -1
  64. package/build/dex/woo-fi-v2/woo-fi-math.d.ts +16 -0
  65. package/build/dex/woo-fi-v2/woo-fi-math.js +137 -0
  66. package/build/dex/woo-fi-v2/woo-fi-math.js.map +1 -0
  67. package/package.json +1 -1
  68. package/src/dex/curve-v1-factory/config.ts +91 -9
  69. package/src/dex/curve-v1-factory/curve-v1-factory-e2e.test.ts +36 -0
  70. package/src/dex/curve-v1-factory/curve-v1-factory.ts +13 -5
  71. package/src/dex/curve-v1-factory/curve-v1-pool-manager.ts +6 -0
  72. package/src/dex/curve-v1-factory/price-handlers/functions/_calc_withdraw_one_coin.ts +53 -6
  73. package/src/dex/curve-v1-factory/price-handlers/functions/_dynamic_fee.ts +7 -0
  74. package/src/dex/curve-v1-factory/price-handlers/functions/_rates.ts +7 -0
  75. package/src/dex/curve-v1-factory/price-handlers/functions/_xp.ts +7 -0
  76. package/src/dex/curve-v1-factory/price-handlers/functions/_xp_mem.ts +7 -0
  77. package/src/dex/curve-v1-factory/price-handlers/functions/calc_token_amount.ts +7 -0
  78. package/src/dex/curve-v1-factory/price-handlers/functions/calc_withdraw_one_coin.ts +7 -0
  79. package/src/dex/curve-v1-factory/price-handlers/functions/constants.ts +78 -0
  80. package/src/dex/curve-v1-factory/price-handlers/functions/get_D.ts +13 -0
  81. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_mem.ts +40 -3
  82. package/src/dex/curve-v1-factory/price-handlers/functions/get_D_precisions.ts +7 -0
  83. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy.ts +53 -4
  84. package/src/dex/curve-v1-factory/price-handlers/functions/get_dy_underlying.ts +7 -0
  85. package/src/dex/curve-v1-factory/price-handlers/functions/get_y.ts +7 -0
  86. package/src/dex/curve-v1-factory/price-handlers/functions/get_y_D.ts +7 -0
  87. package/src/dex/curve-v1-factory/state-polling-pools/custom-pool-polling.ts +5 -3
  88. package/src/dex/curve-v1-factory/state-polling-pools/factory-pool-polling.ts +42 -1
  89. package/src/dex/curve-v1-factory/state-polling-pools/polling-manager.ts +43 -9
  90. package/src/dex/curve-v1-factory/state-polling-pools/pool-polling-base.ts +1 -0
  91. package/src/dex/curve-v1-factory/types.ts +14 -0
  92. package/src/dex/quickswap/quickswap-e2e.test.ts +1 -1
  93. package/src/dex/swaap-v2/rate-fetcher.ts +10 -10
  94. package/src/dex/swaap-v2/swaap-v2-e2e.test.ts +1 -4
  95. package/tests/constants-e2e.ts +6 -10
  96. package/.idea/aws.xml +0 -17
  97. package/.idea/codeStyles/Project.xml +0 -19
  98. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  99. package/.idea/misc.xml +0 -6
  100. package/.idea/modules.xml +0 -8
  101. package/.idea/paraswap-dex-lib.iml +0 -9
  102. package/.idea/vcs.xml +0 -6
  103. package/build/dex/pancakeswap-v3/types.d.ts +0 -14
  104. package/build/dex/solidly/forks-override/chronos.d.ts +0 -20
  105. package/build/dex/solidly/forks-override/chronos.js +0 -44
  106. package/build/dex/solidly/forks-override/chronos.js.map +0 -1
  107. /package/build/dex/{pancakeswap-v3 → test-dex}/types.js +0 -0
@@ -9,7 +9,9 @@ const CurveV1FactoryConfig = {
9
9
  [constants_1.Network.MAINNET]: {
10
10
  factoryAddress: '0xB9fC157394Af804a3578134A6585C0dc9cc990d4',
11
11
  stateUpdatePeriodMs: 5 * 1000,
12
- disabledPools: new Set([]),
12
+ disabledPools: new Set([
13
+ '0x28B0Cf1baFB707F2c6826d10caf6DD901a6540C5', // It is rug pool token
14
+ ]),
13
15
  disabledImplementations: new Set([]),
14
16
  factoryPoolImplementations: {
15
17
  '0x2f956eee002b0debd468cf2e0490d1aec65e027f': {
@@ -62,6 +64,38 @@ const CurveV1FactoryConfig = {
62
64
  address: '0x2eb24483ef551da247ab87cf18e1cc980073032d',
63
65
  basePoolAddress: '0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2',
64
66
  },
67
+ '0x008cfa89df5b0c780ca3462fc2602d7f8c7ac315': {
68
+ name: types_1.ImplementationNames.FACTORY_META_BTC_SBTC2,
69
+ address: '0x008cfa89df5b0c780ca3462fc2602d7f8c7ac315',
70
+ basePoolAddress: '0xf253f83AcA21aAbD2A20553AE0BF7F65C755A07F',
71
+ },
72
+ '0xabc533ebcdded41215c46ee078c5818b5b0a252f': {
73
+ name: types_1.ImplementationNames.FACTORY_META_BTC_BALANCES_SBTC2,
74
+ address: '0xabc533ebcdded41215c46ee078c5818b5b0a252f',
75
+ basePoolAddress: '0xf253f83AcA21aAbD2A20553AE0BF7F65C755A07F',
76
+ },
77
+ '0xc629a01ec23ab04e1050500a3717a2a5c0701497': {
78
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA,
79
+ address: '0xc629a01ec23ab04e1050500a3717a2a5c0701497',
80
+ customGasCost: 130000,
81
+ },
82
+ '0x94b4dfd9ba5865cc931195c99a2db42f3fc5d45b': {
83
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA,
84
+ address: '0x94b4dfd9ba5865cc931195c99a2db42f3fc5d45b',
85
+ customGasCost: 130000,
86
+ },
87
+ '0x847ee1227a9900b73aeeb3a47fac92c52fd54ed9': {
88
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2,
89
+ address: '0x847ee1227a9900b73aeeb3a47fac92c52fd54ed9',
90
+ customGasCost: 130000,
91
+ isStoreRateSupported: true,
92
+ },
93
+ '0x1713141278648a4edd5b027fdbd448bb4a13ac0f': {
94
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2,
95
+ address: '0x1713141278648a4edd5b027fdbd448bb4a13ac0f',
96
+ customGasCost: 130000,
97
+ isStoreRateSupported: true,
98
+ },
65
99
  '0x24d937143d3f5cf04c72ba112735151a8cae2262': {
66
100
  name: types_1.ImplementationNames.FACTORY_PLAIN_2_BALANCES,
67
101
  address: '0x24d937143d3f5cf04c72ba112735151a8cae2262',
@@ -119,6 +153,7 @@ const CurveV1FactoryConfig = {
119
153
  liquidityApiSlug: '/main',
120
154
  coinsInputType: 'uint256',
121
155
  balancesInputType: 'uint256',
156
+ useForPricing: false,
122
157
  },
123
158
  '0x7fC77b5c7614E1533320Ea6DDc2Eb61fa00A9714': {
124
159
  name: types_1.CustomImplementationNames.CUSTOM_PLAIN_3COIN_SBTC,
@@ -127,6 +162,7 @@ const CurveV1FactoryConfig = {
127
162
  liquidityApiSlug: '/main',
128
163
  coinsInputType: 'int128',
129
164
  balancesInputType: 'int128',
165
+ useForPricing: false,
130
166
  },
131
167
  '0xbebc44782c7db0a1a60cb6fe97d0b483032ff1c7': {
132
168
  name: types_1.CustomImplementationNames.CUSTOM_PLAIN_3COIN_THREE,
@@ -135,6 +171,7 @@ const CurveV1FactoryConfig = {
135
171
  liquidityApiSlug: '/main',
136
172
  coinsInputType: 'uint256',
137
173
  balancesInputType: 'uint256',
174
+ useForPricing: false,
138
175
  },
139
176
  '0x93054188d876f558f4a66B2EF1d97d16eDf0895B': {
140
177
  name: types_1.CustomImplementationNames.CUSTOM_PLAIN_2COIN_RENBTC,
@@ -143,6 +180,16 @@ const CurveV1FactoryConfig = {
143
180
  liquidityApiSlug: '/main',
144
181
  coinsInputType: 'int128',
145
182
  balancesInputType: 'int128',
183
+ useForPricing: false,
184
+ },
185
+ '0xf253f83aca21aabd2a20553ae0bf7f65c755a07f': {
186
+ name: types_1.CustomImplementationNames.CUSTOM_PLAIN_2COIN_WBTC,
187
+ address: '0xf253f83aca21aabd2a20553ae0bf7f65c755a07f',
188
+ lpTokenAddress: '0x051d7e5609917Bd9b73f04BAc0DED8Dd46a74301',
189
+ liquidityApiSlug: '/main',
190
+ coinsInputType: 'uint256',
191
+ balancesInputType: 'uint256',
192
+ useForPricing: true,
146
193
  },
147
194
  },
148
195
  },
@@ -239,6 +286,7 @@ const CurveV1FactoryConfig = {
239
286
  liquidityApiSlug: '/main',
240
287
  coinsInputType: 'uint256',
241
288
  balancesInputType: 'uint256',
289
+ useForPricing: false,
242
290
  },
243
291
  '0xC2d95EEF97Ec6C17551d45e77B590dc1F9117C67': {
244
292
  name: types_1.CustomImplementationNames.CUSTOM_POLYGON_2COIN_LENDING,
@@ -247,6 +295,7 @@ const CurveV1FactoryConfig = {
247
295
  liquidityApiSlug: '/main',
248
296
  coinsInputType: 'uint256',
249
297
  balancesInputType: 'uint256',
298
+ useForPricing: false,
250
299
  },
251
300
  },
252
301
  },
@@ -343,6 +392,7 @@ const CurveV1FactoryConfig = {
343
392
  liquidityApiSlug: '/main',
344
393
  coinsInputType: 'uint256',
345
394
  balancesInputType: 'uint256',
395
+ useForPricing: false,
346
396
  },
347
397
  '0x3eF6A01A0f81D6046290f3e2A8c5b843e738E604': {
348
398
  name: types_1.CustomImplementationNames.CUSTOM_FANTOM_2COIN_BTC,
@@ -351,15 +401,17 @@ const CurveV1FactoryConfig = {
351
401
  liquidityApiSlug: '/main',
352
402
  coinsInputType: 'uint256',
353
403
  balancesInputType: 'uint256',
404
+ useForPricing: false,
405
+ },
406
+ '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f': {
407
+ name: types_1.CustomImplementationNames.CUSTOM_FANTOM_3COIN_LENDING,
408
+ address: '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f',
409
+ lpTokenAddress: '0xD02a30d33153877BC20e5721ee53DeDEE0422B2F',
410
+ liquidityApiSlug: '/main',
411
+ coinsInputType: 'uint256',
412
+ balancesInputType: 'uint256',
413
+ useForPricing: false,
354
414
  },
355
- // '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f': {
356
- // name: CustomImplementationNames.CUSTOM_FANTOM_3COIN_LENDING,
357
- // address: '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f',
358
- // lpTokenAddress: '0xD02a30d33153877BC20e5721ee53DeDEE0422B2F',
359
- // liquidityApiSlug: '/main',
360
- // coinsInputType: 'uint256',
361
- // balancesInputType: 'uint256',
362
- // },
363
415
  },
364
416
  },
365
417
  [constants_1.Network.AVALANCHE]: {
@@ -448,6 +500,7 @@ const CurveV1FactoryConfig = {
448
500
  liquidityApiSlug: '/main',
449
501
  coinsInputType: 'uint256',
450
502
  balancesInputType: 'uint256',
503
+ useForPricing: false,
451
504
  },
452
505
  // This contract is not verified. I think it is just abandoned. I am commenting both related
453
506
  // btc meta pools
@@ -543,6 +596,17 @@ const CurveV1FactoryConfig = {
543
596
  address: '0xF1f85a74AD6c64315F85af52d3d46bF715236ADc',
544
597
  basePoolAddress: '0x3E01dD8a5E1fb3481F0F589056b428Fc308AF0Fb',
545
598
  },
599
+ '0x73ec37618683c274d0bbf5f5726aa856b2bdab81': {
600
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA,
601
+ address: '0x73ec37618683c274d0bbf5f5726aa856b2bdab81',
602
+ customGasCost: 130000,
603
+ },
604
+ '0x6f9fb833501f46cbe6f6a4b6cf32c834e5a5e8c5': {
605
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2,
606
+ address: '0x6f9fb833501f46cbe6f6a4b6cf32c834e5a5e8c5',
607
+ customGasCost: 130000,
608
+ isStoreRateSupported: true,
609
+ },
546
610
  },
547
611
  customPools: {
548
612
  '0x7f90122BF0700F9E7e1F688fe926940E8839F353': {
@@ -552,6 +616,7 @@ const CurveV1FactoryConfig = {
552
616
  liquidityApiSlug: '/main',
553
617
  coinsInputType: 'uint256',
554
618
  balancesInputType: 'uint256',
619
+ useForPricing: false,
555
620
  },
556
621
  '0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5': {
557
622
  name: types_1.FactoryImplementationNames.FACTORY_PLAIN_2_BASIC,
@@ -560,6 +625,7 @@ const CurveV1FactoryConfig = {
560
625
  liquidityApiSlug: '/factory',
561
626
  coinsInputType: 'uint256',
562
627
  balancesInputType: 'uint256',
628
+ useForPricing: false,
563
629
  },
564
630
  '0x3E01dD8a5E1fb3481F0F589056b428Fc308AF0Fb': {
565
631
  name: types_1.CustomImplementationNames.CUSTOM_ARBITRUM_2COIN_BTC,
@@ -568,6 +634,7 @@ const CurveV1FactoryConfig = {
568
634
  liquidityApiSlug: '/main',
569
635
  coinsInputType: 'uint256',
570
636
  balancesInputType: 'uint256',
637
+ useForPricing: false,
571
638
  },
572
639
  },
573
640
  },
@@ -645,6 +712,17 @@ const CurveV1FactoryConfig = {
645
712
  address: '0x114C4042B11a2b16F58Fe1BFe847589a122F678a',
646
713
  basePoolAddress: '0x29A3d66B30Bc4AD674A4FDAF27578B64f6afbFe7',
647
714
  },
715
+ '0x73ec37618683c274d0bbf5f5726aa856b2bdab81': {
716
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA,
717
+ address: '0x73ec37618683c274d0bbf5f5726aa856b2bdab81',
718
+ customGasCost: 130000,
719
+ },
720
+ '0x6f9fb833501f46cbe6f6a4b6cf32c834e5a5e8c5': {
721
+ name: types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2,
722
+ address: '0x6f9fb833501f46cbe6f6a4b6cf32c834e5a5e8c5',
723
+ customGasCost: 130000,
724
+ isStoreRateSupported: true,
725
+ },
648
726
  },
649
727
  customPools: {
650
728
  '0x1337BedC9D22ecbe766dF105c9623922A27963EC': {
@@ -654,6 +732,7 @@ const CurveV1FactoryConfig = {
654
732
  liquidityApiSlug: '/main',
655
733
  coinsInputType: 'uint256',
656
734
  balancesInputType: 'uint256',
735
+ useForPricing: false,
657
736
  },
658
737
  '0x29A3d66B30Bc4AD674A4FDAF27578B64f6afbFe7': {
659
738
  name: types_1.FactoryImplementationNames.FACTORY_PLAIN_2_BASIC,
@@ -662,6 +741,7 @@ const CurveV1FactoryConfig = {
662
741
  liquidityApiSlug: '/factory',
663
742
  coinsInputType: 'uint256',
664
743
  balancesInputType: 'uint256',
744
+ useForPricing: false,
665
745
  },
666
746
  },
667
747
  },
@@ -748,6 +828,7 @@ const configAddressesNormalizer = (config) => {
748
828
  balancesInputType: customPoolConfig.balancesInputType,
749
829
  address: (0, utils_1.normalizeAddress)(customPoolConfig.address),
750
830
  lpTokenAddress: (0, utils_1.normalizeAddress)(customPoolConfig.lpTokenAddress),
831
+ useForPricing: customPoolConfig.useForPricing,
751
832
  };
752
833
  acc[(0, utils_1.normalizeAddress)(customPoolAddress)] = normalizedImplementation;
753
834
  return acc;
@@ -760,6 +841,7 @@ const configAddressesNormalizer = (config) => {
760
841
  basePoolAddress: implementationConfig.basePoolAddress
761
842
  ? (0, utils_1.normalizeAddress)(implementationConfig.basePoolAddress)
762
843
  : undefined,
844
+ isStoreRateSupported: implementationConfig.isStoreRateSupported,
763
845
  };
764
846
  acc[(0, utils_1.normalizeAddress)(implementationAddress)] =
765
847
  normalizedImplementation;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/config.ts"],"names":[],"mappings":";;;AAAA,mCAOiB;AAEjB,+CAAoD;AACpD,uCAA+C;AAE/C,MAAM,oBAAoB,GAA4B;IACpD,cAAc,EAAE;QACd,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,aAAa,EAAE,IAAI,GAAG,CAAC;gBACrB,4CAA4C,EAAE,uBAAuB;aACtE,CAAC;YACF,uBAAuB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,oBAAoB;oBAC9C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,6BAA6B;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,0BAA0B;oBACpD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mCAAmC;oBAC7D,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,sBAAsB;oBAChD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,+BAA+B;oBACzD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;iBACvB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,uBAAuB;oBACjD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;iBACvB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;oBACtB,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;oBACtB,oBAAoB,EAAE,IAAI;iBAC3B;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;aACF;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,uBAAuB;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,uBAAuB;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,QAAQ;oBACxB,iBAAiB,EAAE,QAAQ;oBAC3B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,wBAAwB;oBACxD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,yBAAyB;oBACzD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,QAAQ;oBACxB,iBAAiB,EAAE,QAAQ;oBAC3B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,uBAAuB;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,IAAI;iBACpB;aACF;SACF;QACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,aAAa,EAAE,IAAI,GAAG,CAAC;gBACrB,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;aAC7C,CAAC;YACF,uBAAuB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;aACF;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,4BAA4B;oBAC5D,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,4BAA4B;oBAC5D,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;aACF;SACF;QACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;YAChB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,aAAa,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,uBAAuB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;aACF;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,uBAAuB;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,uBAAuB;oBACvD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,2BAA2B;oBAC3D,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;aACF;SACF;QACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;YACnB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,4EAA4E;YAC5E,aAAa,EAAE,IAAI,GAAG,CAAC,CAAC,4CAA4C,CAAC,CAAC;YACtE,uBAAuB,EAAE,IAAI,GAAG,CAAC;gBAC/B,4CAA4C;gBAC5C,4CAA4C;aAC7C,CAAC;YACF,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,iFAAiF;gBACjF,kDAAkD;gBAClD,gDAAgD;gBAChD,2DAA2D;gBAC3D,KAAK;gBACL,kDAAkD;gBAClD,yDAAyD;gBACzD,2DAA2D;gBAC3D,KAAK;aACN;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,8BAA8B;oBAC9D,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4FAA4F;gBAC5F,iBAAiB;gBACjB,UAAU;gBACV,cAAc;gBACd,2DAA2D;gBAC3D,wBAAwB;gBACxB,0BAA0B;gBAC1B,KAAK;aACN;SACF;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,aAAa,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,uBAAuB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;iBACvB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;oBACtB,oBAAoB,EAAE,IAAI;iBAC3B;aACF;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,yBAAyB;oBACzD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,kCAA0B,CAAC,qBAAqB;oBACtD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,UAAU;oBAC5B,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,yBAAyB;oBACzD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;aACF;SACF;QACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,cAAc,EAAE,4CAA4C;YAC5D,mBAAmB,EAAE,CAAC,GAAG,IAAI;YAC7B,aAAa,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1B,uBAAuB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,0BAA0B,EAAE;gBAC1B,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,qBAAqB;oBAC/C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,mBAAmB;oBAC7C,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;iBACtD;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,gBAAgB;oBAC1C,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,eAAe,EAAE,4CAA4C;iBAC9D;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,yBAAyB;oBACnD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;iBACvB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,2BAAmB,CAAC,wBAAwB;oBAClD,OAAO,EAAE,4CAA4C;oBACrD,aAAa,EAAE,MAAO;oBACtB,oBAAoB,EAAE,IAAI;iBAC3B;aACF;YACD,WAAW,EAAE;gBACX,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,iCAAyB,CAAC,yBAAyB;oBACzD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,OAAO;oBACzB,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;gBACD,4CAA4C,EAAE;oBAC5C,IAAI,EAAE,kCAA0B,CAAC,qBAAqB;oBACtD,OAAO,EAAE,4CAA4C;oBACrD,cAAc,EAAE,4CAA4C;oBAC5D,gBAAgB,EAAE,UAAU;oBAC5B,cAAc,EAAE,SAAS;oBACzB,iBAAiB,EAAE,SAAS;oBAC5B,aAAa,EAAE,KAAK;iBACrB;aACF;SACF;KACF;CACF,CAAC;AA0IO,oDAAoB;AAxIhB,QAAA,QAAQ,GAAoC;IACvD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE;QACb,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf,iBAAiB;YACjB;gBACE,IAAI,EAAE,cAAc;gBACpB,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE;QACnB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,MAAM,CAAC,EAAE;QAChB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC;aACT;SACF;KACF;IACD,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;QAClB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,mBAAmB;gBACzB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC;AAEF,4BAA4B;AAC5B,mHAAmH;AACnH,MAAM,yBAAyB,GAAG,CAChC,MAA+B,EACN,EAAE;IAC3B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACxC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE;YACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEzC,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAC3C,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO;oBAC5B,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC/C,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc;oBACnC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAE5D,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,EAAE;gBAC/C,MAAM,wBAAwB,GAAqB;oBACjD,IAAI,EAAE,gBAAgB,CAAC,IAAI;oBAC3B,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB;oBACnD,cAAc,EAAE,gBAAgB,CAAC,cAAc;oBAC/C,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB;oBACrD,OAAO,EAAE,IAAA,wBAAgB,EAAC,gBAAgB,CAAC,OAAO,CAAC;oBACnD,cAAc,EAAE,IAAA,wBAAgB,EAAC,gBAAgB,CAAC,cAAc,CAAC;oBACjE,aAAa,EAAE,gBAAgB,CAAC,aAAa;iBAC9C,CAAC;gBACF,GAAG,CAAC,IAAA,wBAAgB,EAAC,iBAAiB,CAAC,CAAC,GAAG,wBAAwB,CAAC;gBACpE,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAE,CAAC,CAAC;YAEP,qDAAqD;YACrD,MAAM,0BAA0B,GAAG,MAAM,CAAC,OAAO,CAC/C,OAAO,CAAC,0BAA0B,CACnC,CAAC,MAAM,CACN,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,EAAE;gBACrD,MAAM,wBAAwB,GAA+B;oBAC3D,IAAI,EAAE,oBAAoB,CAAC,IAAI;oBAC/B,OAAO,EAAE,IAAA,wBAAgB,EAAC,oBAAoB,CAAC,OAAO,CAAC;oBACvD,eAAe,EAAE,oBAAoB,CAAC,eAAe;wBACnD,CAAC,CAAC,IAAA,wBAAgB,EAAC,oBAAoB,CAAC,eAAe,CAAC;wBACxD,CAAC,CAAC,SAAS;oBACb,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB;iBAChE,CAAC;gBACF,GAAG,CAAC,IAAA,wBAAgB,EAAC,qBAAqB,CAAC,CAAC;oBAC1C,wBAAwB,CAAC;gBAC3B,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAE,CACH,CAAC;YAEF,yCAAyC;YACzC,MAAM,gBAAgB,GAAc;gBAClC,cAAc,EAAE,OAAO,CAAC,cAAc;oBACpC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE;oBACtC,CAAC,CAAC,OAAO,CAAC,cAAc;gBAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAChD,0BAA0B;gBAC1B,WAAW;gBACX,aAAa,EAAE,IAAI,GAAG,CACpB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,wBAAgB,CAAC,CACxD;gBACD,uBAAuB,EAAE,IAAI,GAAG,CAC9B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAClE;aACF,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC;SAC7C;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,yBAAyB,CAAC,oBAAoB,CAAC,CAAC"}
@@ -109,6 +109,12 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
109
109
  acc[curr.address] = new price_handler_1.PriceHandler(this.logger, curr.name, baseImplementationName);
110
110
  return acc;
111
111
  }, {});
112
+ Object.values(this.config.customPools).reduce((acc, curr) => {
113
+ if (curr.useForPricing) {
114
+ acc[curr.address] = new price_handler_1.PriceHandler(this.logger, curr.name);
115
+ }
116
+ return acc;
117
+ }, allPriceHandlers);
112
118
  this.poolManager = new curve_v1_pool_manager_1.CurveV1FactoryPoolManager(this.dexKey, dexHelper.getLogger(`${this.dexKey}-state-manager`), dexHelper, allPriceHandlers, this.config.stateUpdatePeriodMs);
113
119
  }
114
120
  async initializePricing(blockNumber) {
@@ -160,8 +166,8 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
160
166
  };
161
167
  let newPool;
162
168
  if (Object.values(types_1.CustomImplementationNames).includes(customPool.name)) {
163
- // We don't want custom pools to be used for pricing
164
- newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending);
169
+ // We don't want custom pools to be used for pricing, unless explicitly specified
170
+ newPool = new custom_pool_polling_1.CustomBasePoolForFactory(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, customPool.name, implementationAddress, customPool.address, this.config.stateUpdatePeriodMs, poolIdentifier, poolConstants, poolContextConstants, customPool.liquidityApiSlug, customPool.lpTokenAddress, isLending, customPool.balancesInputType, useLending, customPool.useForPricing);
165
171
  }
166
172
  else {
167
173
  // Use for pricing pools from factory
@@ -292,8 +298,7 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
292
298
  const factoryImplementationConstants = constants_3.default[factoryImplementationFromConfig.name];
293
299
  let isMeta = false;
294
300
  let basePoolStateFetcher;
295
- if (initializeInitialState &&
296
- factoryImplementationFromConfig.basePoolAddress !== undefined) {
301
+ if (factoryImplementationFromConfig.basePoolAddress !== undefined) {
297
302
  isMeta = true;
298
303
  const basePoolIdentifier = this.getPoolIdentifier(factoryImplementationFromConfig.basePoolAddress, false);
299
304
  const basePool = this.poolManager.getPool(basePoolIdentifier, false);
@@ -310,7 +315,7 @@ class CurveV1Factory extends simple_exchange_1.SimpleExchange {
310
315
  rate_multipliers: this._calcRateMultipliers(coins_decimals),
311
316
  };
312
317
  const poolIdentifier = this.getPoolIdentifier(poolAddresses[i], isMeta);
313
- const newPool = new factory_pool_polling_1.FactoryStateHandler(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, factoryImplementationFromConfig.name, implementationAddress.toLowerCase(), poolAddresses[i], this.config.stateUpdatePeriodMs, factoryAddress, poolIdentifier, poolConstants, factoryImplementationConstants, factoryImplementationConstants.isFeeOnTransferSupported, basePoolStateFetcher);
318
+ const newPool = new factory_pool_polling_1.FactoryStateHandler(this.logger, this.dexKey, this.dexHelper.config.data.network, this.cacheStateKey, factoryImplementationFromConfig.name, implementationAddress.toLowerCase(), poolAddresses[i], this.config.stateUpdatePeriodMs, factoryAddress, poolIdentifier, poolConstants, factoryImplementationConstants, factoryImplementationConstants.isFeeOnTransferSupported, basePoolStateFetcher, factoryImplementationFromConfig.customGasCost, factoryImplementationFromConfig.isStoreRateSupported);
314
319
  this.poolManager.initializeNewPool(poolIdentifier, newPool);
315
320
  if (initializeInitialState) {
316
321
  stateInitializePromises.push(this.poolManager.initializeIndividualPollingPoolState(poolIdentifier, factoryImplementationConstants.isFeeOnTransferSupported));
@@ -1 +1 @@
1
- {"version":3,"file":"curve-v1-factory.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-v1-factory.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AAGvB,iDAAoD;AACpD,4CAA6D;AAe7D,+CAKyB;AACzB,2EAA6D;AAC7D,uCAKqB;AAGrB,mCASiB;AACjB,wDAG4B;AAC5B,qCAA0D;AAC1D,2CAMqB;AACrB,mEAAoE;AACpE,sEAA4C;AAC5C,gFAAsD;AACtD,yGAA+E;AAC/E,+FAAqE;AACrE,sEAA4C;AAC5C,iDAK4B;AAG5B,qFAAiF;AAEjF,mFAAqF;AACrF,qFAA2E;AAC3E,qEAAgE;AAChE,kEAA8D;AAE9D,MAAM,eAAe,GAAY;IAC/B,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,OAAO;IACb,MAAM,EAAE;QACN;YACE,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;SAChB;KACF;IACD,OAAO,EAAE;QACP;YACE,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;SAChB;KACF;CACF,CAAC;AAEF,MAAa,cACX,SAAQ,gCAAc;IAwBtB,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB,EACpB,WAAW,iBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAClC,SAAS,6BAAoB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;IACxD,+EAA+E;IACvE,oBAA6B,eAAe;QAEpD,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QARhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QACpB,aAAQ,GAAR,QAAQ,CAA0B;QAClC,WAAM,GAAN,MAAM,CAAwC;QAEhD,sBAAiB,GAAjB,iBAAiB,CAA2B;QA5B7C,iCAA4B,GAAG,KAAK,CAAC;QACrC,mBAAc,GAAG,KAAK,CAAC;QACvB,6BAAwB,GAAG,IAAI,CAAC;QAChC,sBAAiB,GAAG,IAAI,CAAC;QAK1B,2BAAsB,GAAY,KAAK,CAAC;QACxC,0BAAqB,GAAY,KAAK,CAAC;QAEtC,4BAAuB,GAAG,CAAC,CAAC;QAC5B,6BAAwB,GAAG,CAAC,CAAC;QAE7B,oBAAe,GAAG,IAAI,eAAS,CAAC,yBAAa,CAAC,CAAC;QAiBtD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG;YACZ,cAAc,EAAE,IAAI,eAAS,CAAC,oBAAQ,CAAC;YACvC,OAAO,EAAE,IAAI,eAAS,CAAC,6BAAmC,CAAC;YAC3D,KAAK,EAAE,IAAI,eAAS,CAAC,oBAA0B,CAAC;YAChD,SAAS,EAAE,IAAI,eAAS,CAAC,wBAA8B,CAAC;SACzD,CAAC;QAEF,yFAAyF;QACzF,8BAA8B;QAC9B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CACpC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CACvC,CAAC,MAAM,CAA+B,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACnD,IAAI,sBAAuD,CAAC;YAC5D,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBACrE,IAAI,cAAc,KAAK,SAAS,EAAE;oBAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,mDAAmD,CAC3G,CAAC;oBACF,OAAO,GAAG,CAAC;iBACZ;qBAAM;oBACL,sBAAsB,GAAG,cAAc,CAAC,IAAI,CAAC;iBAC9C;aACF;YACD,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,4BAAY,CAClC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,sBAAsB,CACvB,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9D;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAErB,IAAI,CAAC,WAAW,GAAG,IAAI,iDAAyB,CAC9C,IAAI,CAAC,MAAM,EACX,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,MAAM,gBAAgB,CAAC,EACnD,SAAS,EACT,gBAAgB,EAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,2EAA2E;QAC3E,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;QAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,4BAA4B,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,WAAoB;IACpB,+EAA+E;IAC/E,yBAAkC,IAAI;QAEtC,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,OAAO;SACR;QAED,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,cAAc,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,sCAAsC,IAAI,CAAC,OAAO,EAAE,CACnE,CAAC;YACF,OAAO;SACR;QAED,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAC3C,UAAU,CAAC,OAAO,EAClB,KAAK,CACN,CAAC;YAEF,MAAM,oBAAoB,GAAG,mBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,EACJ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EACvB,SAAS,GACV,GAAG,oBAAoB,CAAC;YAEzB,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CACzC,gBAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;iBACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACT,MAAM,EAAE,UAAU,CAAC,OAAO;gBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACxC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,EAC5C,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CACf;gBACD,cAAc,EAAE,wBAAa;aAC9B,CAAC,CAAC;iBACF,MAAM,CAAC;gBACN;oBACE,MAAM,EAAE,cAAc;oBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAC9C,4BAA4B,EAC5B,CAAC,UAAU,CAAC,OAAO,CAAC,CACrB;oBACD,cAAc,EAAE,wBAAa;iBAC9B;aACF,CAAC,CACL,CAAC;YACJ,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEnE,MAAM,cAAc,GAAG,CACrB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC5C,IAAI,EACJ,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACd,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,CAAC;gBAC9D,cAAc,EAAE,wBAAa;aAC9B,CAAC,CAAC,CACJ,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAEzB,MAAM,aAAa,GAAkB;gBACnC,KAAK;gBACL,cAAc;gBACd,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;gBAC3D,cAAc,EAAE,UAAU,CAAC,cAAc;aAC1C,CAAC;YAEF,IAAI,OAAwB,CAAC;YAC7B,IACE,MAAM,CAAC,MAAM,CACX,iCAAyB,CAC1B,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAC3B;gBACA,iFAAiF;gBACjF,OAAO,GAAG,IAAI,8CAAwB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAClC,IAAI,CAAC,aAAa,EAClB,UAAU,CAAC,IAAI,EACf,qBAAqB,EACrB,UAAU,CAAC,OAAO,EAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,UAAU,CAAC,gBAAgB,EAC3B,UAAU,CAAC,cAAc,EACzB,SAAS,EACT,UAAU,CAAC,iBAAiB,EAC5B,UAAU,EACV,UAAU,CAAC,aAAa,CACzB,CAAC;aACH;iBAAM;gBACL,qCAAqC;gBACrC,OAAO,GAAG,IAAI,8CAAwB,CACpC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAClC,IAAI,CAAC,aAAa,EAClB,UAAU,CAAC,IAAI,EACf,qBAAqB,EACrB,UAAU,CAAC,OAAO,EAClB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,UAAU,CAAC,gBAAgB,EAC3B,UAAU,CAAC,cAAc,EACzB,SAAS,EACT,UAAU,CAAC,iBAAiB,EAC5B,UAAU,EACV,IAAI,CACL,CAAC;aACH;YAED,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,sBAAsB,EAAE;gBAC1B,MAAM,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACzD,cAAc,EACd,8CAAwB,CAAC,gCAAgC,EACzD,WAAW,CACZ,CAAC;aACH;QACH,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,WAAoB;IACpB,8GAA8G;IAC9G,wEAAwE;IACxE,4BAA4B;IAC5B,yBAAkC,IAAI;QAEtC,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,OAAO;SACR;QAED,0FAA0F;QAC1F,qGAAqG;QACrG,yEAAyE;QACzE,MAAM,IAAI,CAAC,4BAA4B,CACrC,WAAW,EACX,sBAAsB,CACvB,CAAC;QAEF,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,cAAc,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,sCAAsC,IAAI,CAAC,OAAO,EAAE,CACnE,CAAC;YACF,OAAO;SACR;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAa,CAAC,YAAY,CACrE,IAAI,EACJ;YACE;gBACE,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBAC9D,cAAc,EAAE,gCAAqB;aACtC;YACD,kGAAkG;YAClG;gBACE,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;gBACnE,cAAc,EAAE,gCAAqB;aACtC;SACF,CACF,CAAC;QAEF,MAAM,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAChD,MAAM,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,MAAM,wBAAwB,GAAG,gBAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/D,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,cAAc,EAAE,wBAAa;SAC9B,CAAC,CAAC,CAAC;QAEJ,MAAM,4BAA4B,GAAG,gBAAC,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvE,cAAc,EAAE,wBAAa;SAC9B,CAAC,CAAC,CAAC;QAEJ,MAAM,gBAAgB,GAAG,CACvB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAC5C,IAAI,EACJ,wBAAwB,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAC9D,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEzB,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5D,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CACpE,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CACjC,CAAC;QACF,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACnC,IACE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACvC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EACxC;gBACA,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;aAChD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,wBAAwB,GAEtB,aAAa;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACR;gBACE,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAC9C,4BAA4B,EAC5B,CAAC,CAAC,CAAC,CACJ;gBACD,cAAc,EAAE,wBAAa;aAC9B;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;gBAClE,cAAc,EAAE,CACd,MAA0C,EAChC,EAAE,CACZ,IAAA,yBAAc,EACZ,MAAM,EACN,CAAC,YAAY,CAAC,EACd,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAY,CAAC,EAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACxD;aACJ;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrE,cAAc,EAAE,CACd,MAA0C,EAChC,EAAE,CACZ,IAAA,yBAAc,EACZ,MAAM,EACN,CAAC,YAAY,CAAC,EACd,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACZ,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAY,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAChE;aACJ;SACF,CAAC;aACD,IAAI,EAAE,CAAC;QAEV,oEAAoE;QACpE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC;QAE9D,yFAAyF;QACzF,gBAAgB;QAChB,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CACxD,GAAG,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAC9C,0BAA0B,EAC1B,CAAC,eAAe,CAAC,CAClB;YACD,cAAc,EAAE,CACd,MAA0C,EAChC,EAAE,CACZ,IAAA,yBAAc,EACZ,MAAM,EACN,CAAC,aAAa,CAAC,EACf,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,wBAAY,CAAC,EAChC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACxD;SACJ,CAAC,CAAC;QACH,uFAAuF;QACvF,wDAAwD;QACxD,uEAAuE;QACvE,0DAA0D;QAC1D,GAAG,gBAAC,CAAC,WAAW,CACd,gBAAC,CAAC,KAAK,CAAC,CAAC,EAAE,mCAAuB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CACvD,gBAAC,CAAC,KAAK,CAAC,sDAA0C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,MAAM,EAAE,cAAc;YACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAC9C,uBAAuB,EACvB,CAAC,UAAU,EAAE,OAAO,CAAC,CACtB;YACD,cAAc,EAAE,wBAAa;SAC9B,CAAC,CAAC,CACJ,CACF,CACF,CAAC;QAEF,MAAM,qBAAqB,GAAG,CAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,YAAY,CAE5C,IAAI,EAAE,wBAAwB,CAAC,CAClC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAEzB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,KAAK,CACpD,CAAC,EACD,qBAAqB,CACtB,CAAC;QAEF,MAAM,2BAA2B,GAAG,gBAAC,CAAC,WAAW,CAC/C,qBAAqB,CAAC,KAAK,CAAC,qBAAqB,CAAa,CAC/D,CAAC,MAAM,CACN,cAAc,CAAC,EAAE,CACf,cAAc,KAAK,wBAAY;YAC/B,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAC3D,CAAC;QAEF,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACnD,MAAM,qBAAqB,GACzB,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;YACzD,IAAI,qBAAqB,KAAK,SAAS,EAAE;gBACvC,IAAI,CAAC,mCAAmC,CAAC,cAAc,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,uBAAuB,GAAoB,EAAE,CAAC;QACpD,gBAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjE,OAAO;aACR;YAED,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,MAIpD,CAAC;YAEF,qBAAqB,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;YAC5D,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,wBAAY,CAAC,CAAC;YACxE,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAEvD,MAAM,+BAA+B,GACnC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,qBAAqB,CAAC,CAAC;YAEhE,IACE,+BAA+B,KAAK,SAAS;gBAC7C,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAC/D;gBACA,IAAI,CAAC,mCAAmC,CACtC,qBAAqB,EACrB,aAAa,CAAC,CAAC,CAAC,CACjB,CAAC;gBACF,OAAO;aACR;YAED,MAAM,8BAA8B,GAClC,mBAAuB,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,MAAM,GAAY,KAAK,CAAC;YAC5B,IAAI,oBAAiD,CAAC;YACtD,IAAI,+BAA+B,CAAC,eAAe,KAAK,SAAS,EAAE;gBACjE,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAC/C,+BAA+B,CAAC,eAAe,EAC/C,KAAK,CACN,CAAC;gBACF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACrE,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,kBAAkB,iCAAiC;wBAC3H,oEAAoE,CACvE,CAAC;oBACF,OAAO;iBACR;gBACD,oBAAoB,GAAG,QAAQ,CAAC;aACjC;YAED,MAAM,aAAa,GAAkB;gBACnC,KAAK,EAAE,KAAK;gBACZ,cAAc;gBACd,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;aAC5D,CAAC;YAEF,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,IAAI,0CAAmB,CACrC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAClC,IAAI,CAAC,aAAa,EAClB,+BAA+B,CAAC,IAAI,EACpC,qBAAqB,CAAC,WAAW,EAAE,EACnC,aAAa,CAAC,CAAC,CAAC,EAChB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAC/B,cAAc,EACd,cAAc,EACd,aAAa,EACb,8BAA8B,EAC9B,8BAA8B,CAAC,wBAAwB,EACvD,oBAAoB,EACpB,+BAA+B,CAAC,aAAa,EAC7C,+BAA+B,CAAC,oBAAoB,CACrD,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAE5D,IAAI,sBAAsB,EAAE;gBAC1B,uBAAuB,CAAC,IAAI,CAC1B,IAAI,CAAC,WAAW,CAAC,oCAAoC,CACnD,cAAc,EACd,8BAA8B,CAAC,wBAAwB,CACxD,CACF,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAE3C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED,iBAAiB,CAAC,WAAmB,EAAE,MAAe;QACpD,OAAO,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAEzD,IAAI,eAAe,KAAK,gBAAgB,EAAE;YACxC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAC5C,eAAe,EACf,gBAAgB,CACjB,CAAC;QAEF,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB,EACrB,eAAkC;QAChC,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACd;QAED,IAAI;YACF,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG,EAAE;gBACzB,OAAO,IAAI,CAAC;aACb;YAED,MAAM,mCAAmC,GACvC,IAAA,0CAAkC,EAAC,YAAY,CAAC,CAAC;YAEnD,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAEzD,IAAI,eAAe,KAAK,gBAAgB,EAAE;gBACxC,OAAO,IAAI,CAAC;aACb;YAED,IAAI,KAAK,GAAsB,EAAE,CAAC;YAClC,IAAI,UAAU,KAAK,SAAS,EAAE;gBAC5B,KAAK,GAAG,UAAU;qBACf,GAAG,CAAC,cAAc,CAAC,EAAE,CACpB,IAAI,CAAC,WAAW,CAAC,OAAO,CACtB,cAAc,EACd,mCAAmC,CACpC,CACF;qBACA,MAAM,CACL,CAAC,IAAI,EAA2B,EAAE,CAChC,IAAI,KAAK,IAAI;oBACb,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAC/D,CAAC;aACL;iBAAM;gBACL,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CACtC,eAAe,EACf,gBAAgB,EAChB,mCAAmC,CACpC,CAAC;aACH;YAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACrB,OAAO,IAAI,CAAC;aACb;YAED,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE;gBACrB,8BAA8B;gBAC9B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,kDAAkD,eAAe,IAAI,gBAAgB,EAAE,CACtG,CAAC;aACH;YAED,MAAM,eAAe,GAAG;gBACtB,IAAA,oBAAY,EAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC/B,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;aACpB,CAAC;YACF,MAAM,qBAAqB,GAAG,mCAAmC;gBAC/D,CAAC,CAAC,IAAA,qCAAgB,EACd,IAAA,qCAAgB,EACd,eAAe,EACf,IAAI,EACJ,YAAY,CAAC,MAAM,EACnB,wCAA4B,CAC7B,EACD,IAAI,EACJ,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,uBAAuB,CAC7B;gBACH,CAAC,CAAC,eAAe,CAAC;YAEpB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CACvB,CAAC,IAAI,EAAyC,EAAE;gBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE9B,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,uCAAuC,IAAI,CAAC,OAAO,EAAE,CAC7G,CAAC;oBACF,OAAO,IAAI,CAAC;iBACb;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;gBAErE,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,QAAQ,qDAAqD,IAAI,CAAC,OAAO,KAAK,eAAe,OAAO,gBAAgB,EAAE,CAC/H,CAAC;oBACF,OAAO,IAAI,CAAC;iBACb;gBAED,IAAI,OAAO,GAAa,IAAI,CAAC,WAAW;qBACrC,eAAe,CAAC,IAAI,CAAC,qBAAqB,CAAC;qBAC3C,UAAU,CACT,KAAK,EACL,qBAAqB,EACrB,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,CAAC,EACV,QAAQ,CAAC,cAAc,CACxB,CAAC;gBAEJ,OAAO,GAAG,IAAA,qCAAgB,EACxB,OAAO,EACP,IAAI,EACJ,YAAY,CAAC,UAAU,EACvB,IAAI,CAAC,wBAAwB,CAC9B,CAAC;gBAEF,OAAO;oBACL,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;oBAChB,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;oBACnC,OAAO,EAAE,kCAAsB;oBAC/B,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC9B,CAAC;YACJ,CAAC,CACF,CAAC;YAEF,OAAO,OAAO,CAAC,MAAM,CACnB,CACE,CAAwC,EACH,EAAE,CAAC,CAAC,KAAK,IAAI,CACrD,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,WAAW,KAAK,CAAC;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,yDAAyD,CACpH,CAAC;YACJ,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,SAAS,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,EACtE,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,kBAAkB,CAChB,UAA0C;QAE1C,OAAO,CACL,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,YAAY;YAC9B,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,KAAK;YACvB,iBAAiB,CAAC,SAAS;YAC3B,iBAAiB,CAAC,IAAI,CACvB,CAAC;IACJ,CAAC;IAED,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAwB,EACxB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAC3C;YACE,YAAY,EAAE;gBACZ,CAAC,EAAE,QAAQ;gBACX,CAAC,EAAE,QAAQ;gBACX,QAAQ,EAAE,SAAS;gBACnB,cAAc,EAAE,MAAM;aACvB;SACF,EACD,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,CACtC,CAAC;QAEF,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,QAAQ;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,OAAgB;QAClC,oCAAoC;QACpC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,mBAA4D,EAC5D,QAAe,EACf,EAAS,EACT,EAAY,EACZ,OAAqC;QAErC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;YAC3B,OAAO;gBACL,mBAAmB;gBACnB;oBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;iBAC1D;aACF,CAAC;SACH;QAED,IAAA,sBAAM,EACJ,mBAAmB,CAAC,IAAI,KAAK,SAAS,EACtC,8CAA8C,CAC/C,CAAC;QAEF,IAAI,UAA+B,CAAC;QAEpC,IAAI;YACF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO;gBAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO;iBAC/C,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC;iBAClE,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC7B,UAAU;gBACR,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,2DAA2D,EAC3D,CAAC,CACF,CAAC;SACH;QAED,OAAO;YACL;gBACE,GAAG,mBAAmB;gBACtB,IAAI,EAAE;oBACJ,GAAG,mBAAmB,CAAC,IAAI;oBAC3B,UAAU;iBACX;aACF;YACD;gBACE,QAAQ,EAAE,MAAM,CAAC,IAAA,uDAAqC,GAAE,CAAC;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,cAAc,CACZ,QAAiB,EACjB,SAAkB,EAClB,SAAyB,EACzB,UAA0B,EAC1B,cAA8B,EAC9B,IAAwB,EACxB,IAAc,EACd,MAAc,EACd,IAAY,EACZ,UAA0B,EAC1B,QAAwB,EACxB,OAAe,EACf,WAAmB,EACnB,cAAuB;QAEvB,IAAI,cAAc,KAAK,8BAAkB,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;SAC9D;QACD,IAAA,sBAAM,EAAC,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAEpD,IAAI,UAAU,GAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;SAClE;QAED,MAAM,UAAU,GAAuB;YACrC,QAAQ;YACR,SAAS;YACT,IAAI,CAAC,QAAQ;YACb,SAAS;YACT,UAAU;YACV,cAAc;YACd,UAAU;YACV,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YACjB,OAAO;YACP,UAAU;YACV,IAAI,CAAC,cAAc;gBACjB,CAAC,CAAC,uBAAe,CAAC,mBAAmB;gBACrC,CAAC,CAAC,uBAAe,CAAC,QAAQ;YAC5B,WAAW;YACX,gEAAgE;YAChE,KAAK;YACL,MAAM;YACN,IAAA,qBAAa,EAAC,IAAI,CAAC;SACpB,CAAC;QAEF,MAAM,OAAO,GAAG,CAAC,GAAG,MAA0B,EAAE,EAAE;YAChD,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,8BAAkB,EAAE;gBACjE,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,UAAU;YAClB,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB;QAC1B,OAAO,CAAC,8BAAkB,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAwB,EACxB,IAAc;QAEd,IAAI,IAAI,KAAK,oBAAQ,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAEhE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAChD,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,iCAAqB,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,cAAc;YAC/B,CAAC,CAAC,0BAAkB,CAAC,mBAAmB;YACxC,CAAC,CAAC,0BAAkB,CAAC,QAAQ,CAAC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,CAC5D,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,qCAAqC,CAC/C,QAAQ,EACR,SAAS,EACT,SAAS,EACT,UAAU,EACV,QAAQ,EACR,QAAQ,CACT,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAChD;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,4DAA4D,CAC3E,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAEzE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,OAAO,EAAE,CAAC;SACX;QAED,OAAO,cAAc;aAClB,MAAM,CAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,gBAAgB,GAAY,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;gBAC1D,IAAI,IAAI,KAAK,aAAa,EAAE;oBAC1B,OAAO,GAAG,IAAI,CAAC;iBAChB;qBAAM;oBACL,gBAAgB,CAAC,IAAI,CAAC;wBACpB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;qBAC/C,CAAC,CAAC;iBACJ;aACF;YAED,MAAM,oBAAoB,GAAY,EAAE,CAAC;YACzC,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAC1C,IAAI,CAAC,wBAAwB,CAC9B,EAAE;gBACD,IAAI,UAAU,KAAK,aAAa,EAAE;oBAChC,YAAY,GAAG,IAAI,CAAC;iBACrB;qBAAM;oBACL,oBAAoB,CAAC,IAAI,CAAC;wBACxB,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;qBACrC,CAAC,CAAC;iBACJ;aACF;YACD,IAAI,eAAe,GAAY,EAAE,CAAC;YAClC,IAAI,OAAO,EAAE;gBACX,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;aAC5D;YACD,IAAI,YAAY,EAAE;gBAChB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;aAChE;YACD,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC1B,GAAG,CAAC,IAAI,CAAC;oBACP,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,eAAe,EAAE,gBAAC,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC;iBACtD,CAAC,CAAC;aACJ;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;aAC/C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAEO,oBAAoB,CAAC,cAAwB;QACnD,OAAO,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAA,oBAAY,EAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,mCAAmC,CACzC,cAAuB,EACvB,IAAc;QAEd,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,GAAG,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG;YACjE,qCAAqC,cAAc,QAAQ,IAAI,sBAAsB,CACxF,CAAC;IACJ,CAAC;IAEO,+BAA+B,CAAC,IAAa;QACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG;YACjE,kCAAkC,IAAI,EAAE,CAC3C,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,IAAY;QAC/B,MAAM,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzD,YAAY,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;QACpC,OAAO,YAAY,CAAC;IACtB,CAAC;;AAz+BH,wCA0+BC;AAt9Be,iCAAkB,GAC9B,IAAA,6BAAqB,EAAC,6BAAoB,CAAC,CAAC"}
@@ -9,6 +9,7 @@ const task_scheduler_1 = require("../../lib/task-scheduler");
9
9
  const constants_1 = require("./constants");
10
10
  const polling_manager_1 = require("./state-polling-pools/polling-manager");
11
11
  const constants_2 = require("../../constants");
12
+ const ts_essentials_1 = require("ts-essentials");
12
13
  /*
13
14
  * The idea of FactoryPoolManager is to try to abstract both pool types: fully event based
14
15
  * semi event based into one wall `PoolManager`. Currently we only support only
@@ -66,6 +67,7 @@ class CurveV1FactoryPoolManager {
66
67
  await this.statePollingManager.updatePoolsInBatch(this.logger, this.dexHelper, [pool], blockNumber);
67
68
  }
68
69
  getPriceHandler(implementationAddress) {
70
+ (0, ts_essentials_1.assert)(this.allPriceHandlers[implementationAddress], `No price handler for ${implementationAddress}`);
69
71
  return this.allPriceHandlers[implementationAddress];
70
72
  }
71
73
  releaseResources() {
@@ -1 +1 @@
1
- {"version":3,"file":"curve-v1-pool-manager.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-pool-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curve-v1-pool-manager.js","sourceRoot":"","sources":["../../../src/dex/curve-v1-factory/curve-v1-pool-manager.ts"],"names":[],"mappings":"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"}
@@ -36,13 +36,12 @@ const customPlain3CoinThree = (self, state, _token_amount, i) => {
36
36
  dy = (dy - 1n) / precisions[i]; // Withdraw less to account for rounding errors
37
37
  return [dy, dy_0 - dy, undefined];
38
38
  };
39
- const customArbitrum2CoinBtc = (self, state, _token_amount, i) => {
39
+ const _genericCustomArbitrum2CoinBtc = (self, state, _token_amount, i, rates) => {
40
40
  const { N_COINS, BI_N_COINS, FEE_DENOMINATOR, PRECISION } = self.constants;
41
41
  if (state.totalSupply === undefined) {
42
- throw new Error(`${self.IMPLEMENTATION_NAME} customArbitrum2CoinBtc: totalSupply is not provided`);
42
+ throw new Error(`${self.IMPLEMENTATION_NAME} _genericCustomArbitrum2CoinBtc: totalSupply is not provided`);
43
43
  }
44
44
  const amp = state.A;
45
- const rates = [...state.constants.rate_multipliers];
46
45
  const xp = self._xp_mem(self, rates, state.balances);
47
46
  const D0 = self.get_D(self, xp, amp);
48
47
  const total_supply = state.totalSupply;
@@ -66,6 +65,24 @@ const customArbitrum2CoinBtc = (self, state, _token_amount, i) => {
66
65
  dy = ((dy - 1n) * PRECISION) / rates[i]; // Withdraw less to account for rounding errors
67
66
  return [dy, dy_0 - dy, undefined];
68
67
  };
68
+ const customArbitrum2CoinBtc = (self, state, _token_amount, i) => {
69
+ const rates = [...state.constants.rate_multipliers];
70
+ return _genericCustomArbitrum2CoinBtc(self, state, _token_amount, i, rates);
71
+ };
72
+ const factoryPlain2EthEma2 = (self, state, _token_amount, i) => {
73
+ if (state.storedRates === undefined) {
74
+ throw new Error(`${self.IMPLEMENTATION_NAME} factoryPlain2EthEma2: storedRates is not provided`);
75
+ }
76
+ const rates = [...state.storedRates];
77
+ return _genericCustomArbitrum2CoinBtc(self, state, _token_amount, i, rates);
78
+ };
79
+ const factoryMetaBtcSbtc2 = (self, state, _token_amount, i) => {
80
+ if (state.virtualPrice === undefined) {
81
+ throw new Error(`${self.IMPLEMENTATION_NAME} factoryMetaBtcSbtc2: virtualPrice is not provided`);
82
+ }
83
+ const rates = [state.constants.rate_multipliers[0], state.virtualPrice];
84
+ return _genericCustomArbitrum2CoinBtc(self, state, _token_amount, i, rates);
85
+ };
69
86
  const customAvalanche3CoinLending = (self, state, _token_amount, i) => {
70
87
  const { N_COINS, BI_N_COINS, FEE_DENOMINATOR } = self.constants;
71
88
  const PRECISION_MUL = (0, utils_1.requireConstant)(self, 'PRECISION_MUL', 'customAvalanche3CoinLending');
@@ -117,6 +134,7 @@ const notImplemented = (self, state, _token_amount, i) => {
117
134
  const implementations = {
118
135
  [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_FRAX]: customPlain3CoinThree,
119
136
  [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_RENBTC]: customPlain3CoinThree,
137
+ [types_1.ImplementationNames.CUSTOM_PLAIN_2COIN_WBTC]: customFantom2CoinBtc,
120
138
  [types_1.ImplementationNames.CUSTOM_PLAIN_3COIN_SBTC]: customPlain3CoinThree,
121
139
  [types_1.ImplementationNames.CUSTOM_PLAIN_3COIN_THREE]: customPlain3CoinThree,
122
140
  [types_1.ImplementationNames.CUSTOM_ARBITRUM_2COIN_BTC]: customArbitrum2CoinBtc,
@@ -150,6 +168,12 @@ const implementations = {
150
168
  [types_1.ImplementationNames.FACTORY_PLAIN_4_BASIC]: notImplemented,
151
169
  [types_1.ImplementationNames.FACTORY_PLAIN_4_ETH]: notImplemented,
152
170
  [types_1.ImplementationNames.FACTORY_PLAIN_4_OPTIMIZED]: notImplemented,
171
+ [types_1.ImplementationNames.FACTORY_META_BTC_SBTC2]: factoryMetaBtcSbtc2,
172
+ [types_1.ImplementationNames.FACTORY_META_BTC_BALANCES_SBTC2]: factoryMetaBtcSbtc2,
173
+ // Keep in mind: these 2 are not 100% correct, because I don't calculate last "last_p" entry, because it doesn't affect pricing
174
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_BASIC_EMA]: customArbitrum2CoinBtc,
175
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA]: customArbitrum2CoinBtc,
176
+ [types_1.ImplementationNames.FACTORY_PLAIN_2_ETH_EMA2]: factoryPlain2EthEma2,
153
177
  };
154
178
  exports.default = implementations;
155
179
  //# sourceMappingURL=_calc_withdraw_one_coin.js.map