@inco/js 0.3.2-alpha.0 → 0.3.2-alpha.1

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 (376) hide show
  1. package/dist/cjs/advancedacl/session-key.d.ts +29 -0
  2. package/dist/cjs/advancedacl/session-key.js +167 -27
  3. package/dist/cjs/attestedcompute/attested-compute.d.ts +2 -0
  4. package/dist/cjs/attestedcompute/attested-compute.js +17 -9
  5. package/dist/cjs/attestedcompute/types.d.ts +3 -2
  6. package/dist/cjs/attesteddecrypt/attested-decrypt.d.ts +2 -0
  7. package/dist/cjs/attesteddecrypt/attested-decrypt.js +27 -11
  8. package/dist/cjs/attesteddecrypt/types.d.ts +3 -2
  9. package/dist/cjs/attestedreveal/attested-reveal.d.ts +21 -0
  10. package/dist/cjs/attestedreveal/attested-reveal.js +66 -0
  11. package/dist/cjs/attestedreveal/index.d.ts +1 -0
  12. package/dist/cjs/{fhevm → attestedreveal}/index.js +2 -2
  13. package/dist/cjs/attestedreveal/types.d.ts +7 -0
  14. package/dist/cjs/attestedreveal/types.js +16 -0
  15. package/dist/cjs/generated/abis/addTwo.d.ts +18 -0
  16. package/dist/cjs/generated/abis/addTwo.js +9 -1
  17. package/dist/cjs/generated/abis/lightning-preview.d.ts +48 -0
  18. package/dist/cjs/generated/abis/lightning-preview.js +29 -1
  19. package/dist/cjs/generated/abis/lightning.d.ts +34 -0
  20. package/dist/cjs/generated/abis/lightning.js +22 -1
  21. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  22. package/dist/cjs/generated/es/inco/kms/lite/v1/kms_service_pb.js +17 -7
  23. package/dist/cjs/generated/lightning.d.ts +31 -10
  24. package/dist/cjs/generated/lightning.js +33 -11
  25. package/dist/cjs/lite/attested-compute.d.ts +5 -3
  26. package/dist/cjs/lite/attested-compute.js +5 -1
  27. package/dist/cjs/lite/attested-decrypt.d.ts +2 -0
  28. package/dist/cjs/lite/attested-decrypt.js +5 -1
  29. package/dist/cjs/lite/index.d.ts +4 -1
  30. package/dist/cjs/lite/index.js +3 -1
  31. package/dist/cjs/lite/lightning.d.ts +32 -0
  32. package/dist/cjs/lite/lightning.js +52 -44
  33. package/dist/cjs/lite/reencrypt.d.ts +0 -1
  34. package/dist/cjs/lite/reencrypt.js +8 -20
  35. package/dist/cjs/local/local-node.js +35 -3
  36. package/dist/cjs/reencryption/types.d.ts +1 -2
  37. package/dist/esm/advancedacl/session-key.d.ts +29 -0
  38. package/dist/esm/advancedacl/session-key.js +160 -22
  39. package/dist/esm/attestedcompute/attested-compute.d.ts +2 -0
  40. package/dist/esm/attestedcompute/attested-compute.js +14 -7
  41. package/dist/esm/attestedcompute/types.d.ts +3 -2
  42. package/dist/esm/attesteddecrypt/attested-decrypt.d.ts +2 -0
  43. package/dist/esm/attesteddecrypt/attested-decrypt.js +24 -9
  44. package/dist/esm/attesteddecrypt/types.d.ts +3 -2
  45. package/dist/esm/attestedreveal/attested-reveal.d.ts +21 -0
  46. package/dist/esm/attestedreveal/attested-reveal.js +63 -0
  47. package/dist/esm/attestedreveal/index.d.ts +1 -0
  48. package/dist/esm/attestedreveal/index.js +2 -0
  49. package/dist/esm/attestedreveal/types.d.ts +7 -0
  50. package/dist/esm/attestedreveal/types.js +12 -0
  51. package/dist/esm/generated/abis/addTwo.d.ts +18 -0
  52. package/dist/esm/generated/abis/addTwo.js +9 -1
  53. package/dist/esm/generated/abis/lightning-preview.d.ts +48 -0
  54. package/dist/esm/generated/abis/lightning-preview.js +29 -1
  55. package/dist/esm/generated/abis/lightning.d.ts +34 -0
  56. package/dist/esm/generated/abis/lightning.js +22 -1
  57. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  58. package/dist/esm/generated/es/inco/kms/lite/v1/kms_service_pb.js +16 -6
  59. package/dist/esm/generated/lightning.d.ts +31 -10
  60. package/dist/esm/generated/lightning.js +33 -11
  61. package/dist/esm/lite/attested-compute.d.ts +5 -3
  62. package/dist/esm/lite/attested-compute.js +3 -2
  63. package/dist/esm/lite/attested-decrypt.d.ts +2 -0
  64. package/dist/esm/lite/attested-decrypt.js +3 -2
  65. package/dist/esm/lite/index.d.ts +4 -1
  66. package/dist/esm/lite/index.js +3 -1
  67. package/dist/esm/lite/lightning.d.ts +32 -0
  68. package/dist/esm/lite/lightning.js +53 -45
  69. package/dist/esm/lite/reencrypt.d.ts +0 -1
  70. package/dist/esm/lite/reencrypt.js +9 -20
  71. package/dist/esm/local/local-node.js +35 -3
  72. package/dist/esm/reencryption/types.d.ts +1 -2
  73. package/dist/types/advancedacl/session-key.d.ts +29 -0
  74. package/dist/types/attestedcompute/attested-compute.d.ts +2 -0
  75. package/dist/types/attestedcompute/types.d.ts +3 -2
  76. package/dist/types/attesteddecrypt/attested-decrypt.d.ts +2 -0
  77. package/dist/types/attesteddecrypt/types.d.ts +3 -2
  78. package/dist/types/attestedreveal/attested-reveal.d.ts +21 -0
  79. package/dist/types/attestedreveal/index.d.ts +1 -0
  80. package/dist/types/attestedreveal/types.d.ts +7 -0
  81. package/dist/types/generated/abis/addTwo.d.ts +18 -0
  82. package/dist/types/generated/abis/lightning-preview.d.ts +48 -0
  83. package/dist/types/generated/abis/lightning.d.ts +34 -0
  84. package/dist/types/generated/es/inco/kms/lite/v1/kms_service_pb.d.ts +63 -5
  85. package/dist/types/generated/lightning.d.ts +31 -10
  86. package/dist/types/lite/attested-compute.d.ts +5 -3
  87. package/dist/types/lite/attested-decrypt.d.ts +2 -0
  88. package/dist/types/lite/index.d.ts +4 -1
  89. package/dist/types/lite/lightning.d.ts +32 -0
  90. package/dist/types/lite/reencrypt.d.ts +0 -1
  91. package/dist/types/reencryption/types.d.ts +1 -2
  92. package/package.json +28 -17
  93. package/dist/cjs/fhevm/fhe-environment.d.ts +0 -9
  94. package/dist/cjs/fhevm/fhe-environment.js +0 -11
  95. package/dist/cjs/fhevm/fhevm.d.ts +0 -41
  96. package/dist/cjs/fhevm/fhevm.js +0 -145
  97. package/dist/cjs/fhevm/index.d.ts +0 -1
  98. package/dist/cjs/fhevm/reencrypt.d.ts +0 -20
  99. package/dist/cjs/fhevm/reencrypt.js +0 -127
  100. package/dist/cjs/fhevm/tfhe.d.ts +0 -74
  101. package/dist/cjs/fhevm/tfhe.js +0 -336
  102. package/dist/cjs/fhevm/types.d.ts +0 -3
  103. package/dist/cjs/fhevm/types.js +0 -29
  104. package/dist/cjs/generated/abis/inco-fhevm.d.ts +0 -874
  105. package/dist/cjs/generated/abis/inco-fhevm.js +0 -681
  106. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  107. package/dist/cjs/generated/es/cosmos/msg/v1/msg_pb.js +0 -36
  108. package/dist/cjs/generated/es/google/api/annotations_pb.d.ts +0 -13
  109. package/dist/cjs/generated/es/google/api/annotations_pb.js +0 -30
  110. package/dist/cjs/generated/es/google/api/http_pb.d.ts +0 -440
  111. package/dist/cjs/generated/es/google/api/http_pb.js +0 -37
  112. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  113. package/dist/cjs/generated/es/inco/fhe/v1/events_pb.js +0 -24
  114. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  115. package/dist/cjs/generated/es/inco/fhe/v1/genesis_pb.js +0 -49
  116. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  117. package/dist/cjs/generated/es/inco/fhe/v1/query_pb.js +0 -111
  118. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  119. package/dist/cjs/generated/es/inco/fhe/v1/tx_pb.js +0 -111
  120. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  121. package/dist/cjs/generated/es/inco/preflight/v1/genesis_pb.js +0 -23
  122. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  123. package/dist/cjs/generated/es/inco/preflight/v1/query_pb.js +0 -41
  124. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  125. package/dist/cjs/generated/es/inco/preflight/v1/tx_pb.js +0 -51
  126. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  127. package/dist/cjs/generated/es/inco/preflight/v1/types_pb.js +0 -37
  128. package/dist/cjs/generated/fhe-environments.d.ts +0 -14
  129. package/dist/cjs/generated/fhe-environments.js +0 -18
  130. package/dist/cjs/generated/ts/amino/amino.d.ts +0 -1
  131. package/dist/cjs/generated/ts/amino/amino.js +0 -11
  132. package/dist/cjs/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  133. package/dist/cjs/generated/ts/cometbft/abci/v1/types.js +0 -5079
  134. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  135. package/dist/cjs/generated/ts/cometbft/crypto/v1/keys.js +0 -108
  136. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  137. package/dist/cjs/generated/ts/cometbft/crypto/v1/proof.js +0 -433
  138. package/dist/cjs/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  139. package/dist/cjs/generated/ts/cometbft/types/v1/params.js +0 -716
  140. package/dist/cjs/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  141. package/dist/cjs/generated/ts/cometbft/types/v1/validator.js +0 -358
  142. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  143. package/dist/cjs/generated/ts/cosmos/app/v1alpha1/module.js +0 -221
  144. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  145. package/dist/cjs/generated/ts/cosmos/msg/v1/msg.js +0 -11
  146. package/dist/cjs/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  147. package/dist/cjs/generated/ts/cosmos_proto/cosmos.js +0 -216
  148. package/dist/cjs/generated/ts/gogoproto/gogo.d.ts +0 -1
  149. package/dist/cjs/generated/ts/gogoproto/gogo.js +0 -11
  150. package/dist/cjs/generated/ts/google/api/annotations.d.ts +0 -1
  151. package/dist/cjs/generated/ts/google/api/annotations.js +0 -11
  152. package/dist/cjs/generated/ts/google/api/http.d.ts +0 -371
  153. package/dist/cjs/generated/ts/google/api/http.js +0 -356
  154. package/dist/cjs/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  155. package/dist/cjs/generated/ts/google/protobuf/descriptor.js +0 -5108
  156. package/dist/cjs/generated/ts/google/protobuf/duration.d.ts +0 -99
  157. package/dist/cjs/generated/ts/google/protobuf/duration.js +0 -93
  158. package/dist/cjs/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  159. package/dist/cjs/generated/ts/google/protobuf/timestamp.js +0 -93
  160. package/dist/cjs/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  161. package/dist/cjs/generated/ts/google/protobuf/wrappers.js +0 -509
  162. package/dist/cjs/generated/ts/inco/abci/v1/types.d.ts +0 -35
  163. package/dist/cjs/generated/ts/inco/abci/v1/types.js +0 -73
  164. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  165. package/dist/cjs/generated/ts/inco/fhe/module/v1/module.js +0 -66
  166. package/dist/cjs/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  167. package/dist/cjs/generated/ts/inco/fhe/v1/events.js +0 -190
  168. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  169. package/dist/cjs/generated/ts/inco/fhe/v1/genesis.js +0 -714
  170. package/dist/cjs/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  171. package/dist/cjs/generated/ts/inco/fhe/v1/query.js +0 -1394
  172. package/dist/cjs/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  173. package/dist/cjs/generated/ts/inco/fhe/v1/tx.js +0 -1236
  174. package/dist/cjs/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  175. package/dist/cjs/generated/ts/inco/fhe/v1/types.js +0 -990
  176. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  177. package/dist/cjs/generated/ts/inco/originchain/module/v1/module.js +0 -66
  178. package/dist/cjs/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  179. package/dist/cjs/generated/ts/inco/originchain/v1/abci.js +0 -331
  180. package/dist/cjs/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  181. package/dist/cjs/generated/ts/inco/originchain/v1/events.js +0 -216
  182. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  183. package/dist/cjs/generated/ts/inco/originchain/v1/genesis.js +0 -69
  184. package/dist/cjs/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  185. package/dist/cjs/generated/ts/inco/originchain/v1/query.js +0 -280
  186. package/dist/cjs/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  187. package/dist/cjs/generated/ts/inco/originchain/v1/tx.js +0 -140
  188. package/dist/cjs/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  189. package/dist/cjs/generated/ts/inco/originchain/v1/types.js +0 -203
  190. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  191. package/dist/cjs/generated/ts/inco/preflight/module/v1/module.js +0 -66
  192. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  193. package/dist/cjs/generated/ts/inco/preflight/v1/genesis.js +0 -185
  194. package/dist/cjs/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  195. package/dist/cjs/generated/ts/inco/preflight/v1/query.js +0 -259
  196. package/dist/cjs/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  197. package/dist/cjs/generated/ts/inco/preflight/v1/tx.js +0 -448
  198. package/dist/cjs/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  199. package/dist/cjs/generated/ts/inco/preflight/v1/types.js +0 -398
  200. package/dist/cjs/l1/client.d.ts +0 -35
  201. package/dist/cjs/l1/client.js +0 -97
  202. package/dist/cjs/l1/index.d.ts +0 -2
  203. package/dist/cjs/l1/index.js +0 -19
  204. package/dist/cjs/l1/preflight.d.ts +0 -20
  205. package/dist/cjs/l1/preflight.js +0 -42
  206. package/dist/esm/fhevm/fhe-environment.d.ts +0 -9
  207. package/dist/esm/fhevm/fhe-environment.js +0 -8
  208. package/dist/esm/fhevm/fhevm.d.ts +0 -41
  209. package/dist/esm/fhevm/fhevm.js +0 -139
  210. package/dist/esm/fhevm/index.d.ts +0 -1
  211. package/dist/esm/fhevm/index.js +0 -2
  212. package/dist/esm/fhevm/reencrypt.d.ts +0 -20
  213. package/dist/esm/fhevm/reencrypt.js +0 -123
  214. package/dist/esm/fhevm/tfhe.d.ts +0 -74
  215. package/dist/esm/fhevm/tfhe.js +0 -328
  216. package/dist/esm/fhevm/types.d.ts +0 -3
  217. package/dist/esm/fhevm/types.js +0 -26
  218. package/dist/esm/generated/abis/inco-fhevm.d.ts +0 -874
  219. package/dist/esm/generated/abis/inco-fhevm.js +0 -678
  220. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  221. package/dist/esm/generated/es/cosmos/msg/v1/msg_pb.js +0 -33
  222. package/dist/esm/generated/es/google/api/annotations_pb.d.ts +0 -13
  223. package/dist/esm/generated/es/google/api/annotations_pb.js +0 -27
  224. package/dist/esm/generated/es/google/api/http_pb.d.ts +0 -440
  225. package/dist/esm/generated/es/google/api/http_pb.js +0 -34
  226. package/dist/esm/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  227. package/dist/esm/generated/es/inco/fhe/v1/events_pb.js +0 -21
  228. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  229. package/dist/esm/generated/es/inco/fhe/v1/genesis_pb.js +0 -46
  230. package/dist/esm/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  231. package/dist/esm/generated/es/inco/fhe/v1/query_pb.js +0 -108
  232. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  233. package/dist/esm/generated/es/inco/fhe/v1/tx_pb.js +0 -108
  234. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  235. package/dist/esm/generated/es/inco/preflight/v1/genesis_pb.js +0 -20
  236. package/dist/esm/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  237. package/dist/esm/generated/es/inco/preflight/v1/query_pb.js +0 -38
  238. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  239. package/dist/esm/generated/es/inco/preflight/v1/tx_pb.js +0 -48
  240. package/dist/esm/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  241. package/dist/esm/generated/es/inco/preflight/v1/types_pb.js +0 -34
  242. package/dist/esm/generated/fhe-environments.d.ts +0 -14
  243. package/dist/esm/generated/fhe-environments.js +0 -15
  244. package/dist/esm/generated/ts/amino/amino.d.ts +0 -1
  245. package/dist/esm/generated/ts/amino/amino.js +0 -8
  246. package/dist/esm/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  247. package/dist/esm/generated/ts/cometbft/abci/v1/types.js +0 -5063
  248. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  249. package/dist/esm/generated/ts/cometbft/crypto/v1/keys.js +0 -105
  250. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  251. package/dist/esm/generated/ts/cometbft/crypto/v1/proof.js +0 -430
  252. package/dist/esm/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  253. package/dist/esm/generated/ts/cometbft/types/v1/params.js +0 -713
  254. package/dist/esm/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  255. package/dist/esm/generated/ts/cometbft/types/v1/validator.js +0 -353
  256. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  257. package/dist/esm/generated/ts/cosmos/app/v1alpha1/module.js +0 -218
  258. package/dist/esm/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  259. package/dist/esm/generated/ts/cosmos/msg/v1/msg.js +0 -8
  260. package/dist/esm/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  261. package/dist/esm/generated/ts/cosmos_proto/cosmos.js +0 -211
  262. package/dist/esm/generated/ts/gogoproto/gogo.d.ts +0 -1
  263. package/dist/esm/generated/ts/gogoproto/gogo.js +0 -8
  264. package/dist/esm/generated/ts/google/api/annotations.d.ts +0 -1
  265. package/dist/esm/generated/ts/google/api/annotations.js +0 -8
  266. package/dist/esm/generated/ts/google/api/http.d.ts +0 -371
  267. package/dist/esm/generated/ts/google/api/http.js +0 -353
  268. package/dist/esm/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  269. package/dist/esm/generated/ts/google/protobuf/descriptor.js +0 -5070
  270. package/dist/esm/generated/ts/google/protobuf/duration.d.ts +0 -99
  271. package/dist/esm/generated/ts/google/protobuf/duration.js +0 -90
  272. package/dist/esm/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  273. package/dist/esm/generated/ts/google/protobuf/timestamp.js +0 -90
  274. package/dist/esm/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  275. package/dist/esm/generated/ts/google/protobuf/wrappers.js +0 -506
  276. package/dist/esm/generated/ts/inco/abci/v1/types.d.ts +0 -35
  277. package/dist/esm/generated/ts/inco/abci/v1/types.js +0 -70
  278. package/dist/esm/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  279. package/dist/esm/generated/ts/inco/fhe/module/v1/module.js +0 -63
  280. package/dist/esm/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  281. package/dist/esm/generated/ts/inco/fhe/v1/events.js +0 -187
  282. package/dist/esm/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  283. package/dist/esm/generated/ts/inco/fhe/v1/genesis.js +0 -711
  284. package/dist/esm/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  285. package/dist/esm/generated/ts/inco/fhe/v1/query.js +0 -1391
  286. package/dist/esm/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  287. package/dist/esm/generated/ts/inco/fhe/v1/tx.js +0 -1233
  288. package/dist/esm/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  289. package/dist/esm/generated/ts/inco/fhe/v1/types.js +0 -985
  290. package/dist/esm/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  291. package/dist/esm/generated/ts/inco/originchain/module/v1/module.js +0 -63
  292. package/dist/esm/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  293. package/dist/esm/generated/ts/inco/originchain/v1/abci.js +0 -328
  294. package/dist/esm/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  295. package/dist/esm/generated/ts/inco/originchain/v1/events.js +0 -213
  296. package/dist/esm/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  297. package/dist/esm/generated/ts/inco/originchain/v1/genesis.js +0 -66
  298. package/dist/esm/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  299. package/dist/esm/generated/ts/inco/originchain/v1/query.js +0 -277
  300. package/dist/esm/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  301. package/dist/esm/generated/ts/inco/originchain/v1/tx.js +0 -137
  302. package/dist/esm/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  303. package/dist/esm/generated/ts/inco/originchain/v1/types.js +0 -200
  304. package/dist/esm/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  305. package/dist/esm/generated/ts/inco/preflight/module/v1/module.js +0 -63
  306. package/dist/esm/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  307. package/dist/esm/generated/ts/inco/preflight/v1/genesis.js +0 -182
  308. package/dist/esm/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  309. package/dist/esm/generated/ts/inco/preflight/v1/query.js +0 -256
  310. package/dist/esm/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  311. package/dist/esm/generated/ts/inco/preflight/v1/tx.js +0 -445
  312. package/dist/esm/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  313. package/dist/esm/generated/ts/inco/preflight/v1/types.js +0 -395
  314. package/dist/esm/l1/client.d.ts +0 -35
  315. package/dist/esm/l1/client.js +0 -93
  316. package/dist/esm/l1/index.d.ts +0 -2
  317. package/dist/esm/l1/index.js +0 -3
  318. package/dist/esm/l1/preflight.d.ts +0 -20
  319. package/dist/esm/l1/preflight.js +0 -39
  320. package/dist/types/fhevm/fhe-environment.d.ts +0 -9
  321. package/dist/types/fhevm/fhevm.d.ts +0 -41
  322. package/dist/types/fhevm/index.d.ts +0 -1
  323. package/dist/types/fhevm/reencrypt.d.ts +0 -20
  324. package/dist/types/fhevm/tfhe.d.ts +0 -74
  325. package/dist/types/fhevm/types.d.ts +0 -3
  326. package/dist/types/generated/abis/inco-fhevm.d.ts +0 -874
  327. package/dist/types/generated/es/cosmos/msg/v1/msg_pb.d.ts +0 -29
  328. package/dist/types/generated/es/google/api/annotations_pb.d.ts +0 -13
  329. package/dist/types/generated/es/google/api/http_pb.d.ts +0 -440
  330. package/dist/types/generated/es/inco/fhe/v1/events_pb.d.ts +0 -79
  331. package/dist/types/generated/es/inco/fhe/v1/genesis_pb.d.ts +0 -252
  332. package/dist/types/generated/es/inco/fhe/v1/query_pb.d.ts +0 -569
  333. package/dist/types/generated/es/inco/fhe/v1/tx_pb.d.ts +0 -494
  334. package/dist/types/generated/es/inco/preflight/v1/genesis_pb.d.ts +0 -56
  335. package/dist/types/generated/es/inco/preflight/v1/query_pb.d.ts +0 -100
  336. package/dist/types/generated/es/inco/preflight/v1/tx_pb.d.ts +0 -193
  337. package/dist/types/generated/es/inco/preflight/v1/types_pb.d.ts +0 -144
  338. package/dist/types/generated/fhe-environments.d.ts +0 -14
  339. package/dist/types/generated/ts/amino/amino.d.ts +0 -1
  340. package/dist/types/generated/ts/cometbft/abci/v1/types.d.ts +0 -597
  341. package/dist/types/generated/ts/cometbft/crypto/v1/keys.d.ts +0 -27
  342. package/dist/types/generated/ts/cometbft/crypto/v1/proof.d.ts +0 -60
  343. package/dist/types/generated/ts/cometbft/types/v1/params.d.ts +0 -179
  344. package/dist/types/generated/ts/cometbft/types/v1/validator.d.ts +0 -61
  345. package/dist/types/generated/ts/cosmos/app/v1alpha1/module.d.ts +0 -104
  346. package/dist/types/generated/ts/cosmos/msg/v1/msg.d.ts +0 -1
  347. package/dist/types/generated/ts/cosmos_proto/cosmos.d.ts +0 -80
  348. package/dist/types/generated/ts/gogoproto/gogo.d.ts +0 -1
  349. package/dist/types/generated/ts/google/api/annotations.d.ts +0 -1
  350. package/dist/types/generated/ts/google/api/http.d.ts +0 -371
  351. package/dist/types/generated/ts/google/protobuf/descriptor.d.ts +0 -1228
  352. package/dist/types/generated/ts/google/protobuf/duration.d.ts +0 -99
  353. package/dist/types/generated/ts/google/protobuf/timestamp.d.ts +0 -128
  354. package/dist/types/generated/ts/google/protobuf/wrappers.d.ts +0 -111
  355. package/dist/types/generated/ts/inco/abci/v1/types.d.ts +0 -35
  356. package/dist/types/generated/ts/inco/fhe/module/v1/module.d.ts +0 -31
  357. package/dist/types/generated/ts/inco/fhe/v1/events.d.ts +0 -66
  358. package/dist/types/generated/ts/inco/fhe/v1/genesis.d.ts +0 -117
  359. package/dist/types/generated/ts/inco/fhe/v1/query.d.ts +0 -366
  360. package/dist/types/generated/ts/inco/fhe/v1/tx.d.ts +0 -409
  361. package/dist/types/generated/ts/inco/fhe/v1/types.d.ts +0 -225
  362. package/dist/types/generated/ts/inco/originchain/module/v1/module.d.ts +0 -30
  363. package/dist/types/generated/ts/inco/originchain/v1/abci.d.ts +0 -80
  364. package/dist/types/generated/ts/inco/originchain/v1/events.d.ts +0 -60
  365. package/dist/types/generated/ts/inco/originchain/v1/genesis.d.ts +0 -28
  366. package/dist/types/generated/ts/inco/originchain/v1/query.d.ts +0 -116
  367. package/dist/types/generated/ts/inco/originchain/v1/tx.d.ts +0 -89
  368. package/dist/types/generated/ts/inco/originchain/v1/types.d.ts +0 -58
  369. package/dist/types/generated/ts/inco/preflight/module/v1/module.d.ts +0 -31
  370. package/dist/types/generated/ts/inco/preflight/v1/genesis.d.ts +0 -41
  371. package/dist/types/generated/ts/inco/preflight/v1/query.d.ts +0 -93
  372. package/dist/types/generated/ts/inco/preflight/v1/tx.d.ts +0 -187
  373. package/dist/types/generated/ts/inco/preflight/v1/types.d.ts +0 -84
  374. package/dist/types/l1/client.d.ts +0 -35
  375. package/dist/types/l1/index.d.ts +0 -2
  376. package/dist/types/l1/preflight.d.ts +0 -20
