@opcat-labs/cat-sdk 3.3.0 → 3.4.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 (135) hide show
  1. package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.map +1 -1
  2. package/artifacts/.templates/cat20/minters/cat20OpenMinter.scrypt.tpl +1 -0
  3. package/artifacts/cat20/cat20.json +35 -35
  4. package/artifacts/cat20/cat20.scrypt +18 -18
  5. package/artifacts/cat20/cat20Admin.json +35 -35
  6. package/artifacts/cat20/cat20Admin.scrypt +30 -30
  7. package/artifacts/cat20/cat20GuardStateLib.json +22 -22
  8. package/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  9. package/artifacts/cat20/cat20Guard_12_12_2.json +34 -34
  10. package/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
  11. package/artifacts/cat20/cat20Guard_12_12_4.json +34 -34
  12. package/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
  13. package/artifacts/cat20/cat20Guard_6_6_2.json +34 -34
  14. package/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
  15. package/artifacts/cat20/cat20Guard_6_6_4.json +34 -34
  16. package/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
  17. package/artifacts/cat20/cat20StateLib.json +23 -23
  18. package/artifacts/cat20/cat20StateLib.scrypt +5 -5
  19. package/artifacts/cat20/minters/cat20ClosedMinter.json +33 -33
  20. package/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  21. package/artifacts/cat20/minters/cat20OpenMinter.json +35 -35
  22. package/artifacts/cat20/minters/cat20OpenMinter.scrypt +19 -18
  23. package/artifacts/cat20/types.json +5 -5
  24. package/artifacts/cat20/types.scrypt +5 -5
  25. package/artifacts/cat721/cat721.json +35 -35
  26. package/artifacts/cat721/cat721.scrypt +18 -18
  27. package/artifacts/cat721/cat721GuardStateLib.json +22 -22
  28. package/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
  29. package/artifacts/cat721/cat721Guard_12_12_2.json +33 -33
  30. package/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
  31. package/artifacts/cat721/cat721Guard_12_12_4.json +33 -33
  32. package/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
  33. package/artifacts/cat721/cat721Guard_6_6_2.json +33 -33
  34. package/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
  35. package/artifacts/cat721/cat721Guard_6_6_4.json +33 -33
  36. package/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
  37. package/artifacts/cat721/cat721StateLib.json +23 -23
  38. package/artifacts/cat721/cat721StateLib.scrypt +5 -5
  39. package/artifacts/cat721/minters/cat721ClosedMinter.json +33 -33
  40. package/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  41. package/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  42. package/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  43. package/artifacts/cat721/minters/cat721OpenMinter.json +38 -38
  44. package/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  45. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +20 -20
  46. package/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  47. package/artifacts/cat721/types.json +5 -5
  48. package/artifacts/cat721/types.scrypt +5 -5
  49. package/artifacts/constants.json +2 -2
  50. package/artifacts/constants.scrypt +1 -1
  51. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  52. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  53. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  54. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +13 -13
  55. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  56. package/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  57. package/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +9 -9
  58. package/artifacts/types.json +2 -2
  59. package/artifacts/types.scrypt +2 -2
  60. package/artifacts/utils/ownerUtils.json +15 -15
  61. package/artifacts/utils/ownerUtils.scrypt +3 -3
  62. package/artifacts/utils/safeMath.json +15 -15
  63. package/artifacts/utils/safeMath.scrypt +1 -1
  64. package/dist/artifacts/cat20/cat20.json +35 -35
  65. package/dist/artifacts/cat20/cat20.scrypt +18 -18
  66. package/dist/artifacts/cat20/cat20Admin.json +35 -35
  67. package/dist/artifacts/cat20/cat20Admin.scrypt +30 -30
  68. package/dist/artifacts/cat20/cat20GuardStateLib.json +22 -22
  69. package/dist/artifacts/cat20/cat20GuardStateLib.scrypt +5 -5
  70. package/dist/artifacts/cat20/cat20Guard_12_12_2.json +34 -34
  71. package/dist/artifacts/cat20/cat20Guard_12_12_2.scrypt +29 -29
  72. package/dist/artifacts/cat20/cat20Guard_12_12_4.json +34 -34
  73. package/dist/artifacts/cat20/cat20Guard_12_12_4.scrypt +29 -29
  74. package/dist/artifacts/cat20/cat20Guard_6_6_2.json +34 -34
  75. package/dist/artifacts/cat20/cat20Guard_6_6_2.scrypt +29 -29
  76. package/dist/artifacts/cat20/cat20Guard_6_6_4.json +34 -34
  77. package/dist/artifacts/cat20/cat20Guard_6_6_4.scrypt +29 -29
  78. package/dist/artifacts/cat20/cat20StateLib.json +23 -23
  79. package/dist/artifacts/cat20/cat20StateLib.scrypt +5 -5
  80. package/dist/artifacts/cat20/minters/cat20ClosedMinter.json +33 -33
  81. package/dist/artifacts/cat20/minters/cat20ClosedMinter.scrypt +22 -22
  82. package/dist/artifacts/cat20/minters/cat20OpenMinter.json +35 -35
  83. package/dist/artifacts/cat20/minters/cat20OpenMinter.scrypt +19 -18
  84. package/dist/artifacts/cat20/types.json +5 -5
  85. package/dist/artifacts/cat20/types.scrypt +5 -5
  86. package/dist/artifacts/cat721/cat721.json +35 -35
  87. package/dist/artifacts/cat721/cat721.scrypt +18 -18
  88. package/dist/artifacts/cat721/cat721GuardStateLib.json +22 -22
  89. package/dist/artifacts/cat721/cat721GuardStateLib.scrypt +5 -5
  90. package/dist/artifacts/cat721/cat721Guard_12_12_2.json +33 -33
  91. package/dist/artifacts/cat721/cat721Guard_12_12_2.scrypt +26 -26
  92. package/dist/artifacts/cat721/cat721Guard_12_12_4.json +33 -33
  93. package/dist/artifacts/cat721/cat721Guard_12_12_4.scrypt +26 -26
  94. package/dist/artifacts/cat721/cat721Guard_6_6_2.json +33 -33
  95. package/dist/artifacts/cat721/cat721Guard_6_6_2.scrypt +26 -26
  96. package/dist/artifacts/cat721/cat721Guard_6_6_4.json +33 -33
  97. package/dist/artifacts/cat721/cat721Guard_6_6_4.scrypt +26 -26
  98. package/dist/artifacts/cat721/cat721StateLib.json +23 -23
  99. package/dist/artifacts/cat721/cat721StateLib.scrypt +5 -5
  100. package/dist/artifacts/cat721/minters/cat721ClosedMinter.json +33 -33
  101. package/dist/artifacts/cat721/minters/cat721ClosedMinter.scrypt +18 -18
  102. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.json +5 -5
  103. package/dist/artifacts/cat721/minters/cat721OpenMintInfo.scrypt +4 -4
  104. package/dist/artifacts/cat721/minters/cat721OpenMinter.json +38 -38
  105. package/dist/artifacts/cat721/minters/cat721OpenMinter.scrypt +22 -22
  106. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.json +20 -20
  107. package/dist/artifacts/cat721/minters/cat721OpenMinterMerkleTree.scrypt +6 -6
  108. package/dist/artifacts/cat721/types.json +5 -5
  109. package/dist/artifacts/cat721/types.scrypt +5 -5
  110. package/dist/artifacts/constants.json +2 -2
  111. package/dist/artifacts/constants.scrypt +1 -1
  112. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/backtrace.scrypt +13 -13
  113. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  114. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  115. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/stdUtils.scrypt +13 -13
  116. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  117. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  118. package/dist/artifacts/scrypt-ts-opcat/assets/smart-contract/types/structs.scrypt +9 -9
  119. package/dist/artifacts/types.json +2 -2
  120. package/dist/artifacts/types.scrypt +2 -2
  121. package/dist/artifacts/utils/ownerUtils.json +15 -15
  122. package/dist/artifacts/utils/ownerUtils.scrypt +3 -3
  123. package/dist/artifacts/utils/safeMath.json +15 -15
  124. package/dist/artifacts/utils/safeMath.scrypt +1 -1
  125. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js +1 -0
  126. package/dist/cjs/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
  127. package/dist/cjs/utils/index.js +1 -1
  128. package/dist/cjs/utils/index.js.map +1 -1
  129. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js +1 -0
  130. package/dist/esm/contracts/cat20/minters/cat20OpenMinter.js.map +1 -1
  131. package/dist/esm/utils/index.js +1 -1
  132. package/dist/esm/utils/index.js.map +1 -1
  133. package/dist/types/contracts/cat20/minters/cat20OpenMinter.d.ts.map +1 -1
  134. package/package.json +4 -4
  135. package/scrypt.index.json +1 -1
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "version": 10,
3
3
  "compilerVersion": "1.22.0+commit.47800da",
