BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Mainnet
  • /
  • Emergents TCG Pack Sales
operations (863)Storage Code Interact Tokens Metadata Fork Statistics Details
Latest
​x
699
1312
 
1
parameter (or
2
            (or
3
              (or %admin_action
4
                (or
5
                  (or (or (list %add_to_accesslist address) (nat %cancel_sale))
6
                      (or (pair %confirm_mint address nat)
7
                          (address %confirm_token_admin)))
8
                  (or
9
                    (or
10
                      (pair %create_sale (mutez %price) (address %token_address)
11
                                         (nat %token_id_start)
12
                                         (nat %sale_supply)
13
                                         (nat %reserve_amount)
14
                                         (timestamp %start_time)
15
                                         (nat %mint_per_block)
16
                                         (timestamp %al_start_time)
17
                                         (int %al_duration)
18
                                         (nat %al_supply)
19
                                         (mutez %al_price)
20
                                         (address %recipient)
21
                                         (bytes %metadata_base_uri))
22
                      (pair %mint_reserve (pair address nat) nat))
23
                    (or
24
                      (pair %offchain_mint (pair %data (nat %sale_id) (nat %amount))
25
                                           (nat %nonce)
26
                                           (pair %permit (key %signerKey)
27
                                                         (signature %signature)))
28
                      (bool %pause))))
29
                (or
30
                  (or (list %remove_from_accesslist address)
31
                      (pair %revoke_mint address nat))
32
                  (or (address %set_admin)
33
                      (pair %update_sale (nat %sale_id) (mutez %price)
34
                                         (nat %sale_supply)
35
                                         (nat %reserve_amount)
36
                                         (timestamp %start_time)
37
                                         (timestamp %al_start_time)
38
                                         (int %al_duration)
39
                                         (nat %al_supply)
40
                                         (mutez %al_price)
41
                                         (address %recipient)
42
                                         (bytes %metadata_base_uri)))))
43
              (unit %confirm_admin))
44
            (pair %mint nat nat));
45
storage (pair (big_map %metadata string bytes) (nat %next_sale_id)
46
              (big_map %sales nat
47
                              (pair (mutez %price) (address %token_address)
48
                                    (nat %token_id_start)
49
                                    (nat %sale_supply)
50
                                    (nat %sold_amount)
51
                                    (nat %pending_mints)
52
                                    (nat %reserve_amount)
53
                                    (nat %reserve_minted)
54
                                    (timestamp %start_time)
55
                                    (nat %mint_per_block)
56
                                    (timestamp %al_start_time)
57
                                    (int %al_duration)
58
                                    (nat %al_supply)
59
                                    (mutez %al_price)
60
                                    (address %recipient)
61
                                    (bytes %metadata_base_uri)
62
                                    (set %minted nat)))
63
              (big_map %ledger (pair address nat)
64
                               (pair (nat %minted) (nat %last_block)
65
                                     (nat %minted_last_block)))
66
              (big_map %pending_mints (pair address nat)
67
                                      (pair (pair %data (nat %sale_id) (nat %amount))
68
                                            (bool %processed)))
69
              (big_map %accesslist address unit)
70
              (map %entropy nat bytes)
71
              (pair %admin (address %address) (option %pending_admin address)
72
                           (bool %paused)));
