nodara-contract 1.0.0

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 (233) hide show
  1. package/README.md +14 -0
  2. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
  3. package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
  4. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
  5. package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
  6. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
  7. package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
  8. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.dbg.json +4 -0
  9. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +312 -0
  10. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
  11. package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
  12. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
  13. package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
  14. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +4 -0
  15. package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +228 -0
  16. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +4 -0
  17. package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.json +183 -0
  18. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
  19. package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
  20. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.dbg.json +4 -0
  21. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +56 -0
  22. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.dbg.json +4 -0
  23. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.json +328 -0
  24. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.dbg.json +4 -0
  25. package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +24 -0
  26. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.dbg.json +4 -0
  27. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +69 -0
  28. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.dbg.json +4 -0
  29. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +24 -0
  30. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
  31. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
  32. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
  33. package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +113 -0
  34. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
  35. package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
  36. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.dbg.json +4 -0
  37. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.json +354 -0
  38. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.dbg.json +4 -0
  39. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.json +45 -0
  40. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.dbg.json +4 -0
  41. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.json +296 -0
  42. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.dbg.json +4 -0
  43. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.json +410 -0
  44. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.dbg.json +4 -0
  45. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.json +386 -0
  46. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.dbg.json +4 -0
  47. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.json +352 -0
  48. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +4 -0
  49. package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +341 -0
  50. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
  51. package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
  52. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
  53. package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
  54. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.dbg.json +4 -0
  55. package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.json +10 -0
  56. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +4 -0
  57. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +10 -0
  58. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +4 -0
  59. package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +10 -0
  60. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +4 -0
  61. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +43 -0
  62. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +4 -0
  63. package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.json +30 -0
  64. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.dbg.json +4 -0
  65. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.json +10 -0
  66. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.dbg.json +4 -0
  67. package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.json +10 -0
  68. package/artifacts/build-info/0e2d893049ad4fa186582937b6a7ba86.json +1 -0
  69. package/artifacts/build-info/b7890b3cfe499293356f8c290e6e1ee4.json +1 -0
  70. package/artifacts/contracts/CROWD.sol/CROWD.dbg.json +4 -0
  71. package/artifacts/contracts/CROWD.sol/CROWD.json +413 -0
  72. package/artifacts/contracts/CUSDT.sol/CUSDT.dbg.json +4 -0
  73. package/artifacts/contracts/CUSDT.sol/CUSDT.json +413 -0
  74. package/artifacts/contracts/NFT.sol/NFT.dbg.json +4 -0
  75. package/artifacts/contracts/NFT.sol/NFT.json +1158 -0
  76. package/artifacts/contracts/NFTFounder.sol/NFTFounder.dbg.json +4 -0
  77. package/artifacts/contracts/NFTFounder.sol/NFTFounder.json +889 -0
  78. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.dbg.json +4 -0
  79. package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.json +1149 -0
  80. package/artifacts/contracts/Network.sol/Network.dbg.json +4 -0
  81. package/artifacts/contracts/Network.sol/Network.json +1218 -0
  82. package/artifacts/contracts/Swap.sol/Swap.dbg.json +4 -0
  83. package/artifacts/contracts/Swap.sol/Swap.json +485 -0
  84. package/artifacts/contracts/USDT.sol/USDT.dbg.json +4 -0
  85. package/artifacts/contracts/USDT.sol/USDT.json +413 -0
  86. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.dbg.json +4 -0
  87. package/artifacts/contracts/lib/AccessControl.sol/AccessControl.json +254 -0
  88. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.dbg.json +4 -0
  89. package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.json +186 -0
  90. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.dbg.json +4 -0
  91. package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.json +10 -0
  92. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.dbg.json +4 -0
  93. package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.json +30 -0
  94. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.dbg.json +4 -0
  95. package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.json +162 -0
  96. package/contracts/CROWD.sol +32 -0
  97. package/contracts/CUSDT.sol +32 -0
  98. package/contracts/NFT.sol +504 -0
  99. package/contracts/NFTFounder.sol +254 -0
  100. package/contracts/NFTGenesis.sol +343 -0
  101. package/contracts/Network.sol +513 -0
  102. package/contracts/Swap.sol +197 -0
  103. package/contracts/USDT.sol +32 -0
  104. package/contracts/lib/AccessControl.sol +35 -0
  105. package/contracts/lib/NFTGetter.sol +60 -0
  106. package/contracts/lib/NFTHelpers.sol +111 -0
  107. package/contracts/lib/ValhallaBlackList.sol +18 -0
  108. package/contracts/lib/ValhallaPool.sol +44 -0
  109. package/package.json +66 -0
  110. package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +176 -0
  111. package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
  112. package/typechain-types/@openzeppelin/contracts/index.ts +7 -0
  113. package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +464 -0
  114. package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +342 -0
  115. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +533 -0
  116. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +384 -0
  117. package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  118. package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
  119. package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
  120. package/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +410 -0
  121. package/typechain-types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +341 -0
  122. package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +188 -0
  123. package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  124. package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +15 -0
  125. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.ts +115 -0
  126. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.ts +597 -0
  127. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +87 -0
  128. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  129. package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts +7 -0
  130. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +127 -0
  131. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  132. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +87 -0
  133. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  134. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +9 -0
  135. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +69 -0
  136. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +238 -0
  137. package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  138. package/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +69 -0
  139. package/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  140. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.ts +631 -0
  141. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.ts +126 -0
  142. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.ts +559 -0
  143. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.ts +726 -0
  144. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.ts +669 -0
  145. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.ts +654 -0
  146. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.ts +619 -0
  147. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  148. package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +8 -0
  149. package/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
  150. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +69 -0
  151. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
  152. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +121 -0
  153. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +103 -0
  154. package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  155. package/typechain-types/@openzeppelin/index.ts +7 -0
  156. package/typechain-types/common.ts +46 -0
  157. package/typechain-types/contracts/CROWD.ts +728 -0
  158. package/typechain-types/contracts/CUSDT.ts +728 -0
  159. package/typechain-types/contracts/NFT.ts +1979 -0
  160. package/typechain-types/contracts/NFTFounder.ts +1562 -0
  161. package/typechain-types/contracts/NFTGenesis.ts +1908 -0
  162. package/typechain-types/contracts/Network.ts +2094 -0
  163. package/typechain-types/contracts/Swap.ts +914 -0
  164. package/typechain-types/contracts/USDT.ts +728 -0
  165. package/typechain-types/contracts/index.ts +13 -0
  166. package/typechain-types/contracts/lib/AccessControl.ts +447 -0
  167. package/typechain-types/contracts/lib/NFTGetter.ts +404 -0
  168. package/typechain-types/contracts/lib/ValhallaBlackList.ts +105 -0
  169. package/typechain-types/contracts/lib/ValhallaPool.ts +257 -0
  170. package/typechain-types/contracts/lib/index.ts +7 -0
  171. package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +78 -0
  172. package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
  173. package/typechain-types/factories/@openzeppelin/contracts/index.ts +5 -0
  174. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +350 -0
  175. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
  176. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +327 -0
  177. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +248 -0
  178. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
  179. package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
  180. package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
  181. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +247 -0
  182. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +202 -0
  183. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +91 -0
  184. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
  185. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +9 -0
  186. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable__factory.ts +71 -0
  187. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable__factory.ts +343 -0
  188. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +43 -0
  189. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
  190. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts +6 -0
  191. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +88 -0
  192. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
  193. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +39 -0
  194. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
  195. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
  196. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +39 -0
  197. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +128 -0
  198. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
  199. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +43 -0
  200. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
  201. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable__factory.ts +406 -0
  202. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.ts +64 -0
  203. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable__factory.ts +311 -0
  204. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable__factory.ts +429 -0
  205. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable__factory.ts +405 -0
  206. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable__factory.ts +371 -0
  207. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable__factory.ts +360 -0
  208. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
  209. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +7 -0
  210. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
  211. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +39 -0
  212. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
  213. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +58 -0
  214. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +45 -0
  215. package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
  216. package/typechain-types/factories/@openzeppelin/index.ts +5 -0
  217. package/typechain-types/factories/contracts/CROWD__factory.ts +459 -0
  218. package/typechain-types/factories/contracts/CUSDT__factory.ts +459 -0
  219. package/typechain-types/factories/contracts/NFTFounder__factory.ts +941 -0
  220. package/typechain-types/factories/contracts/NFTGenesis__factory.ts +1201 -0
  221. package/typechain-types/factories/contracts/NFT__factory.ts +1204 -0
  222. package/typechain-types/factories/contracts/Network__factory.ts +1267 -0
  223. package/typechain-types/factories/contracts/Swap__factory.ts +531 -0
  224. package/typechain-types/factories/contracts/USDT__factory.ts +459 -0
  225. package/typechain-types/factories/contracts/index.ts +12 -0
  226. package/typechain-types/factories/contracts/lib/AccessControl__factory.ts +269 -0
  227. package/typechain-types/factories/contracts/lib/NFTGetter__factory.ts +238 -0
  228. package/typechain-types/factories/contracts/lib/ValhallaBlackList__factory.ts +45 -0
  229. package/typechain-types/factories/contracts/lib/ValhallaPool__factory.ts +177 -0
  230. package/typechain-types/factories/contracts/lib/index.ts +7 -0
  231. package/typechain-types/factories/index.ts +5 -0
  232. package/typechain-types/hardhat.d.ts +375 -0
  233. package/typechain-types/index.ts +84 -0