@@ -1,985 +0,0 @@
1
- // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
- // versions:
3
- // protoc-gen-ts_proto v2.7.5
4
- // protoc unknown
5
- // source: inco/fhe/v1/types.proto
6
- /* eslint-disable */
7
- import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
8
- export const protobufPackage = "inco.fhe.v1";
9
- /**
10
- * FheType represents the type of the plaintext encrypted in either in the FHE
11
- * or the TEE ciphertext.
12
- * For compatibility with Zama's FheType, we use the same values.
13
- * ref: https://github.com/zama-ai/kms-core/blob/fcc54ba0933e6190d8e8091ef495bcf437c06f6a/core/grpc/proto/kms.v1.proto#L32
14
- */
15
- export var FheType;
16
- (function (FheType) {
17
- FheType[FheType["FHE_TYPE_EBOOL"] = 0] = "FHE_TYPE_EBOOL";
18
- FheType[FheType["FHE_TYPE_EUINT4"] = 1] = "FHE_TYPE_EUINT4";
19
- FheType[FheType["FHE_TYPE_EUINT8"] = 2] = "FHE_TYPE_EUINT8";
20
- FheType[FheType["FHE_TYPE_EUINT16"] = 3] = "FHE_TYPE_EUINT16";
21
- FheType[FheType["FHE_TYPE_EUINT32"] = 4] = "FHE_TYPE_EUINT32";
22
- FheType[FheType["FHE_TYPE_EUINT64"] = 5] = "FHE_TYPE_EUINT64";
23
- FheType[FheType["FHE_TYPE_EUINT128"] = 6] = "FHE_TYPE_EUINT128";
24
- FheType[FheType["FHE_TYPE_EUINT160"] = 7] = "FHE_TYPE_EUINT160";
25
- FheType[FheType["FHE_TYPE_EUINT256"] = 8] = "FHE_TYPE_EUINT256";
26
- FheType[FheType["FHE_TYPE_EUINT512"] = 9] = "FHE_TYPE_EUINT512";
27
- FheType[FheType["FHE_TYPE_EUINT1024"] = 10] = "FHE_TYPE_EUINT1024";
28
- FheType[FheType["FHE_TYPE_EUINT2048"] = 11] = "FHE_TYPE_EUINT2048";
29
- FheType[FheType["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
30
- })(FheType || (FheType = {}));
31
- export function fheTypeFromJSON(object) {
32
- switch (object) {
33
- case 0:
34
- case "FHE_TYPE_EBOOL":
35
- return FheType.FHE_TYPE_EBOOL;
36
- case 1:
37
- case "FHE_TYPE_EUINT4":
38
- return FheType.FHE_TYPE_EUINT4;
39
- case 2:
40
- case "FHE_TYPE_EUINT8":
41
- return FheType.FHE_TYPE_EUINT8;
42
- case 3:
43
- case "FHE_TYPE_EUINT16":
44
- return FheType.FHE_TYPE_EUINT16;
45
- case 4:
46
- case "FHE_TYPE_EUINT32":
47
- return FheType.FHE_TYPE_EUINT32;
48
- case 5:
49
- case "FHE_TYPE_EUINT64":
50
- return FheType.FHE_TYPE_EUINT64;
51
- case 6:
52
- case "FHE_TYPE_EUINT128":
53
- return FheType.FHE_TYPE_EUINT128;
54
- case 7:
55
- case "FHE_TYPE_EUINT160":
56
- return FheType.FHE_TYPE_EUINT160;
57
- case 8:
58
- case "FHE_TYPE_EUINT256":
59
- return FheType.FHE_TYPE_EUINT256;
60
- case 9:
61
- case "FHE_TYPE_EUINT512":
62
- return FheType.FHE_TYPE_EUINT512;
63
- case 10:
64
- case "FHE_TYPE_EUINT1024":
65
- return FheType.FHE_TYPE_EUINT1024;
66
- case 11:
67
- case "FHE_TYPE_EUINT2048":
68
- return FheType.FHE_TYPE_EUINT2048;
69
- case -1:
70
- case "UNRECOGNIZED":
71
- default:
72
- return FheType.UNRECOGNIZED;
73
- }
74
- }
75
- export function fheTypeToJSON(object) {
76
- switch (object) {
77
- case FheType.FHE_TYPE_EBOOL:
78
- return "FHE_TYPE_EBOOL";
79
- case FheType.FHE_TYPE_EUINT4:
80
- return "FHE_TYPE_EUINT4";
81
- case FheType.FHE_TYPE_EUINT8:
82
- return "FHE_TYPE_EUINT8";
83
- case FheType.FHE_TYPE_EUINT16:
84
- return "FHE_TYPE_EUINT16";
85
- case FheType.FHE_TYPE_EUINT32:
86
- return "FHE_TYPE_EUINT32";
87
- case FheType.FHE_TYPE_EUINT64:
88
- return "FHE_TYPE_EUINT64";
89
- case FheType.FHE_TYPE_EUINT128:
90
- return "FHE_TYPE_EUINT128";
91
- case FheType.FHE_TYPE_EUINT160:
92
- return "FHE_TYPE_EUINT160";
93
- case FheType.FHE_TYPE_EUINT256:
94
- return "FHE_TYPE_EUINT256";
95
- case FheType.FHE_TYPE_EUINT512:
96
- return "FHE_TYPE_EUINT512";
97
- case FheType.FHE_TYPE_EUINT1024:
98
- return "FHE_TYPE_EUINT1024";
99
- case FheType.FHE_TYPE_EUINT2048:
100
- return "FHE_TYPE_EUINT2048";
101
- case FheType.UNRECOGNIZED:
102
- default:
103
- return "UNRECOGNIZED";
104
- }
105
- }
106
- function createBaseTypedCiphertext() {
107
- return { ciphertext: new Uint8Array(0), fheType: 0, handle: "" };
108
- }
109
- export const TypedCiphertext = {
110
- encode(message, writer = new BinaryWriter()) {
111
- if (message.ciphertext.length !== 0) {
112
- writer.uint32(10).bytes(message.ciphertext);
113
- }
114
- if (message.fheType !== 0) {
115
- writer.uint32(16).int32(message.fheType);
116
- }
117
- if (message.handle !== "") {
118
- writer.uint32(26).string(message.handle);
119
- }
120
- return writer;
121
- },
122
- decode(input, length) {
123
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
124
- const end = length === undefined ? reader.len : reader.pos + length;
125
- const message = createBaseTypedCiphertext();
126
- while (reader.pos < end) {
127
- const tag = reader.uint32();
128
- switch (tag >>> 3) {
129
- case 1: {
130
- if (tag !== 10) {
131
- break;
132
- }
133
- message.ciphertext = reader.bytes();
134
- continue;
135
- }
136
- case 2: {
137
- if (tag !== 16) {
138
- break;
139
- }
140
- message.fheType = reader.int32();
141
- continue;
142
- }
143
- case 3: {
144
- if (tag !== 26) {
145
- break;
146
- }
147
- message.handle = reader.string();
148
- continue;
149
- }
150
- }
151
- if ((tag & 7) === 4 || tag === 0) {
152
- break;
153
- }
154
- reader.skip(tag & 7);
155
- }
156
- return message;
157
- },
158
- fromJSON(object) {
159
- return {
160
- ciphertext: isSet(object.ciphertext) ? bytesFromBase64(object.ciphertext) : new Uint8Array(0),
161
- fheType: isSet(object.fheType) ? fheTypeFromJSON(object.fheType) : 0,
162
- handle: isSet(object.handle) ? globalThis.String(object.handle) : "",
163
- };
164
- },
165
- toJSON(message) {
166
- const obj = {};
167
- if (message.ciphertext.length !== 0) {
168
- obj.ciphertext = base64FromBytes(message.ciphertext);
169
- }
170
- if (message.fheType !== 0) {
171
- obj.fheType = fheTypeToJSON(message.fheType);
172
- }
173
- if (message.handle !== "") {
174
- obj.handle = message.handle;
175
- }
176
- return obj;
177
- },
178
- create(base) {
179
- return TypedCiphertext.fromPartial(base ?? {});
180
- },
181
- fromPartial(object) {
182
- const message = createBaseTypedCiphertext();
183
- message.ciphertext = object.ciphertext ?? new Uint8Array(0);
184
- message.fheType = object.fheType ?? 0;
185
- message.handle = object.handle ?? "";
186
- return message;
187
- },
188
- };
189
- function createBaseCovalidator() {
190
- return { incoAddress: "", grpcUrl: "" };
191
- }
192
- export const Covalidator = {
193
- encode(message, writer = new BinaryWriter()) {
194
- if (message.incoAddress !== "") {
195
- writer.uint32(10).string(message.incoAddress);
196
- }
197
- if (message.grpcUrl !== "") {
198
- writer.uint32(18).string(message.grpcUrl);
199
- }
200
- return writer;
201
- },
202
- decode(input, length) {
203
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
204
- const end = length === undefined ? reader.len : reader.pos + length;
205
- const message = createBaseCovalidator();
206
- while (reader.pos < end) {
207
- const tag = reader.uint32();
208
- switch (tag >>> 3) {
209
- case 1: {
210
- if (tag !== 10) {
211
- break;
212
- }
213
- message.incoAddress = reader.string();
214
- continue;
215
- }
216
- case 2: {
217
- if (tag !== 18) {
218
- break;
219
- }
220
- message.grpcUrl = reader.string();
221
- continue;
222
- }
223
- }
224
- if ((tag & 7) === 4 || tag === 0) {
225
- break;
226
- }
227
- reader.skip(tag & 7);
228
- }
229
- return message;
230
- },
231
- fromJSON(object) {
232
- return {
233
- incoAddress: isSet(object.incoAddress) ? globalThis.String(object.incoAddress) : "",
234
- grpcUrl: isSet(object.grpcUrl) ? globalThis.String(object.grpcUrl) : "",
235
- };
236
- },
237
- toJSON(message) {
238
- const obj = {};
239
- if (message.incoAddress !== "") {
240
- obj.incoAddress = message.incoAddress;
241
- }
242
- if (message.grpcUrl !== "") {
243
- obj.grpcUrl = message.grpcUrl;
244
- }
245
- return obj;
246
- },
247
- create(base) {
248
- return Covalidator.fromPartial(base ?? {});
249
- },
250
- fromPartial(object) {
251
- const message = createBaseCovalidator();
252
- message.incoAddress = object.incoAddress ?? "";
253
- message.grpcUrl = object.grpcUrl ?? "";
254
- return message;
255
- },
256
- };
257
- function createBaseKeysetInfo() {
258
- return { id: "", kmsGrpcUrl: "" };
259
- }
260
- export const KeysetInfo = {
261
- encode(message, writer = new BinaryWriter()) {
262
- if (message.id !== "") {
263
- writer.uint32(10).string(message.id);
264
- }
265
- if (message.kmsGrpcUrl !== "") {
266
- writer.uint32(18).string(message.kmsGrpcUrl);
267
- }
268
- return writer;
269
- },
270
- decode(input, length) {
271
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
272
- const end = length === undefined ? reader.len : reader.pos + length;
273
- const message = createBaseKeysetInfo();
274
- while (reader.pos < end) {
275
- const tag = reader.uint32();
276
- switch (tag >>> 3) {
277
- case 1: {
278
- if (tag !== 10) {
279
- break;
280
- }
281
- message.id = reader.string();
282
- continue;
283
- }
284
- case 2: {
285
- if (tag !== 18) {
286
- break;
287
- }
288
- message.kmsGrpcUrl = reader.string();
289
- continue;
290
- }
291
- }
292
- if ((tag & 7) === 4 || tag === 0) {
293
- break;
294
- }
295
- reader.skip(tag & 7);
296
- }
297
- return message;
298
- },
299
- fromJSON(object) {
300
- return {
301
- id: isSet(object.id) ? globalThis.String(object.id) : "",
302
- kmsGrpcUrl: isSet(object.kmsGrpcUrl) ? globalThis.String(object.kmsGrpcUrl) : "",
303
- };
304
- },
305
- toJSON(message) {
306
- const obj = {};
307
- if (message.id !== "") {
308
- obj.id = message.id;
309
- }
310
- if (message.kmsGrpcUrl !== "") {
311
- obj.kmsGrpcUrl = message.kmsGrpcUrl;
312
- }
313
- return obj;
314
- },
315
- create(base) {
316
- return KeysetInfo.fromPartial(base ?? {});
317
- },
318
- fromPartial(object) {
319
- const message = createBaseKeysetInfo();
320
- message.id = object.id ?? "";
321
- message.kmsGrpcUrl = object.kmsGrpcUrl ?? "";
322
- return message;
323
- },
324
- };
325
- function createBaseFheEnv() {
326
- return { hostChainId: "", keysetId: "", zamaAccessControl: undefined, incoLiteAccessControl: undefined };
327
- }
328
- export const FheEnv = {
329
- encode(message, writer = new BinaryWriter()) {
330
- if (message.hostChainId !== "") {
331
- writer.uint32(10).string(message.hostChainId);
332
- }
333
- if (message.keysetId !== "") {
334
- writer.uint32(18).string(message.keysetId);
335
- }
336
- if (message.zamaAccessControl !== undefined) {
337
- ZamaAccessControl.encode(message.zamaAccessControl, writer.uint32(82).fork()).join();
338
- }
339
- if (message.incoLiteAccessControl !== undefined) {
340
- IncoLiteAccessControl.encode(message.incoLiteAccessControl, writer.uint32(90).fork()).join();
341
- }
342
- return writer;
343
- },
344
- decode(input, length) {
345
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
346
- const end = length === undefined ? reader.len : reader.pos + length;
347
- const message = createBaseFheEnv();
348
- while (reader.pos < end) {
349
- const tag = reader.uint32();
350
- switch (tag >>> 3) {
351
- case 1: {
352
- if (tag !== 10) {
353
- break;
354
- }
355
- message.hostChainId = reader.string();
356
- continue;
357
- }
358
- case 2: {
359
- if (tag !== 18) {
360
- break;
361
- }
362
- message.keysetId = reader.string();
363
- continue;
364
- }
365
- case 10: {
366
- if (tag !== 82) {
367
- break;
368
- }
369
- message.zamaAccessControl = ZamaAccessControl.decode(reader, reader.uint32());
370
- continue;
371
- }
372
- case 11: {
373
- if (tag !== 90) {
374
- break;
375
- }
376
- message.incoLiteAccessControl = IncoLiteAccessControl.decode(reader, reader.uint32());
377
- continue;
378
- }
379
- }
380
- if ((tag & 7) === 4 || tag === 0) {
381
- break;
382
- }
383
- reader.skip(tag & 7);
384
- }
385
- return message;
386
- },
387
- fromJSON(object) {
388
- return {
389
- hostChainId: isSet(object.hostChainId) ? globalThis.String(object.hostChainId) : "",
390
- keysetId: isSet(object.keysetId) ? globalThis.String(object.keysetId) : "",
391
- zamaAccessControl: isSet(object.zamaAccessControl)
392
- ? ZamaAccessControl.fromJSON(object.zamaAccessControl)
393
- : undefined,
394
- incoLiteAccessControl: isSet(object.incoLiteAccessControl)
395
- ? IncoLiteAccessControl.fromJSON(object.incoLiteAccessControl)
396
- : undefined,
397
- };
398
- },
399
- toJSON(message) {
400
- const obj = {};
401
- if (message.hostChainId !== "") {
402
- obj.hostChainId = message.hostChainId;
403
- }
404
- if (message.keysetId !== "") {
405
- obj.keysetId = message.keysetId;
406
- }
407
- if (message.zamaAccessControl !== undefined) {
408
- obj.zamaAccessControl = ZamaAccessControl.toJSON(message.zamaAccessControl);
409
- }
410
- if (message.incoLiteAccessControl !== undefined) {
411
- obj.incoLiteAccessControl = IncoLiteAccessControl.toJSON(message.incoLiteAccessControl);
412
- }
413
- return obj;
414
- },
415
- create(base) {
416
- return FheEnv.fromPartial(base ?? {});
417
- },
418
- fromPartial(object) {
419
- const message = createBaseFheEnv();
420
- message.hostChainId = object.hostChainId ?? "";
421
- message.keysetId = object.keysetId ?? "";
422
- message.zamaAccessControl = (object.zamaAccessControl !== undefined && object.zamaAccessControl !== null)
423
- ? ZamaAccessControl.fromPartial(object.zamaAccessControl)
424
- : undefined;
425
- message.incoLiteAccessControl =
426
- (object.incoLiteAccessControl !== undefined && object.incoLiteAccessControl !== null)
427
- ? IncoLiteAccessControl.fromPartial(object.incoLiteAccessControl)
428
- : undefined;
429
- return message;
430
- },
431
- };
432
- function createBaseZamaAccessControl() {
433
- return { aclAddress: "", decryptionStorageIndex: "", reencryptionStorageIndex: "", delegationsStorageIndex: "" };
434
- }
435
- export const ZamaAccessControl = {
436
- encode(message, writer = new BinaryWriter()) {
437
- if (message.aclAddress !== "") {
438
- writer.uint32(10).string(message.aclAddress);
439
- }
440
- if (message.decryptionStorageIndex !== "") {
441
- writer.uint32(18).string(message.decryptionStorageIndex);
442
- }
443
- if (message.reencryptionStorageIndex !== "") {
444
- writer.uint32(26).string(message.reencryptionStorageIndex);
445
- }
446
- if (message.delegationsStorageIndex !== "") {
447
- writer.uint32(34).string(message.delegationsStorageIndex);
448
- }
449
- return writer;
450
- },
451
- decode(input, length) {
452
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
453
- const end = length === undefined ? reader.len : reader.pos + length;
454
- const message = createBaseZamaAccessControl();
455
- while (reader.pos < end) {
456
- const tag = reader.uint32();
457
- switch (tag >>> 3) {
458
- case 1: {
459
- if (tag !== 10) {
460
- break;
461
- }
462
- message.aclAddress = reader.string();
463
- continue;
464
- }
465
- case 2: {
466
- if (tag !== 18) {
467
- break;
468
- }
469
- message.decryptionStorageIndex = reader.string();
470
- continue;
471
- }
472
- case 3: {
473
- if (tag !== 26) {
474
- break;
475
- }
476
- message.reencryptionStorageIndex = reader.string();
477
- continue;
478
- }
479
- case 4: {
480
- if (tag !== 34) {
481
- break;
482
- }
483
- message.delegationsStorageIndex = reader.string();
484
- continue;
485
- }
486
- }
487
- if ((tag & 7) === 4 || tag === 0) {
488
- break;
489
- }
490
- reader.skip(tag & 7);
491
- }
492
- return message;
493
- },
494
- fromJSON(object) {
495
- return {
496
- aclAddress: isSet(object.aclAddress) ? globalThis.String(object.aclAddress) : "",
497
- decryptionStorageIndex: isSet(object.decryptionStorageIndex)
498
- ? globalThis.String(object.decryptionStorageIndex)
499
- : "",
500
- reencryptionStorageIndex: isSet(object.reencryptionStorageIndex)
501
- ? globalThis.String(object.reencryptionStorageIndex)
502
- : "",
503
- delegationsStorageIndex: isSet(object.delegationsStorageIndex)
504
- ? globalThis.String(object.delegationsStorageIndex)
505
- : "",
506
- };
507
- },
508
- toJSON(message) {
509
- const obj = {};
510
- if (message.aclAddress !== "") {
511
- obj.aclAddress = message.aclAddress;
512
- }
513
- if (message.decryptionStorageIndex !== "") {
514
- obj.decryptionStorageIndex = message.decryptionStorageIndex;
515
- }
516
- if (message.reencryptionStorageIndex !== "") {
517
- obj.reencryptionStorageIndex = message.reencryptionStorageIndex;
518
- }
519
- if (message.delegationsStorageIndex !== "") {
520
- obj.delegationsStorageIndex = message.delegationsStorageIndex;
521
- }
522
- return obj;
523
- },
524
- create(base) {
525
- return ZamaAccessControl.fromPartial(base ?? {});
526
- },
527
- fromPartial(object) {
528
- const message = createBaseZamaAccessControl();
529
- message.aclAddress = object.aclAddress ?? "";
530
- message.decryptionStorageIndex = object.decryptionStorageIndex ?? "";
531
- message.reencryptionStorageIndex = object.reencryptionStorageIndex ?? "";
532
- message.delegationsStorageIndex = object.delegationsStorageIndex ?? "";
533
- return message;
534
- },
535
- };
536
- function createBaseIncoLiteAccessControl() {
537
- return {};
538
- }
539
- export const IncoLiteAccessControl = {
540
- encode(_, writer = new BinaryWriter()) {
541
- return writer;
542
- },
543
- decode(input, length) {
544
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
545
- const end = length === undefined ? reader.len : reader.pos + length;
546
- const message = createBaseIncoLiteAccessControl();
547
- while (reader.pos < end) {
548
- const tag = reader.uint32();
549
- switch (tag >>> 3) {
550
- }
551
- if ((tag & 7) === 4 || tag === 0) {
552
- break;
553
- }
554
- reader.skip(tag & 7);
555
- }
556
- return message;
557
- },
558
- fromJSON(_) {
559
- return {};
560
- },
561
- toJSON(_) {
562
- const obj = {};
563
- return obj;
564
- },
565
- create(base) {
566
- return IncoLiteAccessControl.fromPartial(base ?? {});
567
- },
568
- fromPartial(_) {
569
- const message = createBaseIncoLiteAccessControl();
570
- return message;
571
- },
572
- };
573
- function createBaseCARoot() {
574
- return { hash: new Uint8Array(0) };
575
- }
576
- export const CARoot = {
577
- encode(message, writer = new BinaryWriter()) {
578
- if (message.hash.length !== 0) {
579
- writer.uint32(10).bytes(message.hash);
580
- }
581
- return writer;
582
- },
583
- decode(input, length) {
584
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
585
- const end = length === undefined ? reader.len : reader.pos + length;
586
- const message = createBaseCARoot();
587
- while (reader.pos < end) {
588
- const tag = reader.uint32();
589
- switch (tag >>> 3) {
590
- case 1: {
591
- if (tag !== 10) {
592
- break;
593
- }
594
- message.hash = reader.bytes();
595
- continue;
596
- }
597
- }
598
- if ((tag & 7) === 4 || tag === 0) {
599
- break;
600
- }
601
- reader.skip(tag & 7);
602
- }
603
- return message;
604
- },
605
- fromJSON(object) {
606
- return { hash: isSet(object.hash) ? bytesFromBase64(object.hash) : new Uint8Array(0) };
607
- },
608
- toJSON(message) {
609
- const obj = {};
610
- if (message.hash.length !== 0) {
611
- obj.hash = base64FromBytes(message.hash);
612
- }
613
- return obj;
614
- },
615
- create(base) {
616
- return CARoot.fromPartial(base ?? {});
617
- },
618
- fromPartial(object) {
619
- const message = createBaseCARoot();
620
- message.hash = object.hash ?? new Uint8Array(0);
621
- return message;
622
- },
623
- };
624
- function createBaseFheEnvBlock() {
625
- return { hostChainId: "", keysetId: "", blockHash: "", blockHeight: 0 };
626
- }
627
- export const FheEnvBlock = {
628
- encode(message, writer = new BinaryWriter()) {
629
- if (message.hostChainId !== "") {
630
- writer.uint32(10).string(message.hostChainId);
631
- }
632
- if (message.keysetId !== "") {
633
- writer.uint32(18).string(message.keysetId);
634
- }
635
- if (message.blockHash !== "") {
636
- writer.uint32(26).string(message.blockHash);
637
- }
638
- if (message.blockHeight !== 0) {
639
- writer.uint32(32).uint64(message.blockHeight);
640
- }
641
- return writer;
642
- },
643
- decode(input, length) {
644
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
645
- const end = length === undefined ? reader.len : reader.pos + length;
646
- const message = createBaseFheEnvBlock();
647
- while (reader.pos < end) {
648
- const tag = reader.uint32();
649
- switch (tag >>> 3) {
650
- case 1: {
651
- if (tag !== 10) {
652
- break;
653
- }
654
- message.hostChainId = reader.string();
655
- continue;
656
- }
657
- case 2: {
658
- if (tag !== 18) {
659
- break;
660
- }
661
- message.keysetId = reader.string();
662
- continue;
663
- }
664
- case 3: {
665
- if (tag !== 26) {
666
- break;
667
- }
668
- message.blockHash = reader.string();
669
- continue;
670
- }
671
- case 4: {
672
- if (tag !== 32) {
673
- break;
674
- }
675
- message.blockHeight = longToNumber(reader.uint64());
676
- continue;
677
- }
678
- }
679
- if ((tag & 7) === 4 || tag === 0) {
680
- break;
681
- }
682
- reader.skip(tag & 7);
683
- }
684
- return message;
685
- },
686
- fromJSON(object) {
687
- return {
688
- hostChainId: isSet(object.hostChainId) ? globalThis.String(object.hostChainId) : "",
689
- keysetId: isSet(object.keysetId) ? globalThis.String(object.keysetId) : "",
690
- blockHash: isSet(object.blockHash) ? globalThis.String(object.blockHash) : "",
691
- blockHeight: isSet(object.blockHeight) ? globalThis.Number(object.blockHeight) : 0,
692
- };
693
- },
694
- toJSON(message) {
695
- const obj = {};
696
- if (message.hostChainId !== "") {
697
- obj.hostChainId = message.hostChainId;
698
- }
699
- if (message.keysetId !== "") {
700
- obj.keysetId = message.keysetId;
701
- }
702
- if (message.blockHash !== "") {
703
- obj.blockHash = message.blockHash;
704
- }
705
- if (message.blockHeight !== 0) {
706
- obj.blockHeight = Math.round(message.blockHeight);
707
- }
708
- return obj;
709
- },
710
- create(base) {
711
- return FheEnvBlock.fromPartial(base ?? {});
712
- },
713
- fromPartial(object) {
714
- const message = createBaseFheEnvBlock();
715
- message.hostChainId = object.hostChainId ?? "";
716
- message.keysetId = object.keysetId ?? "";
717
- message.blockHash = object.blockHash ?? "";
718
- message.blockHeight = object.blockHeight ?? 0;
719
- return message;
720
- },
721
- };
722
- function createBaseBlockTopo() {
723
- return { parentHash: "" };
724
- }
725
- export const BlockTopo = {
726
- encode(message, writer = new BinaryWriter()) {
727
- if (message.parentHash !== "") {
728
- writer.uint32(10).string(message.parentHash);
729
- }
730
- return writer;
731
- },
732
- decode(input, length) {
733
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
734
- const end = length === undefined ? reader.len : reader.pos + length;
735
- const message = createBaseBlockTopo();
736
- while (reader.pos < end) {
737
- const tag = reader.uint32();
738
- switch (tag >>> 3) {
739
- case 1: {
740
- if (tag !== 10) {
741
- break;
742
- }
743
- message.parentHash = reader.string();
744
- continue;
745
- }
746
- }
747
- if ((tag & 7) === 4 || tag === 0) {
748
- break;
749
- }
750
- reader.skip(tag & 7);
751
- }
752
- return message;
753
- },
754
- fromJSON(object) {
755
- return { parentHash: isSet(object.parentHash) ? globalThis.String(object.parentHash) : "" };
756
- },
757
- toJSON(message) {
758
- const obj = {};
759
- if (message.parentHash !== "") {
760
- obj.parentHash = message.parentHash;
761
- }
762
- return obj;
763
- },
764
- create(base) {
765
- return BlockTopo.fromPartial(base ?? {});
766
- },
767
- fromPartial(object) {
768
- const message = createBaseBlockTopo();
769
- message.parentHash = object.parentHash ?? "";
770
- return message;
771
- },
772
- };
773
- function createBaseBlockTopoStore() {
774
- return { parentHash: new Uint8Array(0) };
775
- }
776
- export const BlockTopoStore = {
777
- encode(message, writer = new BinaryWriter()) {
778
- if (message.parentHash.length !== 0) {
779
- writer.uint32(10).bytes(message.parentHash);
780
- }
781
- return writer;
782
- },
783
- decode(input, length) {
784
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
785
- const end = length === undefined ? reader.len : reader.pos + length;
786
- const message = createBaseBlockTopoStore();
787
- while (reader.pos < end) {
788
- const tag = reader.uint32();
789
- switch (tag >>> 3) {
790
- case 1: {
791
- if (tag !== 10) {
792
- break;
793
- }
794
- message.parentHash = reader.bytes();
795
- continue;
796
- }
797
- }
798
- if ((tag & 7) === 4 || tag === 0) {
799
- break;
800
- }
801
- reader.skip(tag & 7);
802
- }
803
- return message;
804
- },
805
- fromJSON(object) {
806
- return { parentHash: isSet(object.parentHash) ? bytesFromBase64(object.parentHash) : new Uint8Array(0) };
807
- },
808
- toJSON(message) {
809
- const obj = {};
810
- if (message.parentHash.length !== 0) {
811
- obj.parentHash = base64FromBytes(message.parentHash);
812
- }
813
- return obj;
814
- },
815
- create(base) {
816
- return BlockTopoStore.fromPartial(base ?? {});
817
- },
818
- fromPartial(object) {
819
- const message = createBaseBlockTopoStore();
820
- message.parentHash = object.parentHash ?? new Uint8Array(0);
821
- return message;
822
- },
823
- };
824
- function createBaseHandleBinding() {
825
- return { ciphertextHash: new Uint8Array(0) };
826
- }
827
- export const HandleBinding = {
828
- encode(message, writer = new BinaryWriter()) {
829
- if (message.ciphertextHash.length !== 0) {
830
- writer.uint32(10).bytes(message.ciphertextHash);
831
- }
832
- return writer;
833
- },
834
- decode(input, length) {
835
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
836
- const end = length === undefined ? reader.len : reader.pos + length;
837
- const message = createBaseHandleBinding();
838
- while (reader.pos < end) {
839
- const tag = reader.uint32();
840
- switch (tag >>> 3) {
841
- case 1: {
842
- if (tag !== 10) {
843
- break;
844
- }
845
- message.ciphertextHash = reader.bytes();
846
- continue;
847
- }
848
- }
849
- if ((tag & 7) === 4 || tag === 0) {
850
- break;
851
- }
852
- reader.skip(tag & 7);
853
- }
854
- return message;
855
- },
856
- fromJSON(object) {
857
- return {
858
- ciphertextHash: isSet(object.ciphertextHash) ? bytesFromBase64(object.ciphertextHash) : new Uint8Array(0),
859
- };
860
- },
861
- toJSON(message) {
862
- const obj = {};
863
- if (message.ciphertextHash.length !== 0) {
864
- obj.ciphertextHash = base64FromBytes(message.ciphertextHash);
865
- }
866
- return obj;
867
- },
868
- create(base) {
869
- return HandleBinding.fromPartial(base ?? {});
870
- },
871
- fromPartial(object) {
872
- const message = createBaseHandleBinding();
873
- message.ciphertextHash = object.ciphertextHash ?? new Uint8Array(0);
874
- return message;
875
- },
876
- };
877
- function createBaseHandleBindingEntry() {
878
- return { handle: "", binding: undefined };
879
- }
880
- export const HandleBindingEntry = {
881
- encode(message, writer = new BinaryWriter()) {
882
- if (message.handle !== "") {
883
- writer.uint32(10).string(message.handle);
884
- }
885
- if (message.binding !== undefined) {
886
- HandleBinding.encode(message.binding, writer.uint32(18).fork()).join();
887
- }
888
- return writer;
889
- },
890
- decode(input, length) {
891
- const reader = input instanceof BinaryReader ? input : new BinaryReader(input);
892
- const end = length === undefined ? reader.len : reader.pos + length;
893
- const message = createBaseHandleBindingEntry();
894
- while (reader.pos < end) {
895
- const tag = reader.uint32();
896
- switch (tag >>> 3) {
897
- case 1: {
898
- if (tag !== 10) {
899
- break;
900
- }
901
- message.handle = reader.string();
902
- continue;
903
- }
904
- case 2: {
905
- if (tag !== 18) {
906
- break;
907
- }
908
- message.binding = HandleBinding.decode(reader, reader.uint32());
909
- continue;
910
- }
911
- }
912
- if ((tag & 7) === 4 || tag === 0) {
913
- break;
914
- }
915
- reader.skip(tag & 7);
916
- }
917
- return message;
918
- },
919
- fromJSON(object) {
920
- return {
921
- handle: isSet(object.handle) ? globalThis.String(object.handle) : "",
922
- binding: isSet(object.binding) ? HandleBinding.fromJSON(object.binding) : undefined,
923
- };
924
- },
925
- toJSON(message) {
926
- const obj = {};
927
- if (message.handle !== "") {
928
- obj.handle = message.handle;
929
- }
930
- if (message.binding !== undefined) {
931
- obj.binding = HandleBinding.toJSON(message.binding);
932
- }
933
- return obj;
934
- },
935
- create(base) {
936
- return HandleBindingEntry.fromPartial(base ?? {});
937
- },
938
- fromPartial(object) {
939
- const message = createBaseHandleBindingEntry();
940
- message.handle = object.handle ?? "";
941
- message.binding = (object.binding !== undefined && object.binding !== null)
942
- ? HandleBinding.fromPartial(object.binding)
943
- : undefined;
944
- return message;
945
- },
946
- };
947
- function bytesFromBase64(b64) {
948
- if (globalThis.Buffer) {
949
- return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
950
- }
951
- else {
952
- const bin = globalThis.atob(b64);
953
- const arr = new Uint8Array(bin.length);
954
- for (let i = 0; i < bin.length; ++i) {
955
- arr[i] = bin.charCodeAt(i);
956
- }
957
- return arr;
958
- }
959
- }
960
- function base64FromBytes(arr) {
961
- if (globalThis.Buffer) {
962
- return globalThis.Buffer.from(arr).toString("base64");
963
- }
964
- else {
965
- const bin = [];
966
- arr.forEach((byte) => {
967
- bin.push(globalThis.String.fromCharCode(byte));
968
- });
969
- return globalThis.btoa(bin.join(""));
970
- }
971
- }
972
- function longToNumber(int64) {
973
- const num = globalThis.Number(int64.toString());
974
- if (num > globalThis.Number.MAX_SAFE_INTEGER) {
975
- throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
976
- }
977
- if (num < globalThis.Number.MIN_SAFE_INTEGER) {
978
- throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");
979
- }
980
- return num;
981
- }
982
- function isSet(value) {
983
- return value !== null && value !== undefined;
984
- }
985
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3RzL2luY28vZmhlL3YxL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osZ0NBQWdDO0FBQ2hDLGlDQUFpQztBQUNqQyxrQ0FBa0M7QUFFbEMsb0JBQW9CO0FBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUU3Qzs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBTixJQUFZLE9BY1g7QUFkRCxXQUFZLE9BQU87SUFDakIseURBQWtCLENBQUE7SUFDbEIsMkRBQW1CLENBQUE7SUFDbkIsMkRBQW1CLENBQUE7SUFDbkIsNkRBQW9CLENBQUE7SUFDcEIsNkRBQW9CLENBQUE7SUFDcEIsNkRBQW9CLENBQUE7SUFDcEIsK0RBQXFCLENBQUE7SUFDckIsK0RBQXFCLENBQUE7SUFDckIsK0RBQXFCLENBQUE7SUFDckIsK0RBQXFCLENBQUE7SUFDckIsa0VBQXVCLENBQUE7SUFDdkIsa0VBQXVCLENBQUE7SUFDdkIsc0RBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQWRXLE9BQU8sS0FBUCxPQUFPLFFBY2xCO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFXO0lBQ3pDLFFBQVEsTUFBTSxFQUFFLENBQUM7UUFDZixLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssZ0JBQWdCO1lBQ25CLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQztRQUNoQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssaUJBQWlCO1lBQ3BCLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUNqQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssaUJBQWlCO1lBQ3BCLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUNqQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssa0JBQWtCO1lBQ3JCLE9BQU8sT0FBTyxDQUFDLGdCQUFnQixDQUFDO1FBQ2xDLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxrQkFBa0I7WUFDckIsT0FBTyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDbEMsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLGtCQUFrQjtZQUNyQixPQUFPLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQ25DLEtBQUssQ0FBQyxDQUFDO1FBQ1AsS0FBSyxtQkFBbUI7WUFDdEIsT0FBTyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDbkMsS0FBSyxDQUFDLENBQUM7UUFDUCxLQUFLLG1CQUFtQjtZQUN0QixPQUFPLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUNuQyxLQUFLLENBQUMsQ0FBQztRQUNQLEtBQUssbUJBQW1CO1lBQ3RCLE9BQU8sT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxvQkFBb0I7WUFDdkIsT0FBTyxPQUFPLENBQUMsa0JBQWtCLENBQUM7UUFDcEMsS0FBSyxFQUFFLENBQUM7UUFDUixLQUFLLG9CQUFvQjtZQUN2QixPQUFPLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUNwQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ1IsS0FBSyxjQUFjLENBQUM7UUFDcEI7WUFDRSxPQUFPLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDaEMsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWU7SUFDM0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssT0FBTyxDQUFDLGNBQWM7WUFDekIsT0FBTyxnQkFBZ0IsQ0FBQztRQUMxQixLQUFLLE9BQU8sQ0FBQyxlQUFlO1lBQzFCLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsS0FBSyxPQUFPLENBQUMsZUFBZTtZQUMxQixPQUFPLGlCQUFpQixDQUFDO1FBQzNCLEtBQUssT0FBTyxDQUFDLGdCQUFnQjtZQUMzQixPQUFPLGtCQUFrQixDQUFDO1FBQzVCLEtBQUssT0FBTyxDQUFDLGdCQUFnQjtZQUMzQixPQUFPLGtCQUFrQixDQUFDO1FBQzVCLEtBQUssT0FBTyxDQUFDLGdCQUFnQjtZQUMzQixPQUFPLGtCQUFrQixDQUFDO1FBQzVCLEtBQUssT0FBTyxDQUFDLGlCQUFpQjtZQUM1QixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssT0FBTyxDQUFDLGlCQUFpQjtZQUM1QixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssT0FBTyxDQUFDLGlCQUFpQjtZQUM1QixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssT0FBTyxDQUFDLGlCQUFpQjtZQUM1QixPQUFPLG1CQUFtQixDQUFDO1FBQzdCLEtBQUssT0FBTyxDQUFDLGtCQUFrQjtZQUM3QixPQUFPLG9CQUFvQixDQUFDO1FBQzlCLEtBQUssT0FBTyxDQUFDLGtCQUFrQjtZQUM3QixPQUFPLG9CQUFvQixDQUFDO1FBQzlCLEtBQUssT0FBTyxDQUFDLFlBQVksQ0FBQztRQUMxQjtZQUNFLE9BQU8sY0FBYyxDQUFDO0lBQzFCLENBQUM7QUFDSCxDQUFDO0FBeUxELFNBQVMseUJBQXlCO0lBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbkUsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBZ0M7SUFDMUQsTUFBTSxDQUFDLE9BQXdCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDeEUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQVMsQ0FBQztvQkFDeEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM3RixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7U0FDckUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBd0I7UUFDN0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsR0FBRyxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQW1ELElBQVE7UUFDL0QsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsV0FBVyxDQUFtRCxNQUFTO1FBQ3JFLE1BQU0sT0FBTyxHQUFHLHlCQUF5QixFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7UUFDdEMsT0FBTyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNyQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMscUJBQXFCO0lBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUE0QjtJQUNsRCxNQUFNLENBQUMsT0FBb0IsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNwRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2xDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25GLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFvQjtRQUN6QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQy9CLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzNCLEdBQUcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUNoQyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUErQyxJQUFRO1FBQzNELE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUNELFdBQVcsQ0FBK0MsTUFBUztRQUNqRSxNQUFNLE9BQU8sR0FBRyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDL0MsT0FBTyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsb0JBQW9CO0lBQzNCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUNwQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUEyQjtJQUNoRCxNQUFNLENBQUMsT0FBbUIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNuRSxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDdkMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDN0IsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPO1lBQ0wsRUFBRSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNqRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFtQjtRQUN4QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzlCLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUE4QyxJQUFRO1FBQzFELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNELFdBQVcsQ0FBOEMsTUFBUztRQUNoRSxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzNHLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQXVCO0lBQ3hDLE1BQU0sQ0FBQyxPQUFlLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDL0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsaUJBQWlCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkYsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQy9GLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25DLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ1IsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUM5RSxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUNSLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDdEYsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkYsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2hELENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2dCQUN0RCxDQUFDLENBQUMsU0FBUztZQUNiLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDO2dCQUM5RCxDQUFDLENBQUMsU0FBUztTQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWU7UUFDcEIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLGlCQUFpQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVDLEdBQUcsQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hELEdBQUcsQ0FBQyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDMUYsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBMEMsSUFBUTtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxXQUFXLENBQTBDLE1BQVM7UUFDNUQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUNuQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQy9DLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDekMsT0FBTyxDQUFDLGlCQUFpQixHQUFHLENBQUMsTUFBTSxDQUFDLGlCQUFpQixLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFDO1lBQ3ZHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ3pELENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLENBQUMscUJBQXFCO1lBQzNCLENBQUMsTUFBTSxDQUFDLHFCQUFxQixLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDO2dCQUNuRixDQUFDLENBQUMscUJBQXFCLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztnQkFDakUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUNoQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsMkJBQTJCO0lBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixFQUFFLEVBQUUsRUFBRSx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDbkgsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFrQztJQUM5RCxNQUFNLENBQUMsT0FBMEIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUMxRSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsd0JBQXdCLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHVCQUF1QixLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLDJCQUEyQixFQUFFLENBQUM7UUFDOUMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDckMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakQsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkQsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbEQsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEYsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztnQkFDMUQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDO2dCQUNsRCxDQUFDLENBQUMsRUFBRTtZQUNOLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztnQkFDcEQsQ0FBQyxDQUFDLEVBQUU7WUFDTix1QkFBdUIsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDO2dCQUM1RCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7Z0JBQ25ELENBQUMsQ0FBQyxFQUFFO1NBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBMEI7UUFDL0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDdEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHNCQUFzQixLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFDLEdBQUcsQ0FBQyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsc0JBQXNCLENBQUM7UUFDOUQsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHdCQUF3QixLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzVDLEdBQUcsQ0FBQyx3QkFBd0IsR0FBRyxPQUFPLENBQUMsd0JBQXdCLENBQUM7UUFDbEUsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLHVCQUF1QixLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzNDLEdBQUcsQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsdUJBQXVCLENBQUM7UUFDaEUsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBcUQsSUFBUTtRQUNqRSxPQUFPLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUssRUFBVSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELFdBQVcsQ0FBcUQsTUFBUztRQUN2RSxNQUFNLE9BQU8sR0FBRywyQkFBMkIsRUFBRSxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7UUFDN0MsT0FBTyxDQUFDLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsSUFBSSxFQUFFLENBQUM7UUFDckUsT0FBTyxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsSUFBSSxFQUFFLENBQUM7UUFDekUsT0FBTyxDQUFDLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsSUFBSSxFQUFFLENBQUM7UUFDdkUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLCtCQUErQjtJQUN0QyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBc0M7SUFDdEUsTUFBTSxDQUFDLENBQXdCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDeEUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRywrQkFBK0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEIsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxDQUFNO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxDQUFDLENBQXdCO1FBQzdCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQXlELElBQVE7UUFDckUsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxXQUFXLENBQXlELENBQUk7UUFDdEUsTUFBTSxPQUFPLEdBQUcsK0JBQStCLEVBQUUsQ0FBQztRQUNsRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsZ0JBQWdCO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUF1QjtJQUN4QyxNQUFNLENBQUMsT0FBZSxFQUFFLFNBQXVCLElBQUksWUFBWSxFQUFFO1FBQy9ELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDOUIsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWU7UUFDcEIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsR0FBRyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQTBDLElBQVE7UUFDdEQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsV0FBVyxDQUEwQyxNQUFTO1FBQzVELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDbkMsT0FBTyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyxxQkFBcUI7SUFDNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUMxRSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUE0QjtJQUNsRCxNQUFNLENBQUMsT0FBb0IsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUNwRSxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDL0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdDLEVBQUUsTUFBZTtRQUN0RCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9FLE1BQU0sR0FBRyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTyxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixRQUFRLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDbEIsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDdEMsU0FBUztnQkFDWCxDQUFDO2dCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ25DLFNBQVM7Z0JBQ1gsQ0FBQztnQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNwQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDcEQsU0FBUztnQkFDWCxDQUFDO1lBQ0gsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakMsTUFBTTtZQUNSLENBQUM7WUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFXO1FBQ2xCLE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkYsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFFLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM3RSxXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBb0I7UUFDekIsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM1QixHQUFHLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixHQUFHLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLFdBQVcsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQStDLElBQVE7UUFDM0QsT0FBTyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsV0FBVyxDQUErQyxNQUFTO1FBQ2pFLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDM0MsT0FBTyxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxJQUFJLENBQUMsQ0FBQztRQUM5QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsbUJBQW1CO0lBQzFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDNUIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBMEI7SUFDOUMsTUFBTSxDQUFDLE9BQWtCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDbEUsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQWtCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFRLEVBQUUsQ0FBQztRQUNwQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDOUIsR0FBRyxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQTZDLElBQVE7UUFDekQsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsV0FBVyxDQUE2QyxNQUFTO1FBQy9ELE1BQU0sT0FBTyxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFDdEMsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUM3QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsd0JBQXdCO0lBQy9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUErQjtJQUN4RCxNQUFNLENBQUMsT0FBdUIsRUFBRSxTQUF1QixJQUFJLFlBQVksRUFBRTtRQUN2RSxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQyxFQUFFLE1BQWU7UUFDdEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxZQUFZLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztRQUNwRSxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsRUFBRSxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUN4QixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsUUFBUSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDUCxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQzt3QkFDZixNQUFNO29CQUNSLENBQUM7b0JBRUQsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BDLFNBQVM7Z0JBQ1gsQ0FBQztZQUNILENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU07WUFDUixDQUFDO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBVztRQUNsQixPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0csQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUF1QjtRQUM1QixNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7UUFDcEIsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNwQyxHQUFHLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELE1BQU0sQ0FBa0QsSUFBUTtRQUM5RCxPQUFPLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRCxXQUFXLENBQWtELE1BQVM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztRQUMzQyxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLHVCQUF1QjtJQUM5QixPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDL0MsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBOEI7SUFDdEQsTUFBTSxDQUFDLE9BQXNCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDdEUsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLEVBQUUsQ0FBQztRQUMxQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN4QyxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDMUcsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBc0I7UUFDM0IsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEMsR0FBRyxDQUFDLGNBQWMsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQWlELElBQVE7UUFDN0QsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSyxFQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsV0FBVyxDQUFpRCxNQUFTO1FBQ25FLE1BQU0sT0FBTyxHQUFHLHVCQUF1QixFQUFFLENBQUM7UUFDMUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRixDQUFDO0FBRUYsU0FBUyw0QkFBNEI7SUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBbUM7SUFDaEUsTUFBTSxDQUFDLE9BQTJCLEVBQUUsU0FBdUIsSUFBSSxZQUFZLEVBQUU7UUFDM0UsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBZ0MsRUFBRSxNQUFlO1FBQ3RELE1BQU0sTUFBTSxHQUFHLEtBQUssWUFBWSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0UsTUFBTSxHQUFHLEdBQUcsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDeEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNsQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2YsTUFBTTtvQkFDUixDQUFDO29CQUVELE9BQU8sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNqQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNQLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO3dCQUNmLE1BQU07b0JBQ1IsQ0FBQztvQkFFRCxPQUFPLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNoRSxTQUFTO2dCQUNYLENBQUM7WUFDSCxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNO1lBQ1IsQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQVc7UUFDbEIsT0FBTztZQUNMLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNwRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDcEYsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBMkI7UUFDaEMsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1FBQ3BCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUMxQixHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNsQyxHQUFHLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxNQUFNLENBQXNELElBQVE7UUFDbEUsT0FBTyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFLLEVBQVUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFDRCxXQUFXLENBQXNELE1BQVM7UUFDeEUsTUFBTSxPQUFPLEdBQUcsNEJBQTRCLEVBQUUsQ0FBQztRQUMvQyxPQUFPLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztZQUN6RSxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0NBQ0YsQ0FBQztBQUVGLFNBQVMsZUFBZSxDQUFDLEdBQVc7SUFDbEMsSUFBSyxVQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQy9CLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDcEMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUFlO0lBQ3RDLElBQUssVUFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQixPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUN6QixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkIsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0FBQ0gsQ0FBQztBQWNELFNBQVMsWUFBWSxDQUFDLEtBQTZCO0lBQ2pELE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDaEQsSUFBSSxHQUFHLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELElBQUksR0FBRyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMifQ==