@aztec/l1-artifacts 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17

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 (226) hide show
  1. package/dest/CoinIssuerAbi.d.ts +52 -32
  2. package/dest/CoinIssuerAbi.d.ts.map +1 -1
  3. package/dest/CoinIssuerAbi.js +63 -38
  4. package/dest/CoinIssuerBytecode.d.ts.map +1 -1
  5. package/dest/CoinIssuerBytecode.js +2 -5
  6. package/dest/EmpireBaseAbi.d.ts +52 -32
  7. package/dest/EmpireBaseAbi.d.ts.map +1 -1
  8. package/dest/EmpireBaseAbi.js +63 -38
  9. package/dest/EmpireBaseBytecode.d.ts.map +1 -1
  10. package/dest/EmpireBaseBytecode.js +2 -5
  11. package/dest/ErrorsAbi.d.ts +52 -32
  12. package/dest/ErrorsAbi.d.ts.map +1 -1
  13. package/dest/ErrorsAbi.js +63 -38
  14. package/dest/ExtRollupLibAbi.d.ts +157 -214
  15. package/dest/ExtRollupLibAbi.d.ts.map +1 -1
  16. package/dest/ExtRollupLibAbi.js +188 -269
  17. package/dest/ExtRollupLibBytecode.d.ts +1 -1
  18. package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
  19. package/dest/ExtRollupLibBytecode.js +2 -5
  20. package/dest/FeeJuicePortalAbi.d.ts +52 -32
  21. package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
  22. package/dest/FeeJuicePortalAbi.js +63 -38
  23. package/dest/FeeJuicePortalBytecode.d.ts +1 -1
  24. package/dest/FeeJuicePortalBytecode.d.ts.map +1 -1
  25. package/dest/FeeJuicePortalBytecode.js +2 -5
  26. package/dest/ForwarderAbi.d.ts +52 -32
  27. package/dest/ForwarderAbi.d.ts.map +1 -1
  28. package/dest/ForwarderAbi.js +63 -38
  29. package/dest/ForwarderBytecode.d.ts.map +1 -1
  30. package/dest/ForwarderBytecode.js +2 -5
  31. package/dest/GovernanceAbi.d.ts +52 -32
  32. package/dest/GovernanceAbi.d.ts.map +1 -1
  33. package/dest/GovernanceAbi.js +63 -38
  34. package/dest/GovernanceBytecode.d.ts +1 -1
  35. package/dest/GovernanceBytecode.d.ts.map +1 -1
  36. package/dest/GovernanceBytecode.js +2 -5
  37. package/dest/GovernanceProposerAbi.d.ts +52 -32
  38. package/dest/GovernanceProposerAbi.d.ts.map +1 -1
  39. package/dest/GovernanceProposerAbi.js +63 -38
  40. package/dest/GovernanceProposerBytecode.d.ts +1 -1
  41. package/dest/GovernanceProposerBytecode.d.ts.map +1 -1
  42. package/dest/GovernanceProposerBytecode.js +2 -5
  43. package/dest/HonkVerifierAbi.d.ts +52 -32
  44. package/dest/HonkVerifierAbi.d.ts.map +1 -1
  45. package/dest/HonkVerifierAbi.js +63 -38
  46. package/dest/HonkVerifierBytecode.d.ts +1 -1
  47. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  48. package/dest/HonkVerifierBytecode.js +2 -5
  49. package/dest/IERC20Abi.d.ts +52 -32
  50. package/dest/IERC20Abi.d.ts.map +1 -1
  51. package/dest/IERC20Abi.js +63 -38
  52. package/dest/IERC20Bytecode.d.ts.map +1 -1
  53. package/dest/IERC20Bytecode.js +2 -5
  54. package/dest/IVerifierAbi.d.ts +52 -32
  55. package/dest/IVerifierAbi.d.ts.map +1 -1
  56. package/dest/IVerifierAbi.js +63 -38
  57. package/dest/IVerifierBytecode.d.ts.map +1 -1
  58. package/dest/IVerifierBytecode.js +2 -5
  59. package/dest/InboxAbi.d.ts +52 -32
  60. package/dest/InboxAbi.d.ts.map +1 -1
  61. package/dest/InboxAbi.js +63 -38
  62. package/dest/InboxBytecode.d.ts +1 -1
  63. package/dest/InboxBytecode.d.ts.map +1 -1
  64. package/dest/InboxBytecode.js +2 -5
  65. package/dest/MockVerifierAbi.d.ts +52 -32
  66. package/dest/MockVerifierAbi.d.ts.map +1 -1
  67. package/dest/MockVerifierAbi.js +63 -38
  68. package/dest/MockVerifierBytecode.d.ts.map +1 -1
  69. package/dest/MockVerifierBytecode.js +2 -5
  70. package/dest/NewGovernanceProposerPayloadAbi.d.ts +52 -32
  71. package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
  72. package/dest/NewGovernanceProposerPayloadAbi.js +63 -38
  73. package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
  74. package/dest/NewGovernanceProposerPayloadBytecode.d.ts.map +1 -1
  75. package/dest/NewGovernanceProposerPayloadBytecode.js +2 -5
  76. package/dest/OutboxAbi.d.ts +52 -32
  77. package/dest/OutboxAbi.d.ts.map +1 -1
  78. package/dest/OutboxAbi.js +63 -38
  79. package/dest/OutboxBytecode.d.ts +1 -1
  80. package/dest/OutboxBytecode.d.ts.map +1 -1
  81. package/dest/OutboxBytecode.js +2 -5
  82. package/dest/{StakingLibAbi.d.ts → RegisterNewRollupVersionPayloadAbi.d.ts} +105 -114
  83. package/dest/{StakingLibAbi.d.ts.map → RegisterNewRollupVersionPayloadAbi.d.ts.map} +1 -1
  84. package/dest/{StakingLibAbi.js → RegisterNewRollupVersionPayloadAbi.js} +126 -134
  85. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +9 -0
  86. package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts.map +1 -0
  87. package/dest/RegisterNewRollupVersionPayloadBytecode.js +6 -0
  88. package/dest/RegistryAbi.d.ts +52 -32
  89. package/dest/RegistryAbi.d.ts.map +1 -1
  90. package/dest/RegistryAbi.js +63 -38
  91. package/dest/RegistryBytecode.d.ts +1 -1
  92. package/dest/RegistryBytecode.d.ts.map +1 -1
  93. package/dest/RegistryBytecode.js +2 -5
  94. package/dest/RewardDistributorAbi.d.ts +70 -32
  95. package/dest/RewardDistributorAbi.d.ts.map +1 -1
  96. package/dest/RewardDistributorAbi.js +87 -38
  97. package/dest/RewardDistributorBytecode.d.ts +1 -1
  98. package/dest/RewardDistributorBytecode.d.ts.map +1 -1
  99. package/dest/RewardDistributorBytecode.js +2 -5
  100. package/dest/RollupAbi.d.ts +332 -540
  101. package/dest/RollupAbi.d.ts.map +1 -1
  102. package/dest/RollupAbi.js +469 -735
  103. package/dest/RollupBytecode.d.ts +8 -128
  104. package/dest/RollupBytecode.d.ts.map +1 -1
  105. package/dest/RollupBytecode.js +9 -172
  106. package/dest/RollupStorage.d.ts +2 -16
  107. package/dest/RollupStorage.d.ts.map +1 -1
  108. package/dest/RollupStorage.js +3 -21
  109. package/dest/SlashFactoryAbi.d.ts +52 -32
  110. package/dest/SlashFactoryAbi.d.ts.map +1 -1
  111. package/dest/SlashFactoryAbi.js +63 -38
  112. package/dest/SlashFactoryBytecode.d.ts.map +1 -1
  113. package/dest/SlashFactoryBytecode.js +2 -5
  114. package/dest/SlasherAbi.d.ts +52 -32
  115. package/dest/SlasherAbi.d.ts.map +1 -1
  116. package/dest/SlasherAbi.js +63 -38
  117. package/dest/SlasherBytecode.d.ts.map +1 -1
  118. package/dest/SlasherBytecode.js +2 -5
  119. package/dest/SlashingProposerAbi.d.ts +52 -32
  120. package/dest/SlashingProposerAbi.d.ts.map +1 -1
  121. package/dest/SlashingProposerAbi.js +63 -38
  122. package/dest/SlashingProposerBytecode.d.ts.map +1 -1
  123. package/dest/SlashingProposerBytecode.js +2 -5
  124. package/dest/TestERC20Abi.d.ts +52 -32
  125. package/dest/TestERC20Abi.d.ts.map +1 -1
  126. package/dest/TestERC20Abi.js +63 -38
  127. package/dest/TestERC20Bytecode.d.ts.map +1 -1
  128. package/dest/TestERC20Bytecode.js +2 -5
  129. package/dest/TokenPortalAbi.d.ts +52 -32
  130. package/dest/TokenPortalAbi.d.ts.map +1 -1
  131. package/dest/TokenPortalAbi.js +63 -38
  132. package/dest/TokenPortalBytecode.d.ts +1 -1
  133. package/dest/TokenPortalBytecode.d.ts.map +1 -1
  134. package/dest/TokenPortalBytecode.js +2 -5
  135. package/dest/UniswapPortalAbi.d.ts +52 -32
  136. package/dest/UniswapPortalAbi.d.ts.map +1 -1
  137. package/dest/UniswapPortalAbi.js +63 -38
  138. package/dest/UniswapPortalBytecode.d.ts +1 -1
  139. package/dest/UniswapPortalBytecode.d.ts.map +1 -1
  140. package/dest/UniswapPortalBytecode.js +2 -5
  141. package/dest/ValidatorSelectionLibAbi.d.ts +52 -32
  142. package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
  143. package/dest/ValidatorSelectionLibAbi.js +63 -38
  144. package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
  145. package/dest/ValidatorSelectionLibBytecode.d.ts.map +1 -1
  146. package/dest/ValidatorSelectionLibBytecode.js +2 -5
  147. package/dest/checksum.d.ts +1 -1
  148. package/dest/checksum.d.ts.map +1 -1
  149. package/dest/checksum.js +1 -2
  150. package/dest/index.d.ts +2 -6
  151. package/dest/index.d.ts.map +1 -1
  152. package/dest/index.js +2 -7
  153. package/package.json +1 -1
  154. package/dest/IProofCommitmentEscrowAbi.d.ts +0 -1261
  155. package/dest/IProofCommitmentEscrowAbi.d.ts.map +0 -1
  156. package/dest/IProofCommitmentEscrowAbi.js +0 -1665
  157. package/dest/IProofCommitmentEscrowBytecode.d.ts +0 -9
  158. package/dest/IProofCommitmentEscrowBytecode.d.ts.map +0 -1
  159. package/dest/IProofCommitmentEscrowBytecode.js +0 -9
  160. package/dest/ProofCommitmentEscrowAbi.d.ts +0 -1337
  161. package/dest/ProofCommitmentEscrowAbi.d.ts.map +0 -1
  162. package/dest/ProofCommitmentEscrowAbi.js +0 -1765
  163. package/dest/ProofCommitmentEscrowBytecode.d.ts +0 -9
  164. package/dest/ProofCommitmentEscrowBytecode.d.ts.map +0 -1
  165. package/dest/ProofCommitmentEscrowBytecode.js +0 -9
  166. package/dest/StakingLibBytecode.d.ts +0 -9
  167. package/dest/StakingLibBytecode.d.ts.map +0 -1
  168. package/dest/StakingLibBytecode.js +0 -9
  169. package/generated/CoinIssuerAbi.ts +0 -1603
  170. package/generated/CoinIssuerBytecode.ts +0 -8
  171. package/generated/EmpireBaseAbi.ts +0 -1667
  172. package/generated/EmpireBaseBytecode.ts +0 -8
  173. package/generated/ErrorsAbi.ts +0 -1438
  174. package/generated/ExtRollupLibAbi.ts +0 -1746
  175. package/generated/ExtRollupLibBytecode.ts +0 -8
  176. package/generated/FeeJuicePortalAbi.ts +0 -1650
  177. package/generated/FeeJuicePortalBytecode.ts +0 -8
  178. package/generated/ForwarderAbi.ts +0 -1589
  179. package/generated/ForwarderBytecode.ts +0 -8
  180. package/generated/GovernanceAbi.ts +0 -2230
  181. package/generated/GovernanceBytecode.ts +0 -8
  182. package/generated/GovernanceProposerAbi.ts +0 -1701
  183. package/generated/GovernanceProposerBytecode.ts +0 -8
  184. package/generated/HonkVerifierAbi.ts +0 -1482
  185. package/generated/HonkVerifierBytecode.ts +0 -8
  186. package/generated/IERC20Abi.ts +0 -1621
  187. package/generated/IERC20Bytecode.ts +0 -8
  188. package/generated/IProofCommitmentEscrowAbi.ts +0 -1664
  189. package/generated/IProofCommitmentEscrowBytecode.ts +0 -8
  190. package/generated/IVerifierAbi.ts +0 -1462
  191. package/generated/IVerifierBytecode.ts +0 -8
  192. package/generated/InboxAbi.ts +0 -1621
  193. package/generated/InboxBytecode.ts +0 -8
  194. package/generated/MockVerifierAbi.ts +0 -1462
  195. package/generated/MockVerifierBytecode.ts +0 -8
  196. package/generated/NewGovernanceProposerPayloadAbi.ts +0 -1500
  197. package/generated/NewGovernanceProposerPayloadBytecode.ts +0 -8
  198. package/generated/OutboxAbi.ts +0 -1658
  199. package/generated/OutboxBytecode.ts +0 -8
  200. package/generated/ProofCommitmentEscrowAbi.ts +0 -1764
  201. package/generated/ProofCommitmentEscrowBytecode.ts +0 -8
  202. package/generated/RegistryAbi.ts +0 -1694
  203. package/generated/RegistryBytecode.ts +0 -8
  204. package/generated/RewardDistributorAbi.ts +0 -1641
  205. package/generated/RewardDistributorBytecode.ts +0 -8
  206. package/generated/RollupAbi.ts +0 -3879
  207. package/generated/RollupBytecode.ts +0 -201
  208. package/generated/RollupStorage.ts +0 -61
  209. package/generated/SlashFactoryAbi.ts +0 -1540
  210. package/generated/SlashFactoryBytecode.ts +0 -8
  211. package/generated/SlasherAbi.ts +0 -1527
  212. package/generated/SlasherBytecode.ts +0 -8
  213. package/generated/SlashingProposerAbi.ts +0 -1719
  214. package/generated/SlashingProposerBytecode.ts +0 -8
  215. package/generated/StakingLibAbi.ts +0 -1538
  216. package/generated/StakingLibBytecode.ts +0 -8
  217. package/generated/TestERC20Abi.ts +0 -1885
  218. package/generated/TestERC20Bytecode.ts +0 -8
  219. package/generated/TokenPortalAbi.ts +0 -1680
  220. package/generated/TokenPortalBytecode.ts +0 -8
  221. package/generated/UniswapPortalAbi.ts +0 -1652
  222. package/generated/UniswapPortalBytecode.ts +0 -8
  223. package/generated/ValidatorSelectionLibAbi.ts +0 -1438
  224. package/generated/ValidatorSelectionLibBytecode.ts +0 -8
  225. package/generated/checksum.ts +0 -1
  226. package/generated/index.ts +0 -58