73
code { NIL operation ;
74
       LAMBDA
75
         (pair nat (big_map string bytes) nat
76
               (big_map nat
77
                        (pair mutez address nat nat nat nat nat nat timestamp nat
78
                              timestamp
79
                              int
80
                              nat
81
                              mutez
82
                              address
83
                              bytes
84
                              (set nat)))
85
               (big_map (pair address nat) (pair nat nat nat))
86
               (big_map (pair address nat) (pair (pair nat nat) bool))
87
               (big_map address unit)
88
               (map nat bytes)
89
               (pair address (option address) bool))
90
         (pair mutez address nat nat nat nat nat nat timestamp nat timestamp int nat
91
               mutez
92
               address
93
               bytes
94
               (set nat))
95
         { UNPAIR ; SWAP ; GET 5 ; SWAP ; GET ; IF_NONE { PUSH string "INVALID_SALE" ; FAILWITH } {} } ;
96
       LAMBDA
97
         (pair (pair address nat) (big_map string bytes) nat
98
               (big_map nat
99
                        (pair mutez address nat nat nat nat nat nat timestamp nat
100
                              timestamp
101
                              int
102
                              nat
103
                              mutez
104
                              address
105
                              bytes
106
                              (set nat)))
107
               (big_map (pair address nat) (pair nat nat nat))
108
               (big_map (pair address nat) (pair (pair nat nat) bool))
109
               (big_map address unit)
110
               (map nat bytes)
111
               (pair address (option address) bool))
112
         (pair (pair nat nat) bool)
113
         { UNPAIR ;
114
           UNPAIR ;
115
           DIG 2 ;
116
           GET 9 ;
117
           DUG 2 ;
118
           PAIR ;
119
           GET ;
120
           IF_NONE { PUSH string "INVALID_PENDING_MINT" ; FAILWITH } {} } ;
121
       LAMBDA
122
         (pair nat (big_map string bytes) nat
123
               (big_map nat
124
                        (pair mutez address nat nat nat nat nat nat timestamp nat
125
                              timestamp
126
                              int
127
                              nat
128
                              mutez
129
                              address
130
                              bytes
131
                              (set nat)))
132
               (big_map (pair address nat) (pair nat nat nat))
133
               (big_map (pair address nat) (pair (pair nat nat) bool))
134
               (big_map address unit)
135
               (map nat bytes)
136
               (pair address (option address) bool))
137
         bytes
138
         { UNPAIR ;
139
           SWAP ;
140
           GET 13 ;
141
           DUP 2 ;
142
           GET ;
143
           IF_NONE
144
             { PACK ; SENDER ; PACK ; NOW ; PACK ; CONCAT ; CONCAT ; BLAKE2B }
145
             { SWAP ; DROP } } ;
146
       LAMBDA
147
         (pair
148
           (lambda
149
             (pair nat (big_map string bytes) nat
150
                   (big_map nat
151
                            (pair mutez address nat nat nat nat nat nat timestamp nat
152
                                  timestamp
153
                                  int
154
                                  nat
155
                                  mutez
156
                                  address
157
                                  bytes
158
                                  (set nat)))
159
                   (big_map (pair address nat) (pair nat nat nat))
160
                   (big_map (pair address nat) (pair (pair nat nat) bool))
161
                   (big_map address unit)
162
                   (map nat bytes)
163
                   (pair address (option address) bool))
164
             bytes)
165
           (pair
166
             (pair
167
               (pair nat mutez address nat nat nat nat nat nat timestamp nat timestamp
168
                     int
169
                     nat
170
                     mutez
171
                     address
172
                     bytes
173
                     (set nat))
174
               address
175
               nat)
176
             (big_map string bytes)
177
             nat
178
             (big_map nat
179
                      (pair mutez address nat nat nat nat nat nat timestamp nat
180
                            timestamp
181
                            int
182
                            nat
183
                            mutez
184
                            address
185
                            bytes
186
                            (set nat)))
187
             (big_map (pair address nat) (pair nat nat nat))
188
             (big_map (pair address nat) (pair (pair nat nat) bool))
189
             (big_map address unit)
190
             (map nat bytes)
191
             (pair address (option address) bool)))
192
         (pair (list operation) (big_map string bytes) nat
193
               (big_map nat
194
                        (pair mutez address nat nat nat nat nat nat timestamp nat
195
                              timestamp
196
                              int
197
                              nat
198
                              mutez
199
                              address
200
                              bytes
201
                              (set nat)))
202
               (big_map (pair address nat) (pair nat nat nat))
203
               (big_map (pair address nat) (pair (pair nat nat) bool))
204
               (big_map address unit)
205
               (map nat bytes)
206
               (pair address (option address) bool))
207
         { UNPAIR ;
208
           SWAP ;
209
           UNPAIR ;
210
           UNPAIR ;
211
           UNPAIR ;
212
           DIG 2 ;
213
           UNPAIR ;
214
           PUSH int 1 ;
215
           DIG 4 ;
216
           DIG 5 ;
217
           NIL (pair (pair nat (map string bytes)) address) ;
218
           PAIR ;
219
           PAIR ;
220
           PAIR ;
221
           LEFT (pair
222
                  (pair
223
                    (pair (list (pair (pair nat (map string bytes)) address))
224
                          (big_map string bytes)
225
                          nat
226
                          (big_map nat
227
                                   (pair mutez address nat nat nat nat nat nat timestamp
228
                                         nat
229
                                         timestamp
230
                                         int
231
                                         nat
232
                                         mutez
233
                                         address
234
                                         bytes
235
                                         (set nat)))
236
                          (big_map (pair address nat) (pair nat nat nat))
237
                          (big_map (pair address nat) (pair (pair nat nat) bool))
238
                          (big_map address unit)
239
                          (map nat bytes)
240
                          (pair address (option address) bool))
241
                    mutez
242
                    address
243
                    nat
244
                    nat
245
                    nat
246
                    nat
247
                    nat
248
                    nat
249
                    timestamp
250
                    nat
251
                    timestamp
252
                    int
253
                    nat
254
                    mutez
255
                    address
256
                    bytes
257
                    (set nat))
258
                  unit) ;
259
           LOOP_LEFT { UNPAIR ;
260
                       UNPAIR ;
261
                       UNPAIR ;
262
                       DUP 6 ;
263
                       INT ;
264
                       DUP 5 ;
265
                       COMPARE ;
266
                       LE ;
267
                       IF
268
                         { DUP 3 ;
269
                           GET 32 ;
270
                           DUP 4 ;
271
                           GET 5 ;
272
                           INT ;
273
                           DUP 2 ;
274
                           EMPTY_MAP nat nat ;
275
                           PUSH nat 0 ;
276
                           PAIR ;
277
                           PAIR ;
278
                           PAIR ;
279
                           LEFT (pair (pair nat (map nat nat)) unit) ;
280
                           LOOP_LEFT { UNPAIR ;
281
                                       UNPAIR ;
282
                                       UNPAIR ;
283
                                       PUSH nat 1 ;
284
                                       DUP 9 ;
285
                                       GET 7 ;
286
                                       DUP 10 ;
287
                                       GET 5 ;
288
                                       ADD ;
289
                                       SUB ;
290
                                       DUP 5 ;
291
                                       COMPARE ;
292
                                       LE ;
293
                                       IF
294
                                         { DUP 4 ;
295
                                           ABS ;
296
                                           PUSH bool False ;
297
                                           DUP 5 ;
298
                                           DUP 3 ;
299
                                           MEM ;
300
                                           COMPARE ;
301
                                           EQ ;
302
                                           IF
303
                                             { PUSH nat 1 ;
304
                                               DUP 3 ;
305
                                               ADD ;
306
                                               UNIT ;
307
                                               DIG 4 ;
308
                                               DIG 3 ;
309
                                               DIG 4 ;
310
                                               SWAP ;
311
                                               SOME ;
312
                                               SWAP ;
313
                                               UPDATE }
314
                                             { DROP ; UNIT ; DIG 2 } ;
315
                                           DIG 2 ;
316
                                           PAIR ;
317
                                           SWAP ;
318
                                           DROP ;
319
                                           UNPAIR ;
320
                                           PUSH int 1 ;
321
                                           DIG 4 ;
322
                                           ADD ;
323
                                           DUG 3 ;
324
                                           PAIR ;
325
                                           PAIR ;
326
                                           PAIR ;
327
                                           LEFT (pair (pair nat (map nat nat)) unit) }
328
                                         { DIG 2 ;
329
                                           DIG 3 ;
330
                                           DROP 2 ;
331
                                           UNIT ;
332
                                           DUG 2 ;
333
                                           PAIR ;
334
                                           PAIR ;
335
                                           RIGHT (pair
336
                                                   (pair (pair nat (map nat nat))
337
                                                         (set nat))
338
                                                   int) } } ;
339
                           CAR ;
340
                           CDR ;
341
                           DUP ;
342
                           SIZE ;
343
                           DUP 5 ;
344
                           PUSH nat 2 ;
345
                           PAIR ;
346
                           DUP 12 ;
347
                           SWAP ;
348
                           EXEC ;
349
                           DUP 6 ;
350
                           PUSH nat 1 ;
351
                           PAIR ;
352
                           DUP 13 ;
353
                           SWAP ;
354
                           EXEC ;
355
                           DUP 7 ;
356
                           PUSH nat 0 ;
357
                           PAIR ;
358
                           DUP 14 ;
359
                           SWAP ;
360
                           EXEC ;
361
                           CONCAT ;
362
                           CONCAT ;
363
                           BLAKE2B ;
364
                           PUSH nat 8 ;
365
                           PUSH nat 0 ;
366
                           SLICE ;
367
                           IF_NONE { PUSH string "SLICE" ; FAILWITH } {} ;
368
                           { DUP ;
369
                             SIZE ;
370
                             PUSH int 2 ;
371
                             PUSH int 1 ;
372
                             DUP 3 ;
373
                             SUB ;
374
                             MUL ;
375
                             PUSH nat 0 ;
376
                             PUSH int 0 ;
377
                             PAIR ;
378
                             PAIR ;
379
                             LEFT (pair (pair int nat) int) ;
380
                             LOOP_LEFT { DUP ;
381
                                         CAR ;
382
                                         CDR ;
383
                                         SWAP ;
384
                                         DUP ;
385
                                         DUG 2 ;
386
                                         CDR ;
387
                                         DUP 4 ;
388
                                         DUP 3 ;
389
                                         COMPARE ;
390
                                         LT ;
391
                                         IF
392
                                           { DUP ;
393
                                             PUSH int 16 ;
394
                                             PUSH int 0 ;
395
                                             PUSH int 1 ;
396
                                             PAIR ;
397
                                             LEFT (pair int int) ;
398
                                             LOOP_LEFT { DUP ;
399
                                                         CDR ;
400
                                                         DUP 4 ;
401
                                                         SWAP ;
402
                                                         DUP ;
403
                                                         DUG 2 ;
404
                                                         COMPARE ;
405
                                                         LT ;
406
                                                         IF
407
                                                           { DUP 3 ;
408
                                                             DIG 2 ;
409
                                                             CAR ;
410
                                                             MUL ;
411
                                                             PUSH int 1 ;
412
                                                             DIG 2 ;
413
                                                             ADD ;
414
                                                             SWAP ;
415
                                                             PAIR ;
416
                                                             LEFT (pair int int) }
417
                                                           { DROP ; RIGHT (pair int int) } } ;
418
                                             SWAP ;
419
                                             DIG 2 ;
420
                                             DROP 2 ;
421
                                             CAR ;
422
                                             EMPTY_MAP bytes int ;
423
                                             PUSH int 255 ;
424
                                             SOME ;
425
                                             PUSH bytes 0xff ;
426
                                             UPDATE ;
427
                                             PUSH int 254 ;
428
                                             SOME ;
429
                                             PUSH bytes 0xfe ;
430
                                             UPDATE ;
431
                                             PUSH int 253 ;
432
                                             SOME ;
433
                                             PUSH bytes 0xfd ;
434
                                             UPDATE ;
435
                                             PUSH int 252 ;
436
                                             SOME ;
437
                                             PUSH bytes 0xfc ;
438
                                             UPDATE ;
439
                                             PUSH int 251 ;
440
                                             SOME ;
441
                                             PUSH bytes 0xfb ;
442
                                             UPDATE ;
443
                                             PUSH int 250 ;
444
                                             SOME ;
445
                                             PUSH bytes 0xfa ;
446
                                             UPDATE ;
447
                                             PUSH int 249 ;
448
                                             SOME ;
449
                                             PUSH bytes 0xf9 ;
450
                                             UPDATE ;
451
                                             PUSH int 248 ;
452
                                             SOME ;
453
                                             PUSH bytes 0xf8 ;
454
                                             UPDATE ;
455
                                             PUSH int 247 ;
456
                                             SOME ;
457
                                             PUSH bytes 0xf7 ;
458
                                             UPDATE ;
459
                                             PUSH int 246 ;
460
                                             SOME ;
461
                                             PUSH bytes 0xf6 ;
462
                                             UPDATE ;
463
                                             PUSH int 245 ;
464
                                             SOME ;
465
                                             PUSH bytes 0xf5 ;
466
                                             UPDATE ;
467
                                             PUSH int 244 ;
468
                                             SOME ;
469
                                             PUSH bytes 0xf4 ;
470
                                             UPDATE ;
471
                                             PUSH int 243 ;
472
                                             SOME ;
473
                                             PUSH bytes 0xf3 ;
474
                                             UPDATE ;
475
                                             PUSH int 242 ;
476
                                             SOME ;
477
                                             PUSH bytes 0xf2 ;
478
                                             UPDATE ;
479
                                             PUSH int 241 ;
480
                                             SOME ;
481
                                             PUSH bytes 0xf1 ;
482
                                             UPDATE ;
483
                                             PUSH int 240 ;
484
                                             SOME ;
485
                                             PUSH bytes 0xf0 ;
486
                                             UPDATE ;
487
                                             PUSH int 239 ;
488
                                             SOME ;
489
                                             PUSH bytes 0xef ;
490
                                             UPDATE ;
491
                                             PUSH int 238 ;
492
                                             SOME ;
493
                                             PUSH bytes 0xee ;
494
                                             UPDATE ;
495
                                             PUSH int 237 ;
496
                                             SOME ;
497
                                             PUSH bytes 0xed ;
498
                                             UPDATE ;
499
                                             PUSH int 236 ;
500
                                             SOME ;
501
                                             PUSH bytes 0xec ;
502
                                             UPDATE ;
503
                                             PUSH int 235 ;
504
                                             SOME ;
505
                                             PUSH bytes 0xeb ;
506
                                             UPDATE ;
507
                                             PUSH int 234 ;
508
                                             SOME ;
509
                                             PUSH bytes 0xea ;
510
                                             UPDATE ;
511
                                             PUSH int 233 ;
512
                                             SOME ;
513
                                             PUSH bytes 0xe9 ;
514
                                             UPDATE ;
515
                                             PUSH int 232 ;
516
                                             SOME ;
517
                                             PUSH bytes 0xe8 ;
518
                                             UPDATE ;
519
                                             PUSH int 231 ;
520
                                             SOME ;
521
                                             PUSH bytes 0xe7 ;
522
                                             UPDATE ;
523
                                             PUSH int 230 ;
524
                                             SOME ;
525
                                             PUSH bytes 0xe6 ;
526
                                             UPDATE ;
527
                                             PUSH int 229 ;
528
                                             SOME ;
529
                                             PUSH bytes 0xe5 ;
530
                                             UPDATE ;
531
                                             PUSH int 228 ;
532
                                             SOME ;
533
                                             PUSH bytes 0xe4 ;
534
                                             UPDATE ;
535
                                             PUSH int 227 ;
536
                                             SOME ;
537
                                             PUSH bytes 0xe3 ;
538
                                             UPDATE ;
539
                                             PUSH int 226 ;
540
                                             SOME ;
541
                                             PUSH bytes 0xe2 ;
542
                                             UPDATE ;
543
                                             PUSH int 225 ;
544
                                             SOME ;
545
                                             PUSH bytes 0xe1 ;
546
                                             UPDATE ;
547
                                             PUSH int 224 ;
548
                                             SOME ;
549
                                             PUSH bytes 0xe0 ;
550
                                             UPDATE ;
551
                                             PUSH int 223 ;
552
                                             SOME ;
553
                                             PUSH bytes 0xdf ;
554
                                             UPDATE ;
555
                                             PUSH int 222 ;
556
                                             SOME ;
557
                                             PUSH bytes 0xde ;
558
                                             UPDATE ;
559
                                             PUSH int 221 ;
560
                                             SOME ;
561
                                             PUSH bytes 0xdd ;
562
                                             UPDATE ;
563
                                             PUSH int 220 ;
564
                                             SOME ;
565
                                             PUSH bytes 0xdc ;
566
                                             UPDATE ;
567
                                             PUSH int 219 ;
568
                                             SOME ;
569
                                             PUSH bytes 0xdb ;
570
                                             UPDATE ;
571
                                             PUSH int 218 ;
572
                                             SOME ;
573
                                             PUSH bytes 0xda ;
574
                                             UPDATE ;
575
                                             PUSH int 217 ;
576
                                             SOME ;
577
                                             PUSH bytes 0xd9 ;
578
                                             UPDATE ;
579
                                             PUSH int 216 ;
580
                                             SOME ;
581
                                             PUSH bytes 0xd8 ;
582
                                             UPDATE ;
583
                                             PUSH int 215 ;
584
                                             SOME ;
585
                                             PUSH bytes 0xd7 ;
586
                                             UPDATE ;
587
                                             PUSH int 214 ;
588
                                             SOME ;
589
                                             PUSH bytes 0xd6 ;
590
                                             UPDATE ;
591
                                             PUSH int 213 ;
592
                                             SOME ;
593
                                             PUSH bytes 0xd5 ;
594
                                             UPDATE ;
595
                                             PUSH int 212 ;
596
                                             SOME ;
597
                                             PUSH bytes 0xd4 ;
598
                                             UPDATE ;
599
                                             PUSH int 211 ;
600
                                             SOME ;
601
                                             PUSH bytes 0xd3 ;
602
                                             UPDATE ;
603
                                             PUSH int 210 ;
604
                                             SOME ;
605
                                             PUSH bytes 0xd2 ;
606
                                             UPDATE ;
607
                                             PUSH int 209 ;
608
                                             SOME ;
609
                                             PUSH bytes 0xd1 ;
610
                                             UPDATE ;
611
                                             PUSH int 208 ;
612
                                             SOME ;
613
                                             PUSH bytes 0xd0 ;
614
                                             UPDATE ;
615
                                             PUSH int 207 ;
616
                                             SOME ;
617
                                             PUSH bytes 0xcf ;
618
                                             UPDATE ;
619
                                             PUSH int 206 ;
620
                                             SOME ;
621
                                             PUSH bytes 0xce ;
622
                                             UPDATE ;
623
                                             PUSH int 205 ;
624
                                             SOME ;
625
                                             PUSH bytes 0xcd ;
626
                                             UPDATE ;
627
                                             PUSH int 204 ;
628
                                             SOME ;
629
                                             PUSH bytes 0xcc ;
630
                                             UPDATE ;
631
                                             PUSH int 203 ;
632
                                             SOME ;
633
                                             PUSH bytes 0xcb ;
634
                                             UPDATE ;
635
                                             PUSH int 202 ;
636
                                             SOME ;
637
                                             PUSH bytes 0xca ;
638
                                             UPDATE ;
639
                                             PUSH int 201 ;
640
                                             SOME ;
641
                                             PUSH bytes 0xc9 ;
642
                                             UPDATE ;
643
                                             PUSH int 200 ;
644
                                             SOME ;
645
                                             PUSH bytes 0xc8 ;
646
                                             UPDATE ;
647
                                             PUSH int 199 ;
648
                                             SOME ;
649
                                             PUSH bytes 0xc7 ;
650
                                             UPDATE ;
651
                                             PUSH int 198 ;
652
                                             SOME ;
653
                                             PUSH bytes 0xc6 ;
654
                                             UPDATE ;
655
                                             PUSH int 197 ;
656
                                             SOME ;
657
                                             PUSH bytes 0xc5 ;
658
                                             UPDATE ;
659
                                             PUSH int 196 ;
660
                                             SOME ;
661
                                             PUSH bytes 0xc4 ;
662
                                             UPDATE ;
663
                                             PUSH int 195 ;
664
                                             SOME ;
665
                                             PUSH bytes 0xc3 ;
666
                                             UPDATE ;
667
                                             PUSH int 194 ;
668
                                             SOME ;
669
                                             PUSH bytes 0xc2 ;
670
                                             UPDATE ;
671
                                             PUSH int 193 ;
672
                                             SOME ;
673
                                             PUSH bytes 0xc1 ;
674
                                             UPDATE ;
675
                                             PUSH int 192 ;
676
                                             SOME ;
677
                                             PUSH bytes 0xc0 ;
678
                                             UPDATE ;
679
                                             PUSH int 191 ;
680
                                             SOME ;
681
                                             PUSH bytes 0xbf ;
682
                                             UPDATE ;
683
                                             PUSH int 190 ;
684
                                             SOME ;
685
                                             PUSH bytes 0xbe ;
686
                                             UPDATE ;
687
                                             PUSH int 189 ;
688
                                             SOME ;
689
                                             PUSH bytes 0xbd ;
690
                                             UPDATE ;
691
                                             PUSH int 188 ;
692
                                             SOME ;
693
                                             PUSH bytes 0xbc ;
694
                                             UPDATE ;
695
                                             PUSH int 187 ;
696
                                             SOME ;
697
                                             PUSH bytes 0xbb ;
698
                                             UPDATE ;
699
                                             PUSH int 186 ;
700
                                             SOME ;
701
                                             PUSH bytes 0xba ;
702
                                             UPDATE ;
703
                                             PUSH int 185 ;
704
                                             SOME ;
705
                                             PUSH bytes 0xb9 ;
706
                                             UPDATE ;
707
                                             PUSH int 184 ;
708
                                             SOME ;
709
                                             PUSH bytes 0xb8 ;
710
                                             UPDATE ;
711
                                             PUSH int 183 ;
712
                                             SOME ;
713
                                             PUSH bytes 0xb7 ;
714
                                             UPDATE ;
715
                                             PUSH int 182 ;
716
                                             SOME ;
717
                                             PUSH bytes 0xb6 ;
718
                                             UPDATE ;
719
                                             PUSH int 181 ;
720
                                             SOME ;
721
                                             PUSH bytes 0xb5 ;
722
                                             UPDATE ;
723
                                             PUSH int 180 ;
724
                                             SOME ;
725
                                             PUSH bytes 0xb4 ;
726
                                             UPDATE ;
727
                                             PUSH int 179 ;
728
                                             SOME ;
729
                                             PUSH bytes 0xb3 ;
730
                                             UPDATE ;
731
                                             PUSH int 178 ;
732
                                             SOME ;
733
                                             PUSH bytes 0xb2 ;
734
                                             UPDATE ;
735
                                             PUSH int 177 ;
736
                                             SOME ;
737
                                             PUSH bytes 0xb1 ;
738
                                             UPDATE ;
739
                                             PUSH int 176 ;
740
                                             SOME ;
741
                                             PUSH bytes 0xb0 ;
742
                                             UPDATE ;
743
                                             PUSH int 175 ;
744
                                             SOME ;
745
                                             PUSH bytes 0xaf ;
746
                                             UPDATE ;
747
                                             PUSH int 174 ;
748
                                             SOME ;
749
                                             PUSH bytes 0xae ;
750
                                             UPDATE ;
751
                                             PUSH int 173 ;
752
                                             SOME ;
753
                                             PUSH bytes 0xad ;
754
                                             UPDATE ;
755
                                             PUSH int 172 ;
756
                                             SOME ;
757
                                             PUSH bytes 0xac ;
758
                                             UPDATE ;
759
                                             PUSH int 171 ;
760
                                             SOME ;
761
                                             PUSH bytes 0xab ;
762
                                             UPDATE ;
763
                                             PUSH int 170 ;
764
                                             SOME ;
765
                                             PUSH bytes 0xaa ;
766
                                             UPDATE ;
767
                                             PUSH int 169 ;
768
                                             SOME ;
769
                                             PUSH bytes 0xa9 ;
770
                                             UPDATE ;
771
                                             PUSH int 168 ;
772
                                             SOME ;
773
                                             PUSH bytes 0xa8 ;
774
                                             UPDATE ;
775
                                             PUSH int 167 ;
776
                                             SOME ;
777
                                             PUSH bytes 0xa7 ;
778
                                             UPDATE ;
779
                                             PUSH int 166 ;
780
                                             SOME ;
781
                                             PUSH bytes 0xa6 ;
782
                                             UPDATE ;
783
                                             PUSH int 165 ;
784
                                             SOME ;
785
                                             PUSH bytes 0xa5 ;
786
                                             UPDATE ;
787
                                             PUSH int 164 ;
788
                                             SOME ;
789
                                             PUSH bytes 0xa4 ;
790
                                             UPDATE ;
791
                                             PUSH int 163 ;
792
                                             SOME ;
793
                                             PUSH bytes 0xa3 ;
794
                                             UPDATE ;
795
                                             PUSH int 162 ;
796
                                             SOME ;
797
                                             PUSH bytes 0xa2 ;
798
                                             UPDATE ;
799
                                             PUSH int 161 ;
800
                                             SOME ;
801
                                             PUSH bytes 0xa1 ;
802
                                             UPDATE ;
803
                                             PUSH int 160 ;
804
                                             SOME ;
805
                                             PUSH bytes 0xa0 ;
806
                                             UPDATE ;
807
                                             PUSH int 159 ;
808
                                             SOME ;
809
                                             PUSH bytes 0x9f ;
810
                                             UPDATE ;
811
                                             PUSH int 158 ;
812
                                             SOME ;
813
                                             PUSH bytes 0x9e ;
814
                                             UPDATE ;
815
                                             PUSH int 157 ;
816
                                             SOME ;
817
                                             PUSH bytes 0x9d ;
818
                                             UPDATE ;
819
                                             PUSH int 156 ;
820
                                             SOME ;
821
                                             PUSH bytes 0x9c ;
822
                                             UPDATE ;
823
                                             PUSH int 155 ;
824
                                             SOME ;
825
                                             PUSH bytes 0x9b ;
826
                                             UPDATE ;
827
                                             PUSH int 154 ;
828
                                             SOME ;
829
                                             PUSH bytes 0x9a ;
830
                                             UPDATE ;
831
                                             PUSH int 153 ;
832
                                             SOME ;
833
                                             PUSH bytes 0x99 ;
834
                                             UPDATE ;
835
                                             PUSH int 152 ;
836
                                             SOME ;
837
                                             PUSH bytes 0x98 ;
838
                                             UPDATE ;
839
                                             PUSH int 151 ;
840
                                             SOME ;
841
                                             PUSH bytes 0x97 ;
842
                                             UPDATE ;
843
                                             PUSH int 150 ;
844
                                             SOME ;
845
                                             PUSH bytes 0x96 ;
846
                                             UPDATE ;
847
                                             PUSH int 149 ;
848
                                             SOME ;
849
                                             PUSH bytes 0x95 ;
850
                                             UPDATE ;
851
                                             PUSH int 148 ;
852
                                             SOME ;
853
                                             PUSH bytes 0x94 ;
854
                                             UPDATE ;
855
                                             PUSH int 147 ;
856
                                             SOME ;
857
                                             PUSH bytes 0x93 ;
858
                                             UPDATE ;
859
                                             PUSH int 146 ;
860
                                             SOME ;
861
                                             PUSH bytes 0x92 ;
862
                                             UPDATE ;
863
                                             PUSH int 145 ;
864
                                             SOME ;
865
                                             PUSH bytes 0x91 ;
866
                                             UPDATE ;
867
                                             PUSH int 144 ;
868
                                             SOME ;
869
                                             PUSH bytes 0x90 ;
870
                                             UPDATE ;
871
                                             PUSH int 143 ;
872
                                             SOME ;
873
                                             PUSH bytes 0x8f ;
874
                                             UPDATE ;
875
                                             PUSH int 142 ;
876
                                             SOME ;
877
                                             PUSH bytes 0x8e ;
878
                                             UPDATE ;
879
                                             PUSH int 141 ;
880
                                             SOME ;
881
                                             PUSH bytes 0x8d ;
882
                                             UPDATE ;
883
                                             PUSH int 140 ;
884
                                             SOME ;
885
                                             PUSH bytes 0x8c ;
886
                                             UPDATE ;
887
                                             PUSH int 139 ;
888
                                             SOME ;
889
                                             PUSH bytes 0x8b ;
890
                                             UPDATE ;
891
                                             PUSH int 138 ;
892
                                             SOME ;
893
                                             PUSH bytes 0x8a ;
894
                                             UPDATE ;
895
                                             PUSH int 137 ;
896
                                             SOME ;
897
                                             PUSH bytes 0x89 ;
898
                                             UPDATE ;
899
                                             PUSH int 136 ;
900
                                             SOME ;
901
                                             PUSH bytes 0x88 ;
902
                                             UPDATE ;
903
                                             PUSH int 135 ;
904
                                             SOME ;
905
                                             PUSH bytes 0x87 ;
906
                                             UPDATE ;
907
                                             PUSH int 134 ;
908
                                             SOME ;
909
                                             PUSH bytes 0x86 ;
910
                                             UPDATE ;
911
                                             PUSH int 133 ;
912
                                             SOME ;
913
                                             PUSH bytes 0x85 ;
914
                                             UPDATE ;
915
                                             PUSH int 132 ;
916
                                             SOME ;
917
                                             PUSH bytes 0x84 ;
918
                                             UPDATE ;
919
                                             PUSH int 131 ;
920
                                             SOME ;
921
                                             PUSH bytes 0x83 ;
922
                                             UPDATE ;
923
                                             PUSH int 130 ;
924
                                             SOME ;
925
                                             PUSH bytes 0x82 ;
926
                                             UPDATE ;
927
                                             PUSH int 129 ;
928
                                             SOME ;
929
                                             PUSH bytes 0x81 ;
930
                                             UPDATE ;
931
                                             PUSH int 128 ;
932
                                             SOME ;
933
                                             PUSH bytes 0x80 ;
934
                                             UPDATE ;
935
                                             PUSH int 127 ;
936
                                             SOME ;
937
                                             PUSH bytes 0x7f ;
938
                                             UPDATE ;
939
                                             PUSH int 126 ;
940
                                             SOME ;
941
                                             PUSH bytes 0x7e ;
942
                                             UPDATE ;
943
                                             PUSH int 125 ;
944
                                             SOME ;
945
                                             PUSH bytes 0x7d ;
946
                                             UPDATE ;
947
                                             PUSH int 124 ;
948
                                             SOME ;
949
                                             PUSH bytes 0x7c ;
950
                                             UPDATE ;
951
                                             PUSH int 123 ;
952
                                             SOME ;
953
                                             PUSH bytes 0x7b ;
954
                                             UPDATE ;
955
                                             PUSH int 122 ;
956
                                             SOME ;
957
                                             PUSH bytes 0x7a ;
958
                                             UPDATE ;
959
                                             PUSH int 121 ;
960
                                             SOME ;
961
                                             PUSH bytes 0x79 ;
962
                                             UPDATE ;
963
                                             PUSH int 120 ;
964
                                             SOME ;
965
                                             PUSH bytes 0x78 ;
966
                                             UPDATE ;
967
                                             PUSH int 119 ;
968
                                             SOME ;
969
                                             PUSH bytes 0x77 ;
970
                                             UPDATE ;
971
                                             PUSH int 118 ;
972
                                             SOME ;
973
                                             PUSH bytes 0x76 ;
974
                                             UPDATE ;
975
                                             PUSH int 117 ;
976
                                             SOME ;
977
                                             PUSH bytes 0x75 ;
978
                                             UPDATE ;
979
                                             PUSH int 116 ;
980
                                             SOME ;
981
                                             PUSH bytes 0x74 ;
982
                                             UPDATE ;
983
                                             PUSH int 115 ;
984
                                             SOME ;
985
                                             PUSH bytes 0x73 ;
986
                                             UPDATE ;
987
                                             PUSH int 114 ;
988
                                             SOME ;
989
                                             PUSH bytes 0x72 ;
990
                                             UPDATE ;
991
                                             PUSH int 113 ;
992
                                             SOME ;
993
                                             PUSH bytes 0x71 ;
994
                                             UPDATE ;
995
                                             PUSH int 112 ;
996
                                             SOME ;
997
                                             PUSH bytes 0x70 ;
998
                                             UPDATE ;
999
                                             PUSH int 111 ;
1000
                                             SOME ;
1001
                                             PUSH bytes 0x6f ;
1002
                                             UPDATE ;
1003
                                             PUSH int 110 ;
1004
                                             SOME ;
1005
                                             PUSH bytes 0x6e ;
1006
                                             UPDATE ;
1007
                                             PUSH int 109 ;
1008
                                             SOME ;
1009
                                             PUSH bytes 0x6d ;
1010
                                             UPDATE ;
1011
                                             PUSH int 108 ;
1012
                                             SOME ;
1013
                                             PUSH bytes 0x6c ;
1014
                                             UPDATE ;
1015
                                             PUSH int 107 ;
1016
                                             SOME ;
1017
                                             PUSH bytes 0x6b ;
1018
                                             UPDATE ;
1019
                                             PUSH int 106 ;
1020
                                             SOME ;
1021
                                             PUSH bytes 0x6a ;
1022
                                             UPDATE ;
1023
                                             PUSH int 105 ;
1024
                                             SOME ;
1025
                                             PUSH bytes 0x69 ;
1026
                                             UPDATE ;
1027
                                             PUSH int 104 ;
1028
                                             SOME ;
1029
                                             PUSH bytes 0x68 ;
1030
                                             UPDATE ;
1031
                                             PUSH int 103 ;
1032
                                             SOME ;
1033
                                             PUSH bytes 0x67 ;
1034
                                             UPDATE ;
1035
                                             PUSH int 102 ;
1036
                                             SOME ;
1037
                                             PUSH bytes 0x66 ;
1038
                                             UPDATE ;
1039
                                             PUSH int 101 ;
1040
                                             SOME ;
1041
                                             PUSH bytes 0x65 ;
1042
                                             UPDATE ;
1043
                                             PUSH int 100 ;
1044
                                             SOME ;
1045
                                             PUSH bytes 0x64 ;
1046
                                             UPDATE ;
1047
                                             PUSH int 99 ;
1048
                                             SOME ;
1049
                                             PUSH bytes 0x63 ;
1050
                                             UPDATE ;
1051
                                             PUSH int 98 ;
1052
                                             SOME ;
1053
                                             PUSH bytes 0x62 ;
1054
                                             UPDATE ;
1055
                                             PUSH int 97 ;
1056
                                             SOME ;
1057
                                             PUSH bytes 0x61 ;
1058
                                             UPDATE ;
1059
                                             PUSH int 96 ;
1060
                                             SOME ;
1061
                                             PUSH bytes 0x60 ;
1062
                                             UPDATE ;
1063
                                             PUSH int 95 ;
1064
                                             SOME ;
1065
                                             PUSH bytes 0x5f ;
1066
                                             UPDATE ;
1067
                                             PUSH int 94 ;
1068
                                             SOME ;
1069
                                             PUSH bytes 0x5e ;
1070
                                             UPDATE ;
1071
                                             PUSH int 93 ;
1072
                                             SOME ;
1073
                                             PUSH bytes 0x5d ;
1074
                                             UPDATE ;
1075
                                             PUSH int 92 ;
1076
                                             SOME ;
1077
                                             PUSH bytes 0x5c ;
1078
                                             UPDATE ;
1079
                                             PUSH int 91 ;
1080
                                             SOME ;
1081
                                             PUSH bytes 0x5b ;
1082
                                             UPDATE ;
1083
                                             PUSH int 90 ;
1084
                                             SOME ;
1085
                                             PUSH bytes 0x5a ;
1086
                                             UPDATE ;
1087
                                             PUSH int 89 ;
1088
                                             SOME ;
1089
                                             PUSH bytes 0x59 ;
1090
                                             UPDATE ;
1091
                                             PUSH int 88 ;
1092
                                             SOME ;
1093
                                             PUSH bytes 0x58 ;
1094
                                             UPDATE ;
1095
                                             PUSH int 87 ;
1096
                                             SOME ;
1097
                                             PUSH bytes 0x57 ;
1098
                                             UPDATE ;
1099
                                             PUSH int 86 ;
1100
                                             SOME ;
1101
                                             PUSH bytes 0x56 ;
1102
                                             UPDATE ;
1103
                                             PUSH int 85 ;
1104
                                             SOME ;
1105
                                             PUSH bytes 0x55 ;
1106
                                             UPDATE ;
1107
                                             PUSH int 84 ;
1108
                                             SOME ;
1109
                                             PUSH bytes 0x54 ;
1110
                                             UPDATE ;
1111
                                             PUSH int 83 ;
1112
                                             SOME ;
1113
                                             PUSH bytes 0x53 ;
1114
                                             UPDATE ;
1115
                                             PUSH int 82 ;
1116
                                             SOME ;
1117
                                             PUSH bytes 0x52 ;
1118
                                             UPDATE ;
1119
                                             PUSH int 81 ;
1120
                                             SOME ;
1121
                                             PUSH bytes 0x51 ;
1122
                                             UPDATE ;
1123
                                             PUSH int 80 ;
1124
                                             SOME ;
1125
                                             PUSH bytes 0x50 ;
1126
                                             UPDATE ;
1127
                                             PUSH int 79 ;
1128
                                             SOME ;
1129
                                             PUSH bytes 0x4f ;
1130
                                             UPDATE ;
1131
                                             PUSH int 78 ;
1132
                                             SOME ;
1133
                                             PUSH bytes 0x4e ;
1134
                                             UPDATE ;
1135
                                             PUSH int 77 ;
1136
                                             SOME ;
1137
                                             PUSH bytes 0x4d ;
1138
                                             UPDATE ;
1139
                                             PUSH int 76 ;
1140
                                             SOME ;
1141
                                             PUSH bytes 0x4c ;
1142
                                             UPDATE ;
1143
                                             PUSH int 75 ;
1144
                                             SOME ;
1145
                                             PUSH bytes 0x4b ;
1146
                                             UPDATE ;
1147
                                             PUSH int 74 ;
1148
                                             SOME ;
1149
                                             PUSH bytes 0x4a ;
1150
                                             UPDATE ;
1151
                                             PUSH int 73 ;
1152
                                             SOME ;
1153
                                             PUSH bytes 0x49 ;
1154
                                             UPDATE ;
1155
                                             PUSH int 72 ;
1156
                                             SOME ;
1157
                                             PUSH bytes 0x48 ;
1158
                                             UPDATE ;
1159
                                             PUSH int 71 ;
1160
                                             SOME ;
1161
                                             PUSH bytes 0x47 ;
1162
                                             UPDATE ;
1163
                                             PUSH int 70 ;
1164
                                             SOME ;
1165
                                             PUSH bytes 0x46 ;
1166
                                             UPDATE ;
1167
                                             PUSH int 69 ;
1168
                                             SOME ;
1169
                                             PUSH bytes 0x45 ;
1170
                                             UPDATE ;
1171
                                             PUSH int 68 ;
1172
                                             SOME ;
1173
                                             PUSH bytes 0x44 ;
1174
                                             UPDATE ;
1175
                                             PUSH int 67 ;
1176
                                             SOME ;
1177
                                             PUSH bytes 0x43 ;
1178
                                             UPDATE ;
1179
                                             PUSH int 66 ;
1180
                                             SOME ;
1181
                                             PUSH bytes 0x42 ;
1182
                                             UPDATE ;
1183
                                             PUSH int 65 ;
1184
                                             SOME ;
1185
                                             PUSH bytes 0x41 ;
1186
                                             UPDATE ;
1187
                                             PUSH int 64 ;
1188
                                             SOME ;
1189
                                             PUSH bytes 0x40 ;
1190
                                             UPDATE ;
1191
                                             PUSH int 63 ;
1192
                                             SOME ;
1193
                                             PUSH bytes 0x3f ;
1194
                                             UPDATE ;
1195
                                             PUSH int 62 ;
1196
                                             SOME ;
1197
                                             PUSH bytes 0x3e ;
1198
                                             UPDATE ;
1199
                                             PUSH int 61 ;
1200
                                             SOME ;
1201
                                             PUSH bytes 0x3d ;
1202
                                             UPDATE ;
1203
                                             PUSH int 60 ;
1204
                                             SOME ;
1205
                                             PUSH bytes 0x3c ;
1206
                                             UPDATE ;
1207
                                             PUSH int 59 ;
1208
                                             SOME ;
1209
                                             PUSH bytes 0x3b ;
1210
                                             UPDATE ;
1211
                                             PUSH int 58 ;
1212
                                             SOME ;
1213
                                             PUSH bytes 0x3a ;
1214
                                             UPDATE ;
1215
                                             PUSH int 57 ;
1216
                                             SOME ;
1217
                                             PUSH bytes 0x39 ;
1218
                                             UPDATE ;
1219
                                             PUSH int 56 ;
1220
                                             SOME ;
1221
                                             PUSH bytes 0x38 ;
1222
                                             UPDATE ;
1223
                                             PUSH int 55 ;
1224
                                             SOME ;
1225
                                             PUSH bytes 0x37 ;
1226
                                             UPDATE ;
1227
                                             PUSH int 54 ;
1228
                                             SOME ;
1229
                                             PUSH bytes 0x36 ;
1230
                                             UPDATE ;
1231
                                             PUSH int 53 ;
1232
                                             SOME ;
1233
                                             PUSH bytes 0x35 ;
1234
                                             UPDATE ;
1235
                                             PUSH int 52 ;
1236
                                             SOME ;
1237
                                             PUSH bytes 0x34 ;
1238
                                             UPDATE ;
1239
                                             PUSH int 51 ;
1240
                                             SOME ;
1241
                                             PUSH bytes 0x33 ;
1242
                                             UPDATE ;
1243
                                             PUSH int 50 ;
1244
                                             SOME ;
1245
                                             PUSH bytes 0x32 ;
1246
                                             UPDATE ;
1247
                                             PUSH int 49 ;
1248
                                             SOME ;
1249
                                             PUSH bytes 0x31 ;
1250
                                             UPDATE ;
1251
                                             PUSH int 48 ;
1252
                                             SOME ;
1253
                                             PUSH bytes 0x30 ;
1254
                                             UPDATE ;
1255
                                             PUSH int 47 ;
1256
                                             SOME ;
1257
                                             PUSH bytes 0x2f ;
1258
                                             UPDATE ;
1259
                                             PUSH int 46 ;
1260
                                             SOME ;
1261
                                             PUSH bytes 0x2e ;
1262
                                             UPDATE ;
1263
                                             PUSH int 45 ;
1264
                                             SOME ;
1265
                                             PUSH bytes 0x2d ;
1266
                                             UPDATE ;
1267
                                             PUSH int 44 ;
1268
                                             SOME ;
1269
                                             PUSH bytes 0x2c ;
1270
                                             UPDATE ;
1271
                                             PUSH int 43 ;
1272
                                             SOME ;
1273
                                             PUSH bytes 0x2b ;
1274
                                             UPDATE ;
1275
                                             PUSH int 42 ;
1276
                                             SOME ;
1277
                                             PUSH bytes 0x2a ;
1278
                                             UPDATE ;
1279
                                             PUSH int 41 ;
1280
                                             SOME ;
1281
                                             PUSH bytes 0x29 ;
1282
                                             UPDATE ;
1283
                                             PUSH int 40 ;
1284
                                             SOME ;
1285
                                             PUSH bytes 0x28 ;
1286
                                             UPDATE ;
1287
                                             PUSH int 39 ;
1288
                                             SOME ;
1289
                                             PUSH bytes 0x27 ;
1290
                                             UPDATE ;
1291
                                             PUSH int 38 ;
1292
                                             SOME ;
1293
                                             PUSH bytes 0x26 ;
1294
                                             UPDATE ;
1295
                                             PUSH int 37 ;
1296
                                             SOME ;
1297
                                             PUSH bytes 0x25 ;
1298
                                             UPDATE ;
1299
                                             PUSH int 36 ;
1300
                                             SOME ;
1301
                                             PUSH bytes 0x24 ;
1302
                                             UPDATE ;
1303
                                             PUSH int 35 ;
1304
                                             SOME ;
1305
                                             PUSH bytes 0x23 ;
1306
                                             UPDATE ;
1307
                                             PUSH int 34 ;
1308
                                             SOME ;
1309
                                             PUSH bytes 0x22 ;
1310
                                             UPDATE ;
1311
                                             PUSH int 33 ;
1312
                                             SOME ;
1313
                                             PUSH bytes 0x21 ;
1314
                                             UPDATE ;
1315
                                             PUSH int 32 ;
1316
                                             SOME ;
1317
                                             PUSH bytes 0x20 ;
1318
                                             UPDATE ;
1319
                                             PUSH int 31 ;
1320
                                             SOME ;
1321
                                             PUSH bytes 0x1f ;
1322
                                             UPDATE ;
1323
                                             PUSH int 30 ;
1324
                                             SOME ;
1325
                                             PUSH bytes 0x1e ;
1326
                                             UPDATE ;
1327
                                             PUSH int 29 ;
1328
                                             SOME ;
1329
                                             PUSH bytes 0x1d ;
1330
                                             UPDATE ;
1331
                                             PUSH int 28 ;
1332
                                             SOME ;
1333
                                             PUSH bytes 0x1c ;
1334
                                             UPDATE ;
1335
                                             PUSH int 27 ;
1336
                                             SOME ;
1337
                                             PUSH bytes 0x1b ;
1338
                                             UPDATE ;
1339
                                             PUSH int 26 ;
1340
                                             SOME ;
1341
                                             PUSH bytes 0x1a ;
1342
                                             UPDATE ;
1343
                                             PUSH int 25 ;
1344
                                             SOME ;
1345
                                             PUSH bytes 0x19 ;
1346
                                             UPDATE ;
1347
                                             PUSH int 24 ;
1348
                                             SOME ;
1349
                                             PUSH bytes 0x18 ;
1350
                                             UPDATE ;
1351
                                             PUSH int 23 ;
1352
                                             SOME ;
1353
                                             PUSH bytes 0x17 ;
1354
                                             UPDATE ;
1355
                                             PUSH int 22 ;
1356
                                             SOME ;
1357
                                             PUSH bytes 0x16 ;
1358
                                             UPDATE ;
1359
                                             PUSH int 21 ;
1360
                                             SOME ;
1361
                                             PUSH bytes 0x15 ;
1362
                                             UPDATE ;
1363
                                             PUSH int 20 ;
1364
                                             SOME ;
1365
                                             PUSH bytes 0x14 ;
1366
                                             UPDATE ;
1367
                                             PUSH int 19 ;
1368
                                             SOME ;
1369
                                             PUSH bytes 0x13 ;
1370
                                             UPDATE ;
1371
                                             PUSH int 18 ;
1372
                                             SOME ;
1373
                                             PUSH bytes 0x12 ;
1374
                                             UPDATE ;
1375
                                             PUSH int 17 ;
1376
                                             SOME ;
1377
                                             PUSH bytes 0x11 ;
1378
                                             UPDATE ;
1379
                                             PUSH int 16 ;
1380
                                             SOME ;
1381
                                             PUSH bytes 0x10 ;
1382
                                             UPDATE ;
1383
                                             PUSH int 15 ;
1384
                                             SOME ;
1385
                                             PUSH bytes 0x0f ;
1386
                                             UPDATE ;
1387
                                             PUSH int 14 ;
1388
                                             SOME ;
1389
                                             PUSH bytes 0x0e ;
1390
                                             UPDATE ;
1391
                                             PUSH int 13 ;
1392
                                             SOME ;
1393
                                             PUSH bytes 0x0d ;
1394
                                             UPDATE ;
1395
                                             PUSH int 12 ;
1396
                                             SOME ;
1397
                                             PUSH bytes 0x0c ;
1398
                                             UPDATE ;
1399
                                             PUSH int 11 ;
1400
                                             SOME ;
1401
                                             PUSH bytes 0x0b ;
1402
                                             UPDATE ;
1403
                                             PUSH int 10 ;
1404
                                             SOME ;
1405
                                             PUSH bytes 0x0a ;
1406
                                             UPDATE ;
1407
                                             PUSH int 9 ;
1408
                                             SOME ;
1409
                                             PUSH bytes 0x09 ;
1410
                                             UPDATE ;
1411
                                             PUSH int 8 ;
1412
                                             SOME ;
1413
                                             PUSH bytes 0x08 ;
1414
                                             UPDATE ;
1415
                                             PUSH int 7 ;
1416
                                             SOME ;
1417
                                             PUSH bytes 0x07 ;
1418
                                             UPDATE ;
1419
                                             PUSH int 6 ;
1420
                                             SOME ;
1421
                                             PUSH bytes 0x06 ;
1422
                                             UPDATE ;
1423
                                             PUSH int 5 ;
1424
                                             SOME ;
1425
                                             PUSH bytes 0x05 ;
1426
                                             UPDATE ;
1427
                                             PUSH int 4 ;
1428
                                             SOME ;
1429
                                             PUSH bytes 0x04 ;
1430
                                             UPDATE ;
1431
                                             PUSH int 3 ;
1432
                                             SOME ;
1433
                                             PUSH bytes 0x03 ;
1434
                                             UPDATE ;
1435
                                             PUSH int 2 ;
1436
                                             SOME ;
1437
                                             PUSH bytes 0x02 ;
1438
                                             UPDATE ;
1439
                                             PUSH int 1 ;
1440
                                             SOME ;
1441
                                             PUSH bytes 0x01 ;
1442
                                             UPDATE ;
1443
                                             PUSH int 0 ;
1444
                                             SOME ;
1445
                                             PUSH bytes 0x00 ;
1446
                                             UPDATE ;
1447
                                             DUP 7 ;
1448
                                             PUSH nat 1 ;
1449
                                             DUP 6 ;
1450
                                             SLICE ;
1451
                                             IF_NONE
1452
                                               { PUSH string "SLICE" ; FAILWITH }
1453
                                               {} ;
1454
                                             GET ;
1455
                                             IF_NONE
1456
                                               { PUSH string "INVALID_BYTE" ; FAILWITH }
1457
                                               {} ;
1458
                                             MUL ;
1459
                                             DIG 3 ;
1460
                                             CAR ;
1461
                                             CAR ;
1462
                                             ADD ;
1463
                                             PUSH nat 1 ;
1464
                                             DIG 3 ;
1465
                                             ADD ;
1466
                                             PUSH int 2 ;
1467
                                             DIG 3 ;
1468
                                             SUB ;
1469
                                             SWAP ;
1470
                                             DIG 2 ;
1471
                                             PAIR ;
1472
                                             PAIR ;
1473
                                             LEFT (pair (pair int nat) int) }
1474
                                           { DROP 2 ; RIGHT (pair (pair int nat) int) } } ;
1475
                             SWAP ;
1476
                             DIG 2 ;
1477
                             DROP 2 ;
1478
                             CAR ;
1479
                             CAR } ;
1480
                           ABS ;
1481
                           EDIV ;
1482
                           IF_NONE { PUSH string "MOD by 0" ; FAILWITH } {} ;
1483
                           CDR ;
1484
                           GET ;
1485
                           IF_NONE { PUSH string "OUT_OF_BOUNDS" ; FAILWITH } {} ;
1486
                           PUSH bool True ;
1487
                           DIG 2 ;
1488
                           DUP 3 ;
1489
                           MEM ;
1490
                           COMPARE ;
1491
                           EQ ;
1492
                           IF { PUSH string "DUPE_MINT" ; FAILWITH } {} ;
1493
                           DUP 3 ;
1494
                           DUP 4 ;
1495
                           GET 13 ;
1496
                           DIG 4 ;
1497
                           PUSH nat 1 ;
1498
                           PAIR ;
1499
                           DUP 11 ;
1500
                           SWAP ;
1501
                           EXEC ;
1502
                           SOME ;
1503
                           PUSH nat 0 ;
1504
                           UPDATE ;
1505
                           UPDATE 13 ;
1506
                           DUP ;
1507
                           DUP 2 ;
1508
                           GET 13 ;
1509
                           DIG 2 ;
1510
                           PUSH nat 2 ;
1511
                           PAIR ;
1512
                           DUP 11 ;
1513
                           SWAP ;
1514
                           EXEC ;
1515
                           SOME ;
1516
                           PUSH nat 1 ;
1517
                           UPDATE ;
1518
                           UPDATE 13 ;
1519
                           DUP ;
1520
                           GET 13 ;
1521
                           DUP 3 ;
1522
                           PACK ;
1523
                           SENDER ;
1524
                           PACK ;
1525
                           NOW ;
1526
                           PACK ;
1527
                           CONCAT ;
1528
                           CONCAT ;
1529
                           BLAKE2B ;
1530
                           SOME ;
1531
                           PUSH nat 2 ;
1532
                           UPDATE ;
1533
                           UPDATE 13 ;
1534
                           SWAP ;
1535
                           PAIR ;
1536
                           DUP ;
1537
                           CAR ;
1538
                           DUP 6 ;
1539
                           EMPTY_MAP string bytes ;
1540
                           PUSH string ".json" ;
1541
                           DUP 4 ;
1542
                           { PUSH string "" ;
1543
                             PAIR ;
1544
                             LEFT (pair string nat) ;
1545
                             LOOP_LEFT { DUP ;
1546
                                         CDR ;
1547
                                         PUSH nat 0 ;
1548
                                         SWAP ;
1549
                                         DUP ;
1550
                                         DUG 2 ;
1551
                                         COMPARE ;
1552
                                         GT ;
1553
                                         IF
1554
                                           { SWAP ;
1555
                                             CAR ;
1556
                                             PUSH nat 10 ;
1557
                                             DUP 3 ;
1558
                                             EDIV ;
1559
                                             IF_NONE
1560
                                               { PUSH string "MOD by 0" ; FAILWITH }
1561
                                               {} ;
1562
                                             CDR ;
1563
                                             EMPTY_MAP nat string ;
1564
                                             PUSH string "9" ;
1565
                                             SOME ;
1566
                                             PUSH nat 9 ;
1567
                                             UPDATE ;
1568
                                             PUSH string "8" ;
1569
                                             SOME ;
1570
                                             PUSH nat 8 ;
1571
                                             UPDATE ;
1572
                                             PUSH string "7" ;
1573
                                             SOME ;
1574
                                             PUSH nat 7 ;
1575
                                             UPDATE ;
1576
                                             PUSH string "6" ;
1577
                                             SOME ;
1578
                                             PUSH nat 6 ;
1579
                                             UPDATE ;
1580
                                             PUSH string "5" ;
1581
                                             SOME ;
1582
                                             PUSH nat 5 ;
1583
                                             UPDATE ;
1584
                                             PUSH string "4" ;
1585
                                             SOME ;
1586
                                             PUSH nat 4 ;
1587
                                             UPDATE ;
1588
                                             PUSH string "3" ;
1589
                                             SOME ;
1590
                                             PUSH nat 3 ;
1591
                                             UPDATE ;
1592
                                             PUSH string "2" ;
1593
                                             SOME ;
1594
                                             PUSH nat 2 ;
1595
                                             UPDATE ;
1596
                                             PUSH string "1" ;
1597
                                             SOME ;
1598
                                             PUSH nat 1 ;
1599
                                             UPDATE ;
1600
                                             PUSH string "0" ;
1601
                                             SOME ;
1602
                                             PUSH nat 0 ;
1603
                                             UPDATE ;
1604
                                             SWAP ;
1605
                                             GET ;
1606
                                             IF_NONE
1607
                                               { PUSH string "INVALID_NAT" ; FAILWITH }
1608
                                               {} ;
1609
                                             CONCAT ;
1610
                                             PUSH nat 10 ;
1611
                                             DIG 2 ;
1612
                                             EDIV ;
1613
                                             IF_NONE
1614
                                               { PUSH string "DIV by 0" ; FAILWITH }
1615
                                               {} ;
1616
                                             CAR ;
1617
                                             SWAP ;
1618
                                             PAIR ;
1619
                                             LEFT (pair string nat) }
1620
                                           { DROP ; RIGHT (pair string nat) } } ;
1621
                             CAR ;
1622
                             PUSH string "" ;
1623
                             SWAP ;
1624
                             DUP ;
1625
                             DUG 2 ;
1626
                             COMPARE ;
1627
                             EQ ;
1628
                             IF { DROP ; PUSH string "0" } {} } ;
1629
                           CONCAT ;
1630
                           PACK ;
1631
                           DUP ;
1632
                           PUSH nat 6 ;
1633
                           DIG 2 ;
1634
                           SIZE ;
1635
                           SUB ;
1636
                           ABS ;
1637
                           PUSH nat 6 ;
1638
                           SLICE ;
1639
                           IF_NONE { PUSH string "SLICE" ; FAILWITH } {} ;
1640
                           DUP 7 ;
1641
                           GET 31 ;
1642
                           CONCAT ;
1643
                           SOME ;
1644
                           PUSH string "" ;
1645
                           UPDATE ;
1646
                           DUP 3 ;
1647
                           PAIR ;
1648
                           PAIR ;
1649
                           DUP 5 ;
1650
                           DIG 5 ;
1651
                           GET 32 ;
1652
                           DIG 3 ;
1653
                           PUSH bool True ;
1654
                           SWAP ;
1655
                           UPDATE ;
1656
                           UPDATE 32 ;
1657
                           DUP ;
1658
                           PUSH nat 1 ;
1659
                           DIG 2 ;
1660
                           GET 9 ;
1661
                           ADD ;
1662
                           UPDATE 9 ;
1663
                           PUSH int 1 ;
1664
                           DIG 5 ;
1665
                           ADD ;
1666
                           SWAP ;
1667
                           DIG 3 ;
1668
                           CDR ;
1669
                           DIG 4 ;
1670
                           DIG 4 ;
1671
                           CONS ;
1672
                           PAIR ;
1673
                           PAIR ;
1674
                           PAIR ;
1675
                           LEFT (pair
1676
                                  (pair
1677
                                    (pair
1678
                                      (list (pair (pair nat (map string bytes)) address))
1679
                                      (big_map string bytes)
1680
                                      nat
1681
                                      (big_map nat
1682
                                               (pair mutez address nat nat nat nat nat
1683
                                                     nat
1684
                                                     timestamp
1685
                                                     nat
1686
                                                     timestamp
1687
                                                     int
1688
                                                     nat
1689
                                                     mutez
1690
                                                     address
1691
                                                     bytes
1692
                                                     (set nat)))
1693
                                      (big_map (pair address nat) (pair nat nat nat))
1694
                                      (big_map (pair address nat)
1695
                                               (pair (pair nat nat) bool))
1696
                                      (big_map address unit)
1697
                                      (map nat bytes)
1698
                                      (pair address (option address) bool))
1699
                                    mutez
1700
                                    address
1701
                                    nat
1702
                                    nat
1703
                                    nat
1704
                                    nat
1705
                                    nat
1706
                                    nat
1707
                                    timestamp
1708
                                    nat
1709
                                    timestamp
1710
                                    int
1711
                                    nat
1712
                                    mutez
1713
                                    address
1714
                                    bytes
1715
                                    (set nat))
1716
                                  unit) }
1717
                         { DIG 3 ;
1718
                           DROP ;
1719
                           UNIT ;
1720
                           DUG 3 ;
1721
                           PAIR ;
1722
                           PAIR ;
1723
                           PAIR ;
1724
                           RIGHT (pair
1725
                                   (pair
1726
                                     (pair
1727
                                       (list (pair (pair nat (map string bytes)) address))
1728
                                       (big_map string bytes)
1729
                                       nat
1730
                                       (big_map nat
1731
                                                (pair mutez address nat nat nat nat nat
1732
                                                      nat
1733
                                                      timestamp
1734
                                                      nat
1735
                                                      timestamp
1736
                                                      int
1737
                                                      nat
1738
                                                      mutez
1739
                                                      address
1740
                                                      bytes
1741
                                                      (set nat)))
1742
                                       (big_map (pair address nat) (pair nat nat nat))
1743
                                       (big_map (pair address nat)
1744
                                                (pair (pair nat nat) bool))
1745
                                       (big_map address unit)
1746
                                       (map nat bytes)
1747
                                       (pair address (option address) bool))
1748
                                     mutez
1749
                                     address
1750
                                     nat
1751
                                     nat
1752
                                     nat
1753
                                     nat
1754
                                     nat
1755
                                     nat
1756
                                     timestamp
1757
                                     nat
1758
                                     timestamp
1759
                                     int
1760
                                     nat
1761
                                     mutez
1762
                                     address
1763
                                     bytes
1764
                                     (set nat))
1765
                                   int) } } ;
1766
           SWAP ;
1767
           DIG 2 ;
1768
           DIG 4 ;
1769
           DROP 3 ;
1770
           CAR ;
1771
           UNPAIR ;
1772
           UNPAIR ;
1773
           DUP 3 ;
1774
           GET 3 ;
1775
           CONTRACT %mint (list (pair
1776
                                 (pair %token_metadata (nat %token_id)
1777
                                                       (map %token_info string bytes))
1778
                                 (address %owner))) ;
1779
           IF_NONE { PUSH string "CANNOT_INVOKE_FA2_MINT" ; FAILWITH } {} ;
1780
           DUP 3 ;
1781
           DIG 3 ;
1782
           GET 5 ;
1783
           DIG 4 ;
1784
           DIG 5 ;
1785
           SWAP ;
1786
           SOME ;
1787
           SWAP ;
1788
           UPDATE ;
1789
           UPDATE 5 ;
1790
           NIL operation ;
1791
           DIG 2 ;
1792
           PUSH mutez 0 ;
1793
           DIG 4 ;
1794
           TRANSFER_TOKENS ;
1795
           CONS ;
1796
           PAIR } ;
1797
       DUP 2 ;
1798
       APPLY ;
1799
       SWAP ;
1800
       DROP ;
1801
       DIG 4 ;
1802
       UNPAIR ;
1803
       IF_LEFT
1804
         { IF_LEFT
1805
             { DUP 2 ;
1806
               GET 14 ;
1807
               CAR ;
1808
               SENDER ;
1809
               COMPARE ;
1810
               NEQ ;
1811
               IF { PUSH string "INVALID_ACCESS" ; FAILWITH } {} ;
1812
               IF_LEFT
1813
                 { IF_LEFT
1814
                     { IF_LEFT
1815
                         { DIG 2 ;
1816
                           DIG 3 ;
1817
                           DIG 4 ;
1818
                           DROP 3 ;
1819
                           IF_LEFT
1820
                             { UNIT ;
1821
                               DIG 2 ;
1822
                               PAIR ;
1823
                               SWAP ;
1824
                               ITER { SWAP ;
1825
                                      CAR ;
1826
                                      UNIT ;
1827
                                      DUP 2 ;
1828
                                      DIG 2 ;
1829
                                      GET 11 ;
1830
                                      UNIT ;
1831
                                      DIG 4 ;
1832
                                      SWAP ;
1833
                                      SOME ;
1834
                                      SWAP ;
1835
                                      UPDATE ;
1836
                                      UPDATE 11 ;
1837
                                      PAIR } ;
1838
                               CAR }
1839
                             { DUP 2 ;
1840
                               DIG 2 ;
1841
                               GET 5 ;
1842
                               DIG 2 ;
1843
                               NONE (pair mutez address nat nat nat nat nat nat
1844
                                          timestamp
1845
                                          nat
1846
                                          timestamp
1847
                                          int
1848
                                          nat
1849
                                          mutez
1850
                                          address
1851
                                          bytes
1852
                                          (set nat)) ;
1853
                               SWAP ;
1854
                               UPDATE ;
1855
                               UPDATE 5 } ;
1856
                           SWAP }
1857
                         { DIG 5 ;
1858
                           DROP ;
1859
                           IF_LEFT
1860
                             { UNPAIR ;
1861
                               DUP 3 ;
1862
                               DUP 3 ;
1863
                               DUP 3 ;
1864
                               PAIR ;
1865
                               PAIR ;
1866
                               DIG 5 ;
1867
                               SWAP ;
1868
                               EXEC ;
1869
                               PUSH bool False ;
1870
                               DUP 2 ;
1871
                               CDR ;
1872
                               COMPARE ;
1873
                               EQ ;
1874
                               IF
1875
                                 { DUP 4 ;
1876
                                   DUP 2 ;
1877
                                   CAR ;
1878
                                   CAR ;
1879
                                   PAIR ;
1880
                                   DUP 7 ;
1881
                                   SWAP ;
1882
                                   EXEC ;
1883
                                   DIG 4 ;
1884
                                   DUP 3 ;
1885
                                   CAR ;
1886
                                   CDR ;
1887
                                   DUP 5 ;
1888
                                   PAIR ;
1889
                                   DIG 2 ;
1890
                                   DUP 4 ;
1891
                                   CAR ;
1892
                                   CAR ;
1893
                                   PAIR ;
1894
                                   PAIR ;
1895
                                   PAIR ;
1896
                                   DIG 4 ;
1897
                                   SWAP ;
1898
                                   EXEC ;
1899
                                   DUP ;
1900
                                   CDR ;
1901
                                   DUP ;
1902
                                   DUP 4 ;
1903
                                   CAR ;
1904
                                   CAR ;
1905
                                   PAIR ;
1906
                                   DIG 6 ;
1907
                                   SWAP ;
1908
                                   EXEC ;
1909
                                   DIG 3 ;
1910
                                   PUSH bool True ;
1911
                                   UPDATE 2 ;
1912
                                   DUP 3 ;
1913
                                   DIG 3 ;
1914
                                   GET 9 ;
1915
                                   DUP 3 ;
1916
                                   DIG 7 ;
1917
                                   DIG 7 ;
1918
                                   PAIR ;
1919
                                   SWAP ;
1920
                                   SOME ;
1921
                                   SWAP ;
1922
                                   UPDATE ;
1923
                                   UPDATE 9 ;
1924
                                   DUP 3 ;
1925
                                   DUP 3 ;
1926
                                   CAR ;
1927
                                   CDR ;
1928
                                   DIG 4 ;
1929
                                   GET 11 ;
1930
                                   SUB ;
1931
                                   ABS ;
1932
                                   UPDATE 11 ;
1933
                                   UNIT ;
1934
                                   DUP 3 ;
1935
                                   DIG 3 ;
1936
                                   GET 5 ;
1937
                                   DIG 3 ;
1938
                                   DUP 5 ;
1939
                                   CAR ;
1940
                                   CAR ;
1941
                                   SWAP ;
1942
                                   SOME ;
1943
                                   SWAP ;
1944
                                   UPDATE ;
1945
                                   UPDATE 5 ;
1946
                                   DIG 2 ;
1947
                                   DIG 3 ;
1948
                                   CAR }
1949
                                 { SWAP ; DIG 2 ; DIG 4 ; DIG 5 ; DROP 4 ; UNIT ; DUG 2 ; NIL operation } ;
1950
                               PAIR ;
1951
                               PAIR ;
1952
                               SWAP ;
1953
                               DROP ;
1954
                               UNPAIR ;
1955
                               CAR }
1956
                             { DIG 2 ;
1957
                               DIG 3 ;
1958
                               DIG 4 ;
1959
                               DROP 3 ;
1960
                               CONTRACT %confirm_admin unit ;
1961
                               IF_NONE
1962
                                 { PUSH string "CANNOT_CONFIRM_TOKEN_ADMIN" ; FAILWITH }
1963
                                 {} ;
1964
                               SWAP ;
1965
                               NIL operation ;
1966
                               DIG 2 ;
1967
                               PUSH mutez 0 ;
1968
                               UNIT ;
1969
                               TRANSFER_TOKENS ;
1970
                               CONS } } }
1971
                     { DIG 3 ;
1972
                       DROP ;
1973
                       IF_LEFT
1974
                         { IF_LEFT
1975
                             { DIG 2 ;
1976
                               DIG 3 ;
1977
                               DROP 2 ;
1978
                               DUP 2 ;
1979
                               DUP 3 ;
1980
                               GET 5 ;
1981
                               EMPTY_SET nat ;
1982
                               DUP 4 ;
1983
                               GET 24 ;
1984
                               DUP 5 ;
1985
                               GET 23 ;
1986
                               DUP 6 ;
1987
                               GET 21 ;
1988
                               DUP 7 ;
1989
                               GET 19 ;
1990
                               DUP 8 ;
1991
                               GET 17 ;
1992
                               DUP 9 ;
1993
                               GET 15 ;
1994
                               DUP 10 ;
1995
                               GET 13 ;
1996
                               DUP 11 ;
1997
                               GET 11 ;
1998
                               PUSH nat 0 ;
1999
                               DUP 13 ;
2000
                               GET 9 ;
2001
                               PUSH nat 0 ;
2002
                               PUSH nat 0 ;
2003
                               DUP 16 ;
2004
                               GET 7 ;
2005
                               DUP 17 ;
2006
                               GET 5 ;
2007
                               DUP 18 ;
2008
                               GET 3 ;
2009
                               DIG 18 ;
2010
                               CAR ;
2011
                               PAIR 17 ;
2012
                               DIG 3 ;
2013
                               GET 3 ;
2014
                               SWAP ;
2015
                               SOME ;
2016
                               SWAP ;
2017
                               UPDATE ;
2018
                               UPDATE 5 ;
2019
                               DUP ;
2020
                               PUSH nat 1 ;
2021
                               DIG 2 ;
2022
                               GET 3 ;
2023
                               ADD ;
2024
                               UPDATE 3 ;
2025
                               SWAP }
2026
                             { DIG 4 ;
2027
                               DROP ;
2028
                               DUP ;
2029
                               CAR ;
2030
                               CDR ;
2031
                               DUP 2 ;
2032
                               CDR ;
2033
                               DUP 4 ;
2034
                               DUP 3 ;
2035
                               PAIR ;
2036
                               DUP 7 ;
2037
                               SWAP ;
2038
                               EXEC ;
2039
                               DUP ;
2040
                               GET 13 ;
2041
                               DUP 3 ;
2042
                               DUP 3 ;
2043
                               GET 15 ;
2044
                               ADD ;
2045
                               COMPARE ;
2046
                               GT ;
2047
                               IF { PUSH string "INVALID_AMOUNT" ; FAILWITH } {} ;
2048
                               DIG 4 ;
2049
                               DUP 3 ;
2050
                               DIG 5 ;
2051
                               CAR ;
2052
                               CAR ;
2053
                               PAIR ;
2054
                               DIG 2 ;
2055
                               DUP 5 ;
2056
                               PAIR ;
2057
                               PAIR ;
2058
                               PAIR ;
2059
                               DIG 3 ;
2060
                               SWAP ;
2061
                               EXEC ;
2062
                               DUP ;
2063
                               CDR ;
2064
                               DUP ;
2065
                               DUP 5 ;
2066
                               PAIR ;
2067
                               DIG 5 ;
2068
                               SWAP ;
2069
                               EXEC ;
2070
                               DUP ;
2071
                               DIG 4 ;
2072
                               DIG 2 ;
2073
                               GET 15 ;
2074
                               ADD ;
2075
                               UPDATE 15 ;
2076
                               DUP 2 ;
2077
                               DIG 2 ;
2078
                               GET 5 ;
2079
                               DIG 2 ;
2080
                               DIG 4 ;
2081
                               SWAP ;
2082
                               SOME ;
2083
                               SWAP ;
2084
                               UPDATE ;
2085
                               UPDATE 5 ;
2086
                               SWAP ;
2087
                               CAR } }
2088
                         { DIG 2 ;
2089
                           DROP ;
2090
                           IF_LEFT
2091
                             { DUP ;
2092
                               GET 4 ;
2093
                               CAR ;
2094
                               HASH_KEY ;
2095
                               IMPLICIT_ACCOUNT ;
2096
                               ADDRESS ;
2097
                               PUSH bool False ;
2098
                               DUP 4 ;
2099
                               GET 9 ;
2100
                               DUP 4 ;
2101
                               GET 3 ;
2102
                               DUP 4 ;
2103
                               PAIR ;
2104
                               MEM ;
2105
                               COMPARE ;
2106
                               EQ ;
2107
                               IF
2108
                                 { DUP 2 ;
2109
                                   CAR ;
2110
                                   PACK ;
2111
                                   BLAKE2B ;
2112
                                   DUP 3 ;
2113
                                   GET 4 ;
2114
                                   SWAP ;
2115
                                   DUP 4 ;
2116
                                   GET 3 ;
2117
                                   PAIR ;
2118
                                   SELF_ADDRESS ;
2119
                                   CHAIN_ID ;
2120
                                   PAIR ;
2121
                                   PAIR ;
2122
                                   PACK ;
2123
                                   PUSH bool False ;
2124
                                   DUP 2 ;
2125
                                   DUP 4 ;
2126
                                   CDR ;
2127
                                   DIG 4 ;
2128
                                   CAR ;
2129
                                   CHECK_SIGNATURE ;
2130
                                   COMPARE ;
2131
                                   EQ ;
2132
                                   IF
2133
                                     { PUSH string "MISSIGNED" ; PAIR ; FAILWITH }
2134
                                     { DROP } ;
2135
                                   DUP 3 ;
2136
                                   DIG 3 ;
2137
                                   GET 9 ;
2138
                                   PUSH bool False ;
2139
                                   DUP 5 ;
2140
                                   CAR ;
2141
                                   PAIR ;
2142
                                   DUP 5 ;
2143
                                   GET 3 ;
2144
                                   DIG 4 ;
2145
                                   PAIR ;
2146
                                   SWAP ;
2147
                                   SOME ;
2148
                                   SWAP ;
2149
                                   UPDATE ;
2150
                                   UPDATE 9 ;
2151
                                   DUP ;
2152
                                   DUP 3 ;
2153
                                   CAR ;
2154
                                   CAR ;
2155
                                   PAIR ;
2156
                                   DIG 3 ;
2157
                                   SWAP ;
2158
                                   EXEC ;
2159
                                   DUP ;
2160
                                   GET 11 ;
2161
                                   DUP 2 ;
2162
                                   GET 9 ;
2163
                                   ADD ;
2164
                                   DUP 2 ;
2165
                                   GET 15 ;
2166
                                   DUP 3 ;
2167
                                   GET 13 ;
2168
                                   SUB ;
2169
                                   ABS ;
2170
                                   DUP 3 ;
2171
                                   GET 7 ;
2172
                                   SUB ;
2173
                                   ABS ;
2174
                                   DUP 5 ;
2175
                                   CAR ;
2176
                                   CDR ;
2177
                                   DIG 2 ;
2178
                                   ADD ;
2179
                                   COMPARE ;
2180
                                   GT ;
2181
                                   IF { PUSH string "SOLD_OUT" ; FAILWITH } {} ;
2182
                                   DUP ;
2183
                                   DUP 4 ;
2184
                                   CAR ;
2185
                                   CDR ;
2186
                                   DIG 2 ;
2187
                                   GET 11 ;
2188
                                   ADD ;
2189
                                   UPDATE 11 ;
2190
                                   UNIT ;
2191
                                   DUP 3 ;
2192
                                   DIG 3 ;
2193
                                   GET 5 ;
2194
                                   DIG 3 ;
2195
                                   DIG 4 ;
2196
                                   CAR ;
2197
                                   CAR ;
2198
                                   SWAP ;
2199
                                   SOME ;
2200
                                   SWAP ;
2201
                                   UPDATE ;
2202
                                   UPDATE 5 }
2203
                                 { SWAP ; DIG 3 ; DROP 3 ; UNIT ; SWAP } ;
2204
                               SWAP ;
2205
                               DROP }
2206
                             { DIG 2 ; DROP ; DUP 2 ; DIG 2 ; GET 14 ; DIG 2 ; UPDATE 4 ; UPDATE 14 } ;
2207
                           SWAP } } }
2208
                 { DIG 2 ;
2209
                   DROP ;
2210
                   IF_LEFT
2211
                     { IF_LEFT
2212
                         { DIG 2 ;
2213
                           DIG 3 ;
2214
                           DROP 2 ;
2215
                           UNIT ;
2216
                           DIG 2 ;
2217
                           PAIR ;
2218
                           SWAP ;
2219
                           ITER { SWAP ;
2220
                                  CAR ;
2221
                                  UNIT ;
2222
                                  DUP 2 ;
2223
                                  DIG 2 ;
2224
                                  GET 11 ;
2225
                                  DIG 3 ;
2226
                                  NONE unit ;
2227
                                  SWAP ;
2228
                                  UPDATE ;
2229
                                  UPDATE 11 ;
2230
                                  PAIR } ;
2231
                           CAR }
2232
                         { UNPAIR ;
2233
                           DUP 3 ;
2234
                           DUP 3 ;
2235
                           DUP 3 ;
2236
                           PAIR ;
2237
                           PAIR ;
2238
                           DIG 4 ;
2239
                           SWAP ;
2240
                           EXEC ;
2241
                           PUSH bool False ;
2242
                           DUP 2 ;
2243
                           CDR ;
2244
                           COMPARE ;
2245
                           EQ ;
2246
                           IF
2247
                             { DUP 4 ;
2248
                               DUP 2 ;
2249
                               CAR ;
2250
                               CAR ;
2251
                               PAIR ;
2252
                               DIG 5 ;
2253
                               SWAP ;
2254
                               EXEC ;
2255
                               SWAP ;
2256
                               PUSH bool True ;
2257
                               UPDATE 2 ;
2258
                               DUP 5 ;
2259
                               DIG 5 ;
2260
                               GET 9 ;
2261
                               DUP 3 ;
2262
                               DIG 6 ;
2263
                               DIG 6 ;
2264
                               PAIR ;
2265
                               SWAP ;
2266
                               SOME ;
2267
                               SWAP ;
2268
                               UPDATE ;
2269
                               UPDATE 9 ;
2270
                               DUP 3 ;
2271
                               DUP 3 ;
2272
                               CAR ;
2273
                               CDR ;
2274
                               DIG 4 ;
2275
                               GET 11 ;
2276
                               SUB ;
2277
                               ABS ;
2278
                               UPDATE 11 ;
2279
                               UNIT ;
2280
                               DUP 3 ;
2281
                               DIG 3 ;
2282
                               GET 5 ;
2283
                               DIG 3 ;
2284
                               DUP 5 ;
2285
                               CAR ;
2286
                               CAR ;
2287
                               SWAP ;
2288
                               SOME ;
2289
                               SWAP ;
2290
                               UPDATE ;
2291
                               UPDATE 5 }
2292
                             { SWAP ; DIG 2 ; DIG 4 ; DROP 3 ; UNIT ; DIG 2 } ;
2293
                           DIG 2 ;
2294
                           PAIR ;
2295
                           SWAP ;
2296
                           DROP ;
2297
                           CDR } }
2298
                     { DIG 2 ;
2299
                       DROP ;
2300
                       IF_LEFT
2301
                         { DIG 2 ; DROP ; DUP 2 ; DIG 2 ; GET 14 ; DIG 2 ; SOME ; UPDATE 3 ; UPDATE 14 }
2302
                         { DUP 2 ;
2303
                           DUP 2 ;
2304
                           CAR ;
2305
                           PAIR ;
2306
                           DIG 3 ;
2307
                           SWAP ;
2308
                           EXEC ;
2309
                           DUP 3 ;
2310
                           DIG 3 ;
2311
                           GET 5 ;
2312
                           DIG 2 ;
2313
                           DUP 4 ;
2314
                           GET 3 ;
2315
                           UPDATE 1 ;
2316
                           DUP 4 ;
2317
                           GET 5 ;
2318
                           UPDATE 7 ;
2319
                           DUP 4 ;
2320
                           GET 7 ;
2321
                           UPDATE 13 ;
2322
                           DUP 4 ;
2323
                           GET 9 ;
2324
                           UPDATE 17 ;
2325
                           DUP 4 ;
2326
                           GET 11 ;
2327
                           UPDATE 21 ;
2328
                           DUP 4 ;
2329
                           GET 13 ;
2330
                           UPDATE 23 ;
2331
                           DUP 4 ;
2332
                           GET 15 ;
2333
                           UPDATE 25 ;
2334
                           DUP 4 ;
2335
                           GET 17 ;
2336
                           UPDATE 27 ;
2337
                           DUP 4 ;
2338
                           GET 19 ;
2339
                           UPDATE 29 ;
2340
                           DUP 4 ;
2341
                           GET 20 ;
2342
                           UPDATE 31 ;
2343
                           DIG 3 ;
2344
                           CAR ;
2345
                           SWAP ;
2346
                           SOME ;
2347
                           SWAP ;
2348
                           UPDATE ;
2349
                           UPDATE 5 } } ;
2350
                   SWAP } }
2351
             { DIG 2 ;
2352
               DIG 3 ;
2353
               DIG 4 ;
2354
               DROP 4 ;
2355
               PUSH string "NO_PENDING_ADMIN" ;
2356
               DUP 2 ;
2357
               GET 14 ;
2358
               GET 3 ;
2359
               IF_NONE { FAILWITH } { SWAP ; DROP } ;
2360
               DUP ;
2361
               SENDER ;
2362
               COMPARE ;
2363
               NEQ ;
2364
               IF { PUSH string "INVALID_PENDING_ADMIN" ; FAILWITH } {} ;
2365
               DUP 2 ;
2366
               DIG 2 ;
2367
               GET 14 ;
2368
               DIG 2 ;
2369
               UPDATE 1 ;
2370
               UPDATE 14 ;
2371
               DUP ;
2372
               GET 14 ;
2373
               NONE address ;
2374
               UPDATE 3 ;
2375
               UPDATE 14 ;
2376
               SWAP } }
2377
         { DIG 3 ;
2378
           DIG 5 ;
2379
           DROP 2 ;
2380
           UNPAIR ;
2381
           PUSH bool True ;
2382
           DUP 4 ;
2383
           GET 14 ;
2384
           GET 4 ;
2385
           COMPARE ;
2386
           EQ ;
2387
           IF { PUSH string "SALE_PAUSED" ; FAILWITH } {} ;
2388
           DUP 3 ;
2389
           DUP 2 ;
2390
           PAIR ;
2391
           DIG 5 ;
2392
           SWAP ;
2393
           EXEC ;
2394
           DUP ;
2395
           GET 23 ;
2396
           DUP 2 ;
2397
           GET 21 ;
2398
           ADD ;
2399
           NOW ;
2400
           COMPARE ;
2401
           LE ;
2402
           DUP 2 ;
2403
           GET 21 ;
2404
           NOW ;
2405
           COMPARE ;
2406
           GE ;
2407
           AND ;
2408
           DUP 2 ;
2409
           GET 17 ;
2410
           NOW ;
2411
           COMPARE ;
2412
           GE ;
2413
           PUSH bool False ;
2414
           SWAP ;
2415
           COMPARE ;
2416
           EQ ;
2417
           PUSH bool False ;
2418
           DUP 3 ;
2419
           COMPARE ;
2420
           EQ ;
2421
           AND ;
2422
           IF { PUSH string "SALE_NOT_STARTED" ; FAILWITH } {} ;
2423
           DUP 2 ;
2424
           GET 11 ;
2425
           DUP 3 ;
2426
           GET 9 ;
2427
           ADD ;
2428
           DUP 3 ;
2429
           GET 15 ;
2430
           DUP 4 ;
2431
           GET 13 ;
2432
           SUB ;
2433
           ABS ;
2434
           PUSH bool True ;
2435
           DUP 4 ;
2436
           COMPARE ;
2437
           EQ ;
2438
           IF
2439
             { DUP 4 ;
2440
               GET 25 ;
2441
               DUP 7 ;
2442
               DUP 4 ;
2443
               ADD ;
2444
               COMPARE ;
2445
               GT ;
2446
               IF { PUSH string "PRESALE_SOLD_OUT" ; FAILWITH } {} ;
2447
               PUSH bool False ;
2448
               DUP 8 ;
2449
               GET 11 ;
2450
               SENDER ;
2451
               MEM ;
2452
               COMPARE ;
2453
               EQ ;
2454
               IF { PUSH string "NOT_ON_ACCESS_LIST" ; FAILWITH } {} }
2455
             {} ;
2456
           DUP 4 ;
2457
           GET 7 ;
2458
           SUB ;
2459
           ABS ;
2460
           DUP 6 ;
2461
           DIG 2 ;
2462
           ADD ;
2463
           COMPARE ;
2464
           GT ;
2465
           IF { PUSH string "SOLD_OUT" ; FAILWITH } {} ;
2466
           PUSH bool True ;
2467
           SWAP ;
2468
           COMPARE ;
2469
           EQ ;
2470
           IF { UNIT ; DUP 2 ; GET 27 } { UNIT ; DUP 2 ; CAR } ;
2471
           SWAP ;
2472
           DROP ;
2473
           DUP 4 ;
2474
           SWAP ;
2475
           MUL ;
2476
           AMOUNT ;
2477
           COMPARE ;
2478
           NEQ ;
2479
           IF { PUSH string "INVALID_TEZ_AMOUNT" ; FAILWITH } {} ;
2480
           DUP 4 ;
2481
           DUP 3 ;
2482
           SENDER ;
2483
           DIG 2 ;
2484
           GET 7 ;
2485
           DUG 2 ;
2486
           PAIR ;
2487
           GET ;
2488
           IF_NONE { PUSH nat 0 ; PUSH nat 0 ; PUSH nat 0 ; PAIR 3 } {} ;
2489
           LEVEL ;
2490
           DUP 2 ;
2491
           GET 3 ;
2492
           COMPARE ;
2493
           NEQ ;
2494
           IF { PUSH nat 0 ; UPDATE 4 ; LEVEL ; UPDATE 3 } {} ;
2495
           DUP 2 ;
2496
           GET 19 ;
2497
           DUP 5 ;
2498
           DUP 3 ;
2499
           GET 4 ;
2500
           ADD ;
2501
           COMPARE ;
2502
           GT ;
2503
           PUSH nat 0 ;
2504
           DUP 4 ;
2505
           GET 19 ;
2506
           COMPARE ;
2507
           GT ;
2508
           AND ;
2509
           IF { PUSH string "MINT_PER_BLOCK_EXCEEDED" ; FAILWITH } {} ;
2510
           DIG 4 ;
2511
           DUP 5 ;
2512
           SENDER ;
2513
           PAIR ;
2514
           DUP 4 ;
2515
           DUP 6 ;
2516
           PAIR ;
2517
           PAIR ;
2518
           PAIR ;
2519
           DIG 5 ;
2520
           SWAP ;
2521
           EXEC ;
2522
           DUP ;
2523
           CDR ;
2524
           AMOUNT ;
2525
           DIG 4 ;
2526
           GET 29 ;
2527
           CONTRACT unit ;
2528
           IF_NONE { PUSH string "INVALID_TEZ_DESTINATION" ; FAILWITH } {} ;
2529
           SWAP ;
2530
           UNIT ;
2531
           TRANSFER_TOKENS ;
2532
           DUP 4 ;
2533
           DUP 7 ;
2534
           DIG 5 ;
2535
           CAR ;
2536
           ADD ;
2537
           UPDATE 1 ;
2538
           DUP ;
2539
           DIG 6 ;
2540
           DIG 2 ;
2541
           GET 4 ;
2542
           ADD ;
2543
           UPDATE 4 ;
2544
           DUP 3 ;
2545
           DIG 3 ;
2546
           GET 7 ;
2547
           DIG 2 ;
2548
           DIG 5 ;
2549
           SENDER ;
2550
           PAIR ;
2551
           SWAP ;
2552
           SOME ;
2553
           SWAP ;
2554
           UPDATE ;
2555
           UPDATE 7 ;
2556
           DIG 2 ;
2557
           CAR ;
2558
           DIG 2 ;
2559
           CONS } ;
2560
       PAIR }