@@ -0,0 +1,1149 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "NFTGenesis",
4
+ "sourceName": "contracts/NFTGenesis.sol",
5
+ "abi": [
6
+ {
7
+ "inputs": [],
8
+ "stateMutability": "nonpayable",
9
+ "type": "constructor"
10
+ },
11
+ {
12
+ "anonymous": false,
13
+ "inputs": [
14
+ {
15
+ "indexed": false,
16
+ "internalType": "address",
17
+ "name": "previousAdmin",
18
+ "type": "address"
19
+ },
20
+ {
21
+ "indexed": false,
22
+ "internalType": "address",
23
+ "name": "newAdmin",
24
+ "type": "address"
25
+ }
26
+ ],
27
+ "name": "AdminChanged",
28
+ "type": "event"
29
+ },
30
+ {
31
+ "anonymous": false,
32
+ "inputs": [
33
+ {
34
+ "indexed": true,
35
+ "internalType": "address",
36
+ "name": "owner",
37
+ "type": "address"
38
+ },
39
+ {
40
+ "indexed": true,
41
+ "internalType": "address",
42
+ "name": "approved",
43
+ "type": "address"
44
+ },
45
+ {
46
+ "indexed": true,
47
+ "internalType": "uint256",
48
+ "name": "tokenId",
49
+ "type": "uint256"
50
+ }
51
+ ],
52
+ "name": "Approval",
53
+ "type": "event"
54
+ },
55
+ {
56
+ "anonymous": false,
57
+ "inputs": [
58
+ {
59
+ "indexed": true,
60
+ "internalType": "address",
61
+ "name": "owner",
62
+ "type": "address"
63
+ },
64
+ {
65
+ "indexed": true,
66
+ "internalType": "address",
67
+ "name": "operator",
68
+ "type": "address"
69
+ },
70
+ {
71
+ "indexed": false,
72
+ "internalType": "bool",
73
+ "name": "approved",
74
+ "type": "bool"
75
+ }
76
+ ],
77
+ "name": "ApprovalForAll",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint256",
86
+ "name": "_fromTokenId",
87
+ "type": "uint256"
88
+ },
89
+ {
90
+ "indexed": false,
91
+ "internalType": "uint256",
92
+ "name": "_toTokenId",
93
+ "type": "uint256"
94
+ }
95
+ ],
96
+ "name": "BatchMetadataUpdate",
97
+ "type": "event"
98
+ },
99
+ {
100
+ "anonymous": false,
101
+ "inputs": [
102
+ {
103
+ "indexed": true,
104
+ "internalType": "address",
105
+ "name": "beacon",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "name": "BeaconUpgraded",
110
+ "type": "event"
111
+ },
112
+ {
113
+ "anonymous": false,
114
+ "inputs": [
115
+ {
116
+ "indexed": true,
117
+ "internalType": "address",
118
+ "name": "_from",
119
+ "type": "address"
120
+ },
121
+ {
122
+ "indexed": false,
123
+ "internalType": "uint256[]",
124
+ "name": "_tokenIds",
125
+ "type": "uint256[]"
126
+ }
127
+ ],
128
+ "name": "BuyMultipleNFT",
129
+ "type": "event"
130
+ },
131
+ {
132
+ "anonymous": false,
133
+ "inputs": [
134
+ {
135
+ "indexed": true,
136
+ "internalType": "address",
137
+ "name": "_from",
138
+ "type": "address"
139
+ },
140
+ {
141
+ "indexed": false,
142
+ "internalType": "uint256",
143
+ "name": "value",
144
+ "type": "uint256"
145
+ }
146
+ ],
147
+ "name": "ClaimReward",
148
+ "type": "event"
149
+ },
150
+ {
151
+ "anonymous": false,
152
+ "inputs": [
153
+ {
154
+ "indexed": true,
155
+ "internalType": "address",
156
+ "name": "from",
157
+ "type": "address"
158
+ },
159
+ {
160
+ "indexed": false,
161
+ "internalType": "uint256",
162
+ "name": "value",
163
+ "type": "uint256"
164
+ }
165
+ ],
166
+ "name": "DistributeRewards",
167
+ "type": "event"
168
+ },
169
+ {
170
+ "anonymous": false,
171
+ "inputs": [
172
+ {
173
+ "indexed": true,
174
+ "internalType": "address",
175
+ "name": "referrer",
176
+ "type": "address"
177
+ },
178
+ {
179
+ "indexed": false,
180
+ "internalType": "uint256",
181
+ "name": "value",
182
+ "type": "uint256"
183
+ }
184
+ ],
185
+ "name": "GenesisClaimReferralReward",
186
+ "type": "event"
187
+ },
188
+ {
189
+ "anonymous": false,
190
+ "inputs": [
191
+ {
192
+ "indexed": true,
193
+ "internalType": "uint256",
194
+ "name": "typePool",
195
+ "type": "uint256"
196
+ },
197
+ {
198
+ "indexed": false,
199
+ "internalType": "uint256",
200
+ "name": "value",
201
+ "type": "uint256"
202
+ },
203
+ {
204
+ "indexed": false,
205
+ "internalType": "uint256",
206
+ "name": "newMarker",
207
+ "type": "uint256"
208
+ }
209
+ ],
210
+ "name": "GenesisPoolDistributed",
211
+ "type": "event"
212
+ },
213
+ {
214
+ "anonymous": false,
215
+ "inputs": [
216
+ {
217
+ "indexed": true,
218
+ "internalType": "address",
219
+ "name": "referrer",
220
+ "type": "address"
221
+ },
222
+ {
223
+ "indexed": true,
224
+ "internalType": "address",
225
+ "name": "buyer",
226
+ "type": "address"
227
+ },
228
+ {
229
+ "indexed": false,
230
+ "internalType": "uint256",
231
+ "name": "value",
232
+ "type": "uint256"
233
+ }
234
+ ],
235
+ "name": "GenesisReferralReward",
236
+ "type": "event"
237
+ },
238
+ {
239
+ "anonymous": false,
240
+ "inputs": [
241
+ {
242
+ "indexed": false,
243
+ "internalType": "uint8",
244
+ "name": "version",
245
+ "type": "uint8"
246
+ }
247
+ ],
248
+ "name": "Initialized",
249
+ "type": "event"
250
+ },
251
+ {
252
+ "anonymous": false,
253
+ "inputs": [
254
+ {
255
+ "indexed": false,
256
+ "internalType": "uint256",
257
+ "name": "_tokenId",
258
+ "type": "uint256"
259
+ }
260
+ ],
261
+ "name": "MetadataUpdate",
262
+ "type": "event"
263
+ },
264
+ {
265
+ "anonymous": false,
266
+ "inputs": [
267
+ {
268
+ "indexed": true,
269
+ "internalType": "uint256",
270
+ "name": "cardId",
271
+ "type": "uint256"
272
+ },
273
+ {
274
+ "indexed": false,
275
+ "internalType": "uint256",
276
+ "name": "price",
277
+ "type": "uint256"
278
+ },
279
+ {
280
+ "indexed": false,
281
+ "internalType": "uint256",
282
+ "name": "percentage",
283
+ "type": "uint256"
284
+ },
285
+ {
286
+ "indexed": false,
287
+ "internalType": "uint256",
288
+ "name": "maxMinted",
289
+ "type": "uint256"
290
+ }
291
+ ],
292
+ "name": "NFTTypeAdded",
293
+ "type": "event"
294
+ },
295
+ {
296
+ "anonymous": false,
297
+ "inputs": [
298
+ {
299
+ "indexed": true,
300
+ "internalType": "address",
301
+ "name": "previousOwner",
302
+ "type": "address"
303
+ },
304
+ {
305
+ "indexed": true,
306
+ "internalType": "address",
307
+ "name": "newOwner",
308
+ "type": "address"
309
+ }
310
+ ],
311
+ "name": "OwnershipTransferred",
312
+ "type": "event"
313
+ },
314
+ {
315
+ "anonymous": false,
316
+ "inputs": [
317
+ {
318
+ "indexed": true,
319
+ "internalType": "address",
320
+ "name": "oldReceiver",
321
+ "type": "address"
322
+ },
323
+ {
324
+ "indexed": true,
325
+ "internalType": "address",
326
+ "name": "newReceiver",
327
+ "type": "address"
328
+ },
329
+ {
330
+ "indexed": false,
331
+ "internalType": "uint256",
332
+ "name": "timestamp",
333
+ "type": "uint256"
334
+ }
335
+ ],
336
+ "name": "ReceiverAddressUpdated",
337
+ "type": "event"
338
+ },
339
+ {
340
+ "anonymous": false,
341
+ "inputs": [
342
+ {
343
+ "indexed": true,
344
+ "internalType": "address",
345
+ "name": "from",
346
+ "type": "address"
347
+ },
348
+ {
349
+ "indexed": true,
350
+ "internalType": "address",
351
+ "name": "to",
352
+ "type": "address"
353
+ },
354
+ {
355
+ "indexed": true,
356
+ "internalType": "uint256",
357
+ "name": "tokenId",
358
+ "type": "uint256"
359
+ }
360
+ ],
361
+ "name": "Transfer",
362
+ "type": "event"
363
+ },
364
+ {
365
+ "anonymous": false,
366
+ "inputs": [
367
+ {
368
+ "indexed": true,
369
+ "internalType": "address",
370
+ "name": "implementation",
371
+ "type": "address"
372
+ }
373
+ ],
374
+ "name": "Upgraded",
375
+ "type": "event"
376
+ },
377
+ {
378
+ "inputs": [
379
+ {
380
+ "internalType": "uint256",
381
+ "name": "_price",
382
+ "type": "uint256"
383
+ },
384
+ {
385
+ "internalType": "uint256",
386
+ "name": "_percentage",
387
+ "type": "uint256"
388
+ },
389
+ {
390
+ "internalType": "uint256",
391
+ "name": "_maxMinted",
392
+ "type": "uint256"
393
+ }
394
+ ],
395
+ "name": "addNft",
396
+ "outputs": [],
397
+ "stateMutability": "nonpayable",
398
+ "type": "function"
399
+ },
400
+ {
401
+ "inputs": [],
402
+ "name": "amountNftTypes",
403
+ "outputs": [
404
+ {
405
+ "internalType": "uint256",
406
+ "name": "",
407
+ "type": "uint256"
408
+ }
409
+ ],
410
+ "stateMutability": "view",
411
+ "type": "function"
412
+ },
413
+ {
414
+ "inputs": [
415
+ {
416
+ "internalType": "address",
417
+ "name": "to",
418
+ "type": "address"
419
+ },
420
+ {
421
+ "internalType": "uint256",
422
+ "name": "tokenId",
423
+ "type": "uint256"
424
+ }
425
+ ],
426
+ "name": "approve",
427
+ "outputs": [],
428
+ "stateMutability": "nonpayable",
429
+ "type": "function"
430
+ },
431
+ {
432
+ "inputs": [
433
+ {
434
+ "internalType": "address",
435
+ "name": "owner",
436
+ "type": "address"
437
+ }
438
+ ],
439
+ "name": "balanceOf",
440
+ "outputs": [
441
+ {
442
+ "internalType": "uint256",
443
+ "name": "",
444
+ "type": "uint256"
445
+ }
446
+ ],
447
+ "stateMutability": "view",
448
+ "type": "function"
449
+ },
450
+ {
451
+ "inputs": [
452
+ {
453
+ "internalType": "uint256",
454
+ "name": "cardId",
455
+ "type": "uint256"
456
+ },
457
+ {
458
+ "internalType": "uint256",
459
+ "name": "amount",
460
+ "type": "uint256"
461
+ }
462
+ ],
463
+ "name": "buyMultipleNFT",
464
+ "outputs": [],
465
+ "stateMutability": "nonpayable",
466
+ "type": "function"
467
+ },
468
+ {
469
+ "inputs": [
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "",
473
+ "type": "uint256"
474
+ }
475
+ ],
476
+ "name": "cardMap",
477
+ "outputs": [
478
+ {
479
+ "internalType": "uint256",
480
+ "name": "price",
481
+ "type": "uint256"
482
+ },
483
+ {
484
+ "internalType": "uint256",
485
+ "name": "genesisPercentage",
486
+ "type": "uint256"
487
+ },
488
+ {
489
+ "internalType": "uint256",
490
+ "name": "totalMinted",
491
+ "type": "uint256"
492
+ },
493
+ {
494
+ "internalType": "uint256",
495
+ "name": "maxMinted",
496
+ "type": "uint256"
497
+ }
498
+ ],
499
+ "stateMutability": "view",
500
+ "type": "function"
501
+ },
502
+ {
503
+ "inputs": [],
504
+ "name": "claimReferralReward",
505
+ "outputs": [],
506
+ "stateMutability": "nonpayable",
507
+ "type": "function"
508
+ },
509
+ {
510
+ "inputs": [
511
+ {
512
+ "internalType": "uint256",
513
+ "name": "cardId",
514
+ "type": "uint256"
515
+ }
516
+ ],
517
+ "name": "claimRewards",
518
+ "outputs": [],
519
+ "stateMutability": "nonpayable",
520
+ "type": "function"
521
+ },
522
+ {
523
+ "inputs": [
524
+ {
525
+ "internalType": "uint256",
526
+ "name": "typePool",
527
+ "type": "uint256"
528
+ },
529
+ {
530
+ "internalType": "uint256",
531
+ "name": "value",
532
+ "type": "uint256"
533
+ }
534
+ ],
535
+ "name": "distributeGenesisRewards",
536
+ "outputs": [],
537
+ "stateMutability": "nonpayable",
538
+ "type": "function"
539
+ },
540
+ {
541
+ "inputs": [
542
+ {
543
+ "internalType": "address",
544
+ "name": "",
545
+ "type": "address"
546
+ }
547
+ ],
548
+ "name": "genesisReferralRewardMap",
549
+ "outputs": [
550
+ {
551
+ "internalType": "uint256",
552
+ "name": "",
553
+ "type": "uint256"
554
+ }
555
+ ],
556
+ "stateMutability": "view",
557
+ "type": "function"
558
+ },
559
+ {
560
+ "inputs": [
561
+ {
562
+ "internalType": "uint256",
563
+ "name": "tokenId",
564
+ "type": "uint256"
565
+ }
566
+ ],
567
+ "name": "getApproved",
568
+ "outputs": [
569
+ {
570
+ "internalType": "address",
571
+ "name": "",
572
+ "type": "address"
573
+ }
574
+ ],
575
+ "stateMutability": "view",
576
+ "type": "function"
577
+ },
578
+ {
579
+ "inputs": [],
580
+ "name": "gnetERC20",
581
+ "outputs": [
582
+ {
583
+ "internalType": "contract CROWD",
584
+ "name": "",
585
+ "type": "address"
586
+ }
587
+ ],
588
+ "stateMutability": "view",
589
+ "type": "function"
590
+ },
591
+ {
592
+ "inputs": [
593
+ {
594
+ "internalType": "contract CROWD",
595
+ "name": "_gnetERC20",
596
+ "type": "address"
597
+ },
598
+ {
599
+ "internalType": "contract CUSDT",
600
+ "name": "_usdtERC20",
601
+ "type": "address"
602
+ },
603
+ {
604
+ "internalType": "contract NFT",
605
+ "name": "_valhallaNFT",
606
+ "type": "address"
607
+ },
608
+ {
609
+ "internalType": "contract Network",
610
+ "name": "_valhalla",
611
+ "type": "address"
612
+ },
613
+ {
614
+ "internalType": "address",
615
+ "name": "_receiver",
616
+ "type": "address"
617
+ }
618
+ ],
619
+ "name": "initialize",
620
+ "outputs": [],
621
+ "stateMutability": "nonpayable",
622
+ "type": "function"
623
+ },
624
+ {
625
+ "inputs": [
626
+ {
627
+ "internalType": "address",
628
+ "name": "owner",
629
+ "type": "address"
630
+ },
631
+ {
632
+ "internalType": "address",
633
+ "name": "operator",
634
+ "type": "address"
635
+ }
636
+ ],
637
+ "name": "isApprovedForAll",
638
+ "outputs": [
639
+ {
640
+ "internalType": "bool",
641
+ "name": "",
642
+ "type": "bool"
643
+ }
644
+ ],
645
+ "stateMutability": "view",
646
+ "type": "function"
647
+ },
648
+ {
649
+ "inputs": [
650
+ {
651
+ "internalType": "uint256",
652
+ "name": "cardId",
653
+ "type": "uint256"
654
+ },
655
+ {
656
+ "internalType": "address",
657
+ "name": "_address",
658
+ "type": "address"
659
+ }
660
+ ],
661
+ "name": "myNftRewards",
662
+ "outputs": [
663
+ {
664
+ "internalType": "uint256",
665
+ "name": "",
666
+ "type": "uint256"
667
+ }
668
+ ],
669
+ "stateMutability": "view",
670
+ "type": "function"
671
+ },
672
+ {
673
+ "inputs": [],
674
+ "name": "name",
675
+ "outputs": [
676
+ {
677
+ "internalType": "string",
678
+ "name": "",
679
+ "type": "string"
680
+ }
681
+ ],
682
+ "stateMutability": "view",
683
+ "type": "function"
684
+ },
685
+ {
686
+ "inputs": [
687
+ {
688
+ "internalType": "address",
689
+ "name": "",
690
+ "type": "address"
691
+ },
692
+ {
693
+ "internalType": "uint256",
694
+ "name": "",
695
+ "type": "uint256"
696
+ }
697
+ ],
698
+ "name": "nftGenesis",
699
+ "outputs": [
700
+ {
701
+ "internalType": "uint256",
702
+ "name": "ownedNfts",
703
+ "type": "uint256"
704
+ },
705
+ {
706
+ "internalType": "uint256",
707
+ "name": "currentRewards",
708
+ "type": "uint256"
709
+ }
710
+ ],
711
+ "stateMutability": "view",
712
+ "type": "function"
713
+ },
714
+ {
715
+ "inputs": [],
716
+ "name": "nftGenesisPool",
717
+ "outputs": [
718
+ {
719
+ "internalType": "uint256",
720
+ "name": "",
721
+ "type": "uint256"
722
+ }
723
+ ],
724
+ "stateMutability": "view",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [
729
+ {
730
+ "internalType": "uint256",
731
+ "name": "",
732
+ "type": "uint256"
733
+ }
734
+ ],
735
+ "name": "nftGenesisPoolMarker",
736
+ "outputs": [
737
+ {
738
+ "internalType": "uint256",
739
+ "name": "",
740
+ "type": "uint256"
741
+ }
742
+ ],
743
+ "stateMutability": "view",
744
+ "type": "function"
745
+ },
746
+ {
747
+ "inputs": [],
748
+ "name": "owner",
749
+ "outputs": [
750
+ {
751
+ "internalType": "address",
752
+ "name": "",
753
+ "type": "address"
754
+ }
755
+ ],
756
+ "stateMutability": "view",
757
+ "type": "function"
758
+ },
759
+ {
760
+ "inputs": [
761
+ {
762
+ "internalType": "uint256",
763
+ "name": "tokenId",
764
+ "type": "uint256"
765
+ }
766
+ ],
767
+ "name": "ownerOf",
768
+ "outputs": [
769
+ {
770
+ "internalType": "address",
771
+ "name": "",
772
+ "type": "address"
773
+ }
774
+ ],
775
+ "stateMutability": "view",
776
+ "type": "function"
777
+ },
778
+ {
779
+ "inputs": [
780
+ {
781
+ "internalType": "uint256",
782
+ "name": "nftType",
783
+ "type": "uint256"
784
+ }
785
+ ],
786
+ "name": "percentageByNftType",
787
+ "outputs": [
788
+ {
789
+ "internalType": "uint256",
790
+ "name": "",
791
+ "type": "uint256"
792
+ }
793
+ ],
794
+ "stateMutability": "view",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [],
799
+ "name": "proxiableUUID",
800
+ "outputs": [
801
+ {
802
+ "internalType": "bytes32",
803
+ "name": "",
804
+ "type": "bytes32"
805
+ }
806
+ ],
807
+ "stateMutability": "view",
808
+ "type": "function"
809
+ },
810
+ {
811
+ "inputs": [],
812
+ "name": "receiverAddress",
813
+ "outputs": [
814
+ {
815
+ "internalType": "address",
816
+ "name": "",
817
+ "type": "address"
818
+ }
819
+ ],
820
+ "stateMutability": "view",
821
+ "type": "function"
822
+ },
823
+ {
824
+ "inputs": [],
825
+ "name": "renounceOwnership",
826
+ "outputs": [],
827
+ "stateMutability": "nonpayable",
828
+ "type": "function"
829
+ },
830
+ {
831
+ "inputs": [
832
+ {
833
+ "internalType": "address",
834
+ "name": "to",
835
+ "type": "address"
836
+ }
837
+ ],
838
+ "name": "safeMint",
839
+ "outputs": [],
840
+ "stateMutability": "nonpayable",
841
+ "type": "function"
842
+ },
843
+ {
844
+ "inputs": [
845
+ {
846
+ "internalType": "address",
847
+ "name": "from",
848
+ "type": "address"
849
+ },
850
+ {
851
+ "internalType": "address",
852
+ "name": "to",
853
+ "type": "address"
854
+ },
855
+ {
856
+ "internalType": "uint256",
857
+ "name": "tokenId",
858
+ "type": "uint256"
859
+ }
860
+ ],
861
+ "name": "safeTransferFrom",
862
+ "outputs": [],
863
+ "stateMutability": "nonpayable",
864
+ "type": "function"
865
+ },
866
+ {
867
+ "inputs": [
868
+ {
869
+ "internalType": "address",
870
+ "name": "from",
871
+ "type": "address"
872
+ },
873
+ {
874
+ "internalType": "address",
875
+ "name": "to",
876
+ "type": "address"
877
+ },
878
+ {
879
+ "internalType": "uint256",
880
+ "name": "tokenId",
881
+ "type": "uint256"
882
+ },
883
+ {
884
+ "internalType": "bytes",
885
+ "name": "data",
886
+ "type": "bytes"
887
+ }
888
+ ],
889
+ "name": "safeTransferFrom",
890
+ "outputs": [],
891
+ "stateMutability": "nonpayable",
892
+ "type": "function"
893
+ },
894
+ {
895
+ "inputs": [
896
+ {
897
+ "internalType": "address",
898
+ "name": "operator",
899
+ "type": "address"
900
+ },
901
+ {
902
+ "internalType": "bool",
903
+ "name": "approved",
904
+ "type": "bool"
905
+ }
906
+ ],
907
+ "name": "setApprovalForAll",
908
+ "outputs": [],
909
+ "stateMutability": "nonpayable",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [
914
+ {
915
+ "internalType": "address",
916
+ "name": "_receiver",
917
+ "type": "address"
918
+ }
919
+ ],
920
+ "name": "setReceiverAddress",
921
+ "outputs": [],
922
+ "stateMutability": "nonpayable",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [
927
+ {
928
+ "internalType": "bytes4",
929
+ "name": "interfaceId",
930
+ "type": "bytes4"
931
+ }
932
+ ],
933
+ "name": "supportsInterface",
934
+ "outputs": [
935
+ {
936
+ "internalType": "bool",
937
+ "name": "",
938
+ "type": "bool"
939
+ }
940
+ ],
941
+ "stateMutability": "view",
942
+ "type": "function"
943
+ },
944
+ {
945
+ "inputs": [],
946
+ "name": "symbol",
947
+ "outputs": [
948
+ {
949
+ "internalType": "string",
950
+ "name": "",
951
+ "type": "string"
952
+ }
953
+ ],
954
+ "stateMutability": "view",
955
+ "type": "function"
956
+ },
957
+ {
958
+ "inputs": [
959
+ {
960
+ "internalType": "uint256",
961
+ "name": "index",
962
+ "type": "uint256"
963
+ }
964
+ ],
965
+ "name": "tokenByIndex",
966
+ "outputs": [
967
+ {
968
+ "internalType": "uint256",
969
+ "name": "",
970
+ "type": "uint256"
971
+ }
972
+ ],
973
+ "stateMutability": "view",
974
+ "type": "function"
975
+ },
976
+ {
977
+ "inputs": [
978
+ {
979
+ "internalType": "uint256",
980
+ "name": "",
981
+ "type": "uint256"
982
+ }
983
+ ],
984
+ "name": "tokenIdToCardId",
985
+ "outputs": [
986
+ {
987
+ "internalType": "uint256",
988
+ "name": "",
989
+ "type": "uint256"
990
+ }
991
+ ],
992
+ "stateMutability": "view",
993
+ "type": "function"
994
+ },
995
+ {
996
+ "inputs": [
997
+ {
998
+ "internalType": "address",
999
+ "name": "owner",
1000
+ "type": "address"
1001
+ },
1002
+ {
1003
+ "internalType": "uint256",
1004
+ "name": "index",
1005
+ "type": "uint256"
1006
+ }
1007
+ ],
1008
+ "name": "tokenOfOwnerByIndex",
1009
+ "outputs": [
1010
+ {
1011
+ "internalType": "uint256",
1012
+ "name": "",
1013
+ "type": "uint256"
1014
+ }
1015
+ ],
1016
+ "stateMutability": "view",
1017
+ "type": "function"
1018
+ },
1019
+ {
1020
+ "inputs": [
1021
+ {
1022
+ "internalType": "uint256",
1023
+ "name": "tokenId",
1024
+ "type": "uint256"
1025
+ }
1026
+ ],
1027
+ "name": "tokenURI",
1028
+ "outputs": [
1029
+ {
1030
+ "internalType": "string",
1031
+ "name": "",
1032
+ "type": "string"
1033
+ }
1034
+ ],
1035
+ "stateMutability": "view",
1036
+ "type": "function"
1037
+ },
1038
+ {
1039
+ "inputs": [],
1040
+ "name": "totalSupply",
1041
+ "outputs": [
1042
+ {
1043
+ "internalType": "uint256",
1044
+ "name": "",
1045
+ "type": "uint256"
1046
+ }
1047
+ ],
1048
+ "stateMutability": "view",
1049
+ "type": "function"
1050
+ },
1051
+ {
1052
+ "inputs": [
1053
+ {
1054
+ "internalType": "address",
1055
+ "name": "from",
1056
+ "type": "address"
1057
+ },
1058
+ {
1059
+ "internalType": "address",
1060
+ "name": "to",
1061
+ "type": "address"
1062
+ },
1063
+ {
1064
+ "internalType": "uint256",
1065
+ "name": "tokenId",
1066
+ "type": "uint256"
1067
+ }
1068
+ ],
1069
+ "name": "transferFrom",
1070
+ "outputs": [],
1071
+ "stateMutability": "nonpayable",
1072
+ "type": "function"
1073
+ },
1074
+ {
1075
+ "inputs": [
1076
+ {
1077
+ "internalType": "address",
1078
+ "name": "newOwner",
1079
+ "type": "address"
1080
+ }
1081
+ ],
1082
+ "name": "transferOwnership",
1083
+ "outputs": [],
1084
+ "stateMutability": "nonpayable",
1085
+ "type": "function"
1086
+ },
1087
+ {
1088
+ "inputs": [
1089
+ {
1090
+ "internalType": "address",
1091
+ "name": "newImplementation",
1092
+ "type": "address"
1093
+ }
1094
+ ],
1095
+ "name": "upgradeTo",
1096
+ "outputs": [],
1097
+ "stateMutability": "nonpayable",
1098
+ "type": "function"
1099
+ },
1100
+ {
1101
+ "inputs": [
1102
+ {
1103
+ "internalType": "address",
1104
+ "name": "newImplementation",
1105
+ "type": "address"
1106
+ },
1107
+ {
1108
+ "internalType": "bytes",
1109
+ "name": "data",
1110
+ "type": "bytes"
1111
+ }
1112
+ ],
1113
+ "name": "upgradeToAndCall",
1114
+ "outputs": [],
1115
+ "stateMutability": "payable",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [],
1120
+ "name": "usdtERC20",
1121
+ "outputs": [
1122
+ {
1123
+ "internalType": "contract CUSDT",
1124
+ "name": "",
1125
+ "type": "address"
1126
+ }
1127
+ ],
1128
+ "stateMutability": "view",
1129
+ "type": "function"
1130
+ },
1131
+ {
1132
+ "inputs": [],
1133
+ "name": "valhalla",
1134
+ "outputs": [
1135
+ {
1136
+ "internalType": "contract Network",
1137
+ "name": "",
1138
+ "type": "address"
1139
+ }
1140
+ ],
1141
+ "stateMutability": "view",
1142
+ "type": "function"
1143
+ }
1144
+ ],
1145
+ "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e5576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516141736200011f600039600081816110ca0152818161110a015281816111f401528181611234015261135601526141736000f3fe60806040526004361061025c5760003560e01c80638279c7db11610144578063bb712460116100b6578063e7cb1f3e1161007a578063e7cb1f3e14610797578063e961e1ff146107b7578063e985e9c5146107d8578063ed65af7414610821578063f2fde38b14610842578063fadca7121461086257600080fd5b8063bb712460146106ba578063c78e5b37146106e8578063c87b56dd146106ff578063dc3676b71461071f578063e4305a291461073457600080fd5b8063a22cb46511610108578063a22cb465146105b7578063a61ba52e146105d7578063b6593c8e14610605578063b696741f14610625578063b71bc8bc1461067a578063b88d4fde1461069a57600080fd5b80638279c7db146105215780638da5cb5b1461054157806395d89b411461055f5780639b4b2c9c146105745780639f7761a91461058957600080fd5b806323b872dd116101dd5780634f1ef286116101a15780634f1ef286146104845780634f6ccce71461049757806352d1902d146104b75780636352211e146104cc57806370a08231146104ec578063715018a61461050c57600080fd5b806323b872dd146103e45780632f745c59146104045780633659cfe61461042457806340d097c31461044457806342842e0e1461046457600080fd5b80630a2a6e37116102245780630a2a6e37146103325780631459457a1461035357806316fed3e21461037357806318160ddd146103945780631d06c3b2146103b357600080fd5b806301ffc9a71461026157806306fdde0314610296578063081812fc146102b8578063095ea7b3146102f05780630962ef7914610312575b600080fd5b34801561026d57600080fd5b5061028161027c366004613665565b610882565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610893565b60405161028d91906136d2565b3480156102c457600080fd5b506102d86102d33660046136e5565b610925565b6040516001600160a01b03909116815260200161028d565b3480156102fc57600080fd5b5061031061030b366004613713565b61094c565b005b34801561031e57600080fd5b5061031061032d3660046136e5565b610a66565b34801561033e57600080fd5b506101c7546102d8906001600160a01b031681565b34801561035f57600080fd5b5061031061036e36600461373f565b610b02565b34801561037f57600080fd5b506101ce546102d8906001600160a01b031681565b3480156103a057600080fd5b5060cb545b60405190815260200161028d565b3480156103bf57600080fd5b506103a56103ce3660046136e5565b60009081526101ca602052604090206001015490565b3480156103f057600080fd5b506103106103ff3660046137b0565b610e6d565b34801561041057600080fd5b506103a561041f366004613713565b61102a565b34801561043057600080fd5b5061031061043f3660046137f1565b6110c0565b34801561045057600080fd5b5061031061045f3660046137f1565b61119c565b34801561047057600080fd5b5061031061047f3660046137b0565b6111cf565b6103106104923660046138b1565b6111ea565b3480156104a357600080fd5b506103a56104b23660046136e5565b6112b6565b3480156104c357600080fd5b506103a5611349565b3480156104d857600080fd5b506102d86104e73660046136e5565b6113fc565b3480156104f857600080fd5b506103a56105073660046137f1565b61145c565b34801561051857600080fd5b506103106114e2565b34801561052d57600080fd5b5061031061053c3660046137f1565b6114f6565b34801561054d57600080fd5b506097546001600160a01b03166102d8565b34801561056b57600080fd5b506102ab6115b8565b34801561058057600080fd5b506103106115c7565b34801561059557600080fd5b506103a56105a43660046136e5565b6101c96020526000908152604090205481565b3480156105c357600080fd5b506103106105d236600461390f565b6116f9565b3480156105e357600080fd5b506103a56105f23660046137f1565b6101cd6020526000908152604090205481565b34801561061157600080fd5b50610310610620366004613948565b611704565b34801561063157600080fd5b50610665610640366004613713565b6101cb6020908152600092835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161028d565b34801561068657600080fd5b506103a561069536600461396a565b611860565b3480156106a657600080fd5b506103106106b536600461398f565b6118e2565b3480156106c657600080fd5b506103a56106d53660046136e5565b6101cc6020526000908152604090205481565b3480156106f457600080fd5b506103a56101cf5481565b34801561070b57600080fd5b506102ab61071a3660046136e5565b61191a565b34801561072b57600080fd5b506103a5611925565b34801561074057600080fd5b5061077761074f3660046136e5565b6101ca6020526000908152604090208054600182015460028301546003909301549192909184565b60408051948552602085019390935291830152606082015260800161028d565b3480156107a357600080fd5b506103106107b23660046139fb565b611936565b3480156107c357600080fd5b506101c5546102d8906001600160a01b031681565b3480156107e457600080fd5b506102816107f3366004613a27565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561082d57600080fd5b506101c6546102d8906001600160a01b031681565b34801561084e57600080fd5b5061031061085d3660046137f1565b611b4d565b34801561086e57600080fd5b5061031061087d366004613948565b611bc3565b600061088d82612121565b92915050565b6060606580546108a290613a55565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90613a55565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b5050505050905090565b600061093082612146565b506000908152606960205260409020546001600160a01b031690565b6000610957826113fc565b9050806001600160a01b0316836001600160a01b0316036109c95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109e557506109e581336107f3565b610a575760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016109c0565b610a6183836121a5565b505050565b610a6e612213565b6000610a7a8233611860565b905060008111610abd5760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b60448201526064016109c0565b3360008181526101cb6020908152604080832086845282528083206101cc90925290912054600182015590610af2908361226e565b5050610aff600161019155565b50565b600054610100900460ff1615808015610b225750600054600160ff909116105b80610b3c5750303b158015610b3c575060005460ff166001145b610b9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109c0565b6000805460ff191660011790558015610bc2576000805461ff0019166101001790555b6001600160a01b038616610c0f5760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420474e4554206164647265737360601b60448201526064016109c0565b6001600160a01b038516610c5c5760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642055534454206164647265737360601b60448201526064016109c0565b6001600160a01b038416610ca85760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964204e4654206164647265737360681b60448201526064016109c0565b6001600160a01b038316610cfe5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204e6574776f726b206164647265737300000000000000000060448201526064016109c0565b6001600160a01b038216610d545760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642072656365697665722061646472657373000000000000000060448201526064016109c0565b610d9c6040518060400160405280600a8152602001694e465447656e6573697360b01b815250604051806040016040528060048152602001634e46544760e01b8152506123a1565b610da46123d2565b610dac6123d2565b610db46123f9565b610dbc6123d2565b610dc4612428565b6101c580546001600160a01b03199081166001600160a01b03898116919091179092556101c8805482168784161790556101ce805482168584161790556101c6805482168884161790556101c780549091169185169190911790558015610e65576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610e75612213565b60008181526101c960209081526040808320546001600160a01b03871684526101cb835281842081855290925282209091610eb08387611860565b90508015610ee65760008381526101cc602052604081205460018401556101cf8054839290610ee0908490613aa5565b90915550505b8154610f235760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b60448201526064016109c0565b6001826000016000828254610f389190613aa5565b90915550506001600160a01b03851660009081526101cb60209081526040808320868452909152812080549091600191839190610f76908490613ab8565b909155505060008481526101cc602052604090205460018201558115611010576101c55460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af1158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100e9190613acb565b505b61101b878787612457565b50505050610a61600161019155565b60006110358361145c565b82106110975760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016109c0565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111085760405162461bcd60e51b81526004016109c090613ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111516000805160206140f7833981519152546001600160a01b031690565b6001600160a01b0316146111775760405162461bcd60e51b81526004016109c090613b34565b61118081612488565b60408051600080825260208201909252610aff91839190612490565b6111a46125fb565b60006111b06101c35490565b90506111c16101c380546001019055565b6111cb8282612655565b5050565b610a61838383604051806020016040528060008152506118e2565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112325760405162461bcd60e51b81526004016109c090613ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661127b6000805160206140f7833981519152546001600160a01b031690565b6001600160a01b0316146112a15760405162461bcd60e51b81526004016109c090613b34565b6112aa82612488565b6111cb82826001612490565b60006112c160cb5490565b82106113245760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016109c0565b60cb828154811061133757611337613b80565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113e95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016109c0565b506000805160206140f783398151915290565b6000818152606760205260408120546001600160a01b03168061088d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109c0565b60006001600160a01b0382166114c65760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016109c0565b506001600160a01b031660009081526068602052604090205490565b6114ea6125fb565b6114f4600061266f565b565b6114fe6125fb565b6001600160a01b0381166115545760405162461bcd60e51b815260206004820152601f60248201527f52656365697665722063616e6e6f74206265207a65726f20616464726573730060448201526064016109c0565b6101ce80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fcbb1429c3b12b55df3606dc8978430be3a2abc5b20c69880522fadccbc3b733e906115ac9042815260200190565b60405180910390a35050565b6060606680546108a290613a55565b6115cf612213565b3360009081526101cd60205260409020548061162d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272616c2072657761726420746f20636c61696d000000000060448201526064016109c0565b3360008181526101cd6020526040808220919091556101c654905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190613acb565b5060405181815233907ff406cb865b73475210da51ef4afe4311433e7d8348140ee676325bca177d2ad99060200160405180910390a2506114f4600161019155565b6111cb3383836126c1565b6101c8546001600160a01b0316331461175f5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e00000060448201526064016109c0565b60008281526101ca6020526040902060020154806117bf5760405162461bcd60e51b815260206004820152601c60248201527f4e6f204e465473206d696e74656420666f72207468697320747970650000000060448201526064016109c0565b60006117cb8284613b96565b9050806101cc600086815260200190815260200160002060008282546117f19190613ab8565b92505081905550826101cf600082825461180b9190613ab8565b909155505060008481526101cc60209081526040918290205482518681529182015285917ffa37d7aaa525aa376e07e97f4920df63d2c7edc2b8f8795e7fc51272d95130c6910160405180910390a250505050565b6001600160a01b03811660009081526101cb60209081526040808320858452825280832081518083018352815481526001909101548184019081528685526101cc90935290832054915190919081116118be5760009250505061088d565b815160208301516118cf9083613aa5565b6118d99190613bb8565b95945050505050565b6118ec338361278f565b6119085760405162461bcd60e51b81526004016109c090613bcf565b6119148484848461280e565b50505050565b606061088d82612841565b60006119316101c45490565b905090565b61193e6125fb565b6000831161198e5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e20300000000060448201526064016109c0565b60008211801561199f575060648211155b6119e05760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070657263656e7461676560701b60448201526064016109c0565b60008111611a3a5760405162461bcd60e51b815260206004820152602160248201527f4d6178206d696e746564206d7573742062652067726561746572207468616e206044820152600360fc1b60648201526084016109c0565b6000611a466101c45490565b60008181526101ca60209081526040918290206101c654835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190613c1c565b611ad290600a613d23565b611adc9086613bb8565b8155600181018490556000600282015560038101839055611b026101c480546001019055565b80546040805191825260208201869052810184905282907fa41486e07ac1acfe42ae596413a55e34217e611431c2742acaadaff5cda553729060600160405180910390a25050505050565b611b556125fb565b6001600160a01b038116611bba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c0565b610aff8161266f565b611bcb612213565b60008281526101ca602052604090206002810154611bea908390613ab8565b816003015411611c315760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b60448201526064016109c0565b6101c754604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca49190613d32565b50959750919550869450611cf793505050505760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b60448201526064016109c0565b8254600090611d07908690613bb8565b905060006064611d1883600a613bb8565b611d229190613b96565b90506000611d308284613aa5565b90506000611d3e8933611860565b3360009081526101cb602090815260408083208d845290915281208054929350918a918391611d6e908490613ab8565b9250508190555088886002016000828254611d899190613ab8565b909155505060008a81526101cc602052604081205460018301558967ffffffffffffffff811115611dbc57611dbc61380e565b604051908082528060200260200182016040528015611de5578160200160208202803683370190505b50905060005b8a811015611e57576000611dff6101c35490565b905080838381518110611e1457611e14613b80565b60209081029190910181019190915260008281526101c9909152604090208d9055611e446101c380546001019055565b5080611e4f81613dbc565b915050611deb565b506101c6546040516323b872dd60e01b8152336004820152306024820152604481018890526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed49190613acb565b506101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810187905291169063a9059cbb906044016020604051808303816000875af1158015611f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f509190613acb565b506001600160a01b03871615611fd3576001600160a01b03871660009081526101cd602052604081208054879290611f89908490613ab8565b909155505060405185815233906001600160a01b038916907fb52e3b243cc586ba276798e82fc66f7e8582ffbbd0a2a5a774f828d0053671529060200160405180910390a3612050565b6101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810188905291169063a9059cbb906044016020604051808303816000875af115801561202a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204e9190613acb565b505b60005b8a8110156120bb5761207e3383838151811061207157612071613b80565b6020026020010151612655565b6120a982828151811061209357612093613b80565b60200260200101516120a48e61293c565b6129cf565b806120b381613dbc565b915050612053565b5082156120cc576120cc338461226e565b336001600160a01b03167fb2f20abb34405506b7fc439c3ea3526bf9c45147381635896d278204620f542a826040516121059190613dd5565b60405180910390a25050505050505050506111cb600161019155565b60006001600160e01b03198216632483248360e11b148061088d575061088d82612a9a565b6000818152606760205260409020546001600160a01b0316610aff5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109c0565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121da826113fc565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600261019154036122665760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016109c0565b600261019155565b806101cf5410156122c15760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420706f6f6c2062616c616e63650000000000000060448201526064016109c0565b806101cf60008282546122d49190613aa5565b90915550506101c55460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561232d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123519190613acb565b50816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e8260405161238d91815260200190565b60405180910390a25050565b600161019155565b600054610100900460ff166123c85760405162461bcd60e51b81526004016109c090613e19565b6111cb8282612abf565b600054610100900460ff166114f45760405162461bcd60e51b81526004016109c090613e19565b600054610100900460ff166124205760405162461bcd60e51b81526004016109c090613e19565b6114f4612aff565b600054610100900460ff1661244f5760405162461bcd60e51b81526004016109c090613e19565b6114f4612b2f565b612461338261278f565b61247d5760405162461bcd60e51b81526004016109c090613bcf565b610a61838383612b56565b610aff6125fb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156124c357610a6183612cc7565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561251d575060408051601f3d908101601f1916820190925261251a91810190613e64565b60015b6125805760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016109c0565b6000805160206140f783398151915281146125ef5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016109c0565b50610a61838383612d63565b6097546001600160a01b031633146114f45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109c0565b6111cb828260405180602001604052806000815250612d88565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036127225760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016109c0565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008061279b836113fc565b9050806001600160a01b0316846001600160a01b031614806127e257506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806128065750836001600160a01b03166127fb84610925565b6001600160a01b0316145b949350505050565b612819848484612b56565b61282584848484612dbb565b6119145760405162461bcd60e51b81526004016109c090613e7d565b606061284c82612146565b600082815260fb60205260408120805461286590613a55565b80601f016020809104026020016040519081016040528092919081815260200182805461289190613a55565b80156128de5780601f106128b3576101008083540402835291602001916128de565b820191906000526020600020905b8154815290600101906020018083116128c157829003601f168201915b5050505050905060006128ef612ebc565b90508051600003612901575092915050565b81511561293357808260405160200161291b929190613ecf565b60405160208183030381529060405292505050919050565b61280684612edc565b6060600061294983612f43565b600101905060008167ffffffffffffffff8111156129695761296961380e565b6040519080825280601f01601f191660200182016040528015612993576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461299d57509392505050565b6000828152606760205260409020546001600160a01b0316612a4a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016109c0565b600082815260fb60205260409020612a628282613f44565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b0319821663780e9d6360e01b148061088d575061088d8261301b565b600054610100900460ff16612ae65760405162461bcd60e51b81526004016109c090613e19565b6065612af28382613f44565b506066610a618282613f44565b600054610100900460ff16612b265760405162461bcd60e51b81526004016109c090613e19565b6114f43361266f565b600054610100900460ff166123995760405162461bcd60e51b81526004016109c090613e19565b826001600160a01b0316612b69826113fc565b6001600160a01b031614612b8f5760405162461bcd60e51b81526004016109c090614004565b6001600160a01b038216612bf15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016109c0565b612bfe838383600161306b565b826001600160a01b0316612c11826113fc565b6001600160a01b031614612c375760405162461bcd60e51b81526004016109c090614004565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b612d345760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016109c0565b6000805160206140f783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d6c83613077565b600082511180612d795750805b15610a615761191483836130b7565b612d9283836130dc565b612d9f6000848484612dbb565b610a615760405162461bcd60e51b81526004016109c090613e7d565b60006001600160a01b0384163b15612eb157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612dff903390899088908890600401614049565b6020604051808303816000875af1925050508015612e3a575060408051601f3d908101601f19168201909252612e379181019061407c565b60015b612e97573d808015612e68576040519150601f19603f3d011682016040523d82523d6000602084013e612e6d565b606091505b508051600003612e8f5760405162461bcd60e51b81526004016109c090613e7d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612806565b506001949350505050565b60606040518060600160405280602b81526020016140cc602b9139905090565b6060612ee782612146565b6000612ef1612ebc565b90506000815111612f115760405180602001604052806000815250612f3c565b80612f1b8461293c565b604051602001612f2c929190613ecf565b6040516020818303038152906040525b9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612f825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612fae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612fcc57662386f26fc10000830492506010015b6305f5e1008310612fe4576305f5e100830492506008015b6127108310612ff857612710830492506004015b6064831061300a576064830492506002015b600a831061088d5760010192915050565b60006001600160e01b031982166380ac58cd60e01b148061304c57506001600160e01b03198216635b5e139f60e01b145b8061088d57506301ffc9a760e01b6001600160e01b031983161461088d565b61191484848484613275565b61308081612cc7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612f3c8383604051806060016040528060278152602001614117602791396133a9565b6001600160a01b0382166131325760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109c0565b6000818152606760205260409020546001600160a01b0316156131975760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109c0565b6131a560008383600161306b565b6000818152606760205260409020546001600160a01b03161561320a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109c0565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156132e45760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016109c0565b816001600160a01b0385166133405761333b8160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b613363565b836001600160a01b0316856001600160a01b031614613363576133638582613421565b6001600160a01b03841661337f5761337a816134be565b6133a2565b846001600160a01b0316846001600160a01b0316146133a2576133a2848261356d565b5050505050565b6060600080856001600160a01b0316856040516133c69190614099565b600060405180830381855af49150503d8060008114613401576040519150601f19603f3d011682016040523d82523d6000602084013e613406565b606091505b5091509150613417868383876135b1565b9695505050505050565b6000600161342e8461145c565b6134389190613aa5565b600083815260ca602052604090205490915080821461348b576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb546000906134d090600190613aa5565b600083815260cc602052604081205460cb80549394509092849081106134f8576134f8613b80565b906000526020600020015490508060cb838154811061351957613519613b80565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480613551576135516140b5565b6001900381819060005260206000200160009055905550505050565b60006135788361145c565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b60608315613620578251600003613619576001600160a01b0385163b6136195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109c0565b5081612806565b61280683838151156136355781518083602001fd5b8060405162461bcd60e51b81526004016109c091906136d2565b6001600160e01b031981168114610aff57600080fd5b60006020828403121561367757600080fd5b8135612f3c8161364f565b60005b8381101561369d578181015183820152602001613685565b50506000910152565b600081518084526136be816020860160208601613682565b601f01601f19169290920160200192915050565b602081526000612f3c60208301846136a6565b6000602082840312156136f757600080fd5b5035919050565b6001600160a01b0381168114610aff57600080fd5b6000806040838503121561372657600080fd5b8235613731816136fe565b946020939093013593505050565b600080600080600060a0868803121561375757600080fd5b8535613762816136fe565b94506020860135613772816136fe565b93506040860135613782816136fe565b92506060860135613792816136fe565b915060808601356137a2816136fe565b809150509295509295909350565b6000806000606084860312156137c557600080fd5b83356137d0816136fe565b925060208401356137e0816136fe565b929592945050506040919091013590565b60006020828403121561380357600080fd5b8135612f3c816136fe565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261383557600080fd5b813567ffffffffffffffff808211156138505761385061380e565b604051601f8301601f19908116603f011681019082821181831017156138785761387861380e565b8160405283815286602085880101111561389157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156138c457600080fd5b82356138cf816136fe565b9150602083013567ffffffffffffffff8111156138eb57600080fd5b6138f785828601613824565b9150509250929050565b8015158114610aff57600080fd5b6000806040838503121561392257600080fd5b823561392d816136fe565b9150602083013561393d81613901565b809150509250929050565b6000806040838503121561395b57600080fd5b50508035926020909101359150565b6000806040838503121561397d57600080fd5b82359150602083013561393d816136fe565b600080600080608085870312156139a557600080fd5b84356139b0816136fe565b935060208501356139c0816136fe565b925060408501359150606085013567ffffffffffffffff8111156139e357600080fd5b6139ef87828801613824565b91505092959194509250565b600080600060608486031215613a1057600080fd5b505081359360208301359350604090920135919050565b60008060408385031215613a3a57600080fd5b8235613a45816136fe565b9150602083013561393d816136fe565b600181811c90821680613a6957607f821691505b602082108103613a8957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561088d5761088d613a8f565b8082018082111561088d5761088d613a8f565b600060208284031215613add57600080fd5b8151612f3c81613901565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600082613bb357634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761088d5761088d613a8f565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613c2e57600080fd5b815160ff81168114612f3c57600080fd5b600181815b80851115613c7a578160001904821115613c6057613c60613a8f565b80851615613c6d57918102915b93841c9390800290613c44565b509250929050565b600082613c915750600161088d565b81613c9e5750600061088d565b8160018114613cb45760028114613cbe57613cda565b600191505061088d565b60ff841115613ccf57613ccf613a8f565b50506001821b61088d565b5060208310610133831016604e8410600b8410161715613cfd575081810a61088d565b613d078383613c3f565b8060001904821115613d1b57613d1b613a8f565b029392505050565b6000612f3c60ff841683613c82565b600080600080600080600080610100898b031215613d4f57600080fd5b8851613d5a81613901565b60208a0151909850613d6b81613901565b60408a015190975060078110613d8057600080fd5b60608a0151909650613d91816136fe565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b600060018201613dce57613dce613a8f565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015613e0d57835183529284019291840191600101613df1565b50909695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613e7657600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351613ee1818460208801613682565b835190830190613ef5818360208801613682565b01949350505050565b601f821115610a6157600081815260208120601f850160051c81016020861015613f255750805b601f850160051c820191505b81811015610e6557828155600101613f31565b815167ffffffffffffffff811115613f5e57613f5e61380e565b613f7281613f6c8454613a55565b84613efe565b602080601f831160018114613fa75760008415613f8f5750858301515b600019600386901b1c1916600185901b178555610e65565b600085815260208120601f198616915b82811015613fd657888601518255948401946001909101908401613fb7565b5085821015613ff45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613417908301846136a6565b60006020828403121561408e57600080fd5b8151612f3c8161364f565b600082516140ab818460208701613682565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652f67656e657369732f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be4243016bd555b9c09b559cc16777beb517dc5d7f5932ffcc812cb739e34a9c64736f6c63430008110033",
1146
+ "deployedBytecode": "0x60806040526004361061025c5760003560e01c80638279c7db11610144578063bb712460116100b6578063e7cb1f3e1161007a578063e7cb1f3e14610797578063e961e1ff146107b7578063e985e9c5146107d8578063ed65af7414610821578063f2fde38b14610842578063fadca7121461086257600080fd5b8063bb712460146106ba578063c78e5b37146106e8578063c87b56dd146106ff578063dc3676b71461071f578063e4305a291461073457600080fd5b8063a22cb46511610108578063a22cb465146105b7578063a61ba52e146105d7578063b6593c8e14610605578063b696741f14610625578063b71bc8bc1461067a578063b88d4fde1461069a57600080fd5b80638279c7db146105215780638da5cb5b1461054157806395d89b411461055f5780639b4b2c9c146105745780639f7761a91461058957600080fd5b806323b872dd116101dd5780634f1ef286116101a15780634f1ef286146104845780634f6ccce71461049757806352d1902d146104b75780636352211e146104cc57806370a08231146104ec578063715018a61461050c57600080fd5b806323b872dd146103e45780632f745c59146104045780633659cfe61461042457806340d097c31461044457806342842e0e1461046457600080fd5b80630a2a6e37116102245780630a2a6e37146103325780631459457a1461035357806316fed3e21461037357806318160ddd146103945780631d06c3b2146103b357600080fd5b806301ffc9a71461026157806306fdde0314610296578063081812fc146102b8578063095ea7b3146102f05780630962ef7914610312575b600080fd5b34801561026d57600080fd5b5061028161027c366004613665565b610882565b60405190151581526020015b60405180910390f35b3480156102a257600080fd5b506102ab610893565b60405161028d91906136d2565b3480156102c457600080fd5b506102d86102d33660046136e5565b610925565b6040516001600160a01b03909116815260200161028d565b3480156102fc57600080fd5b5061031061030b366004613713565b61094c565b005b34801561031e57600080fd5b5061031061032d3660046136e5565b610a66565b34801561033e57600080fd5b506101c7546102d8906001600160a01b031681565b34801561035f57600080fd5b5061031061036e36600461373f565b610b02565b34801561037f57600080fd5b506101ce546102d8906001600160a01b031681565b3480156103a057600080fd5b5060cb545b60405190815260200161028d565b3480156103bf57600080fd5b506103a56103ce3660046136e5565b60009081526101ca602052604090206001015490565b3480156103f057600080fd5b506103106103ff3660046137b0565b610e6d565b34801561041057600080fd5b506103a561041f366004613713565b61102a565b34801561043057600080fd5b5061031061043f3660046137f1565b6110c0565b34801561045057600080fd5b5061031061045f3660046137f1565b61119c565b34801561047057600080fd5b5061031061047f3660046137b0565b6111cf565b6103106104923660046138b1565b6111ea565b3480156104a357600080fd5b506103a56104b23660046136e5565b6112b6565b3480156104c357600080fd5b506103a5611349565b3480156104d857600080fd5b506102d86104e73660046136e5565b6113fc565b3480156104f857600080fd5b506103a56105073660046137f1565b61145c565b34801561051857600080fd5b506103106114e2565b34801561052d57600080fd5b5061031061053c3660046137f1565b6114f6565b34801561054d57600080fd5b506097546001600160a01b03166102d8565b34801561056b57600080fd5b506102ab6115b8565b34801561058057600080fd5b506103106115c7565b34801561059557600080fd5b506103a56105a43660046136e5565b6101c96020526000908152604090205481565b3480156105c357600080fd5b506103106105d236600461390f565b6116f9565b3480156105e357600080fd5b506103a56105f23660046137f1565b6101cd6020526000908152604090205481565b34801561061157600080fd5b50610310610620366004613948565b611704565b34801561063157600080fd5b50610665610640366004613713565b6101cb6020908152600092835260408084209091529082529020805460019091015482565b6040805192835260208301919091520161028d565b34801561068657600080fd5b506103a561069536600461396a565b611860565b3480156106a657600080fd5b506103106106b536600461398f565b6118e2565b3480156106c657600080fd5b506103a56106d53660046136e5565b6101cc6020526000908152604090205481565b3480156106f457600080fd5b506103a56101cf5481565b34801561070b57600080fd5b506102ab61071a3660046136e5565b61191a565b34801561072b57600080fd5b506103a5611925565b34801561074057600080fd5b5061077761074f3660046136e5565b6101ca6020526000908152604090208054600182015460028301546003909301549192909184565b60408051948552602085019390935291830152606082015260800161028d565b3480156107a357600080fd5b506103106107b23660046139fb565b611936565b3480156107c357600080fd5b506101c5546102d8906001600160a01b031681565b3480156107e457600080fd5b506102816107f3366004613a27565b6001600160a01b039182166000908152606a6020908152604080832093909416825291909152205460ff1690565b34801561082d57600080fd5b506101c6546102d8906001600160a01b031681565b34801561084e57600080fd5b5061031061085d3660046137f1565b611b4d565b34801561086e57600080fd5b5061031061087d366004613948565b611bc3565b600061088d82612121565b92915050565b6060606580546108a290613a55565b80601f01602080910402602001604051908101604052809291908181526020018280546108ce90613a55565b801561091b5780601f106108f05761010080835404028352916020019161091b565b820191906000526020600020905b8154815290600101906020018083116108fe57829003601f168201915b5050505050905090565b600061093082612146565b506000908152606960205260409020546001600160a01b031690565b6000610957826113fc565b9050806001600160a01b0316836001600160a01b0316036109c95760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806109e557506109e581336107f3565b610a575760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016109c0565b610a6183836121a5565b505050565b610a6e612213565b6000610a7a8233611860565b905060008111610abd5760405162461bcd60e51b815260206004820152600e60248201526d139bc81c995dd85c991cc81e595d60921b60448201526064016109c0565b3360008181526101cb6020908152604080832086845282528083206101cc90925290912054600182015590610af2908361226e565b5050610aff600161019155565b50565b600054610100900460ff1615808015610b225750600054600160ff909116105b80610b3c5750303b158015610b3c575060005460ff166001145b610b9f5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016109c0565b6000805460ff191660011790558015610bc2576000805461ff0019166101001790555b6001600160a01b038616610c0f5760405162461bcd60e51b8152602060048201526014602482015273496e76616c696420474e4554206164647265737360601b60448201526064016109c0565b6001600160a01b038516610c5c5760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642055534454206164647265737360601b60448201526064016109c0565b6001600160a01b038416610ca85760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964204e4654206164647265737360681b60448201526064016109c0565b6001600160a01b038316610cfe5760405162461bcd60e51b815260206004820152601760248201527f496e76616c6964204e6574776f726b206164647265737300000000000000000060448201526064016109c0565b6001600160a01b038216610d545760405162461bcd60e51b815260206004820152601860248201527f496e76616c69642072656365697665722061646472657373000000000000000060448201526064016109c0565b610d9c6040518060400160405280600a8152602001694e465447656e6573697360b01b815250604051806040016040528060048152602001634e46544760e01b8152506123a1565b610da46123d2565b610dac6123d2565b610db46123f9565b610dbc6123d2565b610dc4612428565b6101c580546001600160a01b03199081166001600160a01b03898116919091179092556101c8805482168784161790556101ce805482168584161790556101c6805482168884161790556101c780549091169185169190911790558015610e65576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610e75612213565b60008181526101c960209081526040808320546001600160a01b03871684526101cb835281842081855290925282209091610eb08387611860565b90508015610ee65760008381526101cc602052604081205460018401556101cf8054839290610ee0908490613aa5565b90915550505b8154610f235760405162461bcd60e51b815260206004820152600c60248201526b1b9bc818d85c99081b19599d60a21b60448201526064016109c0565b6001826000016000828254610f389190613aa5565b90915550506001600160a01b03851660009081526101cb60209081526040808320868452909152812080549091600191839190610f76908490613ab8565b909155505060008481526101cc602052604090205460018201558115611010576101c55460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af1158015610fea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061100e9190613acb565b505b61101b878787612457565b50505050610a61600161019155565b60006110358361145c565b82106110975760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016109c0565b506001600160a01b0391909116600090815260c960209081526040808320938352929052205490565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036111085760405162461bcd60e51b81526004016109c090613ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111516000805160206140f7833981519152546001600160a01b031690565b6001600160a01b0316146111775760405162461bcd60e51b81526004016109c090613b34565b61118081612488565b60408051600080825260208201909252610aff91839190612490565b6111a46125fb565b60006111b06101c35490565b90506111c16101c380546001019055565b6111cb8282612655565b5050565b610a61838383604051806020016040528060008152506118e2565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036112325760405162461bcd60e51b81526004016109c090613ae8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661127b6000805160206140f7833981519152546001600160a01b031690565b6001600160a01b0316146112a15760405162461bcd60e51b81526004016109c090613b34565b6112aa82612488565b6111cb82826001612490565b60006112c160cb5490565b82106113245760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016109c0565b60cb828154811061133757611337613b80565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146113e95760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016109c0565b506000805160206140f783398151915290565b6000818152606760205260408120546001600160a01b03168061088d5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109c0565b60006001600160a01b0382166114c65760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016109c0565b506001600160a01b031660009081526068602052604090205490565b6114ea6125fb565b6114f4600061266f565b565b6114fe6125fb565b6001600160a01b0381166115545760405162461bcd60e51b815260206004820152601f60248201527f52656365697665722063616e6e6f74206265207a65726f20616464726573730060448201526064016109c0565b6101ce80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907fcbb1429c3b12b55df3606dc8978430be3a2abc5b20c69880522fadccbc3b733e906115ac9042815260200190565b60405180910390a35050565b6060606680546108a290613a55565b6115cf612213565b3360009081526101cd60205260409020548061162d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272616c2072657761726420746f20636c61696d000000000060448201526064016109c0565b3360008181526101cd6020526040808220919091556101c654905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116b79190613acb565b5060405181815233907ff406cb865b73475210da51ef4afe4311433e7d8348140ee676325bca177d2ad99060200160405180910390a2506114f4600161019155565b6111cb3383836126c1565b6101c8546001600160a01b0316331461175f5760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e00000060448201526064016109c0565b60008281526101ca6020526040902060020154806117bf5760405162461bcd60e51b815260206004820152601c60248201527f4e6f204e465473206d696e74656420666f72207468697320747970650000000060448201526064016109c0565b60006117cb8284613b96565b9050806101cc600086815260200190815260200160002060008282546117f19190613ab8565b92505081905550826101cf600082825461180b9190613ab8565b909155505060008481526101cc60209081526040918290205482518681529182015285917ffa37d7aaa525aa376e07e97f4920df63d2c7edc2b8f8795e7fc51272d95130c6910160405180910390a250505050565b6001600160a01b03811660009081526101cb60209081526040808320858452825280832081518083018352815481526001909101548184019081528685526101cc90935290832054915190919081116118be5760009250505061088d565b815160208301516118cf9083613aa5565b6118d99190613bb8565b95945050505050565b6118ec338361278f565b6119085760405162461bcd60e51b81526004016109c090613bcf565b6119148484848461280e565b50505050565b606061088d82612841565b60006119316101c45490565b905090565b61193e6125fb565b6000831161198e5760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e20300000000060448201526064016109c0565b60008211801561199f575060648211155b6119e05760405162461bcd60e51b8152602060048201526012602482015271496e76616c69642070657263656e7461676560701b60448201526064016109c0565b60008111611a3a5760405162461bcd60e51b815260206004820152602160248201527f4d6178206d696e746564206d7573742062652067726561746572207468616e206044820152600360fc1b60648201526084016109c0565b6000611a466101c45490565b60008181526101ca60209081526040918290206101c654835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa158015611aa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ac79190613c1c565b611ad290600a613d23565b611adc9086613bb8565b8155600181018490556000600282015560038101839055611b026101c480546001019055565b80546040805191825260208201869052810184905282907fa41486e07ac1acfe42ae596413a55e34217e611431c2742acaadaff5cda553729060600160405180910390a25050505050565b611b556125fb565b6001600160a01b038116611bba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016109c0565b610aff8161266f565b611bcb612213565b60008281526101ca602052604090206002810154611bea908390613ab8565b816003015411611c315760405162461bcd60e51b815260206004820152601260248201527113585e081b5a5b9d1959081c995858da195960721b60448201526064016109c0565b6101c754604051630fa2d9ff60e41b815233600482015260009182916001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611c80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca49190613d32565b50959750919550869450611cf793505050505760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b60448201526064016109c0565b8254600090611d07908690613bb8565b905060006064611d1883600a613bb8565b611d229190613b96565b90506000611d308284613aa5565b90506000611d3e8933611860565b3360009081526101cb602090815260408083208d845290915281208054929350918a918391611d6e908490613ab8565b9250508190555088886002016000828254611d899190613ab8565b909155505060008a81526101cc602052604081205460018301558967ffffffffffffffff811115611dbc57611dbc61380e565b604051908082528060200260200182016040528015611de5578160200160208202803683370190505b50905060005b8a811015611e57576000611dff6101c35490565b905080838381518110611e1457611e14613b80565b60209081029190910181019190915260008281526101c9909152604090208d9055611e446101c380546001019055565b5080611e4f81613dbc565b915050611deb565b506101c6546040516323b872dd60e01b8152336004820152306024820152604481018890526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015611eb0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ed49190613acb565b506101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810187905291169063a9059cbb906044016020604051808303816000875af1158015611f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f509190613acb565b506001600160a01b03871615611fd3576001600160a01b03871660009081526101cd602052604081208054879290611f89908490613ab8565b909155505060405185815233906001600160a01b038916907fb52e3b243cc586ba276798e82fc66f7e8582ffbbd0a2a5a774f828d0053671529060200160405180910390a3612050565b6101c6546101ce5460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810188905291169063a9059cbb906044016020604051808303816000875af115801561202a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204e9190613acb565b505b60005b8a8110156120bb5761207e3383838151811061207157612071613b80565b6020026020010151612655565b6120a982828151811061209357612093613b80565b60200260200101516120a48e61293c565b6129cf565b806120b381613dbc565b915050612053565b5082156120cc576120cc338461226e565b336001600160a01b03167fb2f20abb34405506b7fc439c3ea3526bf9c45147381635896d278204620f542a826040516121059190613dd5565b60405180910390a25050505050505050506111cb600161019155565b60006001600160e01b03198216632483248360e11b148061088d575061088d82612a9a565b6000818152606760205260409020546001600160a01b0316610aff5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b60448201526064016109c0565b600081815260696020526040902080546001600160a01b0319166001600160a01b03841690811790915581906121da826113fc565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600261019154036122665760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016109c0565b600261019155565b806101cf5410156122c15760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420706f6f6c2062616c616e63650000000000000060448201526064016109c0565b806101cf60008282546122d49190613aa5565b90915550506101c55460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af115801561232d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123519190613acb565b50816001600160a01b03167fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e8260405161238d91815260200190565b60405180910390a25050565b600161019155565b600054610100900460ff166123c85760405162461bcd60e51b81526004016109c090613e19565b6111cb8282612abf565b600054610100900460ff166114f45760405162461bcd60e51b81526004016109c090613e19565b600054610100900460ff166124205760405162461bcd60e51b81526004016109c090613e19565b6114f4612aff565b600054610100900460ff1661244f5760405162461bcd60e51b81526004016109c090613e19565b6114f4612b2f565b612461338261278f565b61247d5760405162461bcd60e51b81526004016109c090613bcf565b610a61838383612b56565b610aff6125fb565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156124c357610a6183612cc7565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561251d575060408051601f3d908101601f1916820190925261251a91810190613e64565b60015b6125805760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016109c0565b6000805160206140f783398151915281146125ef5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016109c0565b50610a61838383612d63565b6097546001600160a01b031633146114f45760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016109c0565b6111cb828260405180602001604052806000815250612d88565b609780546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036127225760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016109c0565b6001600160a01b038381166000818152606a6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60008061279b836113fc565b9050806001600160a01b0316846001600160a01b031614806127e257506001600160a01b038082166000908152606a602090815260408083209388168352929052205460ff165b806128065750836001600160a01b03166127fb84610925565b6001600160a01b0316145b949350505050565b612819848484612b56565b61282584848484612dbb565b6119145760405162461bcd60e51b81526004016109c090613e7d565b606061284c82612146565b600082815260fb60205260408120805461286590613a55565b80601f016020809104026020016040519081016040528092919081815260200182805461289190613a55565b80156128de5780601f106128b3576101008083540402835291602001916128de565b820191906000526020600020905b8154815290600101906020018083116128c157829003601f168201915b5050505050905060006128ef612ebc565b90508051600003612901575092915050565b81511561293357808260405160200161291b929190613ecf565b60405160208183030381529060405292505050919050565b61280684612edc565b6060600061294983612f43565b600101905060008167ffffffffffffffff8111156129695761296961380e565b6040519080825280601f01601f191660200182016040528015612993576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461299d57509392505050565b6000828152606760205260409020546001600160a01b0316612a4a5760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016109c0565b600082815260fb60205260409020612a628282613f44565b506040518281527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a15050565b60006001600160e01b0319821663780e9d6360e01b148061088d575061088d8261301b565b600054610100900460ff16612ae65760405162461bcd60e51b81526004016109c090613e19565b6065612af28382613f44565b506066610a618282613f44565b600054610100900460ff16612b265760405162461bcd60e51b81526004016109c090613e19565b6114f43361266f565b600054610100900460ff166123995760405162461bcd60e51b81526004016109c090613e19565b826001600160a01b0316612b69826113fc565b6001600160a01b031614612b8f5760405162461bcd60e51b81526004016109c090614004565b6001600160a01b038216612bf15760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016109c0565b612bfe838383600161306b565b826001600160a01b0316612c11826113fc565b6001600160a01b031614612c375760405162461bcd60e51b81526004016109c090614004565b600081815260696020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260688552838620805460001901905590871680865283862080546001019055868652606790945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0381163b612d345760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016109c0565b6000805160206140f783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d6c83613077565b600082511180612d795750805b15610a615761191483836130b7565b612d9283836130dc565b612d9f6000848484612dbb565b610a615760405162461bcd60e51b81526004016109c090613e7d565b60006001600160a01b0384163b15612eb157604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612dff903390899088908890600401614049565b6020604051808303816000875af1925050508015612e3a575060408051601f3d908101601f19168201909252612e379181019061407c565b60015b612e97573d808015612e68576040519150601f19603f3d011682016040523d82523d6000602084013e612e6d565b606091505b508051600003612e8f5760405162461bcd60e51b81526004016109c090613e7d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050612806565b506001949350505050565b60606040518060600160405280602b81526020016140cc602b9139905090565b6060612ee782612146565b6000612ef1612ebc565b90506000815111612f115760405180602001604052806000815250612f3c565b80612f1b8461293c565b604051602001612f2c929190613ecf565b6040516020818303038152906040525b9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310612f825772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310612fae576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310612fcc57662386f26fc10000830492506010015b6305f5e1008310612fe4576305f5e100830492506008015b6127108310612ff857612710830492506004015b6064831061300a576064830492506002015b600a831061088d5760010192915050565b60006001600160e01b031982166380ac58cd60e01b148061304c57506001600160e01b03198216635b5e139f60e01b145b8061088d57506301ffc9a760e01b6001600160e01b031983161461088d565b61191484848484613275565b61308081612cc7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060612f3c8383604051806060016040528060278152602001614117602791396133a9565b6001600160a01b0382166131325760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016109c0565b6000818152606760205260409020546001600160a01b0316156131975760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109c0565b6131a560008383600161306b565b6000818152606760205260409020546001600160a01b03161561320a5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016109c0565b6001600160a01b038216600081815260686020908152604080832080546001019055848352606790915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b60018111156132e45760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b60648201526084016109c0565b816001600160a01b0385166133405761333b8160cb8054600083815260cc60205260408120829055600182018355919091527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb0155565b613363565b836001600160a01b0316856001600160a01b031614613363576133638582613421565b6001600160a01b03841661337f5761337a816134be565b6133a2565b846001600160a01b0316846001600160a01b0316146133a2576133a2848261356d565b5050505050565b6060600080856001600160a01b0316856040516133c69190614099565b600060405180830381855af49150503d8060008114613401576040519150601f19603f3d011682016040523d82523d6000602084013e613406565b606091505b5091509150613417868383876135b1565b9695505050505050565b6000600161342e8461145c565b6134389190613aa5565b600083815260ca602052604090205490915080821461348b576001600160a01b038416600090815260c960209081526040808320858452825280832054848452818420819055835260ca90915290208190555b50600091825260ca602090815260408084208490556001600160a01b03909416835260c981528383209183525290812055565b60cb546000906134d090600190613aa5565b600083815260cc602052604081205460cb80549394509092849081106134f8576134f8613b80565b906000526020600020015490508060cb838154811061351957613519613b80565b600091825260208083209091019290925582815260cc909152604080822084905585825281205560cb805480613551576135516140b5565b6001900381819060005260206000200160009055905550505050565b60006135788361145c565b6001600160a01b03909316600090815260c960209081526040808320868452825280832085905593825260ca9052919091209190915550565b60608315613620578251600003613619576001600160a01b0385163b6136195760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016109c0565b5081612806565b61280683838151156136355781518083602001fd5b8060405162461bcd60e51b81526004016109c091906136d2565b6001600160e01b031981168114610aff57600080fd5b60006020828403121561367757600080fd5b8135612f3c8161364f565b60005b8381101561369d578181015183820152602001613685565b50506000910152565b600081518084526136be816020860160208601613682565b601f01601f19169290920160200192915050565b602081526000612f3c60208301846136a6565b6000602082840312156136f757600080fd5b5035919050565b6001600160a01b0381168114610aff57600080fd5b6000806040838503121561372657600080fd5b8235613731816136fe565b946020939093013593505050565b600080600080600060a0868803121561375757600080fd5b8535613762816136fe565b94506020860135613772816136fe565b93506040860135613782816136fe565b92506060860135613792816136fe565b915060808601356137a2816136fe565b809150509295509295909350565b6000806000606084860312156137c557600080fd5b83356137d0816136fe565b925060208401356137e0816136fe565b929592945050506040919091013590565b60006020828403121561380357600080fd5b8135612f3c816136fe565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261383557600080fd5b813567ffffffffffffffff808211156138505761385061380e565b604051601f8301601f19908116603f011681019082821181831017156138785761387861380e565b8160405283815286602085880101111561389157600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156138c457600080fd5b82356138cf816136fe565b9150602083013567ffffffffffffffff8111156138eb57600080fd5b6138f785828601613824565b9150509250929050565b8015158114610aff57600080fd5b6000806040838503121561392257600080fd5b823561392d816136fe565b9150602083013561393d81613901565b809150509250929050565b6000806040838503121561395b57600080fd5b50508035926020909101359150565b6000806040838503121561397d57600080fd5b82359150602083013561393d816136fe565b600080600080608085870312156139a557600080fd5b84356139b0816136fe565b935060208501356139c0816136fe565b925060408501359150606085013567ffffffffffffffff8111156139e357600080fd5b6139ef87828801613824565b91505092959194509250565b600080600060608486031215613a1057600080fd5b505081359360208301359350604090920135919050565b60008060408385031215613a3a57600080fd5b8235613a45816136fe565b9150602083013561393d816136fe565b600181811c90821680613a6957607f821691505b602082108103613a8957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561088d5761088d613a8f565b8082018082111561088d5761088d613a8f565b600060208284031215613add57600080fd5b8151612f3c81613901565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b600082613bb357634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761088d5761088d613a8f565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b600060208284031215613c2e57600080fd5b815160ff81168114612f3c57600080fd5b600181815b80851115613c7a578160001904821115613c6057613c60613a8f565b80851615613c6d57918102915b93841c9390800290613c44565b509250929050565b600082613c915750600161088d565b81613c9e5750600061088d565b8160018114613cb45760028114613cbe57613cda565b600191505061088d565b60ff841115613ccf57613ccf613a8f565b50506001821b61088d565b5060208310610133831016604e8410600b8410161715613cfd575081810a61088d565b613d078383613c3f565b8060001904821115613d1b57613d1b613a8f565b029392505050565b6000612f3c60ff841683613c82565b600080600080600080600080610100898b031215613d4f57600080fd5b8851613d5a81613901565b60208a0151909850613d6b81613901565b60408a015190975060078110613d8057600080fd5b60608a0151909650613d91816136fe565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b600060018201613dce57613dce613a8f565b5060010190565b6020808252825182820181905260009190848201906040850190845b81811015613e0d57835183529284019291840191600101613df1565b50909695505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600060208284031215613e7657600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351613ee1818460208801613682565b835190830190613ef5818360208801613682565b01949350505050565b601f821115610a6157600081815260208120601f850160051c81016020861015613f255750805b601f850160051c820191505b81811015610e6557828155600101613f31565b815167ffffffffffffffff811115613f5e57613f5e61380e565b613f7281613f6c8454613a55565b84613efe565b602080601f831160018114613fa75760008415613f8f5750858301515b600019600386901b1c1916600185901b178555610e65565b600085815260208120601f198616915b82811015613fd657888601518255948401946001909101908401613fb7565b5085821015613ff45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090613417908301846136a6565b60006020828403121561408e57600080fd5b8151612f3c8161364f565b600082516140ab818460208701613682565b9190910192915050565b634e487b7160e01b600052603160045260246000fdfe68747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652f67656e657369732f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220be4243016bd555b9c09b559cc16777beb517dc5d7f5932ffcc812cb739e34a9c64736f6c63430008110033",
1147
+ "linkReferences": {},
1148
+ "deployedLinkReferences": {}
1149
+ }