package/dest/RollupAbi.js CHANGED
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Rollup ABI.
3
- */
4
- export const RollupAbi = [
3
+ */ export const RollupAbi = [
5
4
  {
6
5
  "type": "constructor",
7
6
  "inputs": [
@@ -30,6 +29,16 @@ export const RollupAbi = [
30
29
  "type": "bytes32",
31
30
  "internalType": "bytes32"
32
31
  },
32
+ {
33
+ "name": "_genesisArchiveRoot",
34
+ "type": "bytes32",
35
+ "internalType": "bytes32"
36
+ },
37
+ {
38
+ "name": "_genesisBlockHash",
39
+ "type": "bytes32",
40
+ "internalType": "bytes32"
41
+ },
33
42
  {
34
43
  "name": "_ares",
35
44
  "type": "address",
@@ -56,7 +65,7 @@ export const RollupAbi = [
56
65
  "internalType": "uint256"
57
66
  },
58
67
  {
59
- "name": "aztecEpochProofClaimWindowInL2Slots",
68
+ "name": "aztecProofSubmissionWindow",
60
69
  "type": "uint256",
61
70
  "internalType": "uint256"
62
71
  },
@@ -80,45 +89,6 @@ export const RollupAbi = [
80
89
  ],
81
90
  "stateMutability": "nonpayable"
82
91
  },
83
- {
84
- "type": "function",
85
- "name": "ASSET",
86
- "inputs": [],
87
- "outputs": [
88
- {
89
- "name": "",
90
- "type": "address",
91
- "internalType": "contract IERC20"
92
- }
93
- ],
94
- "stateMutability": "view"
95
- },
96
- {
97
- "type": "function",
98
- "name": "CLAIM_DURATION_IN_L2_SLOTS",
99
- "inputs": [],
100
- "outputs": [
101
- {
102
- "name": "",
103
- "type": "uint256",
104
- "internalType": "uint256"
105
- }
106
- ],
107
- "stateMutability": "view"
108
- },
109
- {
110
- "type": "function",
111
- "name": "CUAUHXICALLI",
112
- "inputs": [],
113
- "outputs": [
114
- {
115
- "name": "",
116
- "type": "address",
117
- "internalType": "address"
118
- }
119
- ],
120
- "stateMutability": "view"
121
- },
122
92
  {
123
93
  "type": "error",
124
94
  "name": "CoinIssuer__InsufficientMintAvailable",
@@ -193,19 +163,6 @@ export const RollupAbi = [
193
163
  "inputs": [],
194
164
  "anonymous": false
195
165
  },
196
- {
197
- "type": "function",
198
- "name": "FEE_JUICE_PORTAL",
199
- "inputs": [],
200
- "outputs": [
201
- {
202
- "name": "",
203
- "type": "address",
204
- "internalType": "contract IFeeJuicePortal"
205
- }
206
- ],
207
- "stateMutability": "view"
208
- },
209
166
  {
210
167
  "type": "error",
211
168
  "name": "FeeJuicePortal__AlreadyInitialized",
@@ -226,11 +183,6 @@ export const RollupAbi = [
226
183
  "name": "FeeMath__InvalidFeeAssetPriceModifier",
227
184
  "inputs": []
228
185
  },
229
- {
230
- "type": "error",
231
- "name": "FeeMath__InvalidProvingCostModifier",
232
- "inputs": []
233
- },
234
186
  {
235
187
  "type": "error",
236
188
  "name": "GovernanceProposer__CanOnlyExecuteProposalInPast",
@@ -621,32 +573,6 @@ export const RollupAbi = [
621
573
  }
622
574
  ]
623
575
  },
624
- {
625
- "type": "function",
626
- "name": "INBOX",
627
- "inputs": [],
628
- "outputs": [
629
- {
630
- "name": "",
631
- "type": "address",
632
- "internalType": "contract IInbox"
633
- }
634
- ],
635
- "stateMutability": "view"
636
- },
637
- {
638
- "type": "function",
639
- "name": "IS_FOUNDRY_TEST",
640
- "inputs": [],
641
- "outputs": [
642
- {
643
- "name": "",
644
- "type": "bool",
645
- "internalType": "bool"
646
- }
647
- ],
648
- "stateMutability": "view"
649
- },
650
576
  {
651
577
  "type": "error",
652
578
  "name": "Inbox__ActorTooLarge",
@@ -745,39 +671,13 @@ export const RollupAbi = [
745
671
  },
746
672
  {
747
673
  "name": "proverId",
748
- "type": "bytes32",
674
+ "type": "address",
749
675
  "indexed": true,
750
- "internalType": "bytes32"
676
+ "internalType": "address"
751
677
  }
752
678
  ],
753
679
  "anonymous": false
754
680
  },
755
- {
756
- "type": "function",
757
- "name": "LAG",
758
- "inputs": [],
759
- "outputs": [
760
- {
761
- "name": "",
762
- "type": "uint256",
763
- "internalType": "Slot"
764
- }
765
- ],
766
- "stateMutability": "view"
767
- },
768
- {
769
- "type": "function",
770
- "name": "LIFETIME",
771
- "inputs": [],
772
- "outputs": [
773
- {
774
- "name": "",
775
- "type": "uint256",
776
- "internalType": "Slot"
777
- }
778
- ],
779
- "stateMutability": "view"
780
- },
781
681
  {
782
682
  "type": "error",
783
683
  "name": "MerkleLib__InvalidRoot",
@@ -804,19 +704,6 @@ export const RollupAbi = [
804
704
  }
805
705
  ]
806
706
  },
807
- {
808
- "type": "function",
809
- "name": "OUTBOX",
810
- "inputs": [],
811
- "outputs": [
812
- {
813
- "name": "",
814
- "type": "address",
815
- "internalType": "contract IOutbox"
816
- }
817
- ],
818
- "stateMutability": "view"
819
- },
820
707
  {
821
708
  "type": "error",
822
709
  "name": "Outbox__AlreadyNullified",
@@ -1017,32 +904,6 @@ export const RollupAbi = [
1017
904
  ],
1018
905
  "anonymous": false
1019
906
  },
1020
- {
1021
- "type": "function",
1022
- "name": "PROOF_COMMITMENT_ESCROW",
1023
- "inputs": [],
1024
- "outputs": [
1025
- {
1026
- "name": "",
1027
- "type": "address",
1028
- "internalType": "contract IProofCommitmentEscrow"
1029
- }
1030
- ],
1031
- "stateMutability": "view"
1032
- },
1033
- {
1034
- "type": "function",
1035
- "name": "PROOF_COMMITMENT_MIN_BOND_AMOUNT_IN_TST",
1036
- "inputs": [],
1037
- "outputs": [
1038
- {
1039
- "name": "",
1040
- "type": "uint256",
1041
- "internalType": "uint256"
1042
- }
1043
- ],
1044
- "stateMutability": "view"
1045
- },
1046
907
  {
1047
908
  "type": "error",
1048
909
  "name": "ProofCommitmentEscrow__InsufficientBalance",
@@ -1086,43 +947,6 @@ export const RollupAbi = [
1086
947
  }
1087
948
  ]
1088
949
  },
1089
- {
1090
- "type": "event",
1091
- "name": "ProofRightClaimed",
1092
- "inputs": [
1093
- {
1094
- "name": "epoch",
1095
- "type": "uint256",
1096
- "indexed": true,
1097
- "internalType": "Epoch"
1098
- },
1099
- {
1100
- "name": "bondProvider",
1101
- "type": "address",
1102
- "indexed": true,
1103
- "internalType": "address"
1104
- },
1105
- {
1106
- "name": "proposer",
1107
- "type": "address",
1108
- "indexed": true,
1109
- "internalType": "address"
1110
- },
1111
- {
1112
- "name": "bondAmount",
1113
- "type": "uint256",
1114
- "indexed": false,
1115
- "internalType": "uint256"
1116
- },
1117
- {
1118
- "name": "currentSlot",
1119
- "type": "uint256",
1120
- "indexed": false,
1121
- "internalType": "Slot"
1122
- }
1123
- ],
1124
- "anonymous": false
1125
- },
1126
950
  {
1127
951
  "type": "event",
1128
952
  "name": "PrunedPending",
@@ -1142,19 +966,6 @@ export const RollupAbi = [
1142
966
  ],
1143
967
  "anonymous": false
1144
968
  },
1145
- {
1146
- "type": "function",
1147
- "name": "REWARD_DISTRIBUTOR",
1148
- "inputs": [],
1149
- "outputs": [
1150
- {
1151
- "name": "",
1152
- "type": "address",
1153
- "internalType": "contract IRewardDistributor"
1154
- }
1155
- ],
1156
- "stateMutability": "view"
1157
- },
1158
969
  {
1159
970
  "type": "error",
1160
971
  "name": "Registry__RollupAlreadyRegistered",
@@ -1193,6 +1004,22 @@ export const RollupAbi = [
1193
1004
  }
1194
1005
  ]
1195
1006
  },
1007
+ {
1008
+ "type": "error",
1009
+ "name": "Rollup__AlreadyClaimed",
1010
+ "inputs": [
1011
+ {
1012
+ "name": "prover",
1013
+ "type": "address",
1014
+ "internalType": "address"
1015
+ },
1016
+ {
1017
+ "name": "epoch",
1018
+ "type": "uint256",
1019
+ "internalType": "Epoch"
1020
+ }
1021
+ ]
1022
+ },
1196
1023
  {
1197
1024
  "type": "error",
1198
1025
  "name": "Rollup__InsufficientBondAmount",
@@ -1488,64 +1315,54 @@ export const RollupAbi = [
1488
1315
  },
1489
1316
  {
1490
1317
  "type": "error",
1491
- "name": "Rollup__NonZeroL2Fee",
1492
- "inputs": []
1493
- },
1494
- {
1495
- "type": "error",
1496
- "name": "Rollup__NotClaimingCorrectEpoch",
1318
+ "name": "Rollup__NotPastDeadline",
1497
1319
  "inputs": [
1498
1320
  {
1499
- "name": "expected",
1321
+ "name": "deadline",
1500
1322
  "type": "uint256",
1501
- "internalType": "Epoch"
1323
+ "internalType": "Slot"
1502
1324
  },
1503
1325
  {
1504
- "name": "actual",
1326
+ "name": "currentSlot",
1505
1327
  "type": "uint256",
1506
- "internalType": "Epoch"
1328
+ "internalType": "Slot"
1507
1329
  }
1508
1330
  ]
1509
1331
  },
1510
1332
  {
1511
1333
  "type": "error",
1512
- "name": "Rollup__NotInClaimPhase",
1334
+ "name": "Rollup__NothingToPrune",
1335
+ "inputs": []
1336
+ },
1337
+ {
1338
+ "type": "error",
1339
+ "name": "Rollup__PastDeadline",
1513
1340
  "inputs": [
1514
1341
  {
1515
- "name": "currentSlotInEpoch",
1342
+ "name": "deadline",
1516
1343
  "type": "uint256",
1517
- "internalType": "uint256"
1344
+ "internalType": "Slot"
1518
1345
  },
1519
1346
  {
1520
- "name": "claimDuration",
1347
+ "name": "currentSlot",
1521
1348
  "type": "uint256",
1522
- "internalType": "uint256"
1349
+ "internalType": "Slot"
1523
1350
  }
1524
1351
  ]
1525
1352
  },
1526
1353
  {
1527
1354
  "type": "error",
1528
- "name": "Rollup__NothingToPrune",
1529
- "inputs": []
1530
- },
1531
- {
1532
- "type": "error",
1533
- "name": "Rollup__ProofRightAlreadyClaimed",
1534
- "inputs": []
1535
- },
1536
- {
1537
- "type": "error",
1538
- "name": "Rollup__QuoteExpired",
1355
+ "name": "Rollup__ProverHaveAlreadySubmitted",
1539
1356
  "inputs": [
1540
1357
  {
1541
- "name": "currentSlot",
1542
- "type": "uint256",
1543
- "internalType": "Slot"
1358
+ "name": "prover",
1359
+ "type": "address",
1360
+ "internalType": "address"
1544
1361
  },
1545
1362
  {
1546
- "name": "quoteSlot",
1363
+ "name": "epoch",
1547
1364
  "type": "uint256",
1548
- "internalType": "Slot"
1365
+ "internalType": "Epoch"
1549
1366
  }
1550
1367
  ]
1551
1368
  },
@@ -1567,33 +1384,59 @@ export const RollupAbi = [
1567
1384
  },
1568
1385
  {
1569
1386
  "type": "error",
1570
- "name": "Rollup__TimestampInFuture",
1387
+ "name": "Rollup__StartAndEndNotSameEpoch",
1571
1388
  "inputs": [
1572
1389
  {
1573
- "name": "max",
1390
+ "name": "start",
1574
1391
  "type": "uint256",
1575
- "internalType": "Timestamp"
1392
+ "internalType": "Epoch"
1576
1393
  },
1577
1394
  {
1578
- "name": "actual",
1395
+ "name": "end",
1579
1396
  "type": "uint256",
1580
- "internalType": "Timestamp"
1397
+ "internalType": "Epoch"
1581
1398
  }
1582
1399
  ]
1583
1400
  },
1584
1401
  {
1585
1402
  "type": "error",
1586
- "name": "Rollup__TimestampTooOld",
1403
+ "name": "Rollup__StartIsNotBuildingOnProven",
1587
1404
  "inputs": []
1588
1405
  },
1589
1406
  {
1590
1407
  "type": "error",
1591
- "name": "Rollup__TryingToProveNonExistingBlock",
1408
+ "name": "Rollup__StartIsNotFirstBlockOfEpoch",
1592
1409
  "inputs": []
1593
1410
  },
1594
1411
  {
1595
1412
  "type": "error",
1596
- "name": "Rollup__UnavailableTxs",
1413
+ "name": "Rollup__TimestampInFuture",
1414
+ "inputs": [
1415
+ {
1416
+ "name": "max",
1417
+ "type": "uint256",
1418
+ "internalType": "Timestamp"
1419
+ },
1420
+ {
1421
+ "name": "actual",
1422
+ "type": "uint256",
1423
+ "internalType": "Timestamp"
1424
+ }
1425
+ ]
1426
+ },
1427
+ {
1428
+ "type": "error",
1429
+ "name": "Rollup__TimestampTooOld",
1430
+ "inputs": []
1431
+ },
1432
+ {
1433
+ "type": "error",
1434
+ "name": "Rollup__TryingToProveNonExistingBlock",
1435
+ "inputs": []
1436
+ },
1437
+ {
1438
+ "type": "error",
1439
+ "name": "Rollup__UnavailableTxs",
1597
1440
  "inputs": [
1598
1441
  {
1599
1442
  "name": "txsHash",
@@ -1837,32 +1680,6 @@ export const RollupAbi = [
1837
1680
  }
1838
1681
  ]
1839
1682
  },
1840
- {
1841
- "type": "function",
1842
- "name": "VERSION",
1843
- "inputs": [],
1844
- "outputs": [
1845
- {
1846
- "name": "",
1847
- "type": "uint256",
1848
- "internalType": "uint256"
1849
- }
1850
- ],
1851
- "stateMutability": "view"
1852
- },
1853
- {
1854
- "type": "function",
1855
- "name": "VM_ADDRESS",
1856
- "inputs": [],
1857
- "outputs": [
1858
- {
1859
- "name": "",
1860
- "type": "address",
1861
- "internalType": "address"
1862
- }
1863
- ],
1864
- "stateMutability": "view"
1865
- },
1866
1683
  {
1867
1684
  "type": "error",
1868
1685
  "name": "ValidatorSelection__EpochNotSetup",
@@ -2125,76 +1942,45 @@ export const RollupAbi = [
2125
1942
  },
2126
1943
  {
2127
1944
  "type": "function",
2128
- "name": "claimEpochProofRight",
1945
+ "name": "claimProverRewards",
2129
1946
  "inputs": [
2130
1947
  {
2131
- "name": "_quote",
2132
- "type": "tuple",
2133
- "internalType": "struct SignedEpochProofQuote",
2134
- "components": [
2135
- {
2136
- "name": "quote",
2137
- "type": "tuple",
2138
- "internalType": "struct EpochProofQuote",
2139
- "components": [
2140
- {
2141
- "name": "epochToProve",
2142
- "type": "uint256",
2143
- "internalType": "Epoch"
2144
- },
2145
- {
2146
- "name": "validUntilSlot",
2147
- "type": "uint256",
2148
- "internalType": "Slot"
2149
- },
2150
- {
2151
- "name": "bondAmount",
2152
- "type": "uint256",
2153
- "internalType": "uint256"
2154
- },
2155
- {
2156
- "name": "prover",
2157
- "type": "address",
2158
- "internalType": "address"
2159
- },
2160
- {
2161
- "name": "basisPointFee",
2162
- "type": "uint32",
2163
- "internalType": "uint32"
2164
- }
2165
- ]
2166
- },
2167
- {
2168
- "name": "signature",
2169
- "type": "tuple",
2170
- "internalType": "struct Signature",
2171
- "components": [
2172
- {
2173
- "name": "isEmpty",
2174
- "type": "bool",
2175
- "internalType": "bool"
2176
- },
2177
- {
2178
- "name": "v",
2179
- "type": "uint8",
2180
- "internalType": "uint8"
2181
- },
2182
- {
2183
- "name": "r",
2184
- "type": "bytes32",
2185
- "internalType": "bytes32"
2186
- },
2187
- {
2188
- "name": "s",
2189
- "type": "bytes32",
2190
- "internalType": "bytes32"
2191
- }
2192
- ]
2193
- }
2194
- ]
1948
+ "name": "_recipient",
1949
+ "type": "address",
1950
+ "internalType": "address"
1951
+ },
1952
+ {
1953
+ "name": "_epochs",
1954
+ "type": "uint256[]",
1955
+ "internalType": "Epoch[]"
1956
+ }
1957
+ ],
1958
+ "outputs": [
1959
+ {
1960
+ "name": "",
1961
+ "type": "uint256",
1962
+ "internalType": "uint256"
1963
+ }
1964
+ ],
1965
+ "stateMutability": "nonpayable"
1966
+ },
1967
+ {
1968
+ "type": "function",
1969
+ "name": "claimSequencerRewards",
1970
+ "inputs": [
1971
+ {
1972
+ "name": "_recipient",
1973
+ "type": "address",
1974
+ "internalType": "address"
1975
+ }
1976
+ ],
1977
+ "outputs": [
1978
+ {
1979
+ "name": "",
1980
+ "type": "uint256",
1981
+ "internalType": "uint256"
2195
1982
  }
2196
1983
  ],
2197
- "outputs": [],
2198
1984
  "stateMutability": "nonpayable"
2199
1985
  },
2200
1986
  {
@@ -2372,22 +2158,22 @@ export const RollupAbi = [
2372
2158
  "internalType": "uint256"
2373
2159
  },
2374
2160
  {
2375
- "name": "feeAssetPriceNumerator",
2161
+ "name": "manaUsed",
2376
2162
  "type": "uint256",
2377
2163
  "internalType": "uint256"
2378
2164
  },
2379
2165
  {
2380
- "name": "manaUsed",
2166
+ "name": "feeAssetPriceNumerator",
2381
2167
  "type": "uint256",
2382
2168
  "internalType": "uint256"
2383
2169
  },
2384
2170
  {
2385
- "name": "provingCostPerManaNumerator",
2171
+ "name": "congestionCost",
2386
2172
  "type": "uint256",
2387
2173
  "internalType": "uint256"
2388
2174
  },
2389
2175
  {
2390
- "name": "congestionCost",
2176
+ "name": "provingCost",
2391
2177
  "type": "uint256",
2392
2178
  "internalType": "uint256"
2393
2179
  }
@@ -2415,13 +2201,19 @@ export const RollupAbi = [
2415
2201
  },
2416
2202
  {
2417
2203
  "type": "function",
2418
- "name": "getClaimableEpoch",
2419
- "inputs": [],
2204
+ "name": "getCollectiveProverRewardsForEpoch",
2205
+ "inputs": [
2206
+ {
2207
+ "name": "_epoch",
2208
+ "type": "uint256",
2209
+ "internalType": "Epoch"
2210
+ }
2211
+ ],
2420
2212
  "outputs": [
2421
2213
  {
2422
2214
  "name": "",
2423
2215
  "type": "uint256",
2424
- "internalType": "Epoch"
2216
+ "internalType": "uint256"
2425
2217
  }
2426
2218
  ],
2427
2219
  "stateMutability": "view"
@@ -2445,6 +2237,19 @@ export const RollupAbi = [
2445
2237
  ],
2446
2238
  "stateMutability": "view"
2447
2239
  },
2240
+ {
2241
+ "type": "function",
2242
+ "name": "getCuauhxicalli",
2243
+ "inputs": [],
2244
+ "outputs": [
2245
+ {
2246
+ "name": "",
2247
+ "type": "address",
2248
+ "internalType": "address"
2249
+ }
2250
+ ],
2251
+ "stateMutability": "view"
2252
+ },
2448
2253
  {
2449
2254
  "type": "function",
2450
2255
  "name": "getCurrentEpoch",
@@ -2604,14 +2409,56 @@ export const RollupAbi = [
2604
2409
  "name": "getEpochProofPublicInputs",
2605
2410
  "inputs": [
2606
2411
  {
2607
- "name": "_epochSize",
2412
+ "name": "_start",
2413
+ "type": "uint256",
2414
+ "internalType": "uint256"
2415
+ },
2416
+ {
2417
+ "name": "_end",
2608
2418
  "type": "uint256",
2609
2419
  "internalType": "uint256"
2610
2420
  },
2611
2421
  {
2612
2422
  "name": "_args",
2613
- "type": "bytes32[7]",
2614
- "internalType": "bytes32[7]"
2423
+ "type": "tuple",
2424
+ "internalType": "struct PublicInputArgs",
2425
+ "components": [
2426
+ {
2427
+ "name": "previousArchive",
2428
+ "type": "bytes32",
2429
+ "internalType": "bytes32"
2430
+ },
2431
+ {
2432
+ "name": "endArchive",
2433
+ "type": "bytes32",
2434
+ "internalType": "bytes32"
2435
+ },
2436
+ {
2437
+ "name": "previousBlockHash",
2438
+ "type": "bytes32",
2439
+ "internalType": "bytes32"
2440
+ },
2441
+ {
2442
+ "name": "endBlockHash",
2443
+ "type": "bytes32",
2444
+ "internalType": "bytes32"
2445
+ },
2446
+ {
2447
+ "name": "endTimestamp",
2448
+ "type": "uint256",
2449
+ "internalType": "Timestamp"
2450
+ },
2451
+ {
2452
+ "name": "outHash",
2453
+ "type": "bytes32",
2454
+ "internalType": "bytes32"
2455
+ },
2456
+ {
2457
+ "name": "proverId",
2458
+ "type": "address",
2459
+ "internalType": "address"
2460
+ }
2461
+ ]
2615
2462
  },
2616
2463
  {
2617
2464
  "name": "_fees",
@@ -2638,19 +2485,6 @@ export const RollupAbi = [
2638
2485
  ],
2639
2486
  "stateMutability": "view"
2640
2487
  },
2641
- {
2642
- "type": "function",
2643
- "name": "getEpochToProve",
2644
- "inputs": [],
2645
- "outputs": [
2646
- {
2647
- "name": "",
2648
- "type": "uint256",
2649
- "internalType": "Epoch"
2650
- }
2651
- ],
2652
- "stateMutability": "view"
2653
- },
2654
2488
  {
2655
2489
  "type": "function",
2656
2490
  "name": "getExit",
@@ -2697,86 +2531,154 @@ export const RollupAbi = [
2697
2531
  },
2698
2532
  {
2699
2533
  "type": "function",
2700
- "name": "getFeeAssetPrice",
2534
+ "name": "getFeeAsset",
2701
2535
  "inputs": [],
2702
2536
  "outputs": [
2703
2537
  {
2704
2538
  "name": "",
2705
- "type": "uint256",
2706
- "internalType": "uint256"
2539
+ "type": "address",
2540
+ "internalType": "contract IERC20"
2707
2541
  }
2708
2542
  ],
2709
2543
  "stateMutability": "view"
2710
2544
  },
2711
2545
  {
2712
2546
  "type": "function",
2713
- "name": "getGenesisTime",
2547
+ "name": "getFeeAssetPerEth",
2714
2548
  "inputs": [],
2715
2549
  "outputs": [
2716
2550
  {
2717
2551
  "name": "",
2718
2552
  "type": "uint256",
2719
- "internalType": "Timestamp"
2553
+ "internalType": "FeeAssetPerEthE9"
2720
2554
  }
2721
2555
  ],
2722
2556
  "stateMutability": "view"
2723
2557
  },
2724
2558
  {
2725
2559
  "type": "function",
2726
- "name": "getInfo",
2727
- "inputs": [
2560
+ "name": "getFeeAssetPortal",
2561
+ "inputs": [],
2562
+ "outputs": [
2728
2563
  {
2729
- "name": "_attester",
2564
+ "name": "",
2730
2565
  "type": "address",
2731
- "internalType": "address"
2566
+ "internalType": "contract IFeeJuicePortal"
2732
2567
  }
2733
2568
  ],
2569
+ "stateMutability": "view"
2570
+ },
2571
+ {
2572
+ "type": "function",
2573
+ "name": "getGenesisTime",
2574
+ "inputs": [],
2734
2575
  "outputs": [
2735
2576
  {
2736
2577
  "name": "",
2737
- "type": "tuple",
2738
- "internalType": "struct ValidatorInfo",
2739
- "components": [
2740
- {
2741
- "name": "stake",
2742
- "type": "uint256",
2743
- "internalType": "uint256"
2744
- },
2745
- {
2746
- "name": "withdrawer",
2747
- "type": "address",
2748
- "internalType": "address"
2749
- },
2750
- {
2751
- "name": "proposer",
2752
- "type": "address",
2753
- "internalType": "address"
2754
- },
2755
- {
2756
- "name": "status",
2757
- "type": "uint8",
2758
- "internalType": "enum Status"
2759
- }
2760
- ]
2578
+ "type": "uint256",
2579
+ "internalType": "Timestamp"
2761
2580
  }
2762
2581
  ],
2763
2582
  "stateMutability": "view"
2764
2583
  },
2765
2584
  {
2766
2585
  "type": "function",
2767
- "name": "getL1FeesAt",
2586
+ "name": "getHasSubmitted",
2768
2587
  "inputs": [
2769
2588
  {
2770
- "name": "_timestamp",
2589
+ "name": "_epoch",
2771
2590
  "type": "uint256",
2772
- "internalType": "Timestamp"
2773
- }
2774
- ],
2775
- "outputs": [
2591
+ "internalType": "Epoch"
2592
+ },
2776
2593
  {
2777
- "name": "",
2778
- "type": "tuple",
2779
- "internalType": "struct L1FeeData",
2594
+ "name": "_length",
2595
+ "type": "uint256",
2596
+ "internalType": "uint256"
2597
+ },
2598
+ {
2599
+ "name": "_prover",
2600
+ "type": "address",
2601
+ "internalType": "address"
2602
+ }
2603
+ ],
2604
+ "outputs": [
2605
+ {
2606
+ "name": "",
2607
+ "type": "bool",
2608
+ "internalType": "bool"
2609
+ }
2610
+ ],
2611
+ "stateMutability": "view"
2612
+ },
2613
+ {
2614
+ "type": "function",
2615
+ "name": "getInbox",
2616
+ "inputs": [],
2617
+ "outputs": [
2618
+ {
2619
+ "name": "",
2620
+ "type": "address",
2621
+ "internalType": "contract IInbox"
2622
+ }
2623
+ ],
2624
+ "stateMutability": "view"
2625
+ },
2626
+ {
2627
+ "type": "function",
2628
+ "name": "getInfo",
2629
+ "inputs": [
2630
+ {
2631
+ "name": "_attester",
2632
+ "type": "address",
2633
+ "internalType": "address"
2634
+ }
2635
+ ],
2636
+ "outputs": [
2637
+ {
2638
+ "name": "",
2639
+ "type": "tuple",
2640
+ "internalType": "struct ValidatorInfo",
2641
+ "components": [
2642
+ {
2643
+ "name": "stake",
2644
+ "type": "uint256",
2645
+ "internalType": "uint256"
2646
+ },
2647
+ {
2648
+ "name": "withdrawer",
2649
+ "type": "address",
2650
+ "internalType": "address"
2651
+ },
2652
+ {
2653
+ "name": "proposer",
2654
+ "type": "address",
2655
+ "internalType": "address"
2656
+ },
2657
+ {
2658
+ "name": "status",
2659
+ "type": "uint8",
2660
+ "internalType": "enum Status"
2661
+ }
2662
+ ]
2663
+ }
2664
+ ],
2665
+ "stateMutability": "view"
2666
+ },
2667
+ {
2668
+ "type": "function",
2669
+ "name": "getL1FeesAt",
2670
+ "inputs": [
2671
+ {
2672
+ "name": "_timestamp",
2673
+ "type": "uint256",
2674
+ "internalType": "Timestamp"
2675
+ }
2676
+ ],
2677
+ "outputs": [
2678
+ {
2679
+ "name": "",
2680
+ "type": "tuple",
2681
+ "internalType": "struct L1FeeData",
2780
2682
  "components": [
2781
2683
  {
2782
2684
  "name": "baseFee",
@@ -2912,6 +2814,19 @@ export const RollupAbi = [
2912
2814
  ],
2913
2815
  "stateMutability": "view"
2914
2816
  },
2817
+ {
2818
+ "type": "function",
2819
+ "name": "getOutbox",
2820
+ "inputs": [],
2821
+ "outputs": [
2822
+ {
2823
+ "name": "",
2824
+ "type": "address",
2825
+ "internalType": "contract IOutbox"
2826
+ }
2827
+ ],
2828
+ "stateMutability": "view"
2829
+ },
2915
2830
  {
2916
2831
  "type": "function",
2917
2832
  "name": "getPendingBlockNumber",
@@ -2927,40 +2842,13 @@ export const RollupAbi = [
2927
2842
  },
2928
2843
  {
2929
2844
  "type": "function",
2930
- "name": "getProofClaim",
2845
+ "name": "getProofSubmissionWindow",
2931
2846
  "inputs": [],
2932
2847
  "outputs": [
2933
2848
  {
2934
2849
  "name": "",
2935
- "type": "tuple",
2936
- "internalType": "struct DataStructures.EpochProofClaim",
2937
- "components": [
2938
- {
2939
- "name": "epochToProve",
2940
- "type": "uint256",
2941
- "internalType": "Epoch"
2942
- },
2943
- {
2944
- "name": "basisPointFee",
2945
- "type": "uint256",
2946
- "internalType": "uint256"
2947
- },
2948
- {
2949
- "name": "bondAmount",
2950
- "type": "uint256",
2951
- "internalType": "uint256"
2952
- },
2953
- {
2954
- "name": "bondProvider",
2955
- "type": "address",
2956
- "internalType": "address"
2957
- },
2958
- {
2959
- "name": "proposerClaimant",
2960
- "type": "address",
2961
- "internalType": "address"
2962
- }
2963
- ]
2850
+ "type": "uint256",
2851
+ "internalType": "uint256"
2964
2852
  }
2965
2853
  ],
2966
2854
  "stateMutability": "view"
@@ -3035,6 +2923,45 @@ export const RollupAbi = [
3035
2923
  ],
3036
2924
  "stateMutability": "view"
3037
2925
  },
2926
+ {
2927
+ "type": "function",
2928
+ "name": "getProvingCostPerManaInEth",
2929
+ "inputs": [],
2930
+ "outputs": [
2931
+ {
2932
+ "name": "",
2933
+ "type": "uint256",
2934
+ "internalType": "EthValue"
2935
+ }
2936
+ ],
2937
+ "stateMutability": "view"
2938
+ },
2939
+ {
2940
+ "type": "function",
2941
+ "name": "getProvingCostPerManaInFeeAsset",
2942
+ "inputs": [],
2943
+ "outputs": [
2944
+ {
2945
+ "name": "",
2946
+ "type": "uint256",
2947
+ "internalType": "FeeAssetValue"
2948
+ }
2949
+ ],
2950
+ "stateMutability": "view"
2951
+ },
2952
+ {
2953
+ "type": "function",
2954
+ "name": "getRewardDistributor",
2955
+ "inputs": [],
2956
+ "outputs": [
2957
+ {
2958
+ "name": "",
2959
+ "type": "address",
2960
+ "internalType": "contract IRewardDistributor"
2961
+ }
2962
+ ],
2963
+ "stateMutability": "view"
2964
+ },
3038
2965
  {
3039
2966
  "type": "function",
3040
2967
  "name": "getSampleSeedAt",
@@ -3054,6 +2981,25 @@ export const RollupAbi = [
3054
2981
  ],
3055
2982
  "stateMutability": "view"
3056
2983
  },
2984
+ {
2985
+ "type": "function",
2986
+ "name": "getSequencerRewards",
2987
+ "inputs": [
2988
+ {
2989
+ "name": "_sequencer",
2990
+ "type": "address",
2991
+ "internalType": "address"
2992
+ }
2993
+ ],
2994
+ "outputs": [
2995
+ {
2996
+ "name": "",
2997
+ "type": "uint256",
2998
+ "internalType": "uint256"
2999
+ }
3000
+ ],
3001
+ "stateMutability": "view"
3002
+ },
3057
3003
  {
3058
3004
  "type": "function",
3059
3005
  "name": "getSlasher",
@@ -3099,6 +3045,30 @@ export const RollupAbi = [
3099
3045
  ],
3100
3046
  "stateMutability": "view"
3101
3047
  },
3048
+ {
3049
+ "type": "function",
3050
+ "name": "getSpecificProverRewardsForEpoch",
3051
+ "inputs": [
3052
+ {
3053
+ "name": "_epoch",
3054
+ "type": "uint256",
3055
+ "internalType": "Epoch"
3056
+ },
3057
+ {
3058
+ "name": "_prover",
3059
+ "type": "address",
3060
+ "internalType": "address"
3061
+ }
3062
+ ],
3063
+ "outputs": [
3064
+ {
3065
+ "name": "",
3066
+ "type": "uint256",
3067
+ "internalType": "uint256"
3068
+ }
3069
+ ],
3070
+ "stateMutability": "view"
3071
+ },
3102
3072
  {
3103
3073
  "type": "function",
3104
3074
  "name": "getStakingAsset",
@@ -3169,6 +3139,19 @@ export const RollupAbi = [
3169
3139
  ],
3170
3140
  "stateMutability": "view"
3171
3141
  },
3142
+ {
3143
+ "type": "function",
3144
+ "name": "getVersion",
3145
+ "inputs": [],
3146
+ "outputs": [
3147
+ {
3148
+ "name": "",
3149
+ "type": "uint256",
3150
+ "internalType": "uint256"
3151
+ }
3152
+ ],
3153
+ "stateMutability": "view"
3154
+ },
3172
3155
  {
3173
3156
  "type": "function",
3174
3157
  "name": "initiateWithdraw",
@@ -3230,100 +3213,6 @@ export const RollupAbi = [
3230
3213
  "type": "tuple",
3231
3214
  "internalType": "struct OracleInput",
3232
3215
  "components": [
3233
- {
3234
- "name": "provingCostModifier",
3235
- "type": "int256",
3236
- "internalType": "int256"
3237
- },
3238
- {
3239
- "name": "feeAssetPriceModifier",
3240
- "type": "int256",
3241
- "internalType": "int256"
3242
- }
3243
- ]
3244
- },
3245
- {
3246
- "name": "header",
3247
- "type": "bytes",
3248
- "internalType": "bytes"
3249
- },
3250
- {
3251
- "name": "txHashes",
3252
- "type": "bytes32[]",
3253
- "internalType": "bytes32[]"
3254
- }
3255
- ]
3256
- },
3257
- {
3258
- "name": "_signatures",
3259
- "type": "tuple[]",
3260
- "internalType": "struct Signature[]",
3261
- "components": [
3262
- {
3263
- "name": "isEmpty",
3264
- "type": "bool",
3265
- "internalType": "bool"
3266
- },
3267
- {
3268
- "name": "v",
3269
- "type": "uint8",
3270
- "internalType": "uint8"
3271
- },
3272
- {
3273
- "name": "r",
3274
- "type": "bytes32",
3275
- "internalType": "bytes32"
3276
- },
3277
- {
3278
- "name": "s",
3279
- "type": "bytes32",
3280
- "internalType": "bytes32"
3281
- }
3282
- ]
3283
- },
3284
- {
3285
- "name": "",
3286
- "type": "bytes",
3287
- "internalType": "bytes"
3288
- },
3289
- {
3290
- "name": "_blobInput",
3291
- "type": "bytes",
3292
- "internalType": "bytes"
3293
- }
3294
- ],
3295
- "outputs": [],
3296
- "stateMutability": "nonpayable"
3297
- },
3298
- {
3299
- "type": "function",
3300
- "name": "proposeAndClaim",
3301
- "inputs": [
3302
- {
3303
- "name": "_args",
3304
- "type": "tuple",
3305
- "internalType": "struct ProposeArgs",
3306
- "components": [
3307
- {
3308
- "name": "archive",
3309
- "type": "bytes32",
3310
- "internalType": "bytes32"
3311
- },
3312
- {
3313
- "name": "blockHash",
3314
- "type": "bytes32",
3315
- "internalType": "bytes32"
3316
- },
3317
- {
3318
- "name": "oracleInput",
3319
- "type": "tuple",
3320
- "internalType": "struct OracleInput",
3321
- "components": [
3322
- {
3323
- "name": "provingCostModifier",
3324
- "type": "int256",
3325
- "internalType": "int256"
3326
- },
3327
3216
  {
3328
3217
  "name": "feeAssetPriceModifier",
3329
3218
  "type": "int256",
@@ -3370,81 +3259,10 @@ export const RollupAbi = [
3370
3259
  }
3371
3260
  ]
3372
3261
  },
3373
- {
3374
- "name": "_body",
3375
- "type": "bytes",
3376
- "internalType": "bytes"
3377
- },
3378
3262
  {
3379
3263
  "name": "_blobInput",
3380
3264
  "type": "bytes",
3381
3265
  "internalType": "bytes"
3382
- },
3383
- {
3384
- "name": "_quote",
3385
- "type": "tuple",
3386
- "internalType": "struct SignedEpochProofQuote",
3387
- "components": [
3388
- {
3389
- "name": "quote",
3390
- "type": "tuple",
3391
- "internalType": "struct EpochProofQuote",
3392
- "components": [
3393
- {
3394
- "name": "epochToProve",
3395
- "type": "uint256",
3396
- "internalType": "Epoch"
3397
- },
3398
- {
3399
- "name": "validUntilSlot",
3400
- "type": "uint256",
3401
- "internalType": "Slot"
3402
- },
3403
- {
3404
- "name": "bondAmount",
3405
- "type": "uint256",
3406
- "internalType": "uint256"
3407
- },
3408
- {
3409
- "name": "prover",
3410
- "type": "address",
3411
- "internalType": "address"
3412
- },
3413
- {
3414
- "name": "basisPointFee",
3415
- "type": "uint32",
3416
- "internalType": "uint32"
3417
- }
3418
- ]
3419
- },
3420
- {
3421
- "name": "signature",
3422
- "type": "tuple",
3423
- "internalType": "struct Signature",
3424
- "components": [
3425
- {
3426
- "name": "isEmpty",
3427
- "type": "bool",
3428
- "internalType": "bool"
3429
- },
3430
- {
3431
- "name": "v",
3432
- "type": "uint8",
3433
- "internalType": "uint8"
3434
- },
3435
- {
3436
- "name": "r",
3437
- "type": "bytes32",
3438
- "internalType": "bytes32"
3439
- },
3440
- {
3441
- "name": "s",
3442
- "type": "bytes32",
3443
- "internalType": "bytes32"
3444
- }
3445
- ]
3446
- }
3447
- ]
3448
3266
  }
3449
3267
  ],
3450
3268
  "outputs": [],
@@ -3457,52 +3275,6 @@ export const RollupAbi = [
3457
3275
  "outputs": [],
3458
3276
  "stateMutability": "nonpayable"
3459
3277
  },
3460
- {
3461
- "type": "function",
3462
- "name": "quoteToDigest",
3463
- "inputs": [
3464
- {
3465
- "name": "_quote",
3466
- "type": "tuple",
3467
- "internalType": "struct EpochProofQuote",
3468
- "components": [
3469
- {
3470
- "name": "epochToProve",
3471
- "type": "uint256",
3472
- "internalType": "Epoch"
3473
- },
3474
- {
3475
- "name": "validUntilSlot",
3476
- "type": "uint256",
3477
- "internalType": "Slot"
3478
- },
3479
- {
3480
- "name": "bondAmount",
3481
- "type": "uint256",
3482
- "internalType": "uint256"
3483
- },
3484
- {
3485
- "name": "prover",
3486
- "type": "address",
3487
- "internalType": "address"
3488
- },
3489
- {
3490
- "name": "basisPointFee",
3491
- "type": "uint32",
3492
- "internalType": "uint32"
3493
- }
3494
- ]
3495
- }
3496
- ],
3497
- "outputs": [
3498
- {
3499
- "name": "",
3500
- "type": "bytes32",
3501
- "internalType": "bytes32"
3502
- }
3503
- ],
3504
- "stateMutability": "view"
3505
- },
3506
3278
  {
3507
3279
  "type": "function",
3508
3280
  "name": "renounceOwnership",
@@ -3512,12 +3284,12 @@ export const RollupAbi = [
3512
3284
  },
3513
3285
  {
3514
3286
  "type": "function",
3515
- "name": "setAssumeProvenThroughBlockNumber",
3287
+ "name": "setEpochVerifier",
3516
3288
  "inputs": [
3517
3289
  {
3518
- "name": "_blockNumber",
3519
- "type": "uint256",
3520
- "internalType": "uint256"
3290
+ "name": "_verifier",
3291
+ "type": "address",
3292
+ "internalType": "address"
3521
3293
  }
3522
3294
  ],
3523
3295
  "outputs": [],
@@ -3525,12 +3297,12 @@ export const RollupAbi = [
3525
3297
  },
3526
3298
  {
3527
3299
  "type": "function",
3528
- "name": "setEpochVerifier",
3300
+ "name": "setProtocolContractTreeRoot",
3529
3301
  "inputs": [
3530
3302
  {
3531
- "name": "_verifier",
3532
- "type": "address",
3533
- "internalType": "address"
3303
+ "name": "_protocolContractTreeRoot",
3304
+ "type": "bytes32",
3305
+ "internalType": "bytes32"
3534
3306
  }
3535
3307
  ],
3536
3308
  "outputs": [],
@@ -3538,12 +3310,12 @@ export const RollupAbi = [
3538
3310
  },
3539
3311
  {
3540
3312
  "type": "function",
3541
- "name": "setProtocolContractTreeRoot",
3313
+ "name": "setProvingCostPerMana",
3542
3314
  "inputs": [
3543
3315
  {
3544
- "name": "_protocolContractTreeRoot",
3545
- "type": "bytes32",
3546
- "internalType": "bytes32"
3316
+ "name": "_provingCostPerMana",
3317
+ "type": "uint256",
3318
+ "internalType": "EthValue"
3547
3319
  }
3548
3320
  ],
3549
3321
  "outputs": [],
@@ -3641,14 +3413,56 @@ export const RollupAbi = [
3641
3413
  "internalType": "struct SubmitEpochRootProofArgs",
3642
3414
  "components": [
3643
3415
  {
3644
- "name": "epochSize",
3416
+ "name": "start",
3417
+ "type": "uint256",
3418
+ "internalType": "uint256"
3419
+ },
3420
+ {
3421
+ "name": "end",
3645
3422
  "type": "uint256",
3646
3423
  "internalType": "uint256"
3647
3424
  },
3648
3425
  {
3649
3426
  "name": "args",
3650
- "type": "bytes32[7]",
3651
- "internalType": "bytes32[7]"
3427
+ "type": "tuple",
3428
+ "internalType": "struct PublicInputArgs",
3429
+ "components": [
3430
+ {
3431
+ "name": "previousArchive",
3432
+ "type": "bytes32",
3433
+ "internalType": "bytes32"
3434
+ },
3435
+ {
3436
+ "name": "endArchive",
3437
+ "type": "bytes32",
3438
+ "internalType": "bytes32"
3439
+ },
3440
+ {
3441
+ "name": "previousBlockHash",
3442
+ "type": "bytes32",
3443
+ "internalType": "bytes32"
3444
+ },
3445
+ {
3446
+ "name": "endBlockHash",
3447
+ "type": "bytes32",
3448
+ "internalType": "bytes32"
3449
+ },
3450
+ {
3451
+ "name": "endTimestamp",
3452
+ "type": "uint256",
3453
+ "internalType": "Timestamp"
3454
+ },
3455
+ {
3456
+ "name": "outHash",
3457
+ "type": "bytes32",
3458
+ "internalType": "bytes32"
3459
+ },
3460
+ {
3461
+ "name": "proverId",
3462
+ "type": "address",
3463
+ "internalType": "address"
3464
+ }
3465
+ ]
3652
3466
  },
3653
3467
  {
3654
3468
  "name": "fees",
@@ -3725,85 +3539,6 @@ export const RollupAbi = [
3725
3539
  ],
3726
3540
  "stateMutability": "view"
3727
3541
  },
3728
- {
3729
- "type": "function",
3730
- "name": "validateEpochProofRightClaimAtTime",
3731
- "inputs": [
3732
- {
3733
- "name": "_ts",
3734
- "type": "uint256",
3735
- "internalType": "Timestamp"
3736
- },
3737
- {
3738
- "name": "_quote",
3739
- "type": "tuple",
3740
- "internalType": "struct SignedEpochProofQuote",
3741
- "components": [
3742
- {
3743
- "name": "quote",
3744
- "type": "tuple",
3745
- "internalType": "struct EpochProofQuote",
3746
- "components": [
3747
- {
3748
- "name": "epochToProve",
3749
- "type": "uint256",
3750
- "internalType": "Epoch"
3751
- },
3752
- {
3753
- "name": "validUntilSlot",
3754
- "type": "uint256",
3755
- "internalType": "Slot"
3756
- },
3757
- {
3758
- "name": "bondAmount",
3759
- "type": "uint256",
3760
- "internalType": "uint256"
3761
- },
3762
- {
3763
- "name": "prover",
3764
- "type": "address",
3765
- "internalType": "address"
3766
- },
3767
- {
3768
- "name": "basisPointFee",
3769
- "type": "uint32",
3770
- "internalType": "uint32"
3771
- }
3772
- ]
3773
- },
3774
- {
3775
- "name": "signature",
3776
- "type": "tuple",
3777
- "internalType": "struct Signature",
3778
- "components": [
3779
- {
3780
- "name": "isEmpty",
3781
- "type": "bool",
3782
- "internalType": "bool"
3783
- },
3784
- {
3785
- "name": "v",
3786
- "type": "uint8",
3787
- "internalType": "uint8"
3788
- },
3789
- {
3790
- "name": "r",
3791
- "type": "bytes32",
3792
- "internalType": "bytes32"
3793
- },
3794
- {
3795
- "name": "s",
3796
- "type": "bytes32",
3797
- "internalType": "bytes32"
3798
- }
3799
- ]
3800
- }
3801
- ]
3802
- }
3803
- ],
3804
- "outputs": [],
3805
- "stateMutability": "view"
3806
- },
3807
3542
  {
3808
3543
  "type": "function",
3809
3544
  "name": "validateHeader",
@@ -3877,4 +3612,3 @@ export const RollupAbi = [
3877
3612
  "stateMutability": "view"
3878
3613
  }
3879
3614
  ];
3880
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUm9sbHVwQWJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vZ2VuZXJhdGVkL1JvbGx1cEFiaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUN2QjtRQUNFLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxpQkFBaUI7Z0JBQ3pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsMEJBQTBCO2FBQzNDO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSw2QkFBNkI7YUFDOUM7WUFDRDtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxpQkFBaUI7YUFDbEM7WUFDRDtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLDJCQUEyQjtnQkFDbkMsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxlQUFlO2dCQUMvQixZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLG1CQUFtQjt3QkFDM0IsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsb0JBQW9CO3dCQUM1QixNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxxQkFBcUI7d0JBQzdCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLHFDQUFxQzt3QkFDN0MsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsY0FBYzt3QkFDdEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsZ0JBQWdCO3dCQUN4QixNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxtQkFBbUI7d0JBQzNCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsaUJBQWlCO2FBQ2xDO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsNEJBQTRCO1FBQ3BDLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsY0FBYztRQUN0QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsdUNBQXVDO1FBQy9DLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsU0FBUztRQUNqQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsUUFBUSxFQUFFLEVBQUU7UUFDWixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsMEJBQTBCO2FBQzNDO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxvQ0FBb0M7UUFDNUMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsdUNBQXVDO1FBQy9DLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx1Q0FBdUM7UUFDL0MsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUscUNBQXFDO1FBQzdDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGtEQUFrRDtRQUMxRCxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxxQ0FBcUM7UUFDN0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsbUJBQW1CO2FBQ3BDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsd0NBQXdDO1FBQ2hELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx1Q0FBdUM7UUFDL0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3Q0FBd0M7UUFDaEQsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLEdBQUc7Z0JBQ1gsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsMENBQTBDO1FBQ2xELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxHQUFHO2dCQUNYLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxHQUFHO2dCQUNYLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHlDQUF5QztRQUNqRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDZDQUE2QztRQUNyRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsaURBQWlEO1FBQ3pELFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdDQUF3QztRQUNoRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxtQkFBbUI7YUFDcEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxvQ0FBb0M7UUFDNUMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRDQUE0QztRQUNwRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHlDQUF5QztRQUNqRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsMkJBQTJCO1FBQ25DLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsa0RBQWtEO1FBQzFELFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLG9EQUFvRDtRQUM1RCxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxtREFBbUQ7UUFDM0QsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsa0RBQWtEO1FBQzFELFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRDQUE0QztRQUNwRCxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSw4Q0FBOEM7UUFDdEQsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsMENBQTBDO1FBQ2xELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxNQUFNO2dCQUNkLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixjQUFjLEVBQUUsUUFBUTthQUN6QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRDQUE0QztRQUNwRCxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsY0FBYyxFQUFFLFFBQVE7YUFDekI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGtDQUFrQztRQUMxQyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxnQ0FBZ0M7UUFDeEMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHFDQUFxQztRQUM3QyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxtQ0FBbUM7UUFDM0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGtEQUFrRDtRQUMxRCxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxxREFBcUQ7UUFDN0QsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsc0NBQXNDO1FBQzlDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBDQUEwQztRQUNsRCxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSw2Q0FBNkM7UUFDckQsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsK0JBQStCO1FBQ3ZDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxnQ0FBZ0M7UUFDeEMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsc0NBQXNDO1FBQzlDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNDQUFzQztRQUM5QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLGlCQUFpQjthQUNsQztTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsd0JBQXdCO1FBQ2hDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsMkJBQTJCO1FBQ25DLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxxQkFBcUI7Z0JBQzdCLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7U0FDRjtRQUNELFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsS0FBSztRQUNiLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsVUFBVTtRQUNsQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsd0JBQXdCO1FBQ2hDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixjQUFjLEVBQUUsUUFBUTthQUN6QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsY0FBYyxFQUFFLFFBQVE7YUFDekI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsd0JBQXdCO1FBQ2hDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsU0FBUztnQkFDakIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxpQ0FBaUM7UUFDekMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGVBQWU7Z0JBQ3ZCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLCtCQUErQjtRQUN2QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHFCQUFxQjtRQUM3QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSw0QkFBNEI7UUFDcEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLGlDQUFpQzthQUNsRDtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLHlDQUF5QztRQUNqRCxRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsNENBQTRDO1FBQ3BELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsaUNBQWlDO1FBQ3pDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxnREFBZ0Q7UUFDeEQsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsZUFBZTtRQUN2QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLEtBQUs7Z0JBQ2hCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLDZCQUE2QjthQUM5QztTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsbUNBQW1DO1FBQzNDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGtDQUFrQztRQUMxQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGdDQUFnQztRQUN4QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsU0FBUztnQkFDakIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLG1DQUFtQztRQUMzQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDhCQUE4QjtRQUN0QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHFDQUFxQztRQUM3QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRCQUE0QjtRQUNwQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRCQUE0QjtRQUNwQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGdDQUFnQztRQUN4QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGtDQUFrQztRQUMxQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxnQ0FBZ0M7UUFDeEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsOEJBQThCO1FBQ3RDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsaUNBQWlDO1FBQ3pDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE9BQU87YUFDeEI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxvQkFBb0I7Z0JBQzVCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsa0NBQWtDO1FBQzFDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDRCQUE0QjtRQUNwQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDJCQUEyQjtRQUNuQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLFFBQVEsRUFBRSxFQUFFO0tBQ2I7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHVDQUF1QztRQUMvQyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsY0FBYyxFQUFFLFFBQVE7YUFDekI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGlDQUFpQztRQUN6QyxRQUFRLEVBQUUsRUFBRTtLQUNiO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxnQ0FBZ0M7UUFDeEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsNEJBQTRCO1FBQ3BDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGlDQUFpQztRQUN6QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx5QkFBeUI7UUFDakMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsNEJBQTRCO1FBQ3BDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHlCQUF5QjtRQUNqQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSx3QkFBd0I7UUFDaEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsbUNBQW1DO1FBQzNDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGVBQWU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxtQ0FBbUM7UUFDM0MsUUFBUSxFQUFFLEVBQUU7S0FDYjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsOENBQThDO1FBQ3RELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsc0RBQXNEO1FBQzlELFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsVUFBVTtnQkFDbEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUscUNBQXFDO1FBQzdDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsS0FBSztnQkFDaEIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFdBQVcsRUFBRSxLQUFLO0tBQ25CO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixTQUFTLEVBQUUsSUFBSTtnQkFDZixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsU0FBUyxFQUFFLElBQUk7Z0JBQ2YsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsV0FBVyxFQUFFLEtBQUs7S0FDbkI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsY0FBYztnQkFDdEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsVUFBVTtRQUNsQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsZ0JBQWdCO1FBQ3hCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSwyQkFBMkI7Z0JBQzNDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsUUFBUTt3QkFDaEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSw4QkFBOEI7Z0JBQzlDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsT0FBTzt3QkFDZixNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsd0JBQXdCO3dCQUN4QyxZQUFZLEVBQUU7NEJBQ1o7Z0NBQ0UsTUFBTSxFQUFFLGNBQWM7Z0NBQ3RCLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsT0FBTzs2QkFDeEI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLGdCQUFnQjtnQ0FDeEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxNQUFNOzZCQUN2Qjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsWUFBWTtnQ0FDcEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsUUFBUTtnQ0FDaEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsZUFBZTtnQ0FDdkIsTUFBTSxFQUFFLFFBQVE7Z0NBQ2hCLGNBQWMsRUFBRSxRQUFROzZCQUN6Qjt5QkFDRjtxQkFDRjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsV0FBVzt3QkFDbkIsTUFBTSxFQUFFLE9BQU87d0JBQ2YsY0FBYyxFQUFFLGtCQUFrQjt3QkFDbEMsWUFBWSxFQUFFOzRCQUNaO2dDQUNFLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixNQUFNLEVBQUUsTUFBTTtnQ0FDZCxjQUFjLEVBQUUsTUFBTTs2QkFDdkI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsTUFBTSxFQUFFLE9BQU87Z0NBQ2YsY0FBYyxFQUFFLE9BQU87NkJBQ3hCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxHQUFHO2dDQUNYLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsU0FBUzs2QkFDMUI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGNBQWM7UUFDdEIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxRQUFRO2FBQ3pCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixjQUFjLEVBQUUsUUFBUTthQUN6QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxjQUFjO1FBQ3RCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxjQUFjO2dCQUN0QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLGlCQUFpQjtnQkFDakMsWUFBWSxFQUFFO29CQUNaO3dCQUNFLE1BQU0sRUFBRSxXQUFXO3dCQUNuQixNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsa0JBQWtCO3dCQUNsQyxZQUFZLEVBQUU7NEJBQ1o7Z0NBQ0UsTUFBTSxFQUFFLFlBQVk7Z0NBQ3BCLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsU0FBUzs2QkFDMUI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLHdCQUF3QjtnQ0FDaEMsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsVUFBVTtnQ0FDbEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsNkJBQTZCO2dDQUNyQyxNQUFNLEVBQUUsU0FBUztnQ0FDakIsY0FBYyxFQUFFLFNBQVM7NkJBQzFCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxnQkFBZ0I7Z0NBQ3hCLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsU0FBUzs2QkFDMUI7eUJBQ0Y7cUJBQ0Y7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFlBQVk7d0JBQ3BCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsTUFBTTtxQkFDdkI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7UUFDeEIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsbUJBQW1CO1FBQzNCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsY0FBYztnQkFDdEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSwyQkFBMkI7UUFDbkMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixjQUFjLEVBQUUsWUFBWTthQUM3QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxtQkFBbUI7Z0JBQzNCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLG9CQUFvQjtnQkFDNUIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLGFBQWE7Z0JBQzdCLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxXQUFXO3FCQUM1QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsV0FBVzt3QkFDbkIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsY0FBYztRQUN0QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLHNCQUFzQjtnQkFDdEMsWUFBWSxFQUFFO29CQUNaO3dCQUNFLE1BQU0sRUFBRSxPQUFPO3dCQUNmLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFlBQVk7d0JBQ3BCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFVBQVU7d0JBQ2xCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFFBQVE7d0JBQ2hCLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxhQUFhO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsYUFBYTtRQUNyQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGtCQUFrQjtRQUMxQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSw0QkFBNEI7UUFDcEMsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsTUFBTTtnQkFDZCxjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLDhCQUE4QjtnQkFDOUMsWUFBWSxFQUFFO29CQUNaO3dCQUNFLE1BQU0sRUFBRSxnQkFBZ0I7d0JBQ3hCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLHNCQUFzQjt3QkFDOUIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsU0FBUzt3QkFDakIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsYUFBYTt3QkFDckIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxxQkFBcUI7Z0JBQ3JDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsZUFBZTtRQUN2QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSx1Q0FBdUM7Z0JBQ3ZELFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsY0FBYzt3QkFDdEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxPQUFPO3FCQUN4QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsZUFBZTt3QkFDdkIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsY0FBYzt3QkFDdEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsa0JBQWtCO3dCQUMxQixNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxLQUFLO2dCQUNiLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLHdCQUF3QjtRQUNoQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsV0FBVztRQUNuQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsTUFBTTthQUN2QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsaUJBQWlCO2FBQ2xDO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsd0JBQXdCO1FBQ2hDLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsV0FBVzthQUM1QjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsa0JBQWtCO2dCQUNsQyxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLG9CQUFvQjt3QkFDNUIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsbUJBQW1CO3dCQUMzQixNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFdBQVc7Z0JBQ25CLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxNQUFNO2dCQUNkLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsT0FBTztRQUNmLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFO1lBQ1Q7Z0JBQ0UsTUFBTSxFQUFFLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1NBQ0Y7UUFDRCxpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsU0FBUztRQUNqQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsT0FBTztnQkFDZixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLGFBQWE7d0JBQ3JCLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxvQkFBb0I7d0JBQ3BDLFlBQVksRUFBRTs0QkFDWjtnQ0FDRSxNQUFNLEVBQUUscUJBQXFCO2dDQUM3QixNQUFNLEVBQUUsUUFBUTtnQ0FDaEIsY0FBYyxFQUFFLFFBQVE7NkJBQ3pCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSx1QkFBdUI7Z0NBQy9CLE1BQU0sRUFBRSxRQUFRO2dDQUNoQixjQUFjLEVBQUUsUUFBUTs2QkFDekI7eUJBQ0Y7cUJBQ0Y7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLFFBQVE7d0JBQ2hCLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxPQUFPO3FCQUN4QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsVUFBVTt3QkFDbEIsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLGNBQWMsRUFBRSxXQUFXO3FCQUM1QjtpQkFDRjthQUNGO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsb0JBQW9CO2dCQUNwQyxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGNBQWMsRUFBRSxNQUFNO3FCQUN2QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsR0FBRzt3QkFDWCxNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsT0FBTztxQkFDeEI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLEdBQUc7d0JBQ1gsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsR0FBRzt3QkFDWCxNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsT0FBTzthQUN4QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxvQkFBb0I7Z0JBQ3BDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsU0FBUzt3QkFDakIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsV0FBVzt3QkFDbkIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsYUFBYTt3QkFDckIsTUFBTSxFQUFFLE9BQU87d0JBQ2YsY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMsWUFBWSxFQUFFOzRCQUNaO2dDQUNFLE1BQU0sRUFBRSxxQkFBcUI7Z0NBQzdCLE1BQU0sRUFBRSxRQUFRO2dDQUNoQixjQUFjLEVBQUUsUUFBUTs2QkFDekI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLHVCQUF1QjtnQ0FDL0IsTUFBTSxFQUFFLFFBQVE7Z0NBQ2hCLGNBQWMsRUFBRSxRQUFROzZCQUN6Qjt5QkFDRjtxQkFDRjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsUUFBUTt3QkFDaEIsTUFBTSxFQUFFLE9BQU87d0JBQ2YsY0FBYyxFQUFFLE9BQU87cUJBQ3hCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxVQUFVO3dCQUNsQixNQUFNLEVBQUUsV0FBVzt3QkFDbkIsY0FBYyxFQUFFLFdBQVc7cUJBQzVCO2lCQUNGO2FBQ0Y7WUFDRDtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxvQkFBb0I7Z0JBQ3BDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsU0FBUzt3QkFDakIsTUFBTSxFQUFFLE1BQU07d0JBQ2QsY0FBYyxFQUFFLE1BQU07cUJBQ3ZCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxHQUFHO3dCQUNYLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxPQUFPO3FCQUN4QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsR0FBRzt3QkFDWCxNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxHQUFHO3dCQUNYLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxPQUFPO2dCQUNmLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSxPQUFPO2FBQ3hCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLE1BQU0sRUFBRSxPQUFPO2dCQUNmLGNBQWMsRUFBRSw4QkFBOEI7Z0JBQzlDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsT0FBTzt3QkFDZixNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsd0JBQXdCO3dCQUN4QyxZQUFZLEVBQUU7NEJBQ1o7Z0NBQ0UsTUFBTSxFQUFFLGNBQWM7Z0NBQ3RCLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsT0FBTzs2QkFDeEI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLGdCQUFnQjtnQ0FDeEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxNQUFNOzZCQUN2Qjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsWUFBWTtnQ0FDcEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsUUFBUTtnQ0FDaEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsZUFBZTtnQ0FDdkIsTUFBTSxFQUFFLFFBQVE7Z0NBQ2hCLGNBQWMsRUFBRSxRQUFROzZCQUN6Qjt5QkFDRjtxQkFDRjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsV0FBVzt3QkFDbkIsTUFBTSxFQUFFLE9BQU87d0JBQ2YsY0FBYyxFQUFFLGtCQUFrQjt3QkFDbEMsWUFBWSxFQUFFOzRCQUNaO2dDQUNFLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixNQUFNLEVBQUUsTUFBTTtnQ0FDZCxjQUFjLEVBQUUsTUFBTTs2QkFDdkI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsTUFBTSxFQUFFLE9BQU87Z0NBQ2YsY0FBYyxFQUFFLE9BQU87NkJBQ3hCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxHQUFHO2dDQUNYLE1BQU0sRUFBRSxTQUFTO2dDQUNqQixjQUFjLEVBQUUsU0FBUzs2QkFDMUI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsd0JBQXdCO2dCQUN4QyxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLGNBQWM7d0JBQ3RCLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsT0FBTztxQkFDeEI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLGdCQUFnQjt3QkFDeEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxNQUFNO3FCQUN2QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsWUFBWTt3QkFDcEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsUUFBUTt3QkFDaEIsTUFBTSxFQUFFLFNBQVM7d0JBQ2pCLGNBQWMsRUFBRSxTQUFTO3FCQUMxQjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsZUFBZTt3QkFDdkIsTUFBTSxFQUFFLFFBQVE7d0JBQ2hCLGNBQWMsRUFBRSxRQUFRO3FCQUN6QjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUU7WUFDVDtnQkFDRSxNQUFNLEVBQUUsRUFBRTtnQkFDVixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsUUFBUSxFQUFFLEVBQUU7UUFDWixTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxtQ0FBbUM7UUFDM0MsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLFFBQVEsRUFBRTtZQUNSO2dCQUNFLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLDZCQUE2QjtRQUNyQyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsMkJBQTJCO2dCQUNuQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLGFBQWE7Z0JBQ3JCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsWUFBWTtRQUNwQixRQUFRLEVBQUUsRUFBRTtRQUNaLFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsWUFBWTtLQUNoQztJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLE9BQU87UUFDZixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxTQUFTO2FBQzFCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsUUFBUTtRQUNoQixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsc0JBQXNCO2dCQUM5QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxtQkFBbUI7Z0JBQzNCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxlQUFlO2dCQUN2QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsb0JBQW9CO2dCQUM1QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsZ0JBQWdCO2dCQUN4QixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELGlCQUFpQixFQUFFLE1BQU07S0FDMUI7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLGlDQUFpQztnQkFDakQsWUFBWSxFQUFFO29CQUNaO3dCQUNFLE1BQU0sRUFBRSxXQUFXO3dCQUNuQixNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxNQUFNO3dCQUNkLE1BQU0sRUFBRSxZQUFZO3dCQUNwQixjQUFjLEVBQUUsWUFBWTtxQkFDN0I7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLE1BQU07d0JBQ2QsTUFBTSxFQUFFLFdBQVc7d0JBQ25CLGNBQWMsRUFBRSxXQUFXO3FCQUM1QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsa0JBQWtCO3dCQUMxQixNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsT0FBTztxQkFDeEI7b0JBQ0Q7d0JBQ0UsTUFBTSxFQUFFLG1CQUFtQjt3QkFDM0IsTUFBTSxFQUFFLE9BQU87d0JBQ2YsY0FBYyxFQUFFLE9BQU87cUJBQ3hCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxPQUFPO3dCQUNmLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxPQUFPO3FCQUN4QjtpQkFDRjthQUNGO1NBQ0Y7UUFDRCxTQUFTLEVBQUUsRUFBRTtRQUNiLGlCQUFpQixFQUFFLFlBQVk7S0FDaEM7SUFDRDtRQUNFLE1BQU0sRUFBRSxVQUFVO1FBQ2xCLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsUUFBUSxFQUFFO1lBQ1I7Z0JBQ0UsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLFFBQVEsRUFBRSxFQUFFO1FBQ1osU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxZQUFZO0tBQ2hDO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsZUFBZTtRQUN2QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRjtRQUNELFNBQVMsRUFBRTtZQUNUO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxXQUFXO2dCQUNuQixjQUFjLEVBQUUsV0FBVzthQUM1QjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxFQUFFO2dCQUNWLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtTQUNGO1FBQ0QsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9DQUFvQztRQUM1QyxRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFdBQVc7YUFDNUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsUUFBUTtnQkFDaEIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLDhCQUE4QjtnQkFDOUMsWUFBWSxFQUFFO29CQUNaO3dCQUNFLE1BQU0sRUFBRSxPQUFPO3dCQUNmLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSx3QkFBd0I7d0JBQ3hDLFlBQVksRUFBRTs0QkFDWjtnQ0FDRSxNQUFNLEVBQUUsY0FBYztnQ0FDdEIsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxPQUFPOzZCQUN4Qjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsZ0JBQWdCO2dDQUN4QixNQUFNLEVBQUUsU0FBUztnQ0FDakIsY0FBYyxFQUFFLE1BQU07NkJBQ3ZCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxZQUFZO2dDQUNwQixNQUFNLEVBQUUsU0FBUztnQ0FDakIsY0FBYyxFQUFFLFNBQVM7NkJBQzFCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxRQUFRO2dDQUNoQixNQUFNLEVBQUUsU0FBUztnQ0FDakIsY0FBYyxFQUFFLFNBQVM7NkJBQzFCOzRCQUNEO2dDQUNFLE1BQU0sRUFBRSxlQUFlO2dDQUN2QixNQUFNLEVBQUUsUUFBUTtnQ0FDaEIsY0FBYyxFQUFFLFFBQVE7NkJBQ3pCO3lCQUNGO3FCQUNGO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxXQUFXO3dCQUNuQixNQUFNLEVBQUUsT0FBTzt3QkFDZixjQUFjLEVBQUUsa0JBQWtCO3dCQUNsQyxZQUFZLEVBQUU7NEJBQ1o7Z0NBQ0UsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLE1BQU0sRUFBRSxNQUFNO2dDQUNkLGNBQWMsRUFBRSxNQUFNOzZCQUN2Qjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsR0FBRztnQ0FDWCxNQUFNLEVBQUUsT0FBTztnQ0FDZixjQUFjLEVBQUUsT0FBTzs2QkFDeEI7NEJBQ0Q7Z0NBQ0UsTUFBTSxFQUFFLEdBQUc7Z0NBQ1gsTUFBTSxFQUFFLFNBQVM7Z0NBQ2pCLGNBQWMsRUFBRSxTQUFTOzZCQUMxQjs0QkFDRDtnQ0FDRSxNQUFNLEVBQUUsR0FBRztnQ0FDWCxNQUFNLEVBQUUsU0FBUztnQ0FDakIsY0FBYyxFQUFFLFNBQVM7NkJBQzFCO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFNBQVMsRUFBRSxFQUFFO1FBQ2IsaUJBQWlCLEVBQUUsTUFBTTtLQUMxQjtJQUNEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixRQUFRLEVBQUU7WUFDUjtnQkFDRSxNQUFNLEVBQUUsU0FBUztnQkFDakIsTUFBTSxFQUFFLE9BQU87Z0JBQ2YsY0FBYyxFQUFFLE9BQU87YUFDeEI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsYUFBYTtnQkFDckIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxvQkFBb0I7Z0JBQ3BDLFlBQVksRUFBRTtvQkFDWjt3QkFDRSxNQUFNLEVBQUUsU0FBUzt3QkFDakIsTUFBTSxFQUFFLE1BQU07d0JBQ2QsY0FBYyxFQUFFLE1BQU07cUJBQ3ZCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxHQUFHO3dCQUNYLE1BQU0sRUFBRSxPQUFPO3dCQUNmLGNBQWMsRUFBRSxPQUFPO3FCQUN4QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsR0FBRzt3QkFDWCxNQUFNLEVBQUUsU0FBUzt3QkFDakIsY0FBYyxFQUFFLFNBQVM7cUJBQzFCO29CQUNEO3dCQUNFLE1BQU0sRUFBRSxHQUFHO3dCQUNYLE1BQU0sRUFBRSxTQUFTO3dCQUNqQixjQUFjLEVBQUUsU0FBUztxQkFDMUI7aUJBQ0Y7YUFDRjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixNQUFNLEVBQUUsU0FBUztnQkFDakIsY0FBYyxFQUFFLFNBQVM7YUFDMUI7WUFDRDtnQkFDRSxNQUFNLEVBQUUsY0FBYztnQkFDdEIsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLGNBQWMsRUFBRSxXQUFXO2FBQzVCO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixjQUFjLEVBQUUsU0FBUzthQUMxQjtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixNQUFNLEVBQUUsT0FBTztnQkFDZixjQUFjLEVBQUUsc0NBQXNDO2dCQUN0RCxZQUFZLEVBQUU7b0JBQ1o7d0JBQ0UsTUFBTSxFQUFFLFVBQVU7d0JBQ2xCLE1BQU0sRUFBRSxNQUFNO3dCQUNkLGNBQWMsRUFBRSxNQUFNO3FCQUN2QjtvQkFDRDt3QkFDRSxNQUFNLEVBQUUsa0JBQWtCO3dCQUMxQixNQUFNLEVBQUUsTUFBTTt3QkFDZCxjQUFjLEVBQUUsTUFBTTtxQkFDdkI7aUJBQ0Y7YUFDRjtTQUNGO1FBQ0QsU0FBUyxFQUFFLEVBQUU7UUFDYixpQkFBaUIsRUFBRSxNQUFNO0tBQzFCO0NBQ08sQ0FBQyJ9