4
- "contract": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4",
4
+ "contract": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721Guard_12_12_4",
5
5
  "md5": "71cdbee9bf024017ab02133f98b596af",
6
6
  "structs": [
7
7
  {
8
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState",
8
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState",
9
9
  "params": [
10
10
  {
11
11
  "name": "deployerAddr",
@@ -27,7 +27,7 @@
27
27
  "genericTypes": []
28
28
  },
29
29
  {
30
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State",
30
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721State",
31
31
  "params": [
32
32
  {
33
33
  "name": "ownerAddr",
@@ -41,7 +41,7 @@
41
41
  "genericTypes": []
42
42
  },
43
43
  {
44
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721ClosedMinterState",
44
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721ClosedMinterState",
45
45
  "params": [
46
46
  {
47
47
  "name": "nftScriptHash",
@@ -59,7 +59,7 @@
59
59
  "genericTypes": []
60
60
  },
61
61
  {
62
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721MerkleLeaf",
62
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721MerkleLeaf",
63
63
  "params": [
64
64
  {
65
65
  "name": "contentDataHash",
@@ -77,7 +77,7 @@
77
77
  "genericTypes": []
78
78
  },
79
79
  {
80
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721OpenMinterState",
80
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721OpenMinterState",
81
81
  "params": [
82
82
  {
83
83
  "name": "nftScriptHash",
@@ -95,7 +95,7 @@
95
95
  "genericTypes": []
96
96
  },
97
97
  {
98
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxOut",
98
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxOut",
99
99
  "params": [
100
100
  {
101
101
  "name": "scriptHash",
@@ -113,7 +113,7 @@
113
113
  "genericTypes": []
114
114
  },
115
115
  {
116
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxIn",
116
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxIn",
117
117
  "params": [
118
118
  {
119
119
  "name": "prevTxHash",
@@ -135,7 +135,7 @@
135
135
  "genericTypes": []
136
136
  },
137
137
  {
138
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimage",
138
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimage",
139
139
  "params": [
140
140
  {
141
141
  "name": "version",
@@ -157,11 +157,11 @@
157
157
  "genericTypes": []
158
158
  },
159
159
  {
160
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__BacktraceInfo",
160
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__BacktraceInfo",
161
161
  "params": [
162
162
  {
163
163
  "name": "prevTxInput",
164
- "type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxIn"
164
+ "type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxIn"
165
165
  },
166
166
  {
167
167
  "name": "prevTxInputIndex",
@@ -169,13 +169,13 @@
169
169
  },
170
170
  {
171
171
  "name": "prevPrevTxPreimage",
172
- "type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxHashPreimage"
172
+ "type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxHashPreimage"
173
173
  }
174
174
  ],
175
175
  "genericTypes": []
176
176
  },
177
177
  {
178
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage",
178
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage",
179
179
  "params": [
180
180
  {
181
181
  "name": "nVersion",
@@ -237,7 +237,7 @@
237
237
  "genericTypes": []
238
238
  },
239
239
  {
240
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__Outpoint",
240
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__Outpoint",
241
241
  "params": [
242
242
  {
243
243
  "name": "txHash",
@@ -251,7 +251,7 @@
251
251
  "genericTypes": []
252
252
  },
253
253
  {
254
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo",
254
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ChangeInfo",
255
255
  "params": [
256
256
  {
257
257
  "name": "pubkeyhash",
@@ -269,7 +269,7 @@
269
269
  "genericTypes": []
270
270
  },
271
271
  {
272
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ReadVarintResult",
272
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ReadVarintResult",
273
273
  "params": [
274
274
  {
275
275
  "name": "data",
@@ -285,51 +285,51 @@
285
285
  ],
286
286
  "library": [
287
287
  {
288
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__OwnerUtils",
288
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__OwnerUtils",
289
289
  "params": [],
290
290
  "properties": [],
291
291
  "genericTypes": []
292
292
  },
293
293
  {
294
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils",
294
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils",
295
295
  "params": [],
296
296
  "properties": [],
297
297
  "genericTypes": []
298
298
  },
299
299
  {
300
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__StateUtils",
300
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__StateUtils",
301
301
  "params": [],
302
302
  "properties": [],
303
303
  "genericTypes": []
304
304
  },
305
305
  {
306
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib",
306
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721StateLib",
307
307
  "params": [],
308
308
  "properties": [],
309
309
  "genericTypes": [],
310
- "stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State"
310
+ "stateType": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721State"
311
311
  },
312
312
  {
313
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__ConstantsLib",
313
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__ConstantsLib",
314
314
  "params": [],
315
315
  "properties": [],
316
316
  "genericTypes": []
317
317
  },
318
318
  {
319
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils",
319
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils",
320
320
  "params": [],
321
321
  "properties": [],
322
322
  "genericTypes": []
323
323
  },
324
324
  {
325
- "name": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardStateLib",
325
+ "name": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardStateLib",
326
326
  "params": [],
327
327
  "properties": [],
328
328
  "genericTypes": [],
329
- "stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState"
329
+ "stateType": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState"
330
330
  },
331
331
  {
332
- "name": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__StdUtils",
332
+ "name": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__StdUtils",
333
333
  "params": [],
334
334
  "properties": [],
335
335
  "genericTypes": []
@@ -364,7 +364,7 @@
364
364
  },
365
365
  {
366
366
  "name": "cat721States",
367
- "type": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721State[12]"
367
+ "type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721State[12]"
368
368
  },
369
369
  {
370
370
  "name": "outputCount",
@@ -372,7 +372,7 @@
372
372
  },
373
373
  {
374
374
  "name": "__scrypt_ts_shPreimage",
375
- "type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage"
375
+ "type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage"
376
376
  },
377
377
  {
378
378
  "name": "__scrypt_ts_preimageSig",
@@ -380,7 +380,7 @@
380
380
  },
381
381
  {
382
382
  "name": "__scrypt_ts_curState",
383
- "type": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState"
383
+ "type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState"
384
384
  },
385
385
  {
386
386
  "name": "__scrypt_ts_spentAmounts",
@@ -411,7 +411,7 @@
411
411
  },
412
412
  {
413
413
  "name": "__scrypt_ts_shPreimage",
414
- "type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage"
414
+ "type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage"
415
415
  },
416
416
  {
417
417
  "name": "__scrypt_ts_preimageSig",
@@ -419,11 +419,11 @@
419
419
  },
420
420
  {
421
421
  "name": "__scrypt_ts_changeInfo",
422
- "type": "_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo"
422
+ "type": "_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ChangeInfo"
423
423
  },
424
424
  {
425
425
  "name": "__scrypt_ts_curState",
426
- "type": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState"
426
+ "type": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState"
427
427
  },
428
428
  {
429
429
  "name": "__scrypt_ts_spentAmounts",
@@ -441,7 +441,7 @@
441
441
  }
442
442
  ],
443
443
  "stateProps": [],
444
- "stateType": "_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState",
444
+ "stateType": "_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState",
445
445
  "buildType": "release",
446
446
  "file": "../cat721Guard_12_12_4.scrypt",
447
447
  "hex": "0176018801a901ac2102ba79df5f8ae7604a9830f03c7933028186aede0675a16f025dc4f8be8eec03822000000000000000000000000000000000000000000000000000000000000000ff2000000000000000000000000000000000000000000000000000000000000000fe2000000000000000000000000000000000000000000000000000000000000000fd2000000000000000000000000000000000000000000000000000000000000000fc597900876301147901157982778c7f75007f770123790123790123790123790123790123790123790123790123790123790123790123790123790123795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630114795579ac670068695c79011d7978aa7888785878827d77527997009d6e7c966b6d6d6c775b79011d796f75aa527988765379012078827d77527997009d6e7c967777779d6d755c79011c796f75aa527988765379012078827d77527997009d6e7c967777779d6d75011479011479011479011479011479011479011479011f79011c79011c79011c79011c79011c79011c79011c7956798277528057797e567956795679567953766b796c756b6d6d6c827752807e567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e5779a9577957795779577953766b796c756b6d6d6ca97e577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c770115797653798b0120957f7553790120957f775279886d7556795679567956795679567956795c567956795679567953766b796c7553766b796c7587916953766b796c7552766b796c7587916953766b796c7551766b796c7587916952766b796c7552766b796c7587916952766b796c7551766b796c7587916951766b796c7551766b796c758791696d6d567956795679567953766b796c756b6d6d6c827d7701209d75567956795679567952766b796c756b6d6d6c827d7701209d75567956795679567951766b796c756b6d6d6c827d7701209d75567956795679567900766b796c756b6d6d6c827d7701209d757882775c9d78517f75007f7781764fa26376549f670068697578527f75517f7781764fa26376549f670068697578537f75527f7781764fa26376549f670068697578547f75537f7781764fa26376549f670068697578557f75547f7781764fa26376549f670068697578567f75557f7781764fa26376549f670068697578577f75567f7781764fa26376549f670068697578587f75577f7781764fa26376549f670068697578597f75587f7781764fa26376549f6700686975785a7f75597f7781764fa26376549f6700686975785b7f755a7f7781764fa26376549f6700686975785c7f755b7f7781764fa26376549f670068696d6d6d6d75005c795c795c795c790054a2635a795a795a795a7953766b796c756b6d6d6c54766b796c7588685154a2635a795a795a795a7952766b796c756b6d6d6c53766b796c7588685254a2635a795a795a795a7951766b796c756b6d6d6c52766b796c7588685354a2635a795a795a795a7900766b796c756b6d6d6c51766b796c7588685a795a795a795a7953766b796c756b6d6d6c54766b796c7587645479768b567a757171557a75685a795a795a795a7952766b796c756b6d6d6c53766b796c7587645479768b567a757171557a75685a795a795a795a7951766b796c756b6d6d6c52766b796c7587645479768b567a757171557a75685a795a795a795a7900766b796c756b6d6d6c51766b796c7587645479768b567a757171557a75680055799f635a795a795a795a7953766b796c756b6d6d6c54766b796c758791695a795a795a795a7953766b796c756b6d6d6c827701209d675a795a795a795a7953766b796c756b6d6d6c54766b796c7588685155799f635a795a795a795a7952766b796c756b6d6d6c53766b796c758791695a795a795a795a7952766b796c756b6d6d6c827701209d675a795a795a795a7952766b796c756b6d6d6c53766b796c7588685255799f635a795a795a795a7951766b796c756b6d6d6c52766b796c758791695a795a795a795a7951766b796c756b6d6d6c827701209d675a795a795a795a7951766b796c756b6d6d6c52766b796c7588685355799f635a795a795a795a7900766b796c756b6d6d6c51766b796c758791695a795a795a795a7900766b796c756b6d6d6c827701209d675a795a795a795a7900766b796c756b6d6d6c51766b796c758868547900a0694f00000000000000000000000000011a79011479517f75007f7781011679517f75007f77518763516700680053799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79006e8b0120957f75780120957f77777788015a766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79006e8b0120957f75780120957f777777015b766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476015b766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479527f75517f7781011679527f75517f77518763516700685153799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79516e8b0120957f75780120957f777777880158766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79516e8b0120957f75780120957f7777770159766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760159766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479537f75527f7781011679537f75527f77518763516700685253799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79526e8b0120957f75780120957f777777880156766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79526e8b0120957f75780120957f7777770157766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760157766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479547f75537f7781011679547f75537f77518763516700685353799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79536e8b0120957f75780120957f777777880154766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79536e8b0120957f75780120957f7777770155766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760155766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479557f75547f7781011679557f75547f77518763516700685453799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79546e8b0120957f75780120957f777777880152766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79546e8b0120957f75780120957f7777770153766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760153766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479567f75557f7781011679567f75557f77518763516700685553799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79556e8b0120957f75780120957f777777880150766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79556e8b0120957f75780120957f7777770151766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760151766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479577f75567f7781011679577f75567f77518763516700685653799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79566e8b0120957f75780120957f77777788014e766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79566e8b0120957f75780120957f777777014f766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014f766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479587f75577f7781011679587f75577f77518763516700685753799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79576e8b0120957f75780120957f77777788014c766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79576e8b0120957f75780120957f777777014d766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014d766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d011479597f75587f7781011679597f75587f77518763516700685853799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79586e8b0120957f75780120957f77777788014a766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79586e8b0120957f75780120957f777777014b766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a786476014b766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795a7f75597f77810116795a7f75597f77518763516700685953799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a79596e8b0120957f75780120957f777777880148766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a79596e8b0120957f75780120957f7777770149766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760149766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795b7f755a7f77810116795b7f755a7f77518763516700685a53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a795a6e8b0120957f75780120957f777777880146766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a795a6e8b0120957f75780120957f7777770147766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760147766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d0114795c7f755b7f77810116795c7f755b7f77518763516700685b53799f63780116799f69784f9e63011b79011b79011b79011b795456797600a26976549f69948c766b796c756b6d6d6c76012a795b6e8b0120957f75780120957f777777880144766b796c766b796c757876827d7701199c647601209c675168696d51787700a2696d012a795b6e8b0120957f75780120957f7777770145766b796c766b796c75788277528052797e78827752807e787e5279a95279a97ea97ea87777885279011279a0635279670111796801127a7501117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a01117a7864760145766b796c766b796c786d77a97e55797600a269765c9f6901127a7800876375786801127a52795187637552796801127a53795287637553796801127a54795387637554796801127a55795487637555796801127a56795587637556796801127a57795687637557796801127a58795787637558796801127a59795887637559796801127a5a79598763755a796801127a5b795a8763755b796801127a5c795b8763755c79685c7a7501117a01117a01117a01117a01117a01117a755479768b567a757171557a756875677691696867784f9d686d5e7900a2635e790114798c9c67006869013f7900a263013f795ca1670068690000000142799f63028900766b796c7877827700a0690172766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029a00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c016c766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750169766b796c75029a00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028900766b796c758277009d0171766b796c754f9d017d766b796c754f9d029500766b796c7500880165766b796c75009d68510142799f63028800766b796c7877827700a0690171766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029900766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c016b766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750168766b796c75029900766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028800766b796c758277009d0170766b796c754f9d017c766b796c754f9d029400766b796c7500880164766b796c75009d68520142799f63028700766b796c7877827700a0690170766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029800766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c016a766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750167766b796c75029800766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028700766b796c758277009d016f766b796c754f9d017b766b796c754f9d029300766b796c7500880163766b796c75009d68530142799f63028600766b796c7877827700a069016f766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029700766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0169766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750166766b796c75029700766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028600766b796c758277009d016e766b796c754f9d017a766b796c754f9d029200766b796c7500880162766b796c75009d68540142799f63028500766b796c7877827700a069016e766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029600766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0168766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750165766b796c75029600766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028500766b796c758277009d016d766b796c754f9d0179766b796c754f9d029100766b796c7500880161766b796c75009d68550142799f63028400766b796c7877827700a069016d766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029500766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0167766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750164766b796c75029500766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028400766b796c758277009d016c766b796c754f9d0178766b796c754f9d029000766b796c7500880160766b796c75009d68560142799f63028300766b796c7877827700a069016c766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029400766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0166766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750163766b796c75029400766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028300766b796c758277009d016b766b796c754f9d0177766b796c754f9d028f00766b796c750088015f766b796c75009d68570142799f63028200766b796c7877827700a069016b766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029300766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0165766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750162766b796c75029300766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028200766b796c758277009d016a766b796c754f9d0176766b796c754f9d028e00766b796c750088015e766b796c75009d68580142799f63028100766b796c7877827700a069016a766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029200766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0164766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750161766b796c75029200766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028100766b796c758277009d0169766b796c754f9d0175766b796c754f9d028d00766b796c750088015d766b796c75009d68590142799f63028000766b796c7877827700a0690169766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029100766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0163766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f750160766b796c75029100766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67028000766b796c758277009d0168766b796c754f9d0174766b796c754f9d028c00766b796c750088015c766b796c75009d685a0142799f63017f766b796c7877827700a0690168766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777029000766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0162766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f75015f766b796c75029000766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017f766b796c758277009d0167766b796c754f9d0173766b796c754f9d028b00766b796c750088015b766b796c75009d685b0142799f63017e766b796c7877827700a0690167766b796c78770118799f69764f9e63011d79011d79011d79011d795455797600a26976549f69948c766b796c756b6d6d6c02800055797600a269765c9f6994766b796c787700a269011356797600a269765c9f6994766b796c756f75a97e8855798b567a757171557a53796e8277528052797e78827752807e787e5279a95279a97ea97ea87777028f00766b796c75788855790121790121790121790121795459797600a26976549f69948c766b796c756b6d6d6c0161766b796c755379527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e567a757171557a55796d6d6778011e79011e79011e79011e7953766b796c756b6d6d6c87916978011e79011e79011e79011e7952766b796c756b6d6d6c87916978011e79011e79011e79011e7951766b796c756b6d6d6c87916978011e79011e79011e79011e7900766b796c756b6d6d6c8791696f75015e766b796c75028f00766b796c75527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c777e537a757b7b527975686d67017e766b796c758277009d0166766b796c754f9d0172766b796c754f9d028a00766b796c750088015a766b796c75009d68005279a263017d766b796c754f9d68515279a263017c766b796c754f9d68525279a263017b766b796c754f9d68535279a263017a766b796c754f9d68545279a2630179766b796c754f9d68555279a2630178766b796c754f9d68565279a2630177766b796c754f9d68575279a2630176766b796c754f9d68585279a2630175766b796c754f9d68595279a2630174766b796c754f9d685a5279a2630173766b796c754f9d685b5279a2630172766b796c754f9d68537952799d76aa013779876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c67597951876301167901177982778c7f75007f770125790125790125790125790125790125790125790125790125790125790125790125790125790125795d798277549d5c79827701209d5b79827701209d5a79827701209d597900a26958798277549d5779827701209d5679827701209d5579827701209d5479827701209d5379827701209d527900a2697800a26976519c6476529c6751686476539c67516864760281009c67516864760282009c67516864760283009c675168695d795d797e5c797e5b797e5a79767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c7e59797e58797e57797e56797e55797e54797e5379546e8b806e7c7f75007f6b6d6d6c7e5279546e8b806e7c7f75007f6b6d6d6c7e7854807e6b6d6d6d6d6d6d6d6ca85679ba630116795579ac670068695b79011f7978aa7888785878827d77527997009d6e7c966b6d6d6c775b79011e796f75aa527988765379012078827d77527997009d6e7c967777779d6d75011379011379011379011379011379011379011379012179011b79011b79011b79011b79011b79011b79011b7956798277528057797e567956795679567953766b796c756b6d6d6c827752807e567956795679567953766b796c756b6d6d6c7e567956795679567952766b796c756b6d6d6c827752807e567956795679567952766b796c756b6d6d6c7e567956795679567951766b796c756b6d6d6c827752807e567956795679567951766b796c756b6d6d6c7e567956795679567900766b796c756b6d6d6c827752807e567956795679567900766b796c756b6d6d6c7e5279827752807e52797e78827752807e787e5779a9577957795779577953766b796c756b6d6d6ca97e577957795779577952766b796c756b6d6d6ca97e577957795779577951766b796c756b6d6d6ca97e577957795779577900766b796c756b6d6d6ca97e5379a97e5279a97ea97ea86b6d6d6d6c770114797653798b0120957f7553790120957f775279886d75012d795779787676827701219d750376a91478a97e0288ac7e7778886d012e79012e79ad011c7900a063011d7901117960797e01147e787e0111797e5f797e77a8011d79011d79527982777882777801209d7601209d537900a2695379767600a2637609ffffffffffffffff00a16700686976586e8b806e7c7f75007f6b6d6d6d6c55797e53797e6b6d6d6c77670068aa012379876b6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6c7767006868"
@@ -12,24 +12,24 @@ import "../scrypt-ts-opcat/assets/smart-contract/builtin-libs/stateUtils.scrypt"
12
12
 
13
13
 
14
14
 
15
- contract _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4 {
15
+ contract _opcat_labs_cat_sdk_3_4_0__rs__CAT721Guard_12_12_4 {
16
16
  constructor(){}
17
- public function unlock(bytes[12] nextStateHashes, bytes[12] ownerAddrOrScriptHashes, int[12] outputLocalIds, int[12] nftScriptHashIndexes, int[12] outputSatoshis, _opcat_labs_cat_sdk_3_3_0__rs__CAT721State[12] cat721States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
- require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey));
17
+ public function unlock(bytes[12] nextStateHashes, bytes[12] ownerAddrOrScriptHashes, int[12] outputLocalIds, int[12] nftScriptHashIndexes, int[12] outputSatoshis, _opcat_labs_cat_sdk_3_4_0__rs__CAT721State[12] cat721States, int outputCount, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes, bytes __scrypt_ts_spentScriptHashes) {
18
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey));
19
19
 
20
- int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
20
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
21
21
 
22
- _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
22
+ _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentScripts(__scrypt_ts_spentScriptHashes, __scrypt_ts_shPreimage.hashSpentScriptHashes, __scrypt_ts_inputCount);
23
23
 
24
- _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
24
+ _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
25
25
 
26
- _opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
26
+ _opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
27
27
 
28
- _opcat_labs_scrypt_ts_opcat_3_3_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
28
+ _opcat_labs_scrypt_ts_opcat_3_4_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_4_0__rs__CAT721Guard_12_12_4.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
29
29
 
30
- _opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardStateLib.formalCheckState(__scrypt_ts_nextState, 12);
30
+ _opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardStateLib.formalCheckState(__scrypt_ts_nextState, 12);
31
31
  int inputNftTypes = 0;
32
- bytes[4] nftScriptPlaceholders = [_opcat_labs_cat_sdk_3_3_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_3_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_3_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_3_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
32
+ bytes[4] nftScriptPlaceholders = [_opcat_labs_cat_sdk_3_4_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FF, _opcat_labs_cat_sdk_3_4_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FE, _opcat_labs_cat_sdk_3_4_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FD, _opcat_labs_cat_sdk_3_4_0__rs__ConstantsLib.TOKEN_SCRIPT_HASH_PLACEHOLDER_FC];
33
33
  loop (4) : i {
34
34
  if(i >= 4) {
35
35
  require(__scrypt_ts_nextState.nftScriptHashes[(i)] == nftScriptPlaceholders[(i)]);
@@ -60,9 +60,9 @@ contract _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4 {
60
60
  require(nftScriptIndex < inputNftTypes);
61
61
  if(nftScriptIndex != -1) {
62
62
  bytes nftScriptHash = __scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)];
63
- require(nftScriptHash == _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
64
- _opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib.checkState(cat721States[(i)]);
65
- require(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib.stateHash(cat721States[(i)]));
63
+ require(nftScriptHash == _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.getSpentScriptHash(__scrypt_ts_spentScriptHashes, (i)));
64
+ _opcat_labs_cat_sdk_3_4_0__rs__CAT721StateLib.checkState(cat721States[(i)]);
65
+ require(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.getSpentDataHash(__scrypt_ts_spentDataHashes, (i)) == _opcat_labs_cat_sdk_3_4_0__rs__CAT721StateLib.stateHash(cat721States[(i)]));
66
66
  nftScriptIndexMax = nftScriptIndex > nftScriptIndexMax ? nftScriptIndex : nftScriptIndexMax;
67
67
  if(!burnMask) {
68
68
  nextNfts[(nextNftCount)] = nftScriptHash + hash160(pack(cat721States[(i)].localId));
@@ -91,14 +91,14 @@ contract _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4 {
91
91
  require(localId >= 0);
92
92
  require(nextNfts[(outputNftCount)] == nftScriptHash + hash160(pack(localId)));
93
93
  outputNftCount = outputNftCount + 1;
94
- bytes nftStateHash = _opcat_labs_cat_sdk_3_3_0__rs__CAT721StateLib.stateHash({ownerAddrOrScriptHash, localId});
94
+ bytes nftStateHash = _opcat_labs_cat_sdk_3_4_0__rs__CAT721StateLib.stateHash({ownerAddrOrScriptHash, localId});
95
95
  require(nextStateHashes[(i)] == nftStateHash);
96
- outputs += _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)], outputSatoshis[(i)], nftStateHash);
96
+ outputs += _opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils.buildDataOutput(__scrypt_ts_nextState.nftScriptHashes[(nftScriptIndex)], outputSatoshis[(i)], nftStateHash);
97
97
  } else {
98
98
  loop (4) : j {
99
99
  require(ownerAddrOrScriptHash != __scrypt_ts_nextState.nftScriptHashes[j]);
100
100
  }
101
- outputs += _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[(i)], nextStateHashes[(i)]);
101
+ outputs += _opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils.buildDataOutput(ownerAddrOrScriptHash, outputSatoshis[(i)], nextStateHashes[(i)]);
102
102
  }
103
103
  } else {
104
104
  require(len(ownerAddrOrScriptHashes[(i)]) == 0);
@@ -116,26 +116,26 @@ contract _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4 {
116
116
  require(nextNftCount == outputNftCount);
117
117
  require(hash256(outputs) == __scrypt_ts_shPreimage.hashOutputs);
118
118
  }
119
- public function destroy(Sig userSig, PubKey userPubKey, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ChangeInfo __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes) {
120
- require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.pubKey));
119
+ public function destroy(Sig userSig, PubKey userPubKey, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__SHPreimage __scrypt_ts_shPreimage, Sig __scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ChangeInfo __scrypt_ts_changeInfo, _opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_curState, bytes __scrypt_ts_spentAmounts, bytes __scrypt_ts_spentDataHashes) {
120
+ require(checkDataSig(Sig(__scrypt_ts_preimageSig[0 : len(__scrypt_ts_preimageSig) - 1]), sha256(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.serializeSHPreimage(__scrypt_ts_shPreimage)), _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey) && checkSig(__scrypt_ts_preimageSig, _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.pubKey));
121
121
 
122
- int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
122
+ int __scrypt_ts_inputCount = _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentAmounts(__scrypt_ts_spentAmounts, __scrypt_ts_shPreimage.hashSpentAmounts);
123
123
 
124
- _opcat_labs_scrypt_ts_opcat_3_3_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
124
+ _opcat_labs_scrypt_ts_opcat_3_4_0__rs__ContextUtils.checkSpentDataHashes(__scrypt_ts_spentDataHashes, __scrypt_ts_shPreimage.hashSpentDataHashes, __scrypt_ts_inputCount);
125
125
 
126
- _opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
126
+ _opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_nextState = __scrypt_ts_curState;
127
127
 
128
- _opcat_labs_scrypt_ts_opcat_3_3_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_3_0__rs__CAT721Guard_12_12_4.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
128
+ _opcat_labs_scrypt_ts_opcat_3_4_0__rs__StateUtils.checkInputState(__scrypt_ts_shPreimage.inputIndex, _opcat_labs_cat_sdk_3_4_0__rs__CAT721Guard_12_12_4.stateHash(__scrypt_ts_curState), __scrypt_ts_spentDataHashes);
129
129
 
130
- _opcat_labs_cat_sdk_3_3_0__rs__OwnerUtils.checkUserOwner(userPubKey, __scrypt_ts_nextState.deployerAddr);
130
+ _opcat_labs_cat_sdk_3_4_0__rs__OwnerUtils.checkUserOwner(userPubKey, __scrypt_ts_nextState.deployerAddr);
131
131
  require(checkSig(userSig, userPubKey));
132
132
  require(hash256(
133
- (__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildDataOutput(sha256(_opcat_labs_scrypt_ts_opcat_3_3_0__rs__TxUtils.buildP2PKHScript(__scrypt_ts_changeInfo.pubkeyhash)), __scrypt_ts_changeInfo.satoshis, __scrypt_ts_changeInfo.dataHash) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
133
+ (__scrypt_ts_changeInfo.satoshis > 0 ? _opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils.buildDataOutput(sha256(_opcat_labs_scrypt_ts_opcat_3_4_0__rs__TxUtils.buildP2PKHScript(__scrypt_ts_changeInfo.pubkeyhash)), __scrypt_ts_changeInfo.satoshis, __scrypt_ts_changeInfo.dataHash) : b'')) == __scrypt_ts_shPreimage.hashOutputs);
134
134
  }
135
- static function serializeState(_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
135
+ static function serializeState(_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
136
136
  return num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes));
137
137
  }
138
- static function stateHash(_opcat_labs_cat_sdk_3_3_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
138
+ static function stateHash(_opcat_labs_cat_sdk_3_4_0__rs__CAT721GuardConstState __scrypt_ts_curState): bytes {
139
139
  return sha256(num2bin(len(__scrypt_ts_curState.deployerAddr), 2) + __scrypt_ts_curState.deployerAddr + num2bin(len(__scrypt_ts_curState.nftScriptHashes[0]), 2) + __scrypt_ts_curState.nftScriptHashes[0] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[1]), 2) + __scrypt_ts_curState.nftScriptHashes[1] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[2]), 2) + __scrypt_ts_curState.nftScriptHashes[2] + num2bin(len(__scrypt_ts_curState.nftScriptHashes[3]), 2) + __scrypt_ts_curState.nftScriptHashes[3] + num2bin(len(__scrypt_ts_curState.nftBurnMasks), 2) + __scrypt_ts_curState.nftBurnMasks + num2bin(len(__scrypt_ts_curState.nftScriptIndexes), 2) + __scrypt_ts_curState.nftScriptIndexes + hash160(hash160(__scrypt_ts_curState.deployerAddr) + hash160(__scrypt_ts_curState.nftScriptHashes[0]) + hash160(__scrypt_ts_curState.nftScriptHashes[1]) + hash160(__scrypt_ts_curState.nftScriptHashes[2]) + hash160(__scrypt_ts_curState.nftScriptHashes[3]) + hash160(__scrypt_ts_curState.nftBurnMasks) + hash160(__scrypt_ts_curState.nftScriptIndexes)));
140
140
  }
141
141